Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

thot

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

thot

A Python-Powered Static Site Generator

  • 1.1.0
  • PyPI
  • Socket score

Maintainers
1

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_.

.. _Markdown: http://daringfireball.net/projects/markdown/syntax .. _RST: http://docutils.sourceforge.net/docs/user/rst/quickref.html .. _Creole: http://www.wikicreole.org/wiki/Creole1.0 .. _Trac: http://trac.edgewall.org/wiki/WikiFormatting .. _Mako: http://www.makotemplates.org/ .. _Jinja2: http://jinja.pocoo.org/

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.

.. _YAML: http://yaml.org/spec/1.1/

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.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc