scratch/output/Scratch/en/blog/2010-06-15-Get-my-blog-engine/index.html

305 lines
14 KiB
HTML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="blog, nanoc">
<link rel="shortcut icon" type="image/x-icon" href="/Scratch/img/favicon.ico" />
<link rel="stylesheet" type="text/css" href="/Scratch/assets/css/main.css" />
<link rel="stylesheet" type="text/css" href="/Scratch/css/twilight.css" />
<link rel="stylesheet" type="text/css" href="/Scratch/css/idc.css" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://feeds.feedburner.com/yannespositocomen"/>
<link rel="alternate" lang="fr" xml:lang="fr" title="Récupérez mon système de blog" type="text/html" hreflang="fr" href="/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/" />
<link rel="alternate" lang="en" xml:lang="en" title="Get my blog engine" type="text/html" hreflang="en" href="/Scratch/en/blog/2010-06-15-Get-my-blog-engine/" />
<script type="text/javascript" src="/Scratch/js/jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="/Scratch/js/jquery.cookie.js"></script>
<script type="text/javascript" src="/Scratch/js/index.js"></script>
2010-10-13 11:43:05 +00:00
<!-- [if lt IE9 ]>
<script type="text/javascript" src="http://stan-js.googlecode.com/hg/version/0.1/stan.min.js"></script>
<![endif]-->
<title>Get my blog engine</title>
</head>
<body lang="en">
<script type="text/javascript">// <![CDATA[
document.write('<div id="blackpage"><img src="/Scratch/img/loading.gif" alt="loading..."/></div>');
// ]]>
</script>
<div id="content">
2010-09-27 18:49:15 +00:00
<div id="choix">
<div class="return"><a href="#entete">&darr; Menu &darr;</a></div>
<div id="choixlang">
<a href="/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/" onclick="setLanguage('fr')">en Français</a>
</div>
</div>
<img src="/Scratch/img/presentation.png" alt="Presentation drawing"/>
<div id="titre">
<h1>
Get my blog engine
</h1>
</div>
<div class="flush"></div>
<div class="flush"></div>
<div id="afterheader">
<div class="corps">
<p>I published a <em>light</em> version of my blog engine based on <a href="http://nanoc.stoneship.org">nanoc</a> yesterday night. By <em>light</em>, I mean a lighter, more portable CSS (without round border).
You can get it on <a href="http://github.com/yogsototh/nanoc3_blog">github.com</a>.</p>
<p>What this system provide?</p>
<ul>
<li>All <a href="http://nanoc.stoneship.org">nanoc</a> advantages,</li>
<li>Easy multi-language handling,</li>
<li>Syntax Coloration for most languages,</li>
<li><a href="http://intensedebate.org">intenseDebate</a> comments integration (asynchronous)&nbsp;;</li>
<li>Portable with and without javascript, XHTML Strict 1.0 / CSS3,</li>
<li>Write in markdown format (no HTML editing needed),</li>
<li>Typographic ameliorations (no &lsquo;:&rsquo; starting a line in French for example),</li>
<li><a href="http://graphviz.org">Graphviz</a> graph generation integration.</li>
</ul>
</div>
<div class="corps">
<h1 class="first" id="main-documentation-page">Main Documentation Page</h1>
<h1 id="use-it-now">Use It NOW!</h1>
<p>Once installed (follow the README.md instructions).</p>
<pre class="twilight">
$ cd /root/of/nanoc3_blog
$ ./task/new_blog_entry Title of the blog
$ vi latest.md
$ ./task/recompile
</pre>
<p>Now your website reside into the <code>output</code> directory.</p>
</div>
<div class="corps">
<h1 class="first" id="documentation">Documentation</h1>
<h2 id="useful-things-to-know">Useful things to know</h2>
<h3 id="multi-language">Multi-language</h3>
<p>All files in <code>multi</code> are processed and copied in the <code>content</code> directory.
For each file in multi, each line starting by &lsquo;<code>fr: </code>&rsquo; are copied (without the <code>fr: </code> into the <code>content/html/fr/</code> tree, but not into the <code>content/html/en</code> tree. File not starting by <code>fr: </code> or <code>en: </code> are copied in each destinations.</p>
<p>If you want to add another language, you&rsquo;ll have to modify <code>tasks/config</code>, and <code>config.yaml</code>, create a <code>content/html/xx</code> where <code>xx</code> is the language code.</p>
<h3 id="edition--rendering">Edition &amp; Rendering</h3>
<h4 id="additional-keywords">additional keywords</h4>
<p>You can separate multi content div using the: <code>n</code><code>ewcorps</code> directive (see examples).</p>
<p>You can create div using <code>b</code><code>egindiv(classname)</code>, <code>e</code><code>nddiv</code>. (See some existing blog entries for example). Use the class <code>intro</code> for the abstract part.</p>
<p>You can create nice description table using <code>&lt;</code><code>desc&gt;</code> (See source code for example).</p>
<h4 id="typography">Typography</h4>
<p>In French all &lsquo;:&rsquo;, &lsquo;;&rsquo;, &lsquo;!&rsquo; and &lsquo;?&rsquo; are preceded automatically by <code>&amp;nbsp</code>. This enable not to have a line starting by a single special character.</p>
<p>You can use small caps using <code>&lt;sc&gt;</code> tags. </p>
<ul>
<li><code>(c</code><code>)</code> is replaced by <small>&copy;</small>.</li>
<li><code>(r</code><code>)</code> is replaced by <small>&reg;</small>.</li>
<li><code>&lt;</code><code>-</code> is replaced by &larr;.</li>
<li><code>-</code><code>&gt;</code> is replaced by &rarr;.</li>
</ul>
<h4 id="source-code">source code</h4>
<p>To write source code you should use the following format:</p>
<pre class="twilight">
<span class="MetaTagInline"><span class="MetaTagInline">&lt;</span><span class="MetaTagInline">code</span> <span class="MetaTagInline">class</span>=<span class="String"><span class="String">&quot;</span>ruby<span class="String">&quot;</span></span> <span class="MetaTagInline">file</span>=<span class="String"><span class="String">&quot;</span>filename.rb<span class="String">&quot;</span></span><span class="MetaTagInline">&gt;</span></span>
The code
<span class="MetaTagInline"><span class="MetaTagInline">&lt;/</span><span class="MetaTagInline">cOde</span><span class="MetaTagInline">&gt;</span></span>
</pre>
<p>The <code>file</code> attribute is not required.</p>
<h3 id="blog">blog</h3>
<p>If you want to make really long blog post, you can separate them into many files. To accomplish that, you simply have to make your files like:</p>
<pre class="twilight">
multi/blog/2010-06-01-the-title.md
multi/blog/2010-06-01-the-title/second_part.md
multi/blog/2010-06-01-the-title/third_part.md
</pre>
<h3 id="mobileme">mobileme</h3>
<p>All files are intended to be generated into the <code>output/Scratch</code> directory.
This was made like that to work nicely with iWeb organisation of websites.</p>
<h3 id="menu">menu</h3>
<p>The order of post is done using the <code>menupriority</code> meta-data in the header of the files.</p>
<p>You can hide some file from the menu by setting: <code>isHidden: true</code> in the header.</p>
<h2 id="details">Details</h2>
<p>To know more about this blog engine, you should look at
<a href="http://nanoc.stoneship.org">nanoc</a> project.</p>
<p>Then look at the files inside your project:</p>
<div><table class="description" summary="no description"><tr class="assombris20"><td class="definitionCell">
README.md </td><td class="valueCell"> readme for the project (used by github) </td></tr><tr class="assombris10"><td class="definitionCell">
latest.md </td><td class="valueCell"> symbolic link to the last blog entry </td></tr><tr class="assombris20"><td class="definitionCell">
multi/ </td><td class="valueCell"> Directory containing multi-language articles </td></tr><tr class="assombris10"><td class="definitionCell">
tasks/ </td><td class="valueCell"> scripts for website live </td></tr><tr class="assombris20"><td class="definitionCell">
config.yaml </td><td class="valueCell"> global configuration file </td></tr><tr class="assombris10"><td class="definitionCell">
Rules </td><td class="valueCell"> generation rules </td></tr><tr class="assombris20"><td class="definitionCell">
content/ </td><td class="valueCell"> content files processed by nanoc </td></tr><tr class="assombris10"><td class="definitionCell">
layouts/ </td><td class="valueCell"> erb templates </td></tr><tr class="assombris20"><td class="definitionCell">
lib/ </td><td class="valueCell"> ruby libraries used to process files </td></tr><tr class="assombris10"><td class="definitionCell">
output/ </td><td class="valueCell"> website </td></tr><tr class="assombris20"><td class="definitionCell">
Rakefile </td><td class="valueCell"> not mandatory for this blog </td></tr>
</table></div>
</div>
<div id="choixrss">
<a id="rss" href="http://feeds.feedburner.com/yannespositocomen">
Subscribe
</a>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#comment').hide();
$('#clickcomment').click(showComments);
});
function showComments() {
$('#comment').show();
$('#clickcomment').fadeOut();
}
document.write('<div id="clickcomment">Comments</div>');
</script>
<div class="flush"></div>
<div class="corps" id="comment">
<h2 class="first">comments</h2>
<noscript>
Vous devez activer javascript pour commenter.
</noscript>
<script type="text/javascript">
var idcomments_acct = 'a307f0044511ff1b5cfca573fc0a52e7';
var idcomments_post_id = '/Scratch/en/blog/2010-06-15-Get-my-blog-engine/';
var idcomments_post_url = 'http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/';
</script>
<span id="IDCommentsPostTitle" style="display:none"></span>
<script type='text/javascript' src='/Scratch/js/genericCommentWrapperV2.js'></script>
</div>
<div id="entete" class="corps_spaced">
<div id="liens">
<ul><li><a href="/Scratch/en/">Homepage</a></li>
<li><a href="/Scratch/en/blog/">Blog</a></li>
2010-09-30 13:01:14 +00:00
<li><a href="/Scratch/en/softwares/">Softwares</a></li>
2010-09-28 01:00:51 +00:00
<li><a href="/Scratch/en/about/">About</a></li></ul>
</div>
<div class="flush"></div>
<hr/>
<div id="next_before_articles">
<div id="previous_articles">
previous entries
<div class="previous_article">
2010-09-28 15:10:12 +00:00
<a href="/Scratch/en/blog/2010-06-14-multi-language-choices/"><span class="nicer">«</span>&nbsp;multi language choices</a>
</div>
<div class="previous_article">
2010-09-28 15:10:12 +00:00
<a href="/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/"><span class="nicer">«</span>&nbsp;Trees; Pragmatism and Formalism</a>
</div>
<div class="previous_article">
2010-09-28 15:10:12 +00:00
<a href="/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/"><span class="nicer">«</span>&nbsp;How to repair a cutted XML?</a>
</div>
</div>
<div id="next_articles">
next entries
<div class="next_article">
2010-09-28 15:10:12 +00:00
<a href="/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/">Track Events with Google Analytics&nbsp;<span class="nicer">»</span></a>
</div>
<div class="next_article">
2010-09-28 15:10:12 +00:00
<a href="/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/">Hide Yourself to your Analytics&nbsp;<span class="nicer">»</span></a>
</div>
<div class="next_article">
2010-09-28 15:10:12 +00:00
<a href="/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/">jQuery popup the easy way&nbsp;<span class="nicer">»</span></a>
</div>
</div>
<div class="flush"></div>
</div>
</div>
<div id="bottom">
<div>
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Copyright ©, Yann Esposito</a>
</div>
<div id="lastmod">
2010-08-31 13:06:43 +00:00
Created: 06/15/2010
2010-09-02 09:51:46 +00:00
Modified: 06/24/2010
</div>
<div>
Entirely done with
<a href="http://www.vim.org">Vim</a>
and
<a href="http://nanoc.stoneship.org">nanoc</a>
</div>
<div>
<a href="/Scratch/en/validation/">Validation</a>
<a href="http://validator.w3.org/check?uri=referer"> [xhtml] </a>
.
<a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3"> [css] </a>
.
<a href="http://validator.w3.org/feed/check.cgi?url=http%3A//yannesposito.com/Scratch/en/blog/feed/feed.xml">[rss]</a>
</div>
</div>
<div class="clear"></div>
</div>
</body>
</html>