bin | ||
demo | ||
mod | ||
.gitignore | ||
LICENSE | ||
Makefile | ||
README.md |
stxge
A trio of build tools for generating XHTML and GMI files from SGT-based* template files:
ste
: Expand and evaluate template code (.scm
->.sxp
)stg
: Render expanded SGT into Gemtext (.sxp
->.gmi
)stx
: Render expanded SGT into XHTML (.sxp
->.xhtml
)
Batteries are not included. All this tool does is expand and evaluate a template file, then compile it to either XHTML or GMI. Users are expected (and effectively required, in the case of advanced projects) to be comfortable with shell automation, as well as some sort of build system. Furthermore, prior knowledge of the Scheme language will prove useful, since template files are written in the Guile dialect of Scheme.
*SGT is the analogue to SXML for GMI documents
Basic Invocation
To build and install the tools, run:
$ make
$ make install
Then, the simplest invocation of these tools is something like:
$ template='`((h1 "Example!") (p "Hello :D"))'
$ echo "${template}" | ste | stg
$ echo "${template}" | ste | stx --title "Example!"
Demo Site
Check out demo/
for a more advanced example of how to use these tools.
site/
contains document templates to rendertmpl/
contains templates that can be included in pagesasst/
contains asset files (just a CSS file)Makefile
will automatically generate the siteeval/
will contain intermediary s-expression data from evaluating templatesdist/{www,gmi}/
will contain rendered XHTML and GemText documents, respectively
Simply run make
to generate everything, then open the dist/www/index.xhtml
and/or dist/gmi/index.gmi
to see the results.