文档标题的Markdown标记

时间:2013-06-13 22:00:29

标签: markdown

是否无法在Markdown文档中指明文档标题?

我开始使用Markdown和Sublime Text来准备我的许多个人和商业文档。例如,我经常希望有一种类似于Word中的标题样式的“顶级”标题。所以,例如:

### Things to Do ###

At Home
=======
*    Mow the cat
*    Feed the lawn

At the Office
=============
*    Learn Markdown
*    Use Big-O notation in a clever way

但Markdown不尊重### Things to Do ###行,我不知道其他选择。有吗?

我可以使用标题1样式作为标题,然后使用标题2作为其余部分,但如果我需要更深入的标题嵌套,我很快就会用完。而且,毕竟,标题本身并不是一个标题。例如,如果Markdown-to-HTML解析器使用页面<title>的标题以及页面顶部标题和Word标题,那将是很好的。

6 个答案:

答案 0 :(得分:22)

如果您指的是pandoc markdown,最简单的方法是使用'%',例如

% Document Title

# Header 1

content

## Header 2

## Header 2

有关pandoc markdown的更多信息,请参阅http://pandoc.org/README.html#metadata-blocks

答案 1 :(得分:17)

Markdown设计的一个有趣之处是HTML是明确允许的。 HTML5添加了语义页面部分,包括&lt; header&gt;和&lt; main&gt;,这可能非常适合您的页面标题。

例如:

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

如果排除HTML比您更受欢迎,您可能需要使用Atx样式的标题才能获得两个以上的层次结构。

例如:

# 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

答案 2 :(得分:5)

标题元数据

如果您使用的是MultiMarkdown,则可以在文档顶部添加一些元数据

format: complete
title: This is a title for the web-page
css: http://example.com/main.css

First line of visible text

标题将包含在<title>部分的<head>

您还可以使用[%title]

在身体中通过引用将其包含在内

子子标题

将第一行开头的###识别为生成<h3>标记的第3级标题不应该有任何问题。我在Markdown / MultiMarkdown的几个实现中使用它

您可以使用John Gruber's DingusMarkable等进行测试。

标题偏移量

至少有一些Markdown / Multimarkdown实现允许您为生成的标题指定偏移量,以便生成<h2><h3>而不是<h1><h2>

这样您就可以将<h1>Title</h1><h1>[%title]</h1>作为文档的第一行(在元数据声明之后)。

参考

答案 3 :(得分:5)

我在Markdown上写书和研究论文,这些书和研究论文我只在GitHub上发布,而Markdown中的HTML标题标签在GitHub上不起作用,所以我使用以下约定:

Document Title
==============

***This is a subtitle***

**Author:** *Me*

# Chapter One: Overview

Do you know the way?

---

# Chapter Two: Foo

Foo is the way...

---

最终看起来像这样:


文档标题

这是字幕

作者: Me

第一章:概述

你知道吗?


第二章:Foo

Foo是方式...


我使用---来分隔各章,因为它看起来不错,并有助于在文本中找到该章。但是,这确实存在问题,当Markdown文档变大时,在这种情况下,每次您键入Markdown预览窗口时,它就会刷新,或者文法开始出错并采取 REALLY 很久。这是使用=== H1标题格式的理由,因为当文档变大时,您需要将其分解,在这种情况下,最好使用格式:

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)

然后看起来像这样:


文档标题

这是字幕

作者: Me

<< Previous Chapter | Content Table | Next Chapter >>


第二章:Foo

Foo是方式...


<< Previous Chapter | Content Table | Next Chapter >>


我也放弃了使用Wiki文件名作为标题,因为它不允许使用带连字符的单词,这会弄乱我的章节标题,因此我切换到了以章节索引{{1}开始的所有小写文件名},01_chapter_name.md,...和02_chapter_name-with-hyphens.md H1标题格式,并将我的Markdown书籍移到主存储库中,这样我就可以使用Issue Driven Development和GitHub Issues and Projects每章一个项目,这样我就可以记住所有要做的事情,并完成积压工作。

答案 4 :(得分:1)

有一个我认为应该发布的强力一次性解决方案:

<font size="+12"><center>
    Things to Do
</font></center>

肯定有一种更复杂的方法,但是我发现由于每个文档只使用一次,所以还不错。

答案 5 :(得分:0)

如果您不介意使用RStudio,则Rmd(rmarkdown)文件会使用顶部的元数据部分生成标题,然后使用#+作为标题。

链接