Tclssg is a full-featured extensible static site generator written in Tcl. Its main purpose is to simplify the management of static websites, including optional blogs. The tool is primarily designed for Tcl programmers and is best suited for websites with a page count under 1000. Tclssg utilizes Markdown for content formatting, Bootstrap 3 for layout (with Bootstrap theme support), and Tcl code embedded in HTML for templating. It offers features like footnotes, blog post feeds in various formats (RSS, JSON Feed, and twtxt), SEO and usability enhancements, valid HTML5 and CSS level 3 output, support for external comment engines (e.g., Disqus), relative links in HTML output, and legacy deployment over FTP. Tclssg is reasonably fast and has minimal dependencies. Experimental self-contained binaries are available for Linux, Windows, and Mac.
To use Tclssg, you need to have Tcl 8.5 or newer, Tcllib, and SQLite version 3 bindings for Tcl installed. Tidy-html5 is an optional dependency for making the generated HTML prettier. Here are the installation steps for different platforms:
sudo apt-get install tcl tcllib libsqlite3-tcl
sudo apt-get install tidy-html5 # Optional dependency
sudo dnf install tcl tcllib sqlite-tcl
sudo dnf install tidy-html5 # Optional dependency
The recommended way to run Tclssg on Windows 7 and later is to install Magicsplat Tcl/Tk for Windows. Note that the Tcl distribution that comes with Git for Windows does not include Tcllib or SQLite 3 module.
On macOS, you can use MacPorts or install ActiveTcl for Mac. To install using MacPorts:
sudo port install tcl tcllib sqlite3
sudo port install tidy-html5 # Optional dependency
Once you have the necessary dependencies installed, you can proceed with the following steps:
This will create a new website project in the
website/ directory based on the default project skeleton, build the website in
website/output/, and open the result in your web browser.
Tclssg is a versatile static site generator built for Tcl programmers. It offers a range of features such as Markdown content formatting, Bootstrap theme support, and embedded Tcl code for templates. Tclssg simplifies the management of static websites, including the option to add a blog with features like footnotes, blog post feeds, SEO enhancements, customizable themes, and more. It produces valid HTML5 and CSS level 3 output and can be deployed using various protocols. Tclssg is reasonably fast, has minimal dependencies, and provides experimental self-contained binaries for different operating systems. With its ease of installation and powerful features, Tclssg is a valuable tool for developers looking to create and maintain static websites efficiently.