@@ -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 { | |||
color: #497c55; | |||
text-decoration: none; | |||
text-shadow: 0px 1px 0px #ededed; | |||
text-shadow: 0px 1px 0px #fefdfd; | |||
} | |||
a:hover { | |||
color: #cd3b16; | |||
text-decoration: underline; | |||
text-shadow: 0px 1px -1px #ededed; | |||
text-shadow: 0px 1px -1px #fefdfd; | |||
} | |||
body { | |||
font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2", Helvetica, Arial, sans-serif; | |||
color: #132016; | |||
background-color: #ededed; | |||
background-color: #fefdfd; | |||
} | |||
.subheading { | |||
font-family: "anivers-1", "anivers-2", Helvetica, Arial, sans-serif; | |||
@@ -320,13 +320,13 @@ body { | |||
#container { | |||
width: 972px; | |||
margin: 0 auto 96px; | |||
background-color: #ededed; | |||
background-color: #fefdfd; | |||
} | |||
#main { | |||
margin: 12px; | |||
} | |||
article { | |||
width: 600.7416563658837px; | |||
width: 612px; | |||
} | |||
h1, | |||
h2, | |||
@@ -349,14 +349,29 @@ li ul, li ol { | |||
padding-bottom: 0; | |||
} | |||
.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 { | |||
font-size: 20px; | |||
line-height: 24px; | |||
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 { | |||
font-family: Baskerville, Palatino, "Book Antiqua", serif; | |||
line-height: 75%; | |||
@@ -369,12 +384,12 @@ body { | |||
Also: hot pink. */ | |||
::-moz-selection { | |||
background: #497c55; | |||
color: #ededed; | |||
color: #fefdfd; | |||
text-shadow: none; | |||
} | |||
::selection { | |||
background: #497c55; | |||
color: #ededed; | |||
color: #fefdfd; | |||
text-shadow: none; | |||
} | |||
/* j.mp/webkit-tap-highlight-color */ | |||
@@ -387,7 +402,7 @@ a:link { | |||
.button:visited { | |||
background: #497c55; | |||
padding: 5px 10px 6px; | |||
color: #ededed; | |||
color: #fefdfd; | |||
text-decoration: none; | |||
-webkit-border-radius: 5px; | |||
-moz-border-radius: 5px; | |||
@@ -430,9 +445,9 @@ a:link { | |||
padding: 0 0 24px 0; | |||
} | |||
h2 { | |||
font-size: 36px; | |||
font-size: 24px; | |||
color: #453f19; | |||
line-height: 48px; | |||
line-height: 24px; | |||
} | |||
header.banner { | |||
width: 100%; | |||
@@ -445,20 +460,26 @@ header.banner img { | |||
float: left; | |||
} | |||
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; | |||
margin-left: 48px; | |||
margin-left: 46px; | |||
font-size: 96px; | |||
line-height: 144px; | |||
line-height: 152px; | |||
margin-bottom: 0; | |||
} | |||
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; | |||
bottom: 14px; | |||
left: 284px; | |||
bottom: 12px; | |||
font-size: 24px; | |||
left: 266px; | |||
margin: 0; | |||
text-shadow: -1px -1px 0px #a4a3a3, 1px 1px 0px #ffffff; | |||
} | |||
article { | |||
padding: 48px; | |||
@@ -467,12 +488,24 @@ article { | |||
-o-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 { | |||
font-size: 12px; | |||
font-family: menlo, monaco, courier; | |||
font-size: 11px; | |||
-moz-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); | |||
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"> | |||
<header class="banner clearfix"> | |||
<img src="/media/img/hyde-logo-128.png"> | |||
<h1>Hyde</h1> | |||
<h1>hyde 1.0</h1> | |||
<h3>static hotness</h3> </header> | |||
<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 | |||
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 | |||
<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> | |||
<ul> | |||
<li>Support for powerful template languages like <a href="http://jinja.pocoo.org/">Jinja2</a> complemented | |||
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> | |||
<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> | |||
</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> | |||
<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> | |||
<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> | |||
<ol> | |||
<li>Support for Django and Mako<ul> | |||
@@ -24,7 +24,7 @@ class SyntextPlugin(TextyPlugin): | |||
""" | |||
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 | |||
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; | |||
@glowing: #CD3B16; | |||
@light: #d4ffe3; | |||
@clear: #ededed; | |||
@clear: #fefdfd; |
@@ -13,7 +13,7 @@ body{ | |||
} | |||
article{ | |||
width: @totalwidth / 1.618; | |||
width: @column * 10 + @gutter * 11; | |||
} | |||
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; | |||
@caps-font: "anivers-1","anivers-2", Helvetica, Arial, sans-serif; | |||
.heading{ | |||
color: @clear - 40; | |||
text-shadow: -1px -1px 0px @clear - 90, 1px 1px 0px @clear + 90; | |||
@@ -14,6 +16,20 @@ body{ | |||
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 { | |||
font-family: Baskerville, Palatino, "Book Antiqua", serif; | |||
line-height: 75%; | |||
@@ -9,9 +9,9 @@ | |||
@import 'inc/controls'; | |||
h2 { | |||
font-size: @gutter * 3; | |||
font-size: @gutter * 2; | |||
color: @shade; | |||
line-height: @gutter * 4; | |||
line-height: @gutter * 2; | |||
} | |||
header.banner { | |||
@@ -25,17 +25,20 @@ header.banner { | |||
h1 { | |||
.heading; | |||
float: left; | |||
margin-left: @column; | |||
margin-left: @column - 2; | |||
font-size: @column * 2; | |||
line-height: @column * 3; | |||
line-height: @column * 3 + 8; | |||
margin-bottom: 0; | |||
} | |||
h3 { | |||
color: @shade; | |||
.subheading; | |||
color: @qdark; | |||
position: absolute; | |||
bottom: @gutter + 2; | |||
left: @column * 6 - 4; | |||
bottom: @gutter; | |||
font-size: @gutter * 2; | |||
left: @gutter * 22 + 2; | |||
margin:0; | |||
text-shadow: -1px -1px 0px @clear - 90, 1px 1px 0px @clear + 90; | |||
} | |||
margin-bottom: @column; | |||
} | |||
@@ -43,12 +46,25 @@ header.banner { | |||
article { | |||
padding: @column; | |||
.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{ | |||
font-size: @gutter; | |||
font-family: menlo, monaco, courier; | |||
font-size: @gutter - 1; | |||
.boxshadow(0, 1px, 3px, @qdark); | |||
padding: @gutter; | |||
padding: @gutter * 1.5 @gutter; | |||
} | |||
@@ -6,8 +6,8 @@ created: 2011-01-25 21:31:03 | |||
§§ blurb | |||
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 | |||
[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 | |||
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. | |||
* Configurable [sorting, filtering and grouping][sorter] support. | |||
* 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 | |||
if needed. | |||
## Source | |||
Hyde is [socially coded][hydepy]. Feel free to [fork][forking]. | |||
## Install | |||
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]. | |||
## 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 | |||
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 | |||
6. Translation | |||
[hydeid]: http://groups.google.com/group/hyde-dev/web/hyde-1-0 | |||
[Jekyll]: http://jekyllrb.com | |||
[evil twin]: http://ringce.com/blog/2009/introducing_hyde | |||
[Jinja2]: http://jinja.pocoo.org/ | |||
[hyde objects]: [[/template/variables]] | |||
[object model]: [[template.html/#variables]] | |||
[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 | |||
[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" %} | |||
{% block main -%} | |||
<article> | |||
<hgroup> | |||
<h1 class="title">{{ resource.meta.title }}</h1> | |||
<h3 class="subtitle">{{ resource.meta.subtitle }}</h3> | |||
</hgroup> | |||
{% filter markdown|typogrify -%} | |||
{% block doc -%} | |||
{%- endblock %} | |||
@@ -61,7 +61,7 @@ | |||
<header class="banner clearfix"> | |||
{% block header -%} | |||
<img src="{{ media_url('img/hyde-logo-128.png') }}"> | |||
<h1>Hyde</h1> | |||
<h1>hyde 1.0</h1> | |||
<h3>static hotness</h3> | |||
{%- endblock %} | |||
</header> | |||