文件ti的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不尊重<title>这条生产线,我不知道有什么替代方法。 有一个吗?

我可以使用“标题1”样式作为标题,然后使用“标题2”作为其余样式,但是如果我需要更深层次的标题嵌套,那么我会很快用尽深度。 毕竟,标题从根本上说并不是标题。 例如,如果Markdown-to-HTML解析器将Title用作页面<title>以及Word标题用作页面顶部标题,那将是很好的。

OldPeculier asked 2020-08-11T21:06:59Z
5个解决方案
25 votes

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

% Document Title

# Header 1

content

## Header 2

## Header 2

有关pandoc降价的更多信息,请参见[http://pandoc.org/README.html#metadata-blocks]。

Ian Walters answered 2020-08-11T21:07:43Z
18 votes

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

例如:

<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
Ryan Prior answered 2020-08-11T21:07:18Z
9 votes

我在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...

---

最终看起来像:


文件名

这是字幕

作者:我

第一章:概述

你知道吗


第二章

Foo就是这样...


我使用01_chapter_name.md来分隔各章,因为它看起来不错,并有助于在文本中找到该章。 但是,这确实存在问题,当Markdown文档变大时,在这种情况下,每次您键入Markdown预览窗口时,它就会刷新,或者文法开始出错并花费很长时间。 这是使用=== 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)

然后看起来像:


文件名

这是字幕

作者:我

<<上一章| 内容表| 下一章>>


第二章

Foo就是这样...


<<上一章| 内容表| 下一章>>


我也放弃了对标题使用Wiki文件名,因为它不允许使用连字符,这会弄乱我的章节标题,因此我已切换到所有小写的文件名,以章节索引01_chapter_name.md02_chapter_name-with-hyphens.md,... 使用=== H1标题格式,并将我的Markdown书籍移到主存储库中,这样我就可以将问题驱动开发和GitHub Issues and Projects与每章一个项目一起使用,这样我就可以记住所有要做的事情并通过积压工作。

answered 2020-08-11T21:09:22Z
5 votes

标题元数据

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

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

First line of visible text

标题将包含在<h1>Title</h1>部分的<title>

您还可以使用<h1>Title</h1>通过引用将其包含在主体中

子标题

将第一行开头的<h1>Title</h1>识别为生成<h1>[%title]</h1>标签的3级标头应该没有任何问题。 我在Markdown / MultiMarkdown的几种实现中使用了此方法

您可以使用John Gruber的Dingus,Markable等进行测试。

航向偏移

至少某些Markdown / Multimarkdown实现允许您为生成的标题指定偏移量,以便它生成<h1>Title</h1><h1>[%title]</h1>而不是<h1><h2>

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

参考文献

  • MultiMarkdown元数据
  • MultiMarkdown语法指南
RedGrittyBrick answered 2020-08-11T21:10:35Z
0 votes

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

链接

  • [HTTPS://日markdown.R studio.com/]
  • [HTTPS://日markdown.R studio.com/lesson-1.HTML]
  • [HTTPS://book down.org/一会/日markdown/]
  • [HTTPS://呜呜呜.R studio.com/我怕-content/uploads/2015/02/日markdown-cheat sheet.PDF]
abalter answered 2020-08-11T21:11:17Z
translate from https://stackoverflow.com:/questions/17097894/markdown-tag-for-document-title