> A quick 'n dirty example ow using Go (https://golang.org)'s 1.16 new embed (https://pkg.go.dev/embed) facilities to build a busybox (https://busybox.net/) style portable executable binary that embeds other tools/executables/whatever in a seamless way.
> A quick 'n dirty example ow using Go (https://golang.org)'s 1.16 new embed (https://pkg.go.dev/embed) facilities to build a busybox (https://busybox.net/) style portable executable binary that embeds other tools/executables/whatever in a seamless way.
> A quick 'n dirty example ow using Go (https://golang.org)'s 1.16 new embed (https://pkg.go.dev/embed) facilities to build a busybox (https://busybox.net/) style portable executable binary that embeds other tools/executables/whatever in a seamless way.
Try now! Projects are private by default on my private git hosting π€£
Try now! Projects are private by default on my private git hosting π€£
pp
, lmt
, mkws
symlinks linking to one mkws
main binary, or call one mkws
main binary with the arguments mkws pp
, mkws lmt
, mkws main?
. Or just build a single binary with arguments like "everybody" does it.
pp
, lmt
, mkws
symlinks linking to one mkws
main binary, or call one mkws
main binary with the arguments mkws pp
, mkws lmt
, mkws main?
. Or just build a single binary with arguments like "everybody" does it.
pp
and lmt
. I really refuse to build another static site generator that has a webserver inside.
pp
and lmt
. I really refuse to build another static site generator that has a webserver inside.
wget -O - https://mkws.sh/mkws@4.0.8.tgz | tar -xzvf -
.
wget -O - https://mkws.sh/mkws@4.0.8.tgz | tar -xzvf -
.
Markdown
support in that single binary, and live reload, and a webserver. There's Hugo for that. Maybe Hugo is better.
Markdown
support in that single binary, and live reload, and a webserver. There's Hugo for that. Maybe Hugo is better.
entr
in my static site generator for instance, entr
does its job very well. Also another thttpd
or some other webserver or some weird websocket JavaScript live reload mechanism or another markdown processor when we have smu
, cmark
, lowdown
, all of these with a lengthy set of switches and knobs on a single binary.
entr
in my static site generator for instance, entr
does its job very well. Also another thttpd
or some other webserver or some weird websocket JavaScript live reload mechanism or another markdown processor when we have smu
, cmark
, lowdown
, all of these with a lengthy set of switches and knobs on a single binary.
pp
is genius. The only reason why I don't use it for my own site is because I can't figure out how to escape the required characters in an elegant way before files are sent to pp
. The best parts of mkws are the simplicity and the ability to tweak the script for your use case. Putting everything in one binary or adding a bunch of extra features like a web server would add unnecessary complication.
pp
is genius. The only reason why I don't use it for my own site is because I can't figure out how to escape the required characters in an elegant way before files are sent to pp
. The best parts of mkws are the simplicity and the ability to tweak the script for your use case. Putting everything in one binary or adding a bunch of extra features like a web server would add unnecessary complication.
mkws
, the rest are dependencies. You don't run those manually and you can script them in your templates. Makes sense to call pp $anotherfile
than singlebinary render $anotherfile
I guess.
mkws
, the rest are dependencies. You don't run those manually and you can script them in your templates. Makes sense to call pp $anotherfile
than singlebinary render $anotherfile
I guess.
share/sitemap.uppxml
:\n\n\n<?xml version='1.0' encoding='UTF-8'?>\n<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n#!\nfind . -name '*.html' | while read f\ndo\n#!\n<url>\n <loc>$1/$(basename "$f" | pe)</loc>\n <lastmod>$(lmt -f '%Y-%m-%dT%H:%M:%SZ' "$f" | cut -d' ' -f1)</lastmod>\n <priority>1.0</priority>\n</url>\n#!\ndone\n#!\n</urlset>\n
\n\nlmt
is scripted in there, also in ./share/l.upphtml
. You can script lmt
also in your Atom Feed. pp
is called all over the place.
share/sitemap.uppxml
:
<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>
#!
for f in *.html
do
#!
<url>
<loc>$1/$(basename "$f")</loc>
<lastmod>$(lmt -f '%Y-%m-%dT%H:%M:%SZ' "$f" | cut -d' ' -f1)</lastmod>
<priority>1.0</priority>
</url>
#!
done
#!
</urlset>
lmt
is scripted in there, also in ./share/l.upphtml
. You can script lmt
also in your Atom Feed. pp
is called all over the place.
share/sitemap.uppxml
:\n\n\n<?xml version='1.0' encoding='UTF-8'?>\n<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n#!\nfor f in *.html\ndo\n#!\n<url>\n <loc>$1/$(basename "$f")</loc>\n <lastmod>$(lmt -f '%Y-%m-%dT%H:%M:%SZ' "$f" | cut -d' ' -f1)</lastmod>\n <priority>1.0</priority>\n</url>\n#!\ndone\n#!\n</urlset>\n
\n\nlmt
is scripted in there, also in ./share/l.upphtml
. You can script lmt
also in your Atom Feed. pp
is called all over the place.
share/sitemap.uppxml
:\n\n\n<?xml version='1.0' encoding='UTF-8'?>\n<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n#!\nfor f in *.html\ndo\n#!\n<url>\n <loc>$1/$(basename "$f")</loc>\n <lastmod>$(lmt -f '%Y-%m-%dT%H:%M:%SZ' "$f" | cut -d' ' -f1)</lastmod>\n <priority>1.0</priority>\n</url>\n#!\ndone\n#!\n</urlset>\n
\n\nlmt
is scripted in there, also in ./share/l.upphtml
. You can script lmt
also in your Atom Feed. pp
is called all over the place.
sh
, probably other characters it uses to do special functions as well. I just can't get used to omitting quotes or using single quotes in HTML tags.
sh
, probably other characters it uses to do special functions as well. I just can't get used to omitting quotes or using single quotes in HTML tags.
sed 's/"/'\''/g'
I guess for double quotes.
sed 's/"/'\\''/g'
I guess for double quotes.
sed 's/"/'\\''/g'
I guess for double quotes.
> After that, I tried to use a program bundled with someone else's shell script site generator to make my own, but I couldn't get around one of the absurd limitations of the original generator. I eventually conceded that I would have to drastically change the formatting of my website and continued working, and I very quickly ran into either a bug that I couldn't fix because I don't know C, or (more likely) an even more absurd limitation that I don't care to conform to.
Is this
pp
? π Did you get pp: Buffer overflow
? π
pp
? π
pp
? π Did you get pp: Buffer overflow
? π
pp
? π Did you get pp: Buffer overflow
? π
printf
program can escape a string for shell input, but I had difficulty making it work elegantly with the contents of a multi-line file.
printf
program can escape a string for shell input, but I had difficulty making it work elegantly with the contents of a multi-line file.
mkws
being fine the way it is. For mine it also helps differentiate it from all the other SSGs out there.
"
.
sed
s on those html files and maybe create some temp files and pass those files to ./share/l.upphtml
in the mkws
main script?
sed
s on those html files and maybe create some temp files and pass those files to ./share/l.upphtml
in the mkws
main script?