projet: restructure et améliore le projet

- Regroupe les fichiers sources dans un dossier.
- Regroupe les images dans un dossier spécifique dans le répertoire des
  fichiers statiques.
- Regroupe tous les autres fichiers statiques dans le bon dossier.
- Adapte les sources, le template et le règles de styles en fonction.
- Réécrit le Makefile pour le simplifier, le documenter et augmenter ses
  possibilités.
- Documente les améliorations dans le README.

Co-Authored-by: iGor milhit <igor@milhit.ch>
main v1.0.0
iGor milhit 2025-12-09 15:28:11 +01:00
parent 1015d37979
commit 378acf2136
Signed by: igor
GPG Key ID: 692D97C3D0228A99
32 changed files with 145 additions and 904 deletions

View File

@ -1,40 +1,48 @@
input_files := \ SOURCE_FOLDER := sources
0-frontmatter.md \
2-licence.md \
3-definitions.md \
4-syntaxe.md \
5-editeurs.md \
6-advanced.md \
7-bibliographie.md \
100-references.md \
pandoc := \ # Liste les fichiers sources.
pandoc -s --citeproc \ MD_UNSORTED := $(wildcard $(SOURCE_FOLDER)/*.md)
--css=style.css --template=template.html \ # Ordonne les fichiers sources sur la base du début numérique du nom des
# fichiers.
MD_SORTED := $(shell printf '%s\n' $(MD_UNSORTED) | sort -t- -k1,1n)
.PHONY: all
all: pdf
# Construit le fichier HTML.
.PHONY: html
html: $(MD_SORTED)
pandoc \
--to=html --standalone \
--template=static/template.html --css=static/style.css \
-V static='./static' \
--citeproc \
--toc --toc-depth=2 \ --toc --toc-depth=2 \
--out=document.html $(MD_SORTED)
pandoc_html := \ # Construit le fichier PDF.
$(pandoc) \ .PHONY: pdf
--to=html --output=document.html \ pdf: $(MD_SORTED)
$(input_files) pandoc \
--to=pdf --pdf-engine=pagedjs-cli --embed-resources=true \
--template=static/template.html --css=static/style.css \
-V noscript=true -V static='./static' \
--citeproc \
--toc --toc-depth=2 \
--out=document.pdf $(MD_SORTED)
pandoc_pdf := \ # Reconstruit le fichier HTML à la modification des autres fichiers.
$(pandoc) \ .PHONY: watch
-V noscript=true \ watch:
--embed-resources=true --to=pdf \
--pdf-engine=pagedjs-cli \
--output=document.pdf \
$(input_files)
html: $(input_files)
$(pandoc_html)
watch_html: $(input_files)
watchexec -r -w . -i document.html \ watchexec -r -w . -i document.html \
" $(pandoc_html)" -- make html
pdf: $(input_files) # Supprime les fichiers construits lorsqu'ils ne sont plus nécessaire.
$(pandoc_pdf) .PHONY: clean
clean:
rm -f *.html *.pdf
# Lance un serveur web pour servir le HTML.
.PHONY: serve
serve: serve:
watchexec -r -w . "python -m http.server" watchexec -r -w . "python -m http.server"

120
README.md
View File

@ -2,7 +2,7 @@
title: Rendez-vous de l'info scientifique sur markdown title: Rendez-vous de l'info scientifique sur markdown
date: 2023-04-19T10:13:18+0200 date: 2023-04-19T10:13:18+0200
id: 20230419101340 id: 20230419101340
tags: [rdv-info, documentation, markdown] tags: ["rdv-info", "documentation", "markdown"]
--- ---
## [Introduction à la prise de notes avec Markdown][1] ## [Introduction à la prise de notes avec Markdown][1]
@ -11,51 +11,44 @@ Ce répertoire contient le matériel utilisé pour le [rendez-vous de l'info
scientifique sur Markdown][2] proposés par la bibliothèque de l'Université de scientifique sur Markdown][2] proposés par la bibliothèque de l'Université de
Genève. Genève.
Les sources du support de cours sont dans le fichier [`document.html`][4]. Les sources du support de cours sont dans le dossier [`sources`][4].
La dernière version du support de cours au format PDF se trouve dans la La mise en forme s'appuie sur le [modèle `pagedjs` pour la BUNIGE][8]
(Bibliothèque de l'Université de Genève). Les fichiers correspondant sont dans
le dossier [`static`][9].
La dernière version du support de cours au format PDF est disponible dans la
dernière [publication de version][3]. dernière [publication de version][3].
Une proposition de déroulé pour une présentation orale se trouve dans le
dossier [`présentation`][11].
## Licence et réutilisation ## Licence et réutilisation
La [licence][6] du projet est la licence *Creative Common by, share alike, La [licence][6] du projet est la licence *Creative Common by, share alike,
4.0 International*. Elle permet la diffusion et la modification du projet pour 4.0 International*. Elle permet la diffusion et la modification du projet pour
autant que la responsabilité soit mentionnée et que le partage se fait avec la autant que la responsabilité soit mentionnée et que le partage soit fait avec
même licence. la même licence.
## Pré-requis ## Requis
- `pandoc`. - `pandoc` (obligatoire).
- `pagedjs-cli` (`npm install -g puppeteer pagedjs pagedjs-cli`). - `pagedjs-cli` (obligatoire, voir la [documentation][7] pour l'installation).
- Le modèle `pagedjs` pour la BUNIGE. - GNU Make et `watchexe` pour utiliser les [commandes][10].
Les fichiers de ce modèle peuvent être téléchargés depuis la dernière ## Utilisation
publication de version du projet:
<https://git.milhit.ch/igor/bunige-pagedjs-template/releases/latest>. L'archive
ZIP `vX.X.X.zip` contient tout ce qui est nécessaire. Plus précisément, ce sont
les fichiers suivants:
- `./template.html`, le modèle HTML utilisé par `pandoc` ou `pagedjs-cli`.
- `./style.css` avec les règles de style pour la mise en forme.
- `./static/bibliotheque-logo.svg` et `./static/by-sa.svg`, deux images
utilisées sur la page d'accueil.
- `./paged.polyfill.js` pour le support des fonctionnalité `pagedjs`.
- `./interface.css` pour afficher le ficher HTML dans un navigateur avec
l'interface web de `pagedjs`.
- `./reload-in-place.js`, qui n'est pas strictement nécessaire, mais replace le
fichier HTML là où on le consultait.
## Génération du PDF
### Structure du document ### Structure du document
Le support de cours est rédigé au format Markdown. Il est constitué de Le support de cours est rédigé au format Markdown. Il est constitué de
plusieurs fichiers, pour faciliter leur édition: plusieurs fichiers dans le dossier [`sources`][4], pour faciliter leur
édition:
1. `0-frontmatter.md`, qui contient les métadonnées et quelques instructions 1. `0-frontmatter.md`, qui contient les métadonnées et quelques instructions
pour la génération du fichier avec `pandoc`. pour la génération du fichier avec `pandoc`.
1. `1-objectifs.md`, pour la page de titre et les objectifs de la présentation. 1. `1-objectifs.md`, pour la page de titre et les objectifs de la présentation.
1. `2-licence.md`, pour la licence du document et l'indication des sources. 1. `2-licence.md`, pour le bloc de la licence du document et l'indication des
sources.
1. `3-definitions.md`. 1. `3-definitions.md`.
1. `4-syntaxe.md`. 1. `4-syntaxe.md`.
1. `5-editeurs.md`. 1. `5-editeurs.md`.
@ -64,29 +57,33 @@ plusieurs fichiers, pour faciliter leur édition:
1. `100-references.md`, contient les URL des liens et les notes en bas de page. 1. `100-references.md`, contient les URL des liens et les notes en bas de page.
La syntaxe utilise des fonctionnalités propres à la version [Pandoc de La syntaxe utilise des fonctionnalités propres à la version [Pandoc de
markdown][5]. La génération du PDF s'appuie sur `pagedjs`, un modèle HTML markdown][5]. La génération du PDF s'appuie sur la bibliothèque `pagedjs`, un
(`template.html`) et des règles de styles (`styles.css`). Le fichier des règles modèle HTML (`static/template.html`) et des règles de styles
de style est commenté, ce qui devrait permettre de comprendre son (`static/styles.css`). Le fichier des règles de style est commenté, ce qui
fonctionnement. devrait permettre de comprendre son fonctionnement.
### Prévisualisation dans le navigateur ### Prévisualiser
Pour générer le fichier HTML à servir par un serveur web pour le visualiser Pour générer le fichier HTML à servir par un serveur web pour le visualiser
dans le navigateur, il faut utiliser `pandoc` avec les paramètres suivants (à dans le navigateur, il faut utiliser `pandoc` avec les paramètres suivants (à
adapter au fichier à générer): adapter au fichier à générer):
```bash ```bash
pandoc --embed-resources=true --to=html \ pandoc --standalone --to=html \
--template=template.html --css=style.css \ --template=static/template.html --css=static/style.css \
--toc --toc-depth=2 --citeproc \ --toc --toc-depth=2 \
--citeproc \
--bibliography=static/references.json --csl=static=heg-iso-690.csl \
-V static="./static" \
--output=document.html \ --output=document.html \
0-frontmatter.md 1-objectifs.md 2-licence.md \ sources/0-frontmatter.md sources/1-objectifs.md sources/2-licence.md \
3-definitions.md 4-syntaxe.md 5-editeurs.md \ sources/3-definitions.md sources/4-syntaxe.md sources/5-editeurs.md \
6-advanced.md 7-bibliographie.md 100-references.md sources/6-advanced.md sources/7-bibliographie.md \
sources/100-references.md
``` ```
- `--to=html` pour convertir vers du HTML. - `--to=html` pour convertir vers du HTML.
- `--embed-resources=true` assure que toutes les dépendances externes sont bien - `--standalone` assure que toutes les dépendances externes sont bien
intégrées dans le fichier généré. intégrées dans le fichier généré.
- `--template=` et `--css=` indiquent quel modèle et feuille de style - `--template=` et `--css=` indiquent quel modèle et feuille de style
utiliser. utiliser.
@ -94,6 +91,11 @@ pandoc --embed-resources=true --to=html \
loin que les titres de niveau 2. loin que les titres de niveau 2.
- `--citeproc` indique qu'il faut tenir compte des citations et générer la - `--citeproc` indique qu'il faut tenir compte des citations et générer la
bibliographie. bibliographie.
- `--bibliography=""` définit le chemin vers la base de données des références
bibliographique et `--csl=""` donne le chemin vers le style de citation
utilisé.
- `-V static=""` permet de définir le chemin relatif (du point de vue du
fichier HTML fournit par le serveur web local).
- `--output=` précise l'endroit et le nom du fichier de sortie. - `--output=` précise l'endroit et le nom du fichier de sortie.
Une fois le fichier HTML généré, il faut lancer un serveur web depuis la racine Une fois le fichier HTML généré, il faut lancer un serveur web depuis la racine
@ -103,11 +105,7 @@ du projet, par exemple avec `python`:
python -m http.server python -m http.server
``` ```
Puis, ouvrir un navigateur web à l'URL <http://localhost:8000>. Pour Puis, ouvrir un navigateur web à l'URL <http://localhost:8000/document.html>.
l'impression, il est conseillé d'utiliser Chromium (ou Chrome). En effet,
Firefox supporte un peu moins bien `pagedjs`, notamment pour l'impression en
PDF. Pour éviter la coloration des liens déjà visités, la fonction «navigation
privée» est bien utile.
Cet affichage permet d'inspecter les règles CSS et de les modifier à la volée Cet affichage permet d'inspecter les règles CSS et de les modifier à la volée
pour comprendre comment améliorer le rendu, et d'imprimer la page web au format pour comprendre comment améliorer le rendu, et d'imprimer la page web au format
@ -115,24 +113,29 @@ PDF (`ctrl+p`).
### Génération du PDF ### Génération du PDF
Pour générer directement le PDF, deux possibilités s'ouvrent à vous, avec des Pour générer directement le PDF, il faut lancer la commande `pandoc` suivante:
résultats différents. Soit en utilisant `pagedjs` directement avec `pandoc`:
```bash ```bash
pandoc --embed-resources=true -V noscript=true \ pandoc --embed-resources=true -V noscript=true \
-V static="./static"
--citeproc \ --citeproc \
--bibliography=static/references.json \
--csl=static/heg-iso-690.csl
--to=pdf --pdf-engine=pagedjs-cli \ --to=pdf --pdf-engine=pagedjs-cli \
--template=template.html --css=style.css \ --template=static/template.html --css=static/style.css \
--toc --toc-depth=2 \ --toc --toc-depth=2 \
--output=document.pdf \ --output=document.pdf \
0-frontmatter.md 1-objectifs.md 2-licence.md \ sources/0-frontmatter.md sources/1-objectifs.md sources/2-licence.md \
3-definitions.md 4-syntaxe.md 5-editeurs.md \ sources/3-definitions.md sources/4-syntaxe.md sources/5-editeurs.md \
6-advanced.md 7-bibliographie.md 100-references.md sources/6-advanced.md sources/7-bibliographie.md \
sources/100-references.md
``` ```
- `-V noscript=true`. `-V` permet d'ajouter des variables. La variable - `-V noscript=true`. `-V` permet d'ajouter des variables. La variable
`noscript` vient du `template.html` et permet d'éviter d'ajouter les scripts `noscript` vient du `template.html` et permet d'éviter d'ajouter les scripts
utilisé pour la prévisualisation dans le navigateur. utilisé pour la prévisualisation dans le navigateur.
- `--pdf-engine="pagedjs-cli"` indique à `pandoc` quel outil utiliser pour la
construction du PDF.
Soit en utilisant `pagedjs` pour convertir le fichier HTML obtenu par `pandoc` Soit en utilisant `pagedjs` pour convertir le fichier HTML obtenu par `pandoc`
plus haut: plus haut:
@ -152,19 +155,26 @@ pandoc --to=html -V noscript=true \
## Commandes ## Commandes
Si `make` est disponible sur votre système, vous pouvez: Si `make` (GNU Make) est installé sur votre système, les commandes suivantes
sont disponibles:
- `make` ou `make pdf`: génère le PDF.
- `make html`: génère le HTML. - `make html`: génère le HTML.
- `make pdf`: génère le PDF. - `make watch`: génère le HTML et relance la génération si des fichiers
- `make watch_html`: génère le HTML et relance la commande si des fichiers
sont modifiés (utilise `watchexe` qui doit aussi être installé). sont modifiés (utilise `watchexe` qui doit aussi être installé).
- `make serve`: lance le serveur web python. - `make serve`: lance le serveur web python.
- `make clean`: supprime les fichiers HTML et PDF générés.
<!-- références --> <!-- références -->
[1]: ./ [1]: ./
[2]: https://www.unige.ch/biblio/index.php?cID=4127 [2]: https://www.unige.ch/biblio/index.php?cID=4127
[3]: https://git.milhit.ch/igor/rdv-info-markdown/releases/latest [3]: https://git.milhit.ch/igor/rdv-info-markdown/releases/latest
[4]: ./document.md [4]: ./sources
[5]: https://pandoc.org/MANUAL.html#pandocs-markdown [5]: https://pandoc.org/MANUAL.html#pandocs-markdown
[6]: ./LICENSE [6]: ./LICENSE
[7]: https://gitlab.coko.foundation/pagedjs/pagedjs-cli#installation
[8]: https://git.milhit.ch/igor/bunige-pagedjs-template
[9]: ./static/
[10]: #commandes
[11]: ./présentation/

View File

@ -1,103 +0,0 @@
# Exemple de note
Pour écrire un paragraphe, il faut séparer deux blocs de texte par une ligne
vide. Un simple retour à la ligne
ne change rien.
Ici commence le paragraphe suivant. Dans celui-ci, on peut insérer *un texte en
italique*, soit en entourant la partie en *italique* par des astérisques (`*`),
soit au moyen _d'underscore_ (`_`).
Pour le gras, **on utilise un double astérisque**, ou __un double underscore__.
## Les titres
Comme en HTML, il y a 6 niveaux de titres disponibles. Pour indiquer qu'il
s'agit d'un titre, il faut commencer la ligne par un `#`, et on multiplie les
`#` pour indiquer les niveaux de titre de 1 (`#`) à 6 (`######`). Ce fichier
d'exemple contient un titre de niveau 1 et des titres de niveau 2 et 3.
## Les listes
Pour générer une liste, on commence chaque ligne de la liste avec un tiret:
- Une liste
- Simple et
- Non ordonnée.
Pour une liste ordonnée, on commence chaque ligne par un chiffre suivit d'un
point:
1. Une liste
3. Simple mais
9. Ordonnée.
L'ordre de la numérotation n'importe pas. Pour ne pas s'ennuyer à réordonner
une liste qui peut évoluer, il y a une solution simple:
1. Pomme.
1. Poire.
1. Cerise.
Des listes imbriquées plus complexes peuvent être réalisées en ajoutant des
espaces devant les lignes des sections inférieures:
1. Une liste
1. Ordonnée et
- Plus
- Complexe
1. Voilà.
## Les liens
### La méthode simple
Il y a plusieurs méthodes pour insérer un lien. La plus simple est de mettre le
texte du lien entre crochets, suivi de la cible entre parenthèses:
[site de l'UNIGE](https://unige.ch).
On peut vouloir ajouter un titre à ce lien, qui s'affiche lorsque le curseur
survol le lien: [site de l'UNIGE](https://unige.ch "site officiel d'UNIGE").
### Avec les références
Une autre méthode existe qui a les avantages suivants:
- Une même référence (cible du lien) peut être réutilisée plusieurs fois dans
le même texte.
- La lisibilité du texte est améliorée.
Le texte du lien est toujours entre crochet, mais à la place de la cible entre
parenthèse, on ajoute une référence entre crochet. Cette référence, qui peut
être un chiffre, une lettre ou un texte, correspond à la cible, définie
n'importe où dans le fichier.
Ce qui donne le lien suivant: [site de l'UNIGE][1].
## Images
Pour l'insertion d'une image, on reprend la même syntaxe que pour le lien, en
ajoutant un point d'exclamation au début de la ligne:
![Légende de l'image](https://upload.wikimedia.org/wikipedia/commons/4/48/Markdown-mark.svg "logo de Markdown")
Le lien pour l'image peut être une URL ou un chemin vers un fichier local. Et
la syntaxe avec la référence est possible aussi:
![Légende de l'image][2]
## Les tableaux
Pour les tableaux, il est fortement conseillé d'utiliser un [générateur][3].
| No | Fruits | Quantité | Qualité |
|----|-----------:|----------|:-------:|
| 1 | Pommes | Un peu | 🙁 |
| 2 | Poires | Plus | 😊 |
| 3 | Framboises | Beaucoup | 😋 |
<!-- références -->
[1]: https://unige.ch "site officiel de l'UNIGE"
[2]: ./static/logo-md.svg "logo de Markdown"
[3]: https://www.tablesgenerator.com/markdown_tables

View File

@ -1,692 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never">
<info>
<title>Haute école de gestion de Genève (ISO 690)</title>
<title-short>HEG Genève (ISO 690)</title-short>
<id>http://www.zotero.org/styles/haute-ecole-de-gestion-de-geneve-iso-690</id>
<link href="http://www.zotero.org/styles/haute-ecole-de-gestion-de-geneve-iso-690" rel="self"/>
<link href="http://www.zotero.org/styles/iso690-author-date-en" rel="template"/>
<link href="https://www.hesge.ch/heg/campus/infotheque/citations-et-references-bibliographiques" rel="documentation"/>
<author>
<name>Raphael Grolimund</name>
<email>grolimur@protonmail.ch</email>
</author>
<contributor>
<name>Melissa Paez</name>
<email>paez.melissa@gmail.com</email>
</contributor>
<category citation-format="author-date"/>
<category field="generic-base"/>
<updated>2023-10-24T10:00:00+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<locale xml:lang="fr-FR">
<terms>
<term name="no date">[sans date]</term>
<term name="online">en&#160;ligne</term>
<term name="retrieved">disponible</term>
<term name="issue" form="short">
<single>no</single>
<multiple>nos</multiple>
</term>
<term name="page" form="short">
<single>p.</single>
<multiple>pp.</multiple>
</term>
<term name="number-of-pages" form="short">
<single>p.</single>
<multiple>pp.</multiple>
</term>
<!-- the 2 following terms, never used in any citation style published on https://zotero.org/styles, are hijacked to distinguish the diffrents dates (submitted, issued) of a patent -->
<term name="special-issue">déposé le</term>
<term name="special-section">publié le</term>
</terms>
</locale>
<locale xml:lang="fr-CA">
<terms>
<term name="no date">[sans date]</term>
<term name="online">en&#160;ligne</term>
<term name="retrieved">disponible</term>
<term name="issue" form="short">
<single>no</single>
<multiple>nos</multiple>
</term>
<term name="page" form="short">
<single>p.</single>
<multiple>pp.</multiple>
</term>
<term name="number-of-pages" form="short">
<single>p.</single>
<multiple>pp.</multiple>
</term>
<!-- the 2 following terms, never used in any citation style published on https://zotero.org/styles, are hijacked to distinguish the diffrents dates (submitted, issued) of a patent -->
<term name="special-issue">déposé le</term>
<term name="special-section">publié le</term>
</terms>
</locale>
<locale xml:lang="en-US">
<terms>
<term name="issue">no.</term>
<!-- the 2 following terms, never used in any citation style published on https://zotero.org/styles, are hijacked to distinguish the diffrents dates (submitted, issued) of a patent -->
<term name="special-issue">submitted on</term>
<term name="special-section">published on</term>
</terms>
</locale>
<locale xml:lang="en-UK">
<terms>
<term name="issue">no.</term>
<!-- the 2 following terms, never used in any citation style published on https://zotero.org/styles, are hijacked to distinguish the diffrents dates (submitted, issued) of a patent -->
<term name="special-issue">submitted on</term>
<term name="special-section">published on</term>
</terms>
</locale>
<macro name="editor">
<names variable="editor">
<name and="text" name-as-sort-order="all" sort-separator=", " delimiter=", " delimiter-precedes-last="never">
<name-part name="family" text-case="uppercase"/>
</name>
<label prefix=" (" form="short" suffix=".)"/>
</names>
</macro>
<macro name="translator">
<names variable="translator">
<name and="text" name-as-sort-order="all" sort-separator=", " delimiter=", " delimiter-precedes-last="never">
<name-part name="family" text-case="uppercase"/>
</name>
<label prefix=" (" form="short" suffix=".)"/>
</names>
</macro>
<macro name="responsability">
<names variable="author director">
<name and="text" name-as-sort-order="all" sort-separator=", " delimiter=", " delimiter-precedes-last="never">
<name-part name="family" text-case="uppercase"/>
</name>
<substitute>
<text macro="editor"/>
<text macro="translator"/>
<text macro="title"/>
</substitute>
</names>
<choose>
<if variable="author editor translator director" match="any">
<text macro="year-date" prefix=", "/>
</if>
</choose>
</macro>
<macro name="author-citation">
<names variable="author director">
<name form="short"/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<text variable="title" font-style="italic"/>
</substitute>
</names>
</macro>
<macro name="container-author">
<names variable="container-author">
<name and="text" name-as-sort-order="all" sort-separator=", " delimiter=", " delimiter-precedes-last="never">
<name-part name="family" text-case="uppercase"/>
</name>
</names>
</macro>
<macro name="container-responsability">
<choose>
<if variable="container-author">
<text macro="container-author"/>
</if>
<else-if variable="editor">
<text macro="editor"/>
</else-if>
<else>
<text macro="translator"/>
</else>
</choose>
</macro>
<macro name="year-date">
<choose>
<if is-uncertain-date="issued">
<group prefix="[" suffix="]">
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year" form="long" suffix="?"/>
</date>
</if>
<else>
<text term="no date"/>
</else>
</choose>
</group>
</if>
<else>
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year" form="long"/>
</date>
</if>
</choose>
</else>
</choose>
</macro>
<macro name="title">
<choose>
<if type="book thesis map motion_picture song manuscript speech" match="any">
<choose>
<if variable="author editor translator director" match="any">
<text variable="title" font-style="italic"/>
</if>
<else>
<text variable="title" font-style="italic" suffix=", "/>
<text macro="year-date"/>
</else>
</choose>
</if>
<else-if type="software">
<text variable="title" font-style="italic"/>
<text term="software" prefix=" [" suffix="]"/>
</else-if>
<else-if type="paper-conference chapter article-journal article-magazine article-newspaper entry entry-dictionary entry-encyclopedia post-weblog post webpage broadcast" match="any">
<choose>
<if variable="author editor translator director" match="any">
<text variable="title" suffix=". "/>
</if>
<else>
<text variable="title" suffix=", "/>
<text macro="year-date"/>
</else>
</choose>
<choose>
<if type="chapter paper-conference" match="any">
<text term="in" text-case="capitalize-first" suffix="&#160;: "/>
</if>
</choose>
<choose>
<if variable="container-author editor translator" match="any">
<text macro="container-responsability"/>
<choose>
<if variable="container-title event" match="any">
<text value=", "/>
</if>
</choose>
</if>
</choose>
<choose>
<if variable="container-title">
<text variable="container-title" font-style="italic"/>
<choose>
<if type="chapter paper-conference" match="any">
<group delimiter="&#160;" prefix=", ">
<label variable="page" form="short"/>
<text variable="page"/>
</group>
</if>
</choose>
</if>
<else>
<text variable="event" font-style="italic"/>
</else>
</choose>
</else-if>
<else-if type="report">
<choose>
<if variable="author editor translator director" match="any">
<text variable="title" font-style="italic"/>
</if>
<else>
<text variable="number" suffix="&#160;: "/>
<text variable="title" font-style="italic" suffix=", "/>
<text macro="year-date"/>
</else>
</choose>
</else-if>
<else-if type="patent">
<choose>
<if variable="author editor translator director" match="any">
<text variable="title" font-style="italic"/>
</if>
<else>
<text variable="title" suffix=", "/>
<text macro="year-date"/>
</else>
</choose>
</else-if>
<else>
<choose>
<if variable="author editor translator director" match="any">
<text variable="title" font-style="italic"/>
</if>
<else>
<text variable="title" font-style="italic" suffix=", "/>
<text macro="year-date"/>
</else>
</choose>
</else>
</choose>
<choose>
<if variable="DOI version" match="none">
<choose>
<if variable="URL">
<text term="online" prefix=" [" suffix="]"/>
</if>
<else>
<choose>
<if type="broadcast motion_picture song book chapter article-journal article-magazine article-newspaper patent" match="none">
<text value=". "/>
</if>
</choose>
</else>
</choose>
</if>
</choose>
</macro>
<macro name="number">
<text variable="authority" suffix=" "/>
<text variable="number"/>
</macro>
<macro name="medium">
<text variable="medium" prefix=" [" suffix="]"/>
</macro>
<macro name="legislation-number">
<group delimiter=" ">
<text variable="container-title"/>
<text variable="volume"/>
</group>
</macro>
<macro name="genre">
<choose>
<if type="map">
<choose>
<if variable="genre">
<text variable="genre" prefix="[" suffix="]"/>
</if>
<else>
<text value="map" prefix="[" suffix="]"/>
</else>
</choose>
</if>
<else>
<text variable="genre" suffix=" "/>
<text variable="number"/>
</else>
</choose>
</macro>
<macro name="date">
<choose>
<if type="patent">
<text term="patent" text-case="capitalize-first" suffix=" "/>
<text term="special-issue" suffix=" "/>
<date variable="submitted">
<date-part name="day" suffix="&#160;"/>
<date-part name="month" suffix="&#160;"/>
<date-part name="year"/>
</date>
<text term="and" prefix=" " suffix=" "/>
<text term="special-section" suffix=" "/>
<date variable="issued">
<date-part name="day" suffix="&#160;"/>
<date-part name="month" suffix="&#160;"/>
<date-part name="year"/>
</date>
</if>
</choose>
<choose>
<if is-uncertain-date="issued">
<group prefix="[" suffix="]">
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year" form="long" suffix="?"/>
</date>
</if>
<else>
<text term="no date"/>
</else>
</choose>
</group>
</if>
<else>
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="day" suffix="&#160;"/>
<date-part name="month" suffix="&#160;"/>
<date-part name="year"/>
</date>
</if>
</choose>
</else>
</choose>
</macro>
<macro name="edition">
<text variable="edition" form="long"/>
</macro>
<macro name="publisher-group">
<choose>
<if type="speech" match="any">
<group delimiter=", ">
<text variable="event"/>
<text variable="publisher-place"/>
</group>
</if>
<else>
<group delimiter="&#160;: ">
<text variable="publisher-place"/>
<text variable="publisher"/>
</group>
</else>
</choose>
</macro>
<macro name="issue">
<group delimiter=", ">
<text variable="volume" prefix="Vol.&#160;"/>
<choose>
<if variable="volume">
<group delimiter="&#160;">
<text term="issue" form="short"/>
<text variable="issue"/>
</group>
<group delimiter="&#160;">
<label variable="page" form="short"/>
<text variable="page"/>
</group>
</if>
<else-if variable="issue">
<group delimiter="&#160;">
<text term="issue" form="short" text-case="capitalize-first"/>
<text variable="issue"/>
</group>
<group delimiter="&#160;">
<label variable="page" form="short"/>
<text variable="page"/>
</group>
</else-if>
<else>
<group delimiter="&#160;">
<label variable="page" form="short"/>
<text variable="page"/>
</group>
</else>
</choose>
</group>
</macro>
<macro name="accessed">
<choose>
<if variable="DOI" match="none">
<choose>
<if variable="URL">
<group prefix=" [" suffix="]">
<text term="accessed"/>
<date variable="accessed">
<date-part name="day" prefix=" "/>
<date-part name="month" prefix="&#160;"/>
<date-part name="year" prefix="&#160;"/>
</date>
</group>
</if>
</choose>
</if>
</choose>
</macro>
<macro name="collection">
<group delimiter=", ">
<text variable="collection-title"/>
<text variable="collection-number"/>
</group>
</macro>
<macro name="page">
<text variable="number-of-pages" suffix="&#160;p"/>
</macro>
<macro name="isbn">
<text variable="ISBN" prefix="ISBN&#160;"/>
</macro>
<macro name="doi">
<text variable="DOI" prefix="DOI&#160;"/>
</macro>
<macro name="url">
<choose>
<if variable="DOI" match="none">
<choose>
<if variable="URL">
<group>
<text term="retrieved" suffix=" " text-case="capitalize-first"/>
<text term="from" suffix="&#160;: "/>
<text variable="URL"/>
</group>
</if>
</choose>
</if>
</choose>
</macro>
<citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" year-suffix-delimiter=", " after-collapse-delimiter="; ">
<layout prefix="(" suffix=")" delimiter="; ">
<group delimiter=", ">
<group delimiter=" ">
<text macro="author-citation"/>
<text macro="year-date"/>
</group>
<group>
<label variable="locator" suffix=".&#160;" form="short" strip-periods="true"/>
<text variable="locator"/>
</group>
</group>
</layout>
</citation>
<bibliography et-al-min="4" et-al-use-first="1">
<sort>
<key macro="responsability"/>
<key macro="year-date"/>
</sort>
<layout>
<choose>
<if type="book map" match="any">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="edition" suffix=". "/>
<text macro="publisher-group" suffix=". "/>
<text macro="collection" suffix=". "/>
<text macro="isbn" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</if>
<else-if type="article-journal article-magazine" match="any">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="edition" suffix=". "/>
<text macro="issue" suffix=". "/>
<text macro="doi" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="article-newspaper">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="edition" suffix=". "/>
<text macro="publisher-group" suffix=", "/>
<text macro="date" suffix=". "/>
<text macro="page" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="chapter entry entry-dictionary entry-encyclopedia" match="any">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="edition" suffix=". "/>
<text macro="publisher-group" suffix=". "/>
<text macro="collection" suffix=". "/>
<text macro="isbn" suffix=". "/>
<text macro="doi" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="speech">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="genre" suffix=". "/>
<text macro="publisher-group" suffix=". "/>
<text macro="date" suffix=". "/>
<text macro="page" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="paper-conference">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="genre" suffix=". "/>
<text macro="publisher-group" suffix=". "/>
<text macro="date" suffix=". "/>
<text macro="page" suffix=". "/>
<text macro="collection" suffix=". "/>
<text macro="isbn" suffix=". "/>
<text macro="doi" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="thesis">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="genre" suffix=". "/>
<text macro="publisher-group" suffix=". "/>
<text macro="doi" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="post-weblog post webpage" match="any">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="date" suffix=". "/>
<text macro="doi" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="broadcast motion_picture song" match="any">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="medium" suffix=". "/>
<text macro="publisher-group" suffix=", "/>
<text macro="date" suffix=". "/>
<text macro="collection" suffix=". "/>
<text macro="isbn" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="report">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="publisher-group" suffix=". "/>
<text macro="genre" suffix=". "/>
<text macro="collection" suffix=". "/>
<text macro="doi" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="manuscript">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="genre" suffix=". "/>
<text macro="edition" suffix=". "/>
<text macro="publisher-group" suffix=". "/>
<text macro="collection" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else-if type="patent">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="date" suffix=". "/>
<text macro="publisher-group" suffix=". "/>
<text macro="collection" suffix=". "/>
<text macro="url" suffix=". "/>
<text macro="accessed" suffix=". "/>
<text macro="number" suffix=". "/>
</else-if>
<else-if type="software">
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text variable="version" prefix="Version " suffix=". "/>
<text macro="date" suffix=". "/>
<text macro="publisher-group" suffix=". "/>
<text macro="accessed" suffix=". "/>
<text macro="doi" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else-if>
<else>
<text macro="responsability" suffix=". "/>
<choose>
<if variable="author editor translator director" match="any">
<text macro="title" suffix=". "/>
</if>
</choose>
<text macro="medium" suffix=". "/>
<text macro="genre" suffix=". "/>
<text variable="authority" suffix=". "/>
<text macro="edition" suffix=". "/>
<text macro="publisher-group" suffix=". "/>
<text macro="number" suffix=". "/>
<text macro="legislation-number" suffix=". "/>
<text macro="collection" suffix=". "/>
<text macro="page" suffix=". "/>
<text macro="isbn" suffix=". "/>
<text macro="doi" suffix=". "/>
<text macro="url"/>
<text macro="accessed" suffix=". "/>
</else>
</choose>
<text variable="note"/>
</layout>
</bibliography>
</style>

View File

@ -2,15 +2,15 @@
title: Introduction à la prise de note avec markdown title: Introduction à la prise de note avec markdown
author: author:
- Igor Milhit^[Uni CMU] - Igor Milhit^[Uni CMU]
date: Printemps 2025 date: Automne 2025
creation_date: 2023-04-19T11:35:14+02:00 creation_date: 2023-04-19T11:35:14+02:00
id: 20230419113601 id: 20230419113601
tags: [note, markdown] tags: ["note", "markdown"]
logo: logo:
- static/logo-md.svg - static/images/logo-md.svg
lang: fr lang: fr
bibliography: references.json bibliography: ./static/references.json
citation-style: heg-iso-690.csl citation-style: ./static/heg-iso-690.csl
nocite: '@*' nocite: '@*'
link-citations: true link-citations: true
toc-title: Table des matières toc-title: Table des matières

View File

@ -1,6 +1,6 @@
<!-- références --> <!-- références -->
[1]: ./static/by-sa.svg [1]: ./static/images/by-sa.svg
[2]: https://creativecommons.org/licenses/by-sa/4.0/deed.fr "Texte de la licence en français" [2]: https://creativecommons.org/licenses/by-sa/4.0/deed.fr "Texte de la licence en français"
[3]: https://git.milhit.ch/igor/rdv-info-markdown [3]: https://git.milhit.ch/igor/rdv-info-markdown
[4]: https://www.arthurperret.fr/cours/format-texte.html [4]: https://www.arthurperret.fr/cours/format-texte.html
@ -9,12 +9,12 @@
[7]: https://fr.wikipedia.org/wiki/Git "Article Wikipedia en français" [7]: https://fr.wikipedia.org/wiki/Git "Article Wikipedia en français"
[8]: #dedies [8]: #dedies
[9]: #generalistes [9]: #generalistes
[10]: ./static/ghostwriter.png [10]: ./static/images/ghostwriter.png
[11]: ./static/zettlr.png [11]: ./static/images/zettlr.png
[12]: ./static/hackmd.png [12]: ./static/images/hackmd.png
[13]: ./static/vscode.png [13]: ./static/images/vscode.png
[14]: ./static/lien-entre-fichiers.png [14]: ./static/images/lien-entre-fichiers.png
[15]: ./static/recherche-vscode.png [15]: ./static/images/recherche-vscode.png
[16]: https://pandoc.org/MANUAL.html#citations [16]: https://pandoc.org/MANUAL.html#citations
[17]: https://zotero.org [17]: https://zotero.org
[18]: https://joplinapp.org/ [18]: https://joplinapp.org/

View File

@ -1,10 +1,12 @@
## Définition, avantages et inconvénients[^0] {#first-section} ## Définition, avantages et inconvénients[^0] {#first-section}
:::{.exercise} ::: {.warning}
Le plus important est de trouver des méthodes et des outils Le plus important est de trouver des méthodes et des outils
adaptés à *vos besoins*. Cette section liste des arguments pour l'usage de adaptés à *vos besoins*. Cette section liste des arguments pour l'usage de
fichiers au format texte et de la syntaxe markdown, mais aucune méthode ou fichiers au format texte et de la syntaxe markdown, mais aucune méthode ou
outil n'est *la* solution miracle pertinente dans *tous* les contextes. outil n'est *la* solution miracle pertinente dans *tous* les contextes.
::: :::
### Définition ### Définition

View File

@ -1,4 +1,4 @@
## Éditeurs ## Éditeurs {.newpage}
Il existe beaucoup d'éditeurs pour rédiger en markdown. On peut les regrouper Il existe beaucoup d'éditeurs pour rédiger en markdown. On peut les regrouper
en deux grandes catégories: en deux grandes catégories:
@ -60,8 +60,8 @@ est destiné à un usage académique, que ce soit pour construire une base de
connaissance à partir de notes ou pour rédiger un travail de mémoire ou un connaissance à partir de notes ou pour rédiger un travail de mémoire ou un
article scientifique. Il intègre Zotero pour la gestion des références. article scientifique. Il intègre Zotero pour la gestion des références.
En ligne, on peut mentionner à nouveau le service [HackMD][2] ou le logiciel En ligne, on peut mentionner à nouveau le service [HackMD][6] ou le logiciel
[HedgeDoc][1] qui permet non seulement d'éditer des fichiers markdown avec une [HedgeDoc][5] qui permet non seulement d'éditer des fichiers markdown avec une
prévisualisation, mais également de le faire à plusieurs, de disposer d'un prévisualisation, mais également de le faire à plusieurs, de disposer d'un
suivi des modifications et de commenter. suivi des modifications et de commenter.

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 313 KiB

After

Width:  |  Height:  |  Size: 313 KiB

View File

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View File

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Before

Width:  |  Height:  |  Size: 300 B

After

Width:  |  Height:  |  Size: 300 B

View File

Before

Width:  |  Height:  |  Size: 213 KiB

After

Width:  |  Height:  |  Size: 213 KiB

View File

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View File

Before

Width:  |  Height:  |  Size: 195 KiB

After

Width:  |  Height:  |  Size: 195 KiB

View File

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 154 KiB

View File

@ -28,7 +28,7 @@
* bibliothèque de l'UNIGE. */ * bibliothèque de l'UNIGE. */
@top-right { @top-right {
content: ""; content: "";
background-image: url("static/bibliotheque-logo.svg"); background-image: url("images/bibliotheque-logo.svg");
background-position: right; background-position: right;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 25%; background-size: 25%;
@ -85,7 +85,7 @@
margin: 2em auto 1em auto; margin: 2em auto 1em auto;
} }
.logo img { .logo img {
max-width: 50%; max-width: 25%;
padding: .5em; padding: .5em;
} }
@ -196,6 +196,7 @@
figure img { figure img {
max-width: 85%; max-width: 85%;
margin: 0 auto; margin: 0 auto;
max-height: 35vh;
} }
figcaption { figcaption {
text-align: center; text-align: center;
@ -207,13 +208,28 @@
content: "Figure " counter(figureNumber) ": "; content: "Figure " counter(figureNumber) ": ";
} }
.exercise { .exercise,
.warning {
background-color: #f2f1f1; background-color: #f2f1f1;
width: 90%; width: 90%;
margin: 0 auto; margin: 0 auto;
border: 2px solid #d80669; border: 2px solid #d80669;
border-radius: .5em; border-radius: .5em;
padding: 0 .5em; padding: .5em;
display: flex;
align-items: center;
}
.exercice > p,
.warning > p {
margin: 0;
padding-left: .5em;
}
.exercice::before,
.warning::before {
content: "⚠️";
font-size: larger;
} }
blockquote { blockquote {

View File

@ -31,9 +31,9 @@ $endfor$
when they are unnecessary. --> when they are unnecessary. -->
$if(noscript)$ $if(noscript)$
$else$ $else$
<link href="/interface.css" rel="stylesheet" type="text/css" /> <link href="$static$/interface.css" rel="stylesheet" type="text/css" />
<script src="/paged.polyfill.js"></script> <script src="$static$/paged.polyfill.js"></script>
<script src="/reload-in-place.js"></script> <script src="$static$/reload-in-place.js"></script>
$endif$ $endif$
$for(header-includes)$ $for(header-includes)$
$header-includes$ $header-includes$