N'y a-t-il aucun moyen d'indiquer le titre du document dans un document Markdown?
Je me suis habitué à utiliser Markdown avec Sublime Text pour préparer bon nombre de mes documents personnels et professionnels. Par exemple, je souhaite souvent avoir une sorte de titre de "niveau supérieur" analogue au style Title dans Word. Donc, par exemple:
### Things to Do ###
At Home
=======
* Mow the cat
* Feed the lawn
At the Office
=============
* Learn Markdown
* Use Big-O notation in a clever way
Mais la ligne ### Things to Do ###
n'est pas respectée par Markdown et je ne connais pas d'alternative. Est-ce qu'il y a un?
Je pourrais utiliser le style En-tête 1 pour le titre et ensuite l'en-tête 2 pour le reste, mais si j'ai besoin d'une imbrication plus profonde des en-têtes, je vais rapidement en manquer. Et, après tout, un titre n'est pas fondamentalement un titre en soi. Ce serait bien, par exemple, si les analyseurs syntaxiques Markdown-to-HTML utilisaient le titre pour la page <title>
ainsi que pour un en-tête de page supérieur aux titres Word.
L'un des points intéressants de la conception de Markdown est que le langage HTML est explicitement autorisé. HTML5 a ajouté des sections de page sémantiques, y compris <header> et <main>, ce qui peut convenir au titre de votre page.
Par exemple:
<header>
Things to Do
============
</header>
<main>
At Home
=======
* Mow the cat
* Feed the lawn
At the Office
=============
* Learn Markdown
* Use Big-O notation in a clever way
</main>
Si vous préférez exclure le langage HTML, vous pouvez utiliser les en-têtes de style Atx pour obtenir plus de deux niveaux de hiérarchie.
Par exemple:
# Things to Do
## At Home
* Mow the cat
* Feed the lawn
## At the Office
### Morning
* Learn Markdown
* Use Big-O notation in a clever way
### Afternoon
* Read e-mails
* Scrutinize LOLcats
Si vous vous référez à la réduction de pandoc, l’approche la plus simple consiste à utiliser «%», par exemple.
% Document Title
# Header 1
content
## Header 2
## Header 2
voir http://pandoc.org/README.html#metadata-blocks pour plus d'informations sur le démarquage pandoc.
Si vous utilisez MultiMarkdown, vous pouvez ajouter des métadonnées en haut du document.
format: complete
title: This is a title for the web-page
css: http://example.com/main.css
First line of visible text
Le titre sera inclus dans un <title>
dans la section <head>
Vous pouvez également l'inclure par référence dans le corps en utilisant [%title]
)
Il ne devrait y avoir aucun problème à reconnaître ###
au début de la première ligne comme en-tête de niveau 3 pour générer des balises <h3>
. J'utilise cela dans plusieurs implémentations de Markdown/MultiMarkdown
Vous pouvez le tester en utilisant Dingus de John Gruber , Markable , etc.
Au moins certaines implémentations Markdown/Multimarkdown vous permettent de spécifier un décalage pour les en-têtes générés, de manière à générer <h2>
et <h3>
au lieu de <h1>
et <h2>
.
Cela vous permettrait de placer, par exemple, <h1>Title</h1>
ou <h1>[%title]</h1>
en tant que première ligne de votre document (après les déclarations de métadonnées).
J'écris des livres et des articles de recherche dans Markdown que je poste exclusivement sur GitHub et les balises de titre HTML dans Markdown ne fonctionnent pas sur GitHub. J'utilise donc la convention suivante:
Document Title
==============
***This is a subtitle***
**Author:** *Me*
# Chapter One: Overview
Do you know the way?
---
# Chapter Two: Foo
Foo is the way...
---
Ce qui finit par ressembler à:
Ceci est un sous-titre
Auteur: _ moi
Connaissez vous le chemin?
Foo est le chemin ...
J'utilise le ---
afin de séparer les chapitres, car il a l'air bien et aide à trouver le chapitre dans le texte. Cela pose toutefois un problème lorsque le document de Markdown devient volumineux, auquel cas la fenêtre de prévisualisation de Markdown commence alors à se figer chaque fois que vous tapez au fur et à mesure de son actualisation ou lorsque Grammarly commence à bogues et prend un VRAIMENT long. temps. C’est la justification pour utiliser le format de titre ===
H1 car, lorsque le document devient volumineux, vous devez le décomposer. Dans ce cas, il est agréable d’utiliser le format suivant:
Document Title
==============
***This is a subtitle***
**Author:** *Me*
[<< Previous Chapter](URL) | [Content Table](URL) | [Next Chapter >>](URL)
---
# Chapter Two: Foo
Foo is the way...
---
[<< Previous Chapter](URL) | [Content Table](URL) | [Next Chapter >> ](URL)
Ce qui ressemble alors à:
Ceci est un sous-titre
Auteur: _ moi
<< Chapitre précédent | Table de contenu | Chapitre suivant >>
Foo est le chemin ...
<< Chapitre précédent | Table de contenu | Chapitre suivant >>
J'ai également renoncé à utiliser le nom de fichier Wiki pour le titre, car il ne permet pas les mots avec trait d'union, ce qui gâche les titres de mes chapitres. Je suis donc passé à tous les noms de fichiers en minuscules commençant par l'index du chapitre 01_chapter_name.md
, 02_chapter_name-with-hyphens.md
, ... avec le format de titre ===
H1 et déplacé mes livres de Markdown vers le référentiel principal afin que je puisse utiliser Problèmes et projets GitHub Development et Issue Driven avec un projet par chapitre afin que je puisse me souvenir de toutes les choses à faire et éliminer l’arriéré.
Si cela ne vous dérange pas d'utiliser RStudio, les fichiers Rmd (rmarkdown) génèrent le titre à l'aide d'une section de métadonnées en haut, puis utilisent #+
pour les en-têtes.
Liens