Arborescence des dossiers

Nous utilisons deux dossiers présents à la racine :

  • templates/ pour les fichiers HTML, qui sont agrémentés du langage de gabarit de Django ;
  • assets/ pour les images, les smileys ainsi que les fichiers SCSS et JS.

Lors de la compilation, un dossier dist/ contenant les fichiers optimisés venant de assets/ est créé.

assets/

Voici un aperçu du dossier :

assets/
├── images/  # Images
│   ├── sprite/  # Images qui seront dans le sprite
│   │   ├── arrow-right.png
│   │   ├── arrow-right@2x.png # Version rétina de chaque élément du sprite
│   │   ├── arrow-right-blue.png
│   │   ├── arrow-right-blue@2x.png
│   │   ...
│   │
│   │ # Autres images
│   ├── favicon.ico
│   ├── favicon.png
│   ├── logo@2x.png  # Logo haute résolution
│   ├── logo.png  # Logo moyenne résolution
│   ...
│
├── js/  # Fichiers Javascript
│   ├── editor.js
│   ├── markdown-help.js
│   ├── modal.js
│   ├── zen-mode.js
│   ...
│
├── scss/  # Fichiers SCSS
│   ├── base/  # Styles de base pour tout le site
│   ├── components/  # Commposants spécifiques
│   │   ├── _editor.scss  # Ex : l'éditeur
│   │   ...
│   ├── layout/  # Styles pour la structure du site
│   │   ├── _header.scss  # Ex : l'en-tête...
│   │   ├── _sidebar.scss  # ... ou la barre latérale
│   │   ...
│   ├── mixins/  # Mixins SCSS
│   ├── pages/  # Styles pour certaines pages
│   │   ├── _home.scss  # Ex : la page d'accueil
│   │   ...
│   ├── variables/  # Variables SCSS
│   │
│   ├── main.scss  # Fichier de configuation
│   ├── zmd.scss  # Feuille de style pour EPUB
│   ├── _sprite.scss.hbs  # Template Handlebars pour la création du sprite
│   ...
│
└── smileys/  # Smileys
    ├── ange.png
    ├── angry.gif
    ...

dist/

Voilà à peu près ce qui est généré lors du “build” :

dist/
├── css/
│   ├── main.css  # Tout le CSS compilé et minifié
│   ├── main.map # SourceMap associé
│   ├── zmd.css  # Feuille de style pour EPUB
│   └── zmd.map # SourceMap associé
│
├── images/
│   ├── sprite@2x.png  # Sprite haute résolution
│   ├── sprite.png  # Sprite moyenne résolution
│   │
│   │ # Images compressées
│   ├── favicon.ico
│   ├── favicon.png
│   ├── logo@2x.png
│   ├── logo.png
│   ...
│
├── js/
│   ├── script.js  # Tout le JS concaténé et minifié
│   └── script.js.map  # SourceMap associé
│
└── smileys/
    ├── ange.png
    ├── angry.gif
    ...

templates/

Voici un extrait du dossier contenant les gabaris :

templates/
├── tutorial/  # Dossier contenant les gabaris des pages du module des tutoriels
│   ├── tutorial/
│   ├── chapter/  # Gabarits pour les chapitres
│   │   ├── edit.html
│   │   ├── new.html
│   │   ...
│   │
│   ├── extract/  # Gabarits pour les extraits
│   │
│   ├── base.html
│   ├── export.html
│   ...
│
├── pages/  # Dossier contenant les pages du site
│   ├── about.html
│   ├── contact.html
│   ...
│
├── misc/  # Dossier contenant des fichiers utilisés dans plusieurs modules
│   ├── preview.part.html  # Ex : la prévisualisation des messages...
│   ├── zen_button.part.html  # ... ou le bouton de lecture zen
│   ...
...