Skip to content

Commit

Permalink
Using pip and requirements.txt
Browse files Browse the repository at this point in the history
  • Loading branch information
davedash committed May 16, 2010
1 parent 7bbbba4 commit 2e73ef7
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 36 deletions.
80 changes: 44 additions & 36 deletions README.markdown
Expand Up @@ -2,22 +2,27 @@

0.4

This document should give enough information to get you up and running. Check the [wiki](http://wiki.github.com/lakshmivyas/hyde) for detailed documentation. To use Clyde, the online content editor for hyde see the [clyde readme](http://github.com/lakshmivyas/hyde/tree/master/clydeweb/).
This document should give enough information to get you up and running. Check
the [wiki](http://wiki.github.com/lakshmivyas/hyde) for detailed documentation.
To use Clyde, the online content editor for hyde see the
[clyde readme](http://github.com/lakshmivyas/hyde/tree/master/clydeweb/).

Hyde is a static website generator with the power of Django templates behind it. You can read more about its conception, history and features [here][1] and [here][2].
Hyde is a static website generator with the power of Django templates behind it.
You can read more about its conception, history and features [here][1] and
[here][2].

[1]: http://www.ringce.com/products/hyde/hyde.html
[2]: http://www.ringce.com/blog/2009/introducing_hyde.html


## Basic Installation

The very basic installation of hyde only needs Django, Markdown and pyYAML. More python goodies are needed based on the features you may use.
Get the hyde source by cloning this repository.

sudo easy_install django
sudo easy_install pyYAML
sudo easy_install markdown
The very basic installation of hyde only needs Django, Markdown and pyYAML. More
python goodies are needed based on the features you may use.

Get the hyde source by [git cloning](http://github.com/guides/home) this repository.
pip install -r requirements.txt


## Running with Hyde
Expand All @@ -27,33 +32,36 @@ The hyde engine has three entry points:
1. Initializer

python hyde.py -i -s path/to/your/site [-t template_name = default] [-f]
During initialization hyde creates a basic website by copying the specified template (or default). This template contains the skeleton site layout, some content pages and settings.py.


During initialization hyde creates a basic website by copying the specified
template (or default). This template contains the skeleton site layout, some
content pages and settings.py.

Be careful with the -f setting, though: it will overwrite your website.


2. Generator

python hyde.py -g -s path/to/your/site [-d deploy_dir=path/to/your/site/deploy] [-k]

This will process the content and media and copy the generated website to your deploy directory.

If the -k option is specified, hyde will monitor the source folder for changes and automatically process them when the changes are encountered. This option is very handy when tweaking css or markup to quickly check the results. Note of caution: This option does not update listing files or excerpt files. It is recommended that you run -g again before you deploy the website.

This will process the content and media and copy the generated website to your deploy directory.

If the -k option is specified, hyde will monitor the source folder for changes and automatically process them when the changes are encountered. This option is very handy when tweaking css or markup to quickly check the results. Note of caution: This option does not update listing files or excerpt files. It is recommended that you run -g again before you deploy the website.

If you are on Mac OS X and would like to get Growl notifications, just set the GROWL setting to the `growlnotify` script path.

3. Web Server

python hyde.py -w -s path/to/your/site [-d deploy_dir=path/to/your/site/deploy]

This will start an instance of a cherrypy server and serve the generated website at localhost:8080.


## Site structure

* layout - Template files that are used as base templates for content. None of the files in the layout folder are copied over to the deploy directory.
* content - Any file that is not prefixed with \_, . or suffixed with ~ are processed by running through the template engine.
* media - Contains site media, css, js and images.
* media - Contains site media, css, js and images.
* settings.py - Django and hyde settings.

### Recommended conventions
Expand All @@ -74,22 +82,22 @@ Media processors are defined in the following format:
{<folder>:{
<file_extension_with_dot>:(<processor_module_name1>, <processor_module_name2>)}
}

The processors are executed in the order in which they are defined. The output from the first processor becomes the input of the next.

A \* instead of folder will apply the setting to all folders. There is no wildcard support for folder name yet, \* is just a catch all special case.

File extensions should be specified as .css, .js, .png etc. Again no wildcard support yet.
File extensions should be specified as .css, .js, .png etc. Again no wildcard support yet.

Hyde retains the YUI Compressor, Clever CSS and HSS processors from aym-cms.

#### Template Processor
#### Template Processor

Template processor allows the use of context variables inside your media files.
Template processor allows the use of context variables inside your media files.

#### YUI Compressor

Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.YUICompressor'`` and compresses them.
Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.YUICompressor'`` and compresses them.

[yuic]: http://developer.yahoo.com/yui/compressor/

Expand All @@ -98,7 +106,7 @@ be a path to a [YUI Compressor][yuic] jar on your computer.

#### Closure Compiler

Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.ClosureCompiler'`` and compresses them.
Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.ClosureCompiler'`` and compresses them.

[closure]: http://closure-compiler.googlecode.com/

Expand All @@ -107,31 +115,31 @@ be a path to a [Closure Compiler][closure] jar on your computer.

#### Clever CSS Processor

Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.CleverCSS'`` and converts them to css.
Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.CleverCSS'`` and converts them to css.

You need to install Clever CSS using ``sudo easy_install CleverCSS`` command for this processor to work.

[clever_css]: http://sandbox.pocoo.org/clevercss/

#### HSS Processor

Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.HSS'`` and converts them to css.
Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.HSS'`` and converts them to css.

You need to download HSS from [the project website][hss] and set the ``HSS_PATH`` variable to the downloaded path. A version for OS X is installed in the ``lib`` folder by default. To use it, just uncomment the ``HSS_PATH`` line in the settings.py file of your template.

[hss]: http://ncannasse.fr/projects/hss

#### SASS Processor

Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.SASS'`` and converts them to css.
Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.SASS'`` and converts them to css.

You need to install SASS (see [the project website][sass]) and set the ``SASS_PATH`` variable to the path to the ``sass`` script.

[sass]: http://sass-lang.com/
[sass]: http://sass-lang.com/

#### Less CSS Processor

Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.LessCSS'`` and converts them to css.
Runs through the all the files defined in the configuration associated with ``'hydeengine.media_processors.LessCSS'`` and converts them to css.

You need to install Less (see [the project website][lesscss]) and set the ``LESS_CSS_PATH`` variable to the path to the ``lessc`` script.

Expand Down Expand Up @@ -168,7 +176,7 @@ On your content pages you can define the page variables using the standard YAML

{%hyde
title: A New Post
list:
list:
- One
- Two
- Three
Expand Down Expand Up @@ -196,7 +204,7 @@ It is used as follows:

1. Or at least that is my opinion.
2. What about you?
{% endmarkdown %}
{% endmarkdown %}

#### Markdown2

Expand All @@ -221,7 +229,7 @@ It is used as follows:

# Or at least that is my opinion.
# What about you?

{% endtextile %}


Expand All @@ -243,7 +251,7 @@ It is used as follows:

#. Or at least that is my opinion.
#. What about you?

{% endrestructuredtext %}

The default reStructuredText settings may be changed by assigning a dictionary of setting names and values to the ``RST_SETTINGS_OVERRIDES`` setting in the settings file. For information on the various configuration options, see the [docutils configuration documentation](http://docutils.sourceforge.net/docs/user/config.html).
Expand Down Expand Up @@ -335,12 +343,12 @@ To enable Typogrify, use ``{% filter typogrify %}`` in your code. Typogrify is "

There are two layouts currently available: default and simple.

The default site layout contains templates for basic site structure, navigation, breadcrumbs, listing, posts and Atom feed and a very basic stylesheet.
The default site layout contains templates for basic site structure, navigation, breadcrumbs, listing, posts and Atom feed and a very basic stylesheet.


# Examples

The following websites are built using hyde and are open sourced.
The following websites are built using hyde and are open sourced.

* [SteveLosh.com][stevelosh]
* [The Old Ringce Website][ringce]
Expand All @@ -360,10 +368,10 @@ The following websites are built using hyde and are open sourced.
- [Valentin Jacquemin](http://github.com/poxd)
- [Johannes Reinhard](http://github.com/SpeckFleck)
- [Steve Losh](http://github.com/sjl)
- [William Amberg](http://github.com/wamberg)
- [William Amberg](http://github.com/wamberg)
- [James Clarke](http://github.com/jc)
- [Benjamin Pollack](http://github.com/bpollack)
- [Andrey](http://github.com/andrulik)
- [Benjamin Pollack](http://github.com/bpollack)
- [Andrey](http://github.com/andrulik)
- [Toby White](http://github.com/tow)
- [Tim Freund](http://github.com/timfreund)
- [Russell H](http://github.com/russellhaering)
3 changes: 3 additions & 0 deletions requirements.txt
@@ -0,0 +1,3 @@
django
pyYAML
markdown

0 comments on commit 2e73ef7

Please sign in to comment.