Les contenus existent en deux langues : français (par défaut), anglais.
Tous les fichiers qui finissent par .fr.xxx
ou .en.xxx
sont spécifiques à cette langue.
- Articles :
content/posts
- Enquêtes :
data/enquetes
- Instruments :
content/instruments
- Mentions légales :
content/mentions-legales.*.md
- Outils :
content/productions/outils
- Productions :
content/productions
- Publications : Spire et Zotero (voir la section « Scripts »)
Le champ options
d'un fichier Markdown contrôle des comportements d'affichage des contenus.
---
title: Quelque chose
options:
- toggable-headlines
---
Option | À quoi ça sert ? |
---|---|
toggable-headlines |
Les titres ouvrent ou replient leur section correspondante. |
toggable-headlines--closed |
Les sections cliquables sont fermées par défaut. |
toc |
Une table des matières est construite à partir des titres de la page, et est affichée dans la colonne de gauche. |
Les éléments d'interface sont traduits à deux endroits :
- footer : clés
[languages.*.menu.footer]
dans le fichierconfig.toml
. - tout le reste : répertoire
./i18n
.
- Générateur :
Hugo@>=0.58.2
dans sa version dite Extended (elle prend en charge le langage Sass) - CSS : Tachyons (approche mobile-first et fonctionnelle)
- JavaScript : vanilla (compilé en ECMAScript5 via babeljs.io REPL)
La gestion de version de Hugo est effectuée avec Node.js, afin d'avoir un outillage de développement unifié.
$ npm install
$ npm start
Le site est alors accessible sur http://localhost:1313.
$ npm run build -- --baseURL https://dime-shs.sciences-po.fr
Les fichiers sont générés dans le répertoire ./public
.
Type | Identifiant | Utilité |
---|---|---|
Paramètre | --baseURL http://example.com |
Site de destination. |
$ npm run import
# Pour déployer les publications en prod
$ git add data/publications
$ git commit -m 'Mise à jour des publications'
La commande npm run import
obtient les publications depuis une collection Spire et une collection Zotero.
Les données obtenues sont normalisées et catégorisées en fichiers YAML dans le répertoire data/publications
.
- Spire
- Collection configurée dans le fichier
package.json
- Code :
scripts/import/spire.js
- Collection configurée dans le fichier
- Zotero
- Collection configurée dans le fichier
package.json
- Code :
scripts/import/zotero.js
- Collection configurée dans le fichier
Configuration du fichier config.toml
:
- Types de publications importées (
params.publicationsLabels
). - Mapping des types de publications (
params.publicationsMapping
), sous la forme"ancienne catégorie" = "nouvelle catégorie"
. - Catégories (
params.publications.*
) : libellé, ordre et identifiants des sous-collections Zotero et Spire.
- Quand des commits arrivent sur
master
, le site est…- … généré avec l'URL
https://dime-shs.sciencespo.fr
. - … est configué avec un
siteId
Piwik égal à 10. - … déployé sur GitHub Pages (branche
gh-pages
).
- … généré avec l'URL
- Quand des commits arrivent sur
master
, le site est…- … déployé sur https://wizardly-hoover-3f212f.netlify.com
- … le build apparaît sur https://app.netlify.com/sites/wizardly-hoover-3f212f/deploys
- Quand des commits arrivent sur une branche autre que
master
, le site est…- … accessible via une URL de prévisualisation (voir le cartouche
successful checks
/deploy/netlify
sur la pull request GitHub). - … le build apparaît sur https://app.netlify.com/sites/wizardly-hoover-3f212f/deploys.
- … accessible via une URL de prévisualisation (voir le cartouche
La configuration principale se fait depuis le tableau de bord Netlify.
D'autres comportements sont paramétrés dans le fichier netflify.toml
.
Ce qu'on a vécu ensemble, au jour le jour.