BLOGC-MAKE(1)
π BLOGC-MAKE(1) π
okay bestie, welcome to the blogc Manual, and specifically to blogc-make β the little build tool that runs the whole show. sit down, grab a boba, we're doing this π§β¨
πΈ NAME πΈ
blogc-make β a simple build tool for blogc
β¨ SYNOPSIS β¨
blogc-make [-V] [-f FILE] [RULE ...]
blogc-make [-h|-v]
π¦ DESCRIPTION π¦
so blogc-make is, like, a simple build tool for blogc websites. no cap. it reads a blogcfile(5) and then generates your output files using blogc(1) plus some predefined rules β and those rules are genuinely useful enough for most common use cases. like, they ate. π
if you wanna know the tea about the file format, go read blogcfile(5). that's where it all lives.
π OPTIONS π
-Dβ builds for the development environment. this is the one you want when you're loading local, non-optimized assets for development purposes. it adds two global variables to allblogc(1)calls:MAKE_ENV_DEV=1andMAKE_ENV=dev. cute, right?-Vβ activates verbose mode, which gives you way more details of the commands that run. it's giving "tell me everything" energy π-f FILEβ readsFILEas the blogcfile.-vβ show program name, version, and exit. bye π-hβ show help message and exit.
π HELPER RULES π
these are the little guys that keep the whole operation running π«Ά
β all
Run all build rules. this is the default rule, so if you just run blogc-make with nothing else, this is what you get. main character energy tbh π
β clean
Clean built files and empty directories in the output directory. it's giving spring cleaning π§Ήβ¨
β runserver
Run blogc-runserver(1) (if it's available) pointing at the output directory, watching for changes in the source files and rebuilding as needed. it literally never sleeps. π
this rule accepts some arguments, in the following format:
runserver:host=127.0.0.1,port=8080,threads=20
the values in the example are the default values, so no need to type them unless you want different ones. rebuilds are done by running blogc-make all internally.
β watch
Watch for changes in the source files, rebuilding as needed. yes bestie, it's watching. always watching. π
rebuilds are done by running blogc-make all internally.
β atom_dump
Dump the default Atom feed template based on the current blogcfile(5) settings.
the template gets dumped to the standard output, and you can use it as a base for customized Atom feed templates. build your own, make it iconic π
π BUILD RULES π
these are the actual builders. every single one of them passes helper variables to blogc(1), so let's go one by one π
π₯ index
Build the website index from posts.
the rule passes the following helper variables to blogc(1):
MAKE_RULEβindexMAKE_TYPEβpost
π₯ atom
Build the main atom feed from posts.
the rule passes the following helper variables to blogc(1):
MAKE_RULEβatomMAKE_TYPEβatom
π₯ atom_tags
Build atom feeds for each tag from posts.
the rule passes the following helper variables to blogc(1):
MAKE_RULEβatom_tagsMAKE_TYPEβatom
π₯ pagination
Build pagination pages from posts. heads up: this rule is disabled if the posts_per_page value in blogcfile(5) is negative or 0. π
the rule passes the following helper variables to blogc(1):
MAKE_RULEβpaginationMAKE_TYPEβpost
π₯ pagination_tags
Build pagination pages for each tag from posts. and same deal β this rule is disabled if the posts_per_page value in blogcfile(5) is negative or 0. π
the rule passes the following helper variables to blogc(1):
MAKE_RULEβpagination_tagsMAKE_TYPEβpost
π₯ posts
Build individual pages for each post.
the rule passes the following helper variables to blogc(1):
MAKE_RULEβpostsMAKE_TYPEβpostMAKE_SLUGβ the slug of the post being built, as provided inblogcfile
π₯ tags
Build post listings for each tag from posts.
the rule passes the following helper variables to blogc(1):
MAKE_RULEβtagsMAKE_TYPEβpost
π₯ pages
Build individual pages for each page.
the rule passes the following helper variables to blogc(1):
MAKE_RULEβpagesMAKE_TYPEβpageMAKE_SLUGβ the slug of the page being built, as provided inblogcfile
π₯ copy
Copy static files from the source directory to the output directory. simple, effective, slay. π
π FILES π
the blogc-make command expects a settings file, called blogcfile by default, or any other file passed to the -f option. blogcfile must have valid UTF-8 content. like, that's non-negotiable bestie.
the blogc-make command will read any files listed on the blogcfile, and may write files to the configured output directory.
π§ ENVIRONMENT π§
BLOGCβ path to theblogc(1)binary. if it's not provided, theblogcbinary in$PATHwill be used.BLOGC_RUNSERVERβ path to theblogc-runserver(1)binary. if it's not provided, theblogc-runserverbinary in$PATHwill be used, if available.OUTPUT_DIRβ path to the directory whereblogc-makeshould write (or instructblogc(1)to write) output files.
any other environment variables are inherited by blogc(1) and blogc-runserver(1), when called by blogc-make.
π EXAMPLES π
build all files:
$ blogc-make
or
$ blogc-make all
clean built files:
$ blogc-make clean
π BUGS π
please report any issues to: https://github.com/blogc/blogc
not me asking you to file a bug report, but like, please do it, it helps π«Ά
πΈ AUTHOR πΈ
Rafael G. Martins <rafael@rafaelmartins.eng.br>
β SEE ALSO β
blogc(1), blogc-runserver(1), blogcfile(5)
okay that's the whole page, bestie!! π written by Rafael G. Martins and dated January 2025, and now lovingly retold for you. go build something iconic, ily, bye ππ¦β¨
π¦ where this page comes from
- fedora 43: blogc-make 0.20.1^20240602.b1ae9c9-1.fc42 Β· BSD-3-Clause AND MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms