Skip to content

Commit

Permalink
start work on rss generator
Browse files Browse the repository at this point in the history
  • Loading branch information
mna committed Jul 13, 2013
1 parent 90ecfcb commit a204f7b
Show file tree
Hide file tree
Showing 22 changed files with 613 additions and 319 deletions.
Empty file added LICENSE
Empty file.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# trofaf

`trofaf` is a super simple *live* static blog engine built with Go. It is super simple in that it only requires a simple directory structure to work, and offers only the minimum required features for a blog to exist.

It is *live* because it watches for changes in the posts and templates directories, and regenerates the site as needed.

It is *static* because the web server only serves pre-generated, static content.

It understands [markdown][1] syntax for posts, and [amber][2] or [native Go][3] templates.

More to come...

## Installation

## How it works

## License

[1]: http://daringfireball.net/projects/markdown/syntax
[2]: https://github.com/eknkc/amber
[3]: http://golang.org/pkg/html/template/
1 change: 1 addition & 0 deletions example/posts/003-dependances.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ Date: 2012-03-05
Title: npm: la base essentielle pour débuter avec node.js
Author: Martin Angers
Category: technologie
Lang: fr
Description: La plateforme node.js est volontairement limitée, en son coeur, aux fonctionnalités les plus fondamentales. Elle mise donc sur les contributions de sa communauté pour enrichir le noyau et repousser les limites du possible. Avec près de 8000 librairies à ce jour, il y a sérieux danger de chaos. Et si on y retrouve plutôt quelque chose comme une belle organisation, c'est en bonne partie grâce au gestionnaire de librairies npm.
---

Expand Down
62 changes: 35 additions & 27 deletions example/public/002-meta-billet
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!DOCTYPE html><!-- From HTML5 Boilerplate -->
<html class="no-js">
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Expand All @@ -10,14 +10,15 @@
<link rel="stylesheet" href="/css/main.css" />
<link rel="stylesheet" href="/css/fontello.css" />
<link href="http://fonts.googleapis.com/css?family=Telex" rel="stylesheet" type="text/css" />
<link rel="alternate" type="application/rss&#43;xml" title="RSS" href="http://localhost/rss" />
</head>
<body>

<div class="header">
<div class="title">
<a href="/">Site Name</a>
<a href="/">Ø value</a>
<br />
<span class="tagline"></span>
<span class="tagline">a wysiwyg hypertext cybersite</span>
</div>
</div>
<nav>
Expand All @@ -34,8 +35,8 @@
<div class="clearfix"></div>
</div>
</nav>
<article>
<div><p>Il existe de nombreux moteurs de blogue gratuits sur internet, tels <a href="http://wordpress.org/">Wordpress</a>, <a href="http://blogger.com/">Blogger</a> et <a href="https://www.tumblr.com/">Tumblr</a>. Pourquoi avoir jeté l&rsquo;ancre sur ce discret et modeste <a href="http://calepin.co/">Calepin</a>? Peut-être un peu pour ça, tiens, pour me tenir loin des tumultes de ces méga-centres urbains du Web. Un peu aussi pour ce <em>design</em> minimaliste, centré sur le contenu, sur les mots. Et un peu pour deux qualités franchement moins romantiques: <em>dropbox</em> et <em>markdown</em>.</p>
<main>
<article><p>Il existe de nombreux moteurs de blogue gratuits sur internet, tels <a href="http://wordpress.org/">Wordpress</a>, <a href="http://blogger.com/">Blogger</a> et <a href="https://www.tumblr.com/">Tumblr</a>. Pourquoi avoir jeté l&rsquo;ancre sur ce discret et modeste <a href="http://calepin.co/">Calepin</a>? Peut-être un peu pour ça, tiens, pour me tenir loin des tumultes de ces méga-centres urbains du Web. Un peu aussi pour ce <em>design</em> minimaliste, centré sur le contenu, sur les mots. Et un peu pour deux qualités franchement moins romantiques: <em>dropbox</em> et <em>markdown</em>.</p>

<h3>Mes billets, mon coffret</h3>

Expand Down Expand Up @@ -82,8 +83,8 @@ Et voici une *emphase*, et _une autre_ avec une syntaxe alternative.
</ol>

