web-dev-qa-db-fra.com

Balise de démarcation pour le titre du document

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. 

35
OldPeculier

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
16
Ryan Prior

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.

19
Ian Walters

Métadonnées de titre

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])

Sous-sous-titres

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.

Décalage de cap

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).

Références

5
RedGrittyBrick

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 à:


Titre du document

Ceci est un sous-titre

Auteur: _ ​​moi

Chapitre un: Aperçu

Connaissez vous le chemin?


Chapitre deux: Foo

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 à:


Titre du document

Ceci est un sous-titre

Auteur: _ ​​moi

<< Chapitre précédent | Table de contenu | Chapitre suivant >>


Chapitre deux: Foo

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é.

3
user2356685

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

0
abalter