Markdown
使用 Markdown 編寫簡報內容不僅可行,而且往往更方便。要創建一個 Markdown 幻燈片,請在你的 <section>
元素中添加 data-markdown
屬性,並將內容包裹在 <textarea data-template>
中,如下例所示。
<section data-markdown>
<textarea data-template>
## 幻燈片 1
包含一些文本和一個[鏈接](https://hakim.se)的段落。
---
## 幻燈片 2
---
## 幻燈片 3
</textarea>
</section>
注意,它對縮進(避免混合使用制表符和空格)和換行(避免連續換行)很敏感。
Markdown 插件
這個功能由內置的 Markdown 插件提供支持,該插件反過來使用 marked 進行所有解析。Markdown 插件包含在我們的默認簡報範例中。如果你想手動將其添加到新的簡報中,這是操作方式:
<script src="plugin/markdown/markdown.js"></script>
<script>
Reveal.initialize({
plugins: [RevealMarkdown],
});
</script>
外部 Markdown
你可以將內容寫入一個單獨的文件,並讓 reveal.js 在運行時加載它。注意分隔符參數,它決定了外部文件中的幻燈片如何分隔:data-separator
屬性定義水平幻燈片的正則表達式(默認為 ^\r?\n---\r?\n$
,即以換行符為界的水平線)和 data-separator-vertical
定義垂直幻燈片(默認禁用)。data-separator-notes
屬性是一個正則表達式,用於指定當前幻燈片講者筆記的開始(默認為 notes?:
,因此它會匹配 "note:" 和 "notes:")。data-charset
屬性是可選的,指定加載外部文件時使用哪種字符集。
在本地使用時,此功能要求 reveal.js 從本地網頁伺服器運行。以下範例自定義了所有可用選項:
<section
data-markdown="example.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="iso-8859-15"
>
<!--
注意 Windows 使用 `\r\n` 而不是 `\n` 作為換行字符。
為了支持所有操作系統的正則表達式,使用 `\r?\n` 而非 `\n`。
-->
</section>
元素屬性
特殊語法(通過 HTML 註釋)可用於為 Markdown 元素添加屬性。這對於片段等很有用。
<section data-markdown>
<script type="text/template">
- 項目 1 <!-- .element: class="fragment" data-fragment-index="2" -->
- 項目 2 <!-- .element: class="fragment" data-fragment-index="1" -->
</script>
</section>
幻燈片屬性
特殊語法(通過 HTML 註釋)可用於為由你的 Markdown 生成的幻燈片 <section>
元素添加屬性。
<section data-markdown>
<script type="text/template">
<!-- .slide: data-background="#ff0000" -->
Markdown 內容
</script>
</section>
語法高亮
reveal.js 內置了強大的語法高亮功能。使用下面顯示的括號語法,你可以突出顯示個別行,甚至逐步進行多個獨立的高亮。了解更多關於行高亮的信息。
<section data-markdown>
<textarea data-template>
```js [1-2|3|4]
let a = 1;
let b = 2;
let c = x => 1 + 2 + x;
c(3);
```
</textarea>
</section>
行號偏移
你可以通過在高亮的開頭添加一個數字和冒號來添加行號偏移。
<section data-markdown>
<textarea data-template>
```js [712: 1-2|3|4]
let a = 1;
let b = 2;
let c = x => 1 + 2 + x;
c(3);
```
</textarea>
</section>
配置 marked
我們使用 marked 解析 Markdown。要自定義 marked 的渲染,你可以在配置 Reveal 時傳入選項:
Reveal.initialize({
// 傳入 marked 的選項
// 見 https://marked.js.org/using_advanced#options
markdown: {
smartypants: true,
},
});