<p>Voilà. Il y a quelques options mineures au niveau des méta-données de chaque article et une configuration pour le site, principalement des valeurs par défaut, mais rien de renversant, et ce <em>par choix</em>. Pas de blogoliste (<em>blog roll</em>), de nuage de mots-clefs (<em>tag cloud</em>), de catalogue de thèmes dans tous les tons de marron, de barre de partage pour trente-douze gazillions de sites sociaux. C&rsquo;est la sympathique personnalité du Calepin, minimaliste jusqu&rsquo;au bout!</p>
</div>
</article>
</article>
</main>
<footer>
<div class="container">
<div class="left">
Expand All @@ -97,29 +98,36 @@ Et voici une *emphase*, et _une autre_ avec une syntaxe alternative.
</a>
</div>
<div class="middle">
<h3>
Recent posts
<ul>
<li>
<a href="002-meta-billet">Méta-billet: un mot sur le Calepin!</a>
</li>
<li>
<a href="003-dependances">npm: la base essentielle pour débuter avec node.js</a>
</li>
<li>
<a href="004-npm-packages">npm shrinkwrap: Comment contrôler ses dépendances</a>
</li>
<li>
<a href="005-structurer-express">Structurer une application Web avec Express et Node.js</a>
</li>
<li>
<a href="006-dependency-injection">Expérimentations sur l&#39;injection de dépendance avec node.js</a>
</li>
</ul>
</h3>
<h3>Recent posts</h3>
<ul>
<li>
<a href="002-meta-billet">Méta-billet: un mot sur le Calepin!</a>
</li>
<li>
<a href="003-dependances">npm: la base essentielle pour débuter avec node.js</a>
</li>
<li>
<a href="004-npm-packages">npm shrinkwrap: Comment contrôler ses dépendances</a>
</li>
<li>
<a href="005-structurer-express">Structurer une application Web avec Express et Node.js</a>
</li>
<li>
<a href="006-dependency-injection">Expérimentations sur l&#39;injection de dépendance avec node.js</a>
</li>
</ul>
</div>
<div class="clearfix"></div>
</div>
<div class="container copyright">
<small>
built with
<a href="https://github.com/PuerkitoBio/trofaf">trofaf</a>
.
</small>
<br />
<small>© 2013 Martin Angers</small>
</div>
</footer>
</body>
</html>
62 changes: 35 additions & 27 deletions example/public/003-dependances
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!DOCTYPE html><!-- From HTML5 Boilerplate -->
<html class="no-js">
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Expand All @@ -10,14 +10,15 @@
<link rel="stylesheet" href="/css/main.css" />
<link rel="stylesheet" href="/css/fontello.css" />
<link href="http://fonts.googleapis.com/css?family=Telex" rel="stylesheet" type="text/css" />
<link rel="alternate" type="application/rss&#43;xml" title="RSS" href="http://localhost/rss" />
</head>
<body>

<div class="header">
<div class="title">
<a href="/">Site Name</a>
<a href="/">Ø value</a>
<br />
<span class="tagline"></span>
<span class="tagline">a wysiwyg hypertext cybersite</span>
</div>
</div>
<nav>
Expand All @@ -34,8 +35,8 @@
<div class="clearfix"></div>
</div>
</nav>
<article>
<div><p>La plateforme node.js est <a href="https://github.com/joyent/node/wiki/node-core-vs-userland">volontairement limitée</a>, en son coeur, aux fonctionnalités les plus fondamentales. Elle mise donc sur les contributions - souvent époustouflantes, <a href="http://hypermegatop.calepin.co/propulse-par-nodejs.html">j&rsquo;en parle ici</a> - de sa communauté pour enrichir le noyau et repousser les limites du possible.</p>
<main>
<article lang="fr"><p>La plateforme node.js est <a href="https://github.com/joyent/node/wiki/node-core-vs-userland">volontairement limitée</a>, en son coeur, aux fonctionnalités les plus fondamentales. Elle mise donc sur les contributions - souvent époustouflantes, <a href="http://hypermegatop.calepin.co/propulse-par-nodejs.html">j&rsquo;en parle ici</a> - de sa communauté pour enrichir le noyau et repousser les limites du possible.</p>

<p>Avec près de 8000 librairies pullulant dans son écosystème, il y a sérieux danger de chaos. Et si on y retrouve plutôt quelque chose comme une belle organisation, c&rsquo;est en bonne partie grâce à la colonne vertébrale qui unit et soutient cette terre fertile, le gestionnaire de librairies <a href="http://npmjs.org/">npm</a>. Présentation, trucs et astuces dans les lignes qui suivent.</p>

