What Tclssg
Description A Tcl static site generator that uses Markdown for content markup and HTML with embedded Tcl code for page templates. Supports Bootstrap 3 themes. Generates sitemaps. Can deploy websites over FTP, SCP, etc. Modular and extensible.
Platforms Linux, Windows XP/7/8.x/10, macOS, FreeBSD, OpenBSD, NetBSD.
Prerequisites Tcl 8.5 or newer, Tcllib, SQLite3 bindings for Tcl. Also available as a self-contained Starpack for Windows, Linux and macOS.
Updated 2024-05-11 (v2.3.0)
License MIT
Contact dbohdan


Tclssg screenshot

Example sites, users


escargo 2014-07-16: It would be nice if you described supported platforms and prerequisites here.

dbohdan 2014-07-17: Thanks for the suggestion! I added platforms and prerequisites to the project summary above. A more detailed guide on how to install Tclssg can be found in the "Getting started" section of the README.

APN Nice! How hard would it be to replace the Perl markdown with a Tcl extension?

dbohdan 2014-10-02: It shouldn't be hard at all; all Markdown-related functionality is isolated in the proc ::tclssg::templating::markdown-to-html that calls an external Markdown processor of your choice (set in ::tclssg::config(markdownProcessor)). Using a Tcl extension would be a matter of replacing this procedure. is included so that the generator can work out of the box on *nix without the user having to compile any C code.

dbohdan 2014-12-04: Version 0.15.2 removes the Perl dependency and replaces with the Markdown package from Caius.

JM 2014-12-05: good job.
I think the markdown package is inserting an extra indentation level from the 2nd line of the code you want to post.
(The pattern on first line is OK, starting from the 2nd line, however, every line has an extra indentation level)

dbohdan 2014-12-05: Thanks, JM. I'll look into the indentation problem. Would you mind filing an issue at and pasting the Markdown input file that causes the problem and the corresponding HTML output there? Either that, or paste both here in a code block.

JM let me try here first: the input:

 code block post example:

     4 spaces leading this line
       6 spaces leading this line
     4 spaces leading this line

 **the end**

the output:

        <p>code block post example:</p>

        <pre><code>4 spaces leading this line
          6 spaces leading this line
        4 spaces leading this line</code></pre>

        <p><strong>the end</strong></p>

looks like the generated code being indented from the 2nd line and beyond is just being treated as expected and shown as is.

dbohdan 2014-12-07: Fixed the issue in v0.16.1.

HJG 2016-02-23: Is there an example of a picture-gallery done with Tclssg ? As in, several dozen photos, with thumbnails linking to bigger pictures (with descriptions), and generated links for next/prev, etc. ?

See also