Stog is a static web site compiler. It is able to handle blog posts as well as regular pages or any XML document in general.
The main features are:
Since release 0.12.0, Stog can be used to compile a single file to admittedly publish HTML files where PDF was used (think about math articles, for example).
Since release 0.13.0, a preview server can be used, watching for changes and updating the page in your browser when you save source files.
Examples of web sites generated by Stog:
Stog is developped on Framagit. See the Installation page for details about downloading and installing.
Stog is released under GPL v3.
Files in the doc/.stog/templates/ and share directories are released in the public domain; feel free to use them for your own site.
For information you can see the source code of the page.
<page main_="true" title="Stog" stog:site-description="Static blog and web site generator" stog:site-email="zoggy 'AT' bat8 'DOT' org" stog:site-url="https://www.good-eris.net/stog" stog:rss-length="10" navbar-home="active" stog:archived-docs="post" with-contents="true" > <stog:use>nocounter</stog:use> <stog:sectionning>section,subsection</stog:sectionning> <stog:hxml foo=""><hcode lang="xml" defer_="1"><contents/></hcode></stog:hxml> <stog:ixml foo=""><icode lang="xml" defer_="1"><contents/></icode></stog:ixml> <stog:ml foo=""><icode lang="ocaml" defer_="1"><contents/></icode></stog:ml> <stog:nbsp> </stog:nbsp> <stog:doccode foo=""> <p class="doccode alert alert-info"> For information you can see the <a href="#pagesource"> source code of the page</a>. </p> <div id="pagesource"> <hcode lang="xml" defer_="1"><include file="<stog-dir/>/<doc-src/>" raw="true"/></hcode> </div> </stog:doccode> <stog:command prompt="#"><pre><prompt/> <contents/></pre></stog:command> <stog:also-base-rules> <p class="alert alert-warning">This function also applies the <doc href="funs#base">base rules</doc>.</p> </stog:also-base-rules> <stog:rule foo=""><ixml defer_="1"><<contents/>></ixml></stog:rule> <stog:rule-options foo=""><dl class="rule-options"><contents/></dl></stog:rule-options> <stog:rule-option name="" default=""> <dt class="rule-option"><name/><if default=""><dummy_/><span> [="<default/>"]</span></if></dt> <dl><contents/></dl> </stog:rule-option> <contents> <p>Stog is a static web site compiler. It is able to handle blog posts as well as regular pages or any XML document in general. </p> <p> The main features are: </p> <ul> <li>generate static XML/HTML documents: easy to deploy, fewer security problems,</li> <li>handling of blog posts, with dates, topics, keywords and associated RSS feeds,</li> <li>no new syntax,</li> <li>based on a XML rewrite engine allowing the applicatioh of substitutions (rewrite rules) on some tags. Some substitutions are pre-defined, and others can be defined in your documents or added by plugins. Content can then be written with semantic tags,</li> <li>support <doc href="running#multilang">multi-language</doc> sites,</li> <li>a lot of predefined <doc href="funs">functions</doc> can be used to handle sectioning, table of contents, verified cross-references, ..., </li> <li>OCaml code can be interpreted at compilation time and the result included in the generated documents, which is nice to write tutorials on OCaml libraries, like <ext-a href="https://zoggy.github.io/ocf/doc.html">here</ext-a>, </li> <li>some <doc href="plugins">plugins</doc> ease the inclusion of <ext-a href="http://www.graphviz.org">graphviz</ext-a> graphs, and pictures generated by <ext-a href="http://asymptote.sourceforge.net/">Aysmptote</ext-a> or <doc href="latex-in-stog">LaTeX</doc>, </li> <li>a <doc href="markdown">markdown</doc> plugin converts markdown sources, </li> <li>developed in <ext-a href="http://ocaml.org/">OCaml</ext-a> and can be extended with OCaml <doc href="writing_plugins">plugins</doc>, but <strong>there is no need to know about OCaml to use Stog</strong>.</li> </ul> <p> Since <doc href="release-0.12.0">release 0.12.0</doc>, Stog can be used to compile a single file to admittedly publish HTML files where PDF was used (think about <ext-a href="http://zoggy.github.io/vlmc-suffix-trie/articles/uncommon-suffix-tries.html">math articles</ext-a>, for example). </p> <p> Since <doc href="release-0.13.0">release 0.13.0</doc>, a <doc href="server">preview server</doc> can be used, watching for changes and updating the page in your browser when you save source files. </p> <p> Examples of web sites generated by Stog: </p> <ul> <li>the Stog site (you're on it!),</li> <li><ext-a href="https://www.good-eris.net/formation-ocaml/">Introduction to OCaml</ext-a> (in french),</li> <li><ext-a href="http://gallium.inria.fr/~scherer/gagallium/">Gagallium</ext-a>,</li> <li><ext-a href="https://zoggy.github.io/vlmc-suffix-trie/">Vlmc-suffix-tries</ext-a>,</li> <li>Various software websites with documentations: <ext-a href="https://zoggy.frama.io/chamo/">Chamo</ext-a>, <ext-a href="https://zoggy.github.io/genet/">Genet</ext-a>, <ext-a href="https://www.good-eris.net/ocaml-rdf/">OCaml-RDF</ext-a>, <ext-a href="https://zoggy.frama.io/erssical/">Erssical</ext-a>, <ext-a href="https://zoggy.github.io/ocf/">Ocf</ext-a>, <ext-a href="https://www.good-eris.net/xtmpl/">Xtmpl</ext-a>, <ext-a href="http://zoggy.frama.io/higlo/">Higlo</ext-a>, <ext-a href="http://oclaunch.eu.org/">OcLaunch</ext-a>, </li> <li><ext-a href="http://www.snesup-bourgogne.org">The SNESUP Bourgogne website</ext-a> (in french),</li> <li><ext-a href="https://www.oranadoz.net/">Oranadoz</ext-a> (in french),</li> <li><ext-a href="https://zoggy.good-eris.net/">Maxence Guesdon's website</ext-a>,</li> <li><ext-a href="https://detain-et-bruant.fr/">Détain-et-Bruant's website</ext-a>.</li> </ul> <section title="Get the code"> <p> Stog is developped on <ext-a href="https://framagit.org/zoggy/stog">Framagit</ext-a>. See the <page href="/install"/> page for details about downloading and installing. </p> </section> <section title="License"> <p> Stog is released under <ext-a href="http://www.gnu.org/copyleft/gpl.html">GPL v3</ext-a>. </p> <p> Files in the <icode>doc/.stog/templates/</icode> and <icode>share</icode> directories are released in the public domain; feel free to use them for your own site. </p> </section> <section title="Latest news"> <documents type="post" max="4"/> </section> </contents> </page>