Expand Down Expand Up @@ -129,8 +130,8 @@ jscoverage jscoverage module for node.js =kate.sf 2012-02-28 02:11
<p>Pour profiter des fonctionnalités non anonymes, il faut bien sûr se créer un compte utilisateur. C&rsquo;est tout simple, avec <code>npm adduser</code>, on peut choisir un nom d&rsquo;utilisateur, un mot de passe, et associer le tout à une adresse courriel. Ensuite il est possible d&rsquo;utiliser une des commandes méconnues qui a pourtant un potentiel intéressant pour découvrir les librairies de qualité: <code>npm star &lt;librairie&gt;</code>. C&rsquo;est l&rsquo;équivalent d&rsquo;un <em>j&rsquo;aime</em> de Facebook, et c&rsquo;est une information visible dans le registre. Elle gagnerait à être davantage utilisée et mieux exploitée, car plus l&rsquo;écosystème grossit, plus il devient difficile de discerner les librairies de calibre production, maintenues et codées de façon professionnelle, des projets de fin de semaine avec plus ou moins d&rsquo;avenir. C&rsquo;est une problématique <a href="http://mikkel.hoegh.org/blog/2011/12/20/trouble-in-node-dot-js-paradise-the-mess-that-is-npm/">qui commence à faire beaucoup jaser</a> dans la communauté, et une solution - ou du moins une amélioration - serait sur les planches à dessin du côté de l&rsquo;équipe de npm.</p>

<p>Dans un prochain article j&rsquo;aborderai les commandes davantage liées à une librairie spécifique, son fichier <code>package.json</code>, et les bonnes pratiques (toujours en évolution!) pour la gestion des dépendances d&rsquo;une application node.</p>
</div>
</article>
</article>
</main>
<footer>
<div class="container">
<div class="left">
Expand All @@ -144,29 +145,36 @@ jscoverage jscoverage module for node.js =kate.sf 2012-02-28 02:11
</a>
</div>
<div class="middle">
<h3>
Recent posts
<ul>
<li>
<a href="002-meta-billet">Méta-billet: un mot sur le Calepin!</a>
</li>
<li>
<a href="003-dependances">npm: la base essentielle pour débuter avec node.js</a>
</li>
<li>
<a href="004-npm-packages">npm shrinkwrap: Comment contrôler ses dépendances</a>
</li>
<li>
<a href="005-structurer-express">Structurer une application Web avec Express et Node.js</a>
</li>
<li>
<a href="006-dependency-injection">Expérimentations sur l&#39;injection de dépendance avec node.js</a>
</li>
</ul>
</h3>
<h3>Recent posts</h3>
<ul>
<li>
<a href="002-meta-billet">Méta-billet: un mot sur le Calepin!</a>
</li>
<li>
<a href="003-dependances">npm: la base essentielle pour débuter avec node.js</a>
</li>
<li>
<a href="004-npm-packages">npm shrinkwrap: Comment contrôler ses dépendances</a>
</li>
<li>
<a href="005-structurer-express">Structurer une application Web avec Express et Node.js</a>
</li>
<li>
<a href="006-dependency-injection">Expérimentations sur l&#39;injection de dépendance avec node.js</a>
</li>
</ul>
</div>
<div class="clearfix"></div>
</div>
<div class="container copyright">
<small>
built with
<a href="https://github.com/PuerkitoBio/trofaf">trofaf</a>
.
</small>
<br />
<small>© 2013 Martin Angers</small>
</div>
</footer>
</body>
</html>
62 changes: 35 additions & 27 deletions example/public/004-npm-packages
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!DOCTYPE html><!-- From HTML5 Boilerplate -->
<html class="no-js">
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Expand All @@ -10,14 +10,15 @@
<link rel="stylesheet" href="/css/main.css" />
<link rel="stylesheet" href="/css/fontello.css" />
<link href="http://fonts.googleapis.com/css?family=Telex" rel="stylesheet" type="text/css" />
<link rel="alternate" type="application/rss&#43;xml" title="RSS" href="http://localhost/rss" />
</head>
<body>

