Skip to main content

A Python-Powered Static Site Generator

Project description

With Thot you can write your sites, documentation or even your blog with your favourite text editor and then have everything rendered to static pages.

Thot understands Markdown, RST, Creole and Trac’s markup. You can still write everything as plaintext or HTML as well. For templating you can resort to Mako or Jinja2.

Still not what you’re looking for? You can replace almost everything by your own plugins. ;-)

Need an example? This is a blog powered by Thot: http://tsu.sarumindustries.de/2011/12/15-durchs-Lowsec-fliegen-oder-per-Blackops-Portal-springen.html

Usage

Quickstart

Run thot –quickstart mysite to have directory mysite created with a basic site skeleton. You will be asked a series of questions regarding author’s name and such by that script.

quickstart obeys the optional parameter -t <shortname>, with “shortname” being the shortname for a recognized templating engine. mako or jinja2 without any additional plugins.

Run the thot command to generate a site. The command looks for files with a .htm/.html, .xml, .rst and .md/.markdown extension and parses them. Directories and files that start with a dot or an underscore will be ignored. Everything else will be copied. The generated site will be available in the _output directory.

Basics

Place or edit your templates inside the templates directory of your site. You can assign a page template self (thus none) or any other by “template: “ keyword.

Every page consists of one header and one content section, in that order. It looks like this:

title: Hello World
template: post.mak

This is the content. Hello World!

The header is formatted in YAML. You can access it from within the content by variable page. With Mako by ${ page[‘title’] } or Jinja2 by {{ page.title }} for example.

Content can be anything, from plaintext over html to markup, which is determined by the file extension. Although the content will be subject to rendering by the templating engine of your choice, you are free to abstain from using it.

You can find your default timezone and other settings in _config.yml, which is parsed as YAML.

Thot can take advantage of…

  • LaTeX for math rendering. Needs dvipng and utf8x (Gentoo: dev-texlive/texlive-latexextra). Enables RST directives math for formulas (with optional attribute label) and eq for linking to labelled formulas.

  • Pyphen and Wordaxe for server-side hyphenation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

thot-1.1.0-py2.7.egg (76.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page