Voici le code source du site https://citoyenentransition.fr,
celui-ci est aussi une occasion pour jouer avec ruby
.
Le fichier config.yml
doit être créer à la racine du projet.
Parmis les clés indispensables, il y a :
port
: qui détermine sur quel port est lancé l'applicationcotent_folder
: qui est le chemin à partir du dossiercontent
du projet, où l'application va chercher le contenu markdown.title
: Qui sera en tant que title et h1 de l'application
La clé translations
permet de fournir une traduction des sous-dossiers de votre dossier de contenus,
exemple :
translations:
posts: articles
Si vous avez cette arborescence :
* content/
\_ * mon_contenu/
\_ * posts/
\_ premier_article.md
\_ * no_translation/
\_ second_post.md
vous aurez les urls suivantes
/articles/premier-article
/no_translation/second-post
(le dernier slug est déterminé d'après le premierh1
trouver dans le markdown)
2 liens sont disponibles, un lien github et twitter. Voici un exemple dans la configuration :
footer:
github:
url: https://github.com/at-github/citoyenentransition-router
title: Contribuez, retrouvez le code source sur github
twitter:
url: https://twitter.com/_en_transition_
title: Retrouvons nous aussi sur twitter
Le contenu markdown est à télécharger voire cloner dans le dossier content
(inclut dans .gitignore
).
- sur toutes les pages, le contenu du fichiers
links.md
est affiché en colonne - sur
/
l'application affichera le résumé de tous les dossiers - sur
/articles
l'application affichera le résumé de dossierpost
puisqu'elle a trouvé une traduction dans la configuration (voir plus haut) - sur
/no_translation
l'application affichera le résumé de dossierno_translation
/!\ Le nom du fichier doit être le même que son h1, les 2 sans accents pour l’instant.
bundle install
bundle exec daemon.rb start
Par défaut le serveur démarre sur le port 4000
,
il est modifiable dans le fichier de configuration config.yml
.
Lancer un serveur de base
ruby -run -e httpd -- -p 5000 .
Configurer bundle
pour installer les gems
localement
bundle config path "vendor/bundle"