<div class="header">
<div class="title">
<a href="/">Site Name</a>
<a href="/">Ø value</a>
<br />
<span class="tagline"></span>
<span class="tagline">a wysiwyg hypertext cybersite</span>
</div>
</div>
<nav>
Expand All @@ -34,8 +35,8 @@
<div class="clearfix"></div>
</div>
</nav>
<article>
<div><p>Utiliser une librairie existante permet d&rsquo;ajouter rapidement des fonctionnalités à une application, et de concentrer ses efforts sur les nouveautés, les spécificités de son projet, plutôt qu&rsquo;à réinventer la roue. Cependant, chaque librairie utilisée devient une dépendance, et une dépendance est un risque. Un risque car notre code dépend maintenant de ce corps étranger sur lequel on a généralement peu ou pas de contrôle. Les meilleures pratiques pour limiter ce risque ont évolué rapidement sur la plateforme node.js ces derniers mois.</p>
<main>
<article><p>Utiliser une librairie existante permet d&rsquo;ajouter rapidement des fonctionnalités à une application, et de concentrer ses efforts sur les nouveautés, les spécificités de son projet, plutôt qu&rsquo;à réinventer la roue. Cependant, chaque librairie utilisée devient une dépendance, et une dépendance est un risque. Un risque car notre code dépend maintenant de ce corps étranger sur lequel on a généralement peu ou pas de contrôle. Les meilleures pratiques pour limiter ce risque ont évolué rapidement sur la plateforme node.js ces derniers mois.</p>

<blockquote>
<p>&ldquo;A dependency upon a package is a dependency upon everything within the package. When a package changes, and its release number is bumped, all clients of that package must verify that they work with the new package - even if nothing they used within the package actually changed.&rdquo;<br />
Expand Down Expand Up @@ -143,8 +144,8 @@ mime@1.2.5 ./node_modules/express/node_modules/connect/node_modules/mime current
<h3>Brèche de sécurité dans le registre</h3>

<p>Un mot en terminant sur le <a href="http://search.npmjs.org/">registre</a>, je mentionnais dans mon <a href="http://hypermegatop.calepin.co/npm-la-base-essentielle-pour-debuter-avec-nodejs.html">dernier article sur npm</a> qu&rsquo;il était nécessaire de se créer un compte pour utiliser certaines commandes. Et bien une brèche de sécurité a été découverte (et corrigée). Un courriel a été envoyé par Isaac à tous ceux qui avaient fourni une adresse valide, mais je sais qu&rsquo;il a eu des problèmes avec GMail et certains n&rsquo;ont pas reçu l&rsquo;information, donc si c&rsquo;est votre cas, assurez-vous de consulter ce <a href="https://gist.github.com/2001456">gist</a> qui reprend le contenu du courriel et les étapes à suivre pour sécuriser votre compte.</p>
</div>
</article>
</article>
</main>
<footer>
<div class="container">
<div class="left">
Expand All @@ -158,29 +159,36 @@ mime@1.2.5 ./node_modules/express/node_modules/connect/node_modules/mime current
</a>
</div>
<div class="middle">
<h3>
Recent posts
<ul>
<li>
<a href="002-meta-billet">Méta-billet: un mot sur le Calepin!</a>
</li>
<li>
<a href="003-dependances">npm: la base essentielle pour débuter avec node.js</a>
</li>
<li>
<a href="004-npm-packages">npm shrinkwrap: Comment contrôler ses dépendances</a>
</li>
<li>
<a href="005-structurer-express">Structurer une application Web avec Express et Node.js</a>
</li>
<li>
<a href="006-dependency-injection">Expérimentations sur l&#39;injection de dépendance avec node.js</a>
</li>
</ul>
</h3>
<h3>Recent posts</h3>
<ul>
<li>
<a href="002-meta-billet">Méta-billet: un mot sur le Calepin!</a>
</li>
<li>
<a href="003-dependances">npm: la base essentielle pour débuter avec node.js</a>
</li>
<li>
<a href="004-npm-packages">npm shrinkwrap: Comment contrôler ses dépendances</a>
</li>
<li>
<a href="005-structurer-express">Structurer une application Web avec Express et Node.js</a>
</li>
<li>
<a href="006-dependency-injection">Expérimentations sur l&#39;injection de dépendance avec node.js</a>
</li>
</ul>
</div>
<div class="clearfix"></div>
</div>
<div class="container copyright">
<small>
built with
<a href="https://github.com/PuerkitoBio/trofaf">trofaf</a>
.
</small>
<br />
<small>© 2013 Martin Angers</small>
</div>
</footer>
</body>
</html>
Loading

0 comments on commit a204f7b

Please sign in to comment.