Getting Started with website
How to Install and Run It
Prerequisites
This is a pure Python application. It runs under Python 2.5 or higher,
but unfortunately not under Python 3.X. You will need the following
Python libraries in place to run website:
- Babel: Used to format dates in templates
- BeautifulSoup: Used for syntax highlighting and pseudo-protocol links
- dateutil (optional): Strongly encouraged for its date_parse method. Otherwise you will have to use a stripped-down version of datetime.strptime.
- Mako: Templating system in use
- Pygments: Syntax highlighting library
- Simplejson as fallback, if there is no native json
- SQLite3 (optional): this is needed, if you want search functionality based on PHP on your site
All of these can be installed via pip or easy_install.
Installation
Install either via pip or easy_install:
$ pip install website $ easy_install website
or download website from Github: github.com/Boldewyn/website and unpack it somewhere in your Python path. Alternatively you can use the website folder directly to start your project in.
Starting a Project
Create a folder and change into it:
$ mkdir my_site && cd my_site
Create a folder _articles. In that folder you will put your posts later.
$ mkdir _articles
Create the configuration file _config.py:
$ cat <<EOCONFIG > _config.py > URL = "http://example.com/" > TITLE = "My new blog" > AUTHOR = "Your Name" > EOCONFIG
If you want to modify the default templates, create a folder _templates and put there any template that you want to change (see the installation of website for the template file names).
Finished!
Creating the Site
Put a blog post in _articles. You can use sub-folders to organize your posts. These will automatically translate to categories on the finished site.
Every blog post consists of a header of key-value pairs, then an empty line followed by the actual post in HTML. The header must at minimum include the title:
Title: A Minimal Post <p>This is a minimal post.</p>
When you’re finished, run
$ python -m website.__main__
Your website is now in the folder site. Upload it to your web space or however you want to bring it live.