@@ -0,0 +1,197 @@ | |||||
<!doctype html> | |||||
<!-- https://github.com/paulirish/html5-boilerplate/blob/master/index.html --> | |||||
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> | |||||
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]--> | |||||
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]--> | |||||
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]--> | |||||
<!--[if (gte IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]--> | |||||
<head> | |||||
<meta charset="utf-8"> | |||||
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame | |||||
Remove this if you use the .htaccess --> | |||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |||||
<!-- encoding must be specified within the first 512 bytes | |||||
www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset --> | |||||
<!-- meta element for compatibility mode needs to be before | |||||
all elements except title & meta | |||||
msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx --> | |||||
<!-- Chrome Frame is only invoked if meta element for | |||||
compatibility mode is within the first 1K bytes | |||||
code.google.com/p/chromium/issues/detail?id=23003 --> | |||||
<title>Command Line</title> | |||||
<meta name="description" content="Awesome documentation for hyde - a python static website generator | |||||
"> | |||||
<meta name="author" content="Lakshmi Vyasarajan"> | |||||
<!-- Mobile viewport optimized: j.mp/bplateviewport --> | |||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||||
<!-- Place favicon.ico & apple-touch-icon.png | |||||
in the root of your domain and delete these references --> | |||||
<link rel="shortcut icon" href="/favicon.ico"> | |||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png"> | |||||
<script type="text/javascript" src="http://use.typekit.com/hyw1bsz.js"></script> | |||||
<script type="text/javascript">try{Typekit.load();}catch(e){}</script> | |||||
<link rel="stylesheet" href="/media/css/site.css"> | |||||
<!-- All JavaScript at the bottom, except for Modernizr which | |||||
enables HTML5 elements & feature detects --> | |||||
<script src="/media/js/libs/modernizr-1.6.min.js"></script> | |||||
</head> | |||||
<body id="commandline"> | |||||
<div id="container"> | |||||
<div id="main" role="main"> | |||||
<header class="banner clearfix"> | |||||
<img src="/media/img/hyde-logo-128.png"> | |||||
<h1>hyde 1.0</h1> | |||||
<h3>static hotness</h3> </header> | |||||
<article> | |||||
<hgroup> | |||||
<h1 class="title">Command Line</h1> | |||||
<h3 class="subtitle">working with hyde</h3> | |||||
</hgroup> | |||||
<p>The hyde command line supports three subcommands:</p> | |||||
<ol> | |||||
<li>create - Initializes a new site at a given path</li> | |||||
<li>gen - Generates the website to a configured deploy folder</li> | |||||
<li>serve - Starts a local http server that regenerates based on the requested file</li> | |||||
</ol> | |||||
<h2 id="the_create_command">The create command</h2> | |||||
<p>Creates a new hyde website.</p> | |||||
<div class="code"><div class="highlight"><pre>hyde create<br /> <br />hyde <span class="o">[</span>-s </site/path><span class="o">]</span> <span class="o">[</span>-v<span class="o">]</span> create <span class="o">[</span>-l <layout><span class="o">]</span> <span class="o">[</span>-f<span class="o">]</span> <span class="o">[</span>-h<span class="o">]</span><br /></pre></div><br /></div> | |||||
<ul> | |||||
<li> | |||||
<p><code>-s SITEPATH, --sitepath SITEPATH</code></p> | |||||
<p>Where the site must be created. If this path is not empty then the <code>-f</code> | |||||
option must be specified to overwrite the site.</p> | |||||
<p><em>Optional</em> - defaults to current working directory.</p> | |||||
</li> | |||||
<li> | |||||
<p><code>-f, --force</code></p> | |||||
<p>Specifying this option will overwrite files and folders at the given | |||||
site path.</p> | |||||
<p><em>Optional</em> - If the target directory is not empty, hyde will throw an | |||||
exception unless this is specified.</p> | |||||
</li> | |||||
<li> | |||||
<p><code>-l LAYOUT, --layout LAYOUT</code></p> | |||||
<p>The name of the layout to use for creating the initial site. Hyde currently | |||||
has three layouts: <code>basic</code>, <code>test</code> and <code>doc</code>.</p> | |||||
<p>While basic and test are really barebones, doc is the one that generates | |||||
this documentation and is completely usable. Hyde will get more layouts | |||||
as over time.</p> | |||||
<p>Hyde tries to locate the specified layout in the following folders:</p> | |||||
<ol> | |||||
<li>In <code>layouts</code> folder under the path specified by the <code>HYDE_DATA</code> | |||||
environment variable</li> | |||||
<li>In <code>layouts</code> folder under hyde</li> | |||||
</ol> | |||||
<p><em>Optional</em> - defaults to <code>basic</code></p> | |||||
</li> | |||||
<li> | |||||
<p><code>-v, --verbose</code></p> | |||||
<p>Logs detailed messages to the console.</p> | |||||
<p><em>Optional</em> - shows only essential messages if this option is omitted.</p> | |||||
</li> | |||||
<li> | |||||
<p><code>-h</code></p> | |||||
<p>Displays the help text for the <code>create</code> command.</p> | |||||
</li> | |||||
</ul> | |||||
<p>Assuming the <code>HYDE_DATA</code> environment variable is empty and the folder | |||||
<code>~/test</code> is empty, the following command will create a new hyde site | |||||
at <code>~/test</code> with the contents of <code>layouts/doc</code> folder:</p> | |||||
<div class="code"><div class="highlight"><pre>hyde -s ~/test create -l doc<br /></pre></div><br /></div> | |||||
<h2 id="the_generate_command">The generate command</h2> | |||||
<p>Generates the given website.</p> | |||||
<div class="code"><div class="highlight"><pre>hyde gen<br /> <br />hyde <span class="o">[</span>-s </site/path><span class="o">]</span> <span class="o">[</span>-v<span class="o">]</span> gen <span class="o">[</span>-d </deploy/path><span class="o">]</span> <span class="o">[</span>-c <config/path><span class="o">]</span> <span class="o">[</span>-h<span class="o">]</span><br /></pre></div><br /></div> | |||||
<ul> | |||||
<li> | |||||
<p><code>-s SITEPATH, --sitepath SITEPATH</code></p> | |||||
<p>The path to the site to be generated.</p> | |||||
<p><em>Optional</em> - defaults to current working directory.</p> | |||||
</li> | |||||
<li> | |||||
<p><code>-d DEPLOY_PATH, --deploy-path DEPLOY_PATH</code></p> | |||||
<p>Location where the site should be generated. This option overrides any | |||||
setting specified in the hyde [configuration][]. The path is assumed to | |||||
be relative to the site path unless a preceding path separator is found.</p> | |||||
<p><em>Optional</em> - Uses what is specified in the config file. The default option | |||||
in the configuration file is: <code>deploy</code> folder under the current site path.</p> | |||||
</li> | |||||
<li> | |||||
<p><code>-c CONFIG, --config-path CONFIG</code></p> | |||||
<p>This is used for specifying an alternate configuration file to use for | |||||
generating the site. This is useful if you have two different configurations | |||||
for you production versus development websites.</p> | |||||
<p>The path is assumed to be relative to the site path unless a preceding path | |||||
separator is found.</p> | |||||
<p><em>Optional</em> - defaults to <code>site.yaml</code></p> | |||||
</li> | |||||
<li> | |||||
<p><code>-v, --verbose</code></p> | |||||
<p>Logs detailed messages to the console.</p> | |||||
<p><em>Optional</em> - shows only essential messages if this option is omitted.</p> | |||||
</li> | |||||
<li> | |||||
<p><code>-h</code></p> | |||||
<p>Displays the help text for the <code>gen</code> command.</p> | |||||
</li> | |||||
</ul> | |||||
<p>The following command will use <code>production.yaml</code> as the configuration file and | |||||
generate the website at <code>~/test</code> to <code>~/production_site</code> directory.</p> | |||||
<div class="code"><div class="highlight"><pre><span class="nb">cd</span> ~/test<br />hyde gen -c production.yaml -d ~/production_site<br /></pre></div><br /></div> | |||||
<h2 id="the_serve_command">The serve command</h2> | |||||
<p>Starts the built in web server that also regenerates based on the request if there are changes.</p> | |||||
<div class="code"><div class="highlight"><pre>hyde serve<br /> <br />hyde <span class="o">[</span>-s </site/path><span class="o">]</span> <span class="o">[</span>-v<span class="o">]</span> gen <span class="o">[</span>-d </deploy/path><span class="o">]</span> <span class="o">[</span>-c <config/path><span class="o">]</span> <span class="o">[</span>-h<span class="o">]</span><br /></pre></div><br /></div> | |||||
<ul> | |||||
<li><code>-s SITEPATH, --sitepath SITEPATH</code> | |||||
<code>-d DEPLOY_PATH, --deploy-path DEPLOY_PATH</code> | |||||
<code>-c CONFIG, --config-path CONFIG</code></li> | |||||
</ul> | |||||
<p>Since the <code>serve</code> command auto generates if there is a need, it needs the same | |||||
parameters as the <code>gen</code> command. The above parameters serve the same purpose here | |||||
as in the <code>gen</code> command.</p> | |||||
<ul> | |||||
<li><code>-a ADDRESS, --address ADDRESS</code></li> | |||||
</ul> | |||||
<p>The address to serve the website.</p> | |||||
<p><em>Optional</em> - defaults to <code>localhost</code></p> | |||||
<ul> | |||||
<li><code>-p PORT, --port</code></li> | |||||
</ul> | |||||
<p>The port to serve the website.</p> | |||||
<p><em>Optional</em> - default to <code>8080</code></p> | |||||
<ul> | |||||
<li><code>-h</code></li> | |||||
</ul> | |||||
<p>Displays the help text for the <code>serve</code> command.</p> | |||||
<p>The following command will serve the website at <code>http://localhost:8181</code></p> | |||||
<div class="code"><div class="highlight"><pre><span class="nb">cd</span> ~/test<br />hyde serve -p 8181<br /></pre></div><br /></div> | |||||
<p></article> | |||||
<aside> | |||||
</aside></p> </div> | |||||
<footer> | |||||
</footer> | |||||
</div> <!--! end of #container --> | |||||
<!-- Javascript at the bottom for fast page loading --> | |||||
<!-- Grab Google CDN's jQuery. fall back to local if necessary --> | |||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script> | |||||
<script>!window.jQuery && document.write(unescape('%3Cscript src="/media/js/libs/jquery-1.4.4.min.js"%3E%3C/script%3E'))</script> | |||||
</body> | |||||
</html> |
@@ -0,0 +1,103 @@ | |||||
<!doctype html> | |||||
<!-- https://github.com/paulirish/html5-boilerplate/blob/master/index.html --> | |||||
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> | |||||
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]--> | |||||
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]--> | |||||
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]--> | |||||
<!--[if (gte IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]--> | |||||
<head> | |||||
<meta charset="utf-8"> | |||||
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame | |||||
Remove this if you use the .htaccess --> | |||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |||||
<!-- encoding must be specified within the first 512 bytes | |||||
www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset --> | |||||
<!-- meta element for compatibility mode needs to be before | |||||
all elements except title & meta | |||||
msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx --> | |||||
<!-- Chrome Frame is only invoked if meta element for | |||||
compatibility mode is within the first 1K bytes | |||||
code.google.com/p/chromium/issues/detail?id=23003 --> | |||||
<title>Installation</title> | |||||
<meta name="description" content="Awesome documentation for hyde - a python static website generator | |||||
"> | |||||
<meta name="author" content="Lakshmi Vyasarajan"> | |||||
<!-- Mobile viewport optimized: j.mp/bplateviewport --> | |||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||||
<!-- Place favicon.ico & apple-touch-icon.png | |||||
in the root of your domain and delete these references --> | |||||
<link rel="shortcut icon" href="/favicon.ico"> | |||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png"> | |||||
<script type="text/javascript" src="http://use.typekit.com/hyw1bsz.js"></script> | |||||
<script type="text/javascript">try{Typekit.load();}catch(e){}</script> | |||||
<link rel="stylesheet" href="/media/css/site.css"> | |||||
<!-- All JavaScript at the bottom, except for Modernizr which | |||||
enables HTML5 elements & feature detects --> | |||||
<script src="/media/js/libs/modernizr-1.6.min.js"></script> | |||||
</head> | |||||
<body id="install"> | |||||
<div id="container"> | |||||
<div id="main" role="main"> | |||||
<header class="banner clearfix"> | |||||
<img src="/media/img/hyde-logo-128.png"> | |||||
<h1>hyde 1.0</h1> | |||||
<h3>static hotness</h3> </header> | |||||
<article> | |||||
<hgroup> | |||||
<h1 class="title">Installation</h1> | |||||
<h3 class="subtitle">PIPing hot hyde</h3> | |||||
</hgroup> | |||||
<p>Installing hyde is as simple as running the following command:</p> | |||||
<div class="code"><div class="highlight"><pre>pip install -e https://github.com/hydepy/hyde#egg<span class="o">=</span>hyde<br /></pre></div><br /></div> | |||||
<p>However, based on your choice and use of plugins you may need to install | |||||
additional packages. The requirements for each plugin is outlined in the | |||||
corresponding <a href="/plugins">plugin documentation</a>.</p> | |||||
<h2 id="essential_requirements">Essential Requirements</h2> | |||||
<p>While your mileage may vary, I consider the following to be essential for | |||||
generating a static website with hyde. These are a part of the requirements | |||||
file and the above command will download and install them as part of hyde.</p> | |||||
<p>It is also recommended that you use <a href="http://mathematism.com/2009/07/30/presentation-pip-and-virtualenv/">virtualenv</a> to separate the hyde | |||||
environment from other python projects. Note that installing hyde using | |||||
pip would install all of the below. However, if you’d like finer grained | |||||
control over the packages, you can install these individually:</p> | |||||
<ol> | |||||
<li><code>argparse</code>: argparse is required if you are on python 2.6.</li> | |||||
<li><code>commando</code>: commando is a wrapper on top of argparse to give better syntax and | |||||
support for multi-command applications.</li> | |||||
<li><code>Jinja2</code>: While hyde will support many more template languages in the future, | |||||
currently, Jinja2 is wholly supported and recommended.</li> | |||||
<li><code>Markdown</code>: While there are plans to add support for other markups (textile, | |||||
restructured text, asciidoc etc..,), markdown is the one thats currently | |||||
completely supported.</li> | |||||
<li><code>Pyyaml</code>: Much of hyde’s [configuration] is done using yaml.</li> | |||||
<li><code>Typogrify</code>: Typogrify automatically fixes and enhances the typographical | |||||
accuracy of your content. While this is not a technical requirement for | |||||
hyde, it is absolutely essential to create good looking content.</li> | |||||
</ol> | |||||
<div class="code"><div class="highlight"><pre>pip install argparse<br />pip install commando<br />pip install jinja2<br />pip install markdown<br />pip install pyyaml<br />pip install -e https://github.com/hydepy/typogrify#egg<span class="o">=</span>typogrify<br /></pre></div><br /></div> | |||||
<p></article> | |||||
<aside> | |||||
</aside></p> </div> | |||||
<footer> | |||||
</footer> | |||||
</div> <!--! end of #container --> | |||||
<!-- Javascript at the bottom for fast page loading --> | |||||
<!-- Grab Google CDN's jQuery. fall back to local if necessary --> | |||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script> | |||||
<script>!window.jQuery && document.write(unescape('%3Cscript src="/media/js/libs/jquery-1.4.4.min.js"%3E%3C/script%3E'))</script> | |||||
</body> | |||||
</html> |
@@ -0,0 +1,103 @@ | |||||
<!doctype html> | |||||
<!-- https://github.com/paulirish/html5-boilerplate/blob/master/index.html --> | |||||
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> | |||||
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]--> | |||||
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]--> | |||||
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]--> | |||||
<!--[if (gte IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]--> | |||||
<head> | |||||
<meta charset="utf-8"> | |||||
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame | |||||
Remove this if you use the .htaccess --> | |||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |||||
<!-- encoding must be specified within the first 512 bytes | |||||
www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset --> | |||||
<!-- meta element for compatibility mode needs to be before | |||||
all elements except title & meta | |||||
msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx --> | |||||
<!-- Chrome Frame is only invoked if meta element for | |||||
compatibility mode is within the first 1K bytes | |||||
code.google.com/p/chromium/issues/detail?id=23003 --> | |||||
<title>Installation</title> | |||||
<meta name="description" content="Awesome documentation for hyde - a python static website generator | |||||
"> | |||||
<meta name="author" content="Lakshmi Vyasarajan"> | |||||
<!-- Mobile viewport optimized: j.mp/bplateviewport --> | |||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||||
<!-- Place favicon.ico & apple-touch-icon.png | |||||
in the root of your domain and delete these references --> | |||||
<link rel="shortcut icon" href="/favicon.ico"> | |||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png"> | |||||
<script type="text/javascript" src="http://use.typekit.com/hyw1bsz.js"></script> | |||||
<script type="text/javascript">try{Typekit.load();}catch(e){}</script> | |||||
<link rel="stylesheet" href="/media/css/site.css"> | |||||
<!-- All JavaScript at the bottom, except for Modernizr which | |||||
enables HTML5 elements & feature detects --> | |||||
<script src="/media/js/libs/modernizr-1.6.min.js"></script> | |||||
</head> | |||||
<body id="installation"> | |||||
<div id="container"> | |||||
<div id="main" role="main"> | |||||
<header class="banner clearfix"> | |||||
<img src="/media/img/hyde-logo-128.png"> | |||||
<h1>hyde 1.0</h1> | |||||
<h3>static hotness</h3> </header> | |||||
<article> | |||||
<hgroup> | |||||
<h1 class="title">Installation</h1> | |||||
<h3 class="subtitle">PIPing hot hyde</h3> | |||||
</hgroup> | |||||
<p>Installing hyde is as simple as running the following command:</p> | |||||
<div class="code"><div class="highlight"><pre>pip install -e https://github.com/hydepy/hyde#egg<span class="o">=</span>hyde<br /></pre></div><br /></div> | |||||
<p>However, based on your choice and use of plugins you may need to install | |||||
additional packages. The requirements for each plugin is outlined in the | |||||
corresponding <a href="/plugins">plugin documentation</a>.</p> | |||||
<h2 id="essential_requirements">Essential Requirements</h2> | |||||
<p>While your mileage may vary, I consider the following to be essential for | |||||
generating a static website with hyde. These are a part of the requirements | |||||
file and the above command will download and install them as part of hyde.</p> | |||||
<p>It is also recommended that you use <a href="http://mathematism.com/2009/07/30/presentation-pip-and-virtualenv/">virtualenv</a> to separate the hyde | |||||
environment from other python projects. Note that installing hyde using | |||||
pip would install all of the below. However, if you’d like finer grained | |||||
control over the packages, you can install these individually:</p> | |||||
<ol> | |||||
<li><code>argparse</code>: argparse is required if you are on python 2.6.</li> | |||||
<li><code>commando</code>: commando is a wrapper on top of argparse to give better syntax and | |||||
support for multi-command applications.</li> | |||||
<li><code>Jinja2</code>: While hyde will support many more template languages in the future, | |||||
currently, Jinja2 is wholly supported and recommended.</li> | |||||
<li><code>Markdown</code>: While there are plans to add support for other markups (textile, | |||||
restructured text, asciidoc etc..,), markdown is the one thats currently | |||||
completely supported.</li> | |||||
<li><code>Pyyaml</code>: Much of hyde’s [configuration] is done using yaml.</li> | |||||
<li><code>Typogrify</code>: Typogrify automatically fixes and enhances the typographical | |||||
accuracy of your content. While this is not a technical requirement for | |||||
hyde, it is absolutely essential to create good looking content.</li> | |||||
</ol> | |||||
<div class="code"><div class="highlight"><pre>pip install argparse<br />pip install commando<br />pip install jinja2<br />pip install markdown<br />pip install pyyaml<br />pip install -e https://github.com/hydepy/typogrify#egg<span class="o">=</span>typogrify<br /></pre></div><br /></div> | |||||
<p></article> | |||||
<aside> | |||||
</aside></p> </div> | |||||
<footer> | |||||
</footer> | |||||
</div> <!--! end of #container --> | |||||
<!-- Javascript at the bottom for fast page loading --> | |||||
<!-- Grab Google CDN's jQuery. fall back to local if necessary --> | |||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script> | |||||
<script>!window.jQuery && document.write(unescape('%3Cscript src="/media/js/libs/jquery-1.4.4.min.js"%3E%3C/script%3E'))</script> | |||||
</body> | |||||
</html> |
@@ -296,17 +296,17 @@ button { | |||||
a { | a { | ||||
color: #497c55; | color: #497c55; | ||||
text-decoration: none; | text-decoration: none; | ||||
text-shadow: 0px 1px 0px #ededed; | |||||
text-shadow: 0px 1px 0px #fefdfd; | |||||
} | } | ||||
a:hover { | a:hover { | ||||
color: #cd3b16; | color: #cd3b16; | ||||
text-decoration: underline; | text-decoration: underline; | ||||
text-shadow: 0px 1px -1px #ededed; | |||||
text-shadow: 0px 1px -1px #fefdfd; | |||||
} | } | ||||
body { | body { | ||||
font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2", Helvetica, Arial, sans-serif; | font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2", Helvetica, Arial, sans-serif; | ||||
color: #132016; | color: #132016; | ||||
background-color: #ededed; | |||||
background-color: #fefdfd; | |||||
} | } | ||||
.subheading { | .subheading { | ||||
font-family: "anivers-1", "anivers-2", Helvetica, Arial, sans-serif; | font-family: "anivers-1", "anivers-2", Helvetica, Arial, sans-serif; | ||||
@@ -320,13 +320,13 @@ body { | |||||
#container { | #container { | ||||
width: 972px; | width: 972px; | ||||
margin: 0 auto 96px; | margin: 0 auto 96px; | ||||
background-color: #ededed; | |||||
background-color: #fefdfd; | |||||
} | } | ||||
#main { | #main { | ||||
margin: 12px; | margin: 12px; | ||||
} | } | ||||
article { | article { | ||||
width: 600.7416563658837px; | |||||
width: 612px; | |||||
} | } | ||||
h1, | h1, | ||||
h2, | h2, | ||||
@@ -349,14 +349,29 @@ li ul, li ol { | |||||
padding-bottom: 0; | padding-bottom: 0; | ||||
} | } | ||||
.heading { | .heading { | ||||
color: #c5c5c5; | |||||
text-shadow: -1px -1px 0px #939393, 1px 1px 0px #ffffff; | |||||
color: #d6d5d5; | |||||
text-shadow: -1px -1px 0px #a4a3a3, 1px 1px 0px #ffffff; | |||||
} | } | ||||
body { | body { | ||||
font-size: 20px; | font-size: 20px; | ||||
line-height: 24px; | line-height: 24px; | ||||
font-weight: normal; | font-weight: normal; | ||||
} | } | ||||
h1, | |||||
h2, | |||||
h3, | |||||
h4, | |||||
h5, | |||||
h6 { | |||||
font-family: "anivers-1", "anivers-2", Helvetica, Arial, sans-serif; | |||||
} | |||||
code, .highlight pre { | |||||
font-family: menlo, monaco, courier; | |||||
} | |||||
code { | |||||
color: rgba(0, 0, 0, 0.5); | |||||
font-size: 80%; | |||||
} | |||||
.amp { | .amp { | ||||
font-family: Baskerville, Palatino, "Book Antiqua", serif; | font-family: Baskerville, Palatino, "Book Antiqua", serif; | ||||
line-height: 75%; | line-height: 75%; | ||||
@@ -369,12 +384,12 @@ body { | |||||
Also: hot pink. */ | Also: hot pink. */ | ||||
::-moz-selection { | ::-moz-selection { | ||||
background: #497c55; | background: #497c55; | ||||
color: #ededed; | |||||
color: #fefdfd; | |||||
text-shadow: none; | text-shadow: none; | ||||
} | } | ||||
::selection { | ::selection { | ||||
background: #497c55; | background: #497c55; | ||||
color: #ededed; | |||||
color: #fefdfd; | |||||
text-shadow: none; | text-shadow: none; | ||||
} | } | ||||
/* j.mp/webkit-tap-highlight-color */ | /* j.mp/webkit-tap-highlight-color */ | ||||
@@ -387,7 +402,7 @@ a:link { | |||||
.button:visited { | .button:visited { | ||||
background: #497c55; | background: #497c55; | ||||
padding: 5px 10px 6px; | padding: 5px 10px 6px; | ||||
color: #ededed; | |||||
color: #fefdfd; | |||||
text-decoration: none; | text-decoration: none; | ||||
-webkit-border-radius: 5px; | -webkit-border-radius: 5px; | ||||
-moz-border-radius: 5px; | -moz-border-radius: 5px; | ||||
@@ -430,9 +445,9 @@ a:link { | |||||
padding: 0 0 24px 0; | padding: 0 0 24px 0; | ||||
} | } | ||||
h2 { | h2 { | ||||
font-size: 36px; | |||||
font-size: 24px; | |||||
color: #453f19; | color: #453f19; | ||||
line-height: 48px; | |||||
line-height: 24px; | |||||
} | } | ||||
header.banner { | header.banner { | ||||
width: 100%; | width: 100%; | ||||
@@ -445,20 +460,26 @@ header.banner img { | |||||
float: left; | float: left; | ||||
} | } | ||||
header.banner h1 { | header.banner h1 { | ||||
color: #c5c5c5; | |||||
text-shadow: -1px -1px 0px #939393, 1px 1px 0px #ffffff; | |||||
color: #d6d5d5; | |||||
text-shadow: -1px -1px 0px #a4a3a3, 1px 1px 0px #ffffff; | |||||
float: left; | float: left; | ||||
margin-left: 48px; | |||||
margin-left: 46px; | |||||
font-size: 96px; | font-size: 96px; | ||||
line-height: 144px; | |||||
line-height: 152px; | |||||
margin-bottom: 0; | margin-bottom: 0; | ||||
} | } | ||||
header.banner h3 { | header.banner h3 { | ||||
color: #453f19; | |||||
font-family: "anivers-1", "anivers-2", Helvetica, Arial, sans-serif; | |||||
font-size: 24px; | |||||
font-weight: normal; | |||||
color: #010202; | |||||
color: rgba(0, 0, 0, 0.5); | |||||
position: absolute; | position: absolute; | ||||
bottom: 14px; | |||||
left: 284px; | |||||
bottom: 12px; | |||||
font-size: 24px; | |||||
left: 266px; | |||||
margin: 0; | margin: 0; | ||||
text-shadow: -1px -1px 0px #a4a3a3, 1px 1px 0px #ffffff; | |||||
} | } | ||||
article { | article { | ||||
padding: 48px; | padding: 48px; | ||||
@@ -467,12 +488,24 @@ article { | |||||
-o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | -o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | ||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | ||||
} | } | ||||
article h1.title { | |||||
color: #497c55; | |||||
font-size: 36px; | |||||
margin-bottom: 6px; | |||||
} | |||||
article h3.subtitle { | |||||
color: #453f19; | |||||
font-size: 18px; | |||||
font-weight: normal; | |||||
padding-left: 6px; | |||||
border-bottom: 1px solid rgba(0, 0, 0, 0.1); | |||||
margin-bottom: 21px; | |||||
} | |||||
.highlight pre { | .highlight pre { | ||||
font-size: 12px; | |||||
font-family: menlo, monaco, courier; | |||||
font-size: 11px; | |||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | ||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | ||||
-o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | -o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | ||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); | ||||
padding: 12px; | |||||
padding: 18px 12px; | |||||
} | } |
@@ -49,34 +49,53 @@ | |||||
<div id="main" role="main"> | <div id="main" role="main"> | ||||
<header class="banner clearfix"> | <header class="banner clearfix"> | ||||
<img src="/media/img/hyde-logo-128.png"> | <img src="/media/img/hyde-logo-128.png"> | ||||
<h1>Hyde</h1> | |||||
<h1>hyde 1.0</h1> | |||||
<h3>static hotness</h3> </header> | <h3>static hotness</h3> </header> | ||||
<article> | <article> | ||||
<hgroup> | |||||
<h1 class="title">Overview</h1> | |||||
<h3 class="subtitle">hyde in a nutshell</h3> | |||||
</hgroup> | |||||
<p>Hyde is a static website generator written in python. While Hyde took | <p>Hyde is a static website generator written in python. While Hyde took | ||||
life as <a href="http://jekyllrb.com">awesome Jekyll</a>‘s <a href="http://ringce.com/blog/2009/introducing_hyde">evil twin</a>, it has since been | |||||
completely consumed by <a href="http://python.org">the dark side</a> to have an identity of its own.</p> | |||||
life as <a href="http://jekyllrb.com">awesome Jekyll</a>'s <a href="http://ringce.com/blog/2009/introducing_hyde">evil twin</a>, it has since been | |||||
completely consumed by <a href="http://python.org">the dark side</a> and has an <a href="http://groups.google.com/group/hyde-dev/web/hyde-1-0">identity of its own</a>.</p> | |||||
<p>Hyde desires to fulfill the lofty goal of removing the | <p>Hyde desires to fulfill the lofty goal of removing the | ||||
<a href="/static/#cons">pain points</a> involved in creating and maintaining | |||||
<a href="/static/#pros">static websites</a>.</p> | |||||
<a href="/static.html/#cons">pain points</a> involved in creating and maintaining | |||||
<a href="[static.html/#pros]]">static websites</a>.</p> | |||||
<h2 id="spotlight">Spotlight</h2> | <h2 id="spotlight">Spotlight</h2> | ||||
<ul> | <ul> | ||||
<li>Support for powerful template languages like <a href="http://jinja.pocoo.org/">Jinja2</a> complemented | <li>Support for powerful template languages like <a href="http://jinja.pocoo.org/">Jinja2</a> complemented | ||||
with custom tags and filters.</li> | with custom tags and filters.</li> | ||||
<li><a href="/template/variables">Rich object model</a> and | |||||
<a href="/plugins/metadata">overridable hierarchical metadata</a> thats available for use in templates.</li> | |||||
<li>Configurable <a href="/plugins/sorter">sorting, filtering and grouping</a> support.</li> | |||||
<li>Extensible <a href="/plugins">plugin architecture</a> with Text preprocessing and html | |||||
<li>Rich <a href="/template.html/#variables">object model</a> and | |||||
overridable hierarchical <a href="/plugins/metadata.html">metadata</a> thats available for use in templates.</li> | |||||
<li>Configurable <a href="/plugins/sorter.html">sorting, filtering and grouping</a> support.</li> | |||||
<li>Extensible <a href="/plugins.html">plugin architecture</a> with Text preprocessing and html | |||||
postprocessing support for complex content transformations.</li> | postprocessing support for complex content transformations.</li> | ||||
<li>Instant preview using built-in <a href="/server">webserver</a> that regenerates content | |||||
<li>Instant preview using built-in <a href="/server.html">webserver</a> that regenerates content | |||||
if needed.</li> | if needed.</li> | ||||
</ul> | </ul> | ||||
<h2 id="source">Source</h2> | |||||
<p>Hyde is <a href="https://github.com/hydepy/hyde">socially coded</a>. Feel free to <a href="/contribute">fork</a>.</p> | |||||
<h2 id="install">Install</h2> | <h2 id="install">Install</h2> | ||||
<p>There will be a package soon on pypi, but this works for now:</p> | <p>There will be a package soon on pypi, but this works for now:</p> | ||||
<div class="code"><div class="highlight"><pre>pip install -e https://github.com/hydepy/hyde#egg<span class="o">=</span>hyde<br /></pre></div><br /></div> | <div class="code"><div class="highlight"><pre>pip install -e https://github.com/hydepy/hyde#egg<span class="o">=</span>hyde<br /></pre></div><br /></div> | ||||
<p>You can find more detailed documentation in the <a href="/install">installation section</a>.</p> | |||||
<p>You can find more detailed documentation in the <a href="/install.html">installation section</a>.</p> | |||||
<h2 id="run">Run</h2> | |||||
<p>After installation is successful, creating <span class="amp">&</span> generating your website is | |||||
extremely simple.</p> | |||||
<p>To create a new hyde website:</p> | |||||
<div class="code"><div class="highlight"><pre>hyde -s /path/to/your site create<br /></pre></div><br /></div> | |||||
<p>To generate the website:</p> | |||||
<div class="code"><div class="highlight"><pre><span class="nb">cd</span> /path/to/your/site<br />hyde gen<br /></pre></div><br /></div> | |||||
<p>To run the built in webserver that autogenerates if needed:</p> | |||||
<div class="code"><div class="highlight"><pre>hyde serve<br /></pre></div><br /></div> | |||||
<p>You can access the website now at <code>http://localhost:8080</code></p> | |||||
<p>For all the supported options, read <a href="/commandline.html">command line documentation</a> | |||||
or run <code>hyde --h</code>.</p> | |||||
<h2 id="source">Source</h2> | |||||
<p>Hyde is <a href="https://github.com/hydepy/hyde">socially coded</a>. Feel free to <a href="/contribute.html">fork</a>.</p> | |||||
<h2 id="project_roadmap">Project Roadmap</h2> | <h2 id="project_roadmap">Project Roadmap</h2> | ||||
<ol> | <ol> | ||||
<li>Support for Django and Mako<ul> | <li>Support for Django and Mako<ul> | ||||
@@ -24,7 +24,7 @@ class SyntextPlugin(TextyPlugin): | |||||
""" | """ | ||||
The default pattern for block open text. | The default pattern for block open text. | ||||
""" | """ | ||||
return '^~~~+\s*([A-Za-z0-9_\-\.]+)\s*~*\s*$' | |||||
return '^\s*~~~+\s*([A-Za-z0-9_\-\.]+)\s*~*\s*$' | |||||
@property | @property | ||||
def default_close_pattern(self): | def default_close_pattern(self): | ||||
@@ -0,0 +1,173 @@ | |||||
=== | |||||
title: Command Line | |||||
subtitle: working with hyde | |||||
created: 2011-01-27 11:02:43 | |||||
=== | |||||
§§ blurb | |||||
The hyde command line supports three subcommands: | |||||
1. create - Initializes a new site at a given path | |||||
2. gen - Generates the website to a configured deploy folder | |||||
3. serve - Starts a local http server that regenerates based on the requested file | |||||
§§ /blurb | |||||
## The create command | |||||
Creates a new hyde website. | |||||
~~~sh~~~ | |||||
hyde create | |||||
hyde [-s </site/path>] [-v] create [-l <layout>] [-f] [-h] | |||||
~~~~~~~~ | |||||
* `-s SITEPATH, --sitepath SITEPATH` | |||||
Where the site must be created. If this path is not empty then the `-f` | |||||
option must be specified to overwrite the site. | |||||
*Optional* - defaults to current working directory. | |||||
* `-f, --force` | |||||
Specifying this option will overwrite files and folders at the given | |||||
site path. | |||||
*Optional* - If the target directory is not empty, hyde will throw an | |||||
exception unless this is specified. | |||||
* `-l LAYOUT, --layout LAYOUT` | |||||
The name of the layout to use for creating the initial site. Hyde currently | |||||
has three layouts: `basic`, `test` and `doc`. | |||||
While basic and test are really barebones, doc is the one that generates | |||||
this documentation and is completely usable. Hyde will get more layouts | |||||
as over time. | |||||
Hyde tries to locate the specified layout in the following folders: | |||||
1. In `layouts` folder under the path specified by the `HYDE_DATA` | |||||
environment variable | |||||
2. In `layouts` folder under hyde | |||||
*Optional* - defaults to `basic` | |||||
* `-v, --verbose` | |||||
Logs detailed messages to the console. | |||||
*Optional* - shows only essential messages if this option is omitted. | |||||
* `-h` | |||||
Displays the help text for the `create` command. | |||||
Assuming the `HYDE_DATA` environment variable is empty and the folder | |||||
`~/test` is empty, the following command will create a new hyde site | |||||
at `~/test` with the contents of `layouts/doc` folder: | |||||
~~~sh~~~ | |||||
hyde -s ~/test create -l doc | |||||
~~~~~~~~ | |||||
## The generate command | |||||
Generates the given website. | |||||
~~~sh~~~ | |||||
hyde gen | |||||
hyde [-s </site/path>] [-v] gen [-d </deploy/path>] [-c <config/path>] [-h] | |||||
~~~~~~~~ | |||||
* `-s SITEPATH, --sitepath SITEPATH` | |||||
The path to the site to be generated. | |||||
*Optional* - defaults to current working directory. | |||||
* `-d DEPLOY_PATH, --deploy-path DEPLOY_PATH` | |||||
Location where the site should be generated. This option overrides any | |||||
setting specified in the hyde [configuration][]. The path is assumed to | |||||
be relative to the site path unless a preceding path separator is found. | |||||
*Optional* - Uses what is specified in the config file. The default option | |||||
in the configuration file is: `deploy` folder under the current site path. | |||||
* `-c CONFIG, --config-path CONFIG` | |||||
This is used for specifying an alternate configuration file to use for | |||||
generating the site. This is useful if you have two different configurations | |||||
for you production versus development websites. | |||||
The path is assumed to be relative to the site path unless a preceding path | |||||
separator is found. | |||||
*Optional* - defaults to `site.yaml` | |||||
* `-v, --verbose` | |||||
Logs detailed messages to the console. | |||||
*Optional* - shows only essential messages if this option is omitted. | |||||
* `-h` | |||||
Displays the help text for the `gen` command. | |||||
The following command will use `production.yaml` as the configuration file and | |||||
generate the website at `~/test` to `~/production_site` directory. | |||||
~~~sh~~~ | |||||
cd ~/test | |||||
hyde gen -c production.yaml -d ~/production_site | |||||
~~~~~~~~ | |||||
## The serve command | |||||
Starts the built in web server that also regenerates based on the request if there are | |||||
changes. | |||||
~~~sh~~~ | |||||
hyde serve | |||||
hyde [-s </site/path>] [-v] gen [-d </deploy/path>] [-c <config/path>] [-h] | |||||
~~~~~~~~ | |||||
* `-s SITEPATH, --sitepath SITEPATH` | |||||
`-d DEPLOY_PATH, --deploy-path DEPLOY_PATH` | |||||
`-c CONFIG, --config-path CONFIG` | |||||
Since the `serve` command auto generates if there is a need, it needs the same | |||||
parameters as the `gen` command. The above parameters serve the same purpose here | |||||
as in the `gen` command. | |||||
* `-a ADDRESS, --address ADDRESS` | |||||
The address to serve the website. | |||||
*Optional* - defaults to `localhost` | |||||
* `-p PORT, --port` | |||||
The port to serve the website. | |||||
*Optional* - default to `8080` | |||||
* `-h` | |||||
Displays the help text for the `serve` command. | |||||
The following command will serve the website at `http://localhost:8181` | |||||
~~~sh~~~ | |||||
cd ~/test | |||||
hyde serve -p 8181 | |||||
~~~~~~~~ | |||||
@@ -0,0 +1,54 @@ | |||||
=== | |||||
title: Installation | |||||
subtitle: PIPing hot hyde | |||||
created: 2011-01-26 23:17:44 | |||||
=== | |||||
§§ blurb | |||||
Installing hyde is as simple as running the following command: | |||||
~~~sh~~~ | |||||
pip install -e https://github.com/hydepy/hyde#egg=hyde | |||||
~~~~~~~~ | |||||
However, based on your choice and use of plugins you may need to install | |||||
additional packages. The requirements for each plugin is outlined in the | |||||
corresponding [plugin documentation][plugins]. | |||||
§§ /blurb | |||||
## Essential Requirements | |||||
While your mileage may vary, I consider the following to be essential for | |||||
generating a static website with hyde. These are a part of the requirements | |||||
file and the above command will download and install them as part of hyde. | |||||
It is also recommended that you use [virtualenv][] to separate the hyde | |||||
environment from other python projects. Note that installing hyde using | |||||
pip would install all of the below. However, if you'd like finer grained | |||||
control over the packages, you can install these individually: | |||||
1. `argparse`: argparse is required if you are on python 2.6. | |||||
2. `commando`: commando is a wrapper on top of argparse to give better syntax and | |||||
support for multi-command applications. | |||||
3. `Jinja2`: While hyde will support many more template languages in the future, | |||||
currently, Jinja2 is wholly supported and recommended. | |||||
4. `Markdown`: While there are plans to add support for other markups (textile, | |||||
restructured text, asciidoc etc..,), markdown is the one thats currently | |||||
completely supported. | |||||
5. `Pyyaml`: Much of hyde's [configuration] is done using yaml. | |||||
6. `Typogrify`: Typogrify automatically fixes and enhances the typographical | |||||
accuracy of your content. While this is not a technical requirement for | |||||
hyde, it is absolutely essential to create good looking content. | |||||
~~~sh~~~ | |||||
pip install argparse | |||||
pip install commando | |||||
pip install jinja2 | |||||
pip install markdown | |||||
pip install pyyaml | |||||
pip install -e https://github.com/hydepy/typogrify#egg=typogrify | |||||
~~~~~~~~ | |||||
[plugins]: [[plugins]] | |||||
[virtualenv]: http://mathematism.com/2009/07/30/presentation-pip-and-virtualenv/ |
@@ -7,4 +7,4 @@ | |||||
@shade: #453F19; | @shade: #453F19; | ||||
@glowing: #CD3B16; | @glowing: #CD3B16; | ||||
@light: #d4ffe3; | @light: #d4ffe3; | ||||
@clear: #ededed; | |||||
@clear: #fefdfd; |
@@ -13,7 +13,7 @@ body{ | |||||
} | } | ||||
article{ | article{ | ||||
width: @totalwidth / 1.618; | |||||
width: @column * 10 + @gutter * 11; | |||||
} | } | ||||
h1, h2, h3, h4, h5, h6, p{ | h1, h2, h3, h4, h5, h6, p{ | ||||
@@ -3,6 +3,8 @@ | |||||
@text-font: "ff-meta-web-pro-1","ff-meta-web-pro-2", Helvetica, Arial, sans-serif; | @text-font: "ff-meta-web-pro-1","ff-meta-web-pro-2", Helvetica, Arial, sans-serif; | ||||
@caps-font: "anivers-1","anivers-2", Helvetica, Arial, sans-serif; | @caps-font: "anivers-1","anivers-2", Helvetica, Arial, sans-serif; | ||||
.heading{ | .heading{ | ||||
color: @clear - 40; | color: @clear - 40; | ||||
text-shadow: -1px -1px 0px @clear - 90, 1px 1px 0px @clear + 90; | text-shadow: -1px -1px 0px @clear - 90, 1px 1px 0px @clear + 90; | ||||
@@ -14,6 +16,20 @@ body{ | |||||
font-weight: normal; | font-weight: normal; | ||||
} | } | ||||
h1, h2, h3, h4, h5, h6{ | |||||
font-family: @heading-font; | |||||
} | |||||
code, | |||||
.highlight pre{ | |||||
font-family: menlo, monaco, courier; | |||||
} | |||||
code{ | |||||
color: @qdark; | |||||
font-size: 80%; | |||||
} | |||||
.amp { | .amp { | ||||
font-family: Baskerville, Palatino, "Book Antiqua", serif; | font-family: Baskerville, Palatino, "Book Antiqua", serif; | ||||
line-height: 75%; | line-height: 75%; | ||||
@@ -9,9 +9,9 @@ | |||||
@import 'inc/controls'; | @import 'inc/controls'; | ||||
h2 { | h2 { | ||||
font-size: @gutter * 3; | |||||
font-size: @gutter * 2; | |||||
color: @shade; | color: @shade; | ||||
line-height: @gutter * 4; | |||||
line-height: @gutter * 2; | |||||
} | } | ||||
header.banner { | header.banner { | ||||
@@ -25,17 +25,20 @@ header.banner { | |||||
h1 { | h1 { | ||||
.heading; | .heading; | ||||
float: left; | float: left; | ||||
margin-left: @column; | |||||
margin-left: @column - 2; | |||||
font-size: @column * 2; | font-size: @column * 2; | ||||
line-height: @column * 3; | |||||
line-height: @column * 3 + 8; | |||||
margin-bottom: 0; | margin-bottom: 0; | ||||
} | } | ||||
h3 { | h3 { | ||||
color: @shade; | |||||
.subheading; | |||||
color: @qdark; | |||||
position: absolute; | position: absolute; | ||||
bottom: @gutter + 2; | |||||
left: @column * 6 - 4; | |||||
bottom: @gutter; | |||||
font-size: @gutter * 2; | |||||
left: @gutter * 22 + 2; | |||||
margin:0; | margin:0; | ||||
text-shadow: -1px -1px 0px @clear - 90, 1px 1px 0px @clear + 90; | |||||
} | } | ||||
margin-bottom: @column; | margin-bottom: @column; | ||||
} | } | ||||
@@ -43,12 +46,25 @@ header.banner { | |||||
article { | article { | ||||
padding: @column; | padding: @column; | ||||
.boxshadow(0, 1px, 3px, @qdark); | .boxshadow(0, 1px, 3px, @qdark); | ||||
h1.title { | |||||
color: @dark; | |||||
font-size: @gutter * 3; | |||||
margin-bottom: @gutter / 2; | |||||
} | |||||
h3.subtitle{ | |||||
color: @shade; | |||||
font-size: @gutter * 1.5; | |||||
font-weight: normal; | |||||
padding-left: 6px; | |||||
border-bottom: 1px solid rgba(0, 0, 0, 0.1); | |||||
margin-bottom: @gutter * 2 - 3; | |||||
} | |||||
} | } | ||||
.highlight pre{ | .highlight pre{ | ||||
font-size: @gutter; | |||||
font-family: menlo, monaco, courier; | |||||
font-size: @gutter - 1; | |||||
.boxshadow(0, 1px, 3px, @qdark); | .boxshadow(0, 1px, 3px, @qdark); | ||||
padding: @gutter; | |||||
padding: @gutter * 1.5 @gutter; | |||||
} | } | ||||
@@ -6,8 +6,8 @@ created: 2011-01-25 21:31:03 | |||||
§§ blurb | §§ blurb | ||||
Hyde is a static website generator written in python. While Hyde took | Hyde is a static website generator written in python. While Hyde took | ||||
life as [awesome Jekyll][Jekyll]'s [evil twin][], it has since been | |||||
completely consumed by [the dark side][python] to have an identity of its own. | |||||
life as [awesome Jekyll][Jekyll]'s [evil twin][], it has since been | |||||
completely consumed by [the dark side][python] and has an [identity of its own][hydeid]. | |||||
Hyde desires to fulfill the lofty goal of removing the | Hyde desires to fulfill the lofty goal of removing the | ||||
[pain points][static cons] involved in creating and maintaining | [pain points][static cons] involved in creating and maintaining | ||||
@@ -18,8 +18,8 @@ Hyde desires to fulfill the lofty goal of removing the | |||||
* Support for powerful template languages like [Jinja2][] complemented | * Support for powerful template languages like [Jinja2][] complemented | ||||
with custom tags and filters. | with custom tags and filters. | ||||
* [Rich object model][hyde objects] and | |||||
[overridable hierarchical metadata][metadata] thats available for use in | |||||
* Rich [object model][] and | |||||
overridable hierarchical [metadata][] thats available for use in | |||||
templates. | templates. | ||||
* Configurable [sorting, filtering and grouping][sorter] support. | * Configurable [sorting, filtering and grouping][sorter] support. | ||||
* Extensible [plugin architecture][plugins] with Text preprocessing and html | * Extensible [plugin architecture][plugins] with Text preprocessing and html | ||||
@@ -27,10 +27,6 @@ Hyde desires to fulfill the lofty goal of removing the | |||||
* Instant preview using built-in [webserver][server] that regenerates content | * Instant preview using built-in [webserver][server] that regenerates content | ||||
if needed. | if needed. | ||||
## Source | |||||
Hyde is [socially coded][hydepy]. Feel free to [fork][forking]. | |||||
## Install | ## Install | ||||
There will be a package soon on pypi, but this works for now: | There will be a package soon on pypi, but this works for now: | ||||
@@ -43,6 +39,39 @@ pip install -e https://github.com/hydepy/hyde#egg=hyde | |||||
You can find more detailed documentation in the [installation section][install]. | You can find more detailed documentation in the [installation section][install]. | ||||
## Run | |||||
After installation is successful, creating & generating your website is | |||||
extremely simple. | |||||
To create a new hyde website: | |||||
~~~sh~~~ | |||||
hyde -s /path/to/your site create | |||||
~~~~~~~~ | |||||
To generate the website: | |||||
~~~sh~~~ | |||||
cd /path/to/your/site | |||||
hyde gen | |||||
~~~~~~~~ | |||||
To run the built in webserver that autogenerates if needed: | |||||
~~~sh~~~ | |||||
hyde serve | |||||
~~~~~~~~ | |||||
You can access the website now at `http://localhost:8080` | |||||
For all the supported options, read [command line documentation][commandline] | |||||
or run `hyde --h`. | |||||
## Source | |||||
Hyde is [socially coded][hydepy]. Feel free to [fork][forking]. | |||||
## Project Roadmap | ## Project Roadmap | ||||
1. Support for Django and Mako | 1. Support for Django and Mako | ||||
@@ -63,17 +92,19 @@ You can find more detailed documentation in the [installation section][install]. | |||||
5. Feed / Listing generation | 5. Feed / Listing generation | ||||
6. Translation | 6. Translation | ||||
[hydeid]: http://groups.google.com/group/hyde-dev/web/hyde-1-0 | |||||
[Jekyll]: http://jekyllrb.com | [Jekyll]: http://jekyllrb.com | ||||
[evil twin]: http://ringce.com/blog/2009/introducing_hyde | [evil twin]: http://ringce.com/blog/2009/introducing_hyde | ||||
[Jinja2]: http://jinja.pocoo.org/ | [Jinja2]: http://jinja.pocoo.org/ | ||||
[hyde objects]: [[/template/variables]] | |||||
[object model]: [[template.html/#variables]] | |||||
[hydepy]: https://github.com/hydepy/hyde | [hydepy]: https://github.com/hydepy/hyde | ||||
[install]: [[/install]] | |||||
[metadata]: [[/plugins/metadata]] | |||||
[plugins]: [[/plugins]] | |||||
[install]: [[install.html]] | |||||
[metadata]: [[plugins/metadata.html]] | |||||
[plugins]: [[plugins.html]] | |||||
[python]: http://python.org | [python]: http://python.org | ||||
[server]: [[/server]] | |||||
[sorter]: [[plugins/sorter]] | |||||
[static cons]: [[/static/#cons]] | |||||
[static pros]: [[/static/#pros]] | |||||
[forking]: [[/contribute]] | |||||
[server]: [[server.html]] | |||||
[sorter]: [[plugins/sorter.html]] | |||||
[static cons]: [[static.html/#cons]] | |||||
[static pros]: [static.html/#pros]] | |||||
[forking]: [[contribute.html]] | |||||
[commandline]: [[commandline.html]] |
@@ -1,6 +1,10 @@ | |||||
{% extends "root.j2" %} | {% extends "root.j2" %} | ||||
{% block main -%} | {% block main -%} | ||||
<article> | <article> | ||||
<hgroup> | |||||
<h1 class="title">{{ resource.meta.title }}</h1> | |||||
<h3 class="subtitle">{{ resource.meta.subtitle }}</h3> | |||||
</hgroup> | |||||
{% filter markdown|typogrify -%} | {% filter markdown|typogrify -%} | ||||
{% block doc -%} | {% block doc -%} | ||||
{%- endblock %} | {%- endblock %} | ||||
@@ -61,7 +61,7 @@ | |||||
<header class="banner clearfix"> | <header class="banner clearfix"> | ||||
{% block header -%} | {% block header -%} | ||||
<img src="{{ media_url('img/hyde-logo-128.png') }}"> | <img src="{{ media_url('img/hyde-logo-128.png') }}"> | ||||
<h1>Hyde</h1> | |||||
<h1>hyde 1.0</h1> | |||||
<h3>static hotness</h3> | <h3>static hotness</h3> | ||||
{%- endblock %} | {%- endblock %} | ||||
</header> | </header> | ||||