Skip to main content

Socrates is a simple static site generator.

Project description

Socrates is a simple static site generator. It’s geared towards blogs. You write your posts in your favorite plain text to HTML language (e.g. Markdown, textile, reStructuredText) and save them as text files on your harddrive. Socrates then takes them, and creates a full HTML site for you. For free, you will get a home page which lists latest posts, single post pages, category pages, archive pages, an about page and an atom feed.

Features

  • Familiar Django and Jinja2 templates

  • Simple install via pip

  • Markdown, reStructuredText, Textile support

  • YAML configuration

  • Atom feed

  • Github pages compatible

  • Real HTML punctuation

Usage

First, you need to create a new blog:

$ socrates -i blog

This will create a blog directory with a simple blog structure:

blog
    posts
        2010-your-post.md
    pages
        about.md
        contact.md
    layout
        index.html
        single.html
        category.html
        ...
    media
        style.css
    config.yaml

The posts directory is where you will place your posts files. Anything prefixed with _ or . will be ignored. layout is your basic theme or a template. config.yaml is a site-wide configuration file. Don’t forget to update the about file with relevant information.

You can also create a new blog in the current working directory:

$ socrates -i

When you are ready to generate your site, you run:

$ socrates -g blog

Or,

$ socrates -g

for current directory.

This will place all the generated files in blog/deploy. You can then take that directory and upload it to your server.

Installation

First, set up your virtual environment and pip install Socrates.

virtualenv env --no-site-packages
source env/bin/activate
pip install socrates

Or, to get the latest code, you can install from Github or Bitbucket.

pip install -e git://github.com/honza/socrates.git#egg=socrates

The next step is to install your templates. At the moment, you can choose between Django templates and Jinja2 templates. The default theme uses Django.

Themes

Socrates supports Django templates and Jinja2 templates. You can specify which templating engine you wish to use in the config.yaml file. There are two basic themes in the themes directory to get you started.

Text to HTML

Socrates will attemp to convert your text files into HTML using a text processor. You should specify the name of the text processor in config.yaml. It should be all lowercase. Currently supported processors:

  • Markdown

  • Textile

  • reStructuredText

  • HTML (unmodified text)

Development

You can start a simple development server to aid you in development.:

$ socrates -r blog

Or,

$ socrates -r

for current directory.

During development and/or composing a layout theme, it might be useful to always re-generate all posts, without caching. To do so, you can run the following option:

$ socrates -c

Documentation

The documentation is contained within the docs directory and is written in reStructuredText using Sphinx. The documentation is easily read in a standard text editor. However, you can build an HTML version like so:

$ pip install sphinx
$ cd docs/
$ make html
$ open _build/html/index.html

Or, you can view the online version of the latest documentation.

License

Socrates is licensed under the terms of the 3-clause BSD license.

Contribute

All contributions are welcome. Please do ask if a feature is wanted before starting work to avoid wasting your time.

Bugs & Issues

Please report all bugs on Github. Mailing list. You can also come visit us in #socrates on freenode.

Authors

Socrates was originally written by Honza Pokorny. For a complete list of authors, please see the AUTHORS file.

In the wild

Project details


Download files

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

Source Distribution

socrates-0.9.2.tar.gz (32.1 kB view details)

Uploaded Source

File details

Details for the file socrates-0.9.2.tar.gz.

File metadata

  • Download URL: socrates-0.9.2.tar.gz
  • Upload date:
  • Size: 32.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for socrates-0.9.2.tar.gz
Algorithm Hash digest
SHA256 5d0b428d8ae54178bf642cf6b99fd95decf50a4550255622e6660676ececfe96
MD5 7a43622117f76769cb070f762b7aaff2
BLAKE2b-256 0d2f7ffdc10fe448e4e2dcfb1623adc3d5c942a910cef0599c428d3af3f64c39

See more details on using hashes here.

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