第06節(jié) Markdown分割演示

2018-08-09 15:16 更新

為什么這個時候動手制作這個功能

  2016年7月份,我在 OsChina 網(wǎng)站上看到了一個名為 Marp 的跨操作系統(tǒng)平臺軟件,可以用 Markdown 快速書寫幻燈片演示文稿(當時它已經(jīng)是 0.8 版了)。恰好這個功能也是我考慮了好久都沒敢動手的功能——因為要考慮的東西太多,很難想出一個滿意的辦法。

但是受 Marp 的刺激,我決定還是立即動手開發(fā)用 Markdown 來快速制作幻燈片的功能——因為這個功能本身對我的工作很有用。而 Marp 并沒有解決有些我認為很困難的問題(例如如何控制頁面內容使之自適應幻燈片尺寸)——這使我豁然開朗,終于想明白有些問題完全可以交給用戶去處理。

LME 的演示功能與 Marp 的區(qū)別

  LME 的演示功能雖然是受 Marp 的影響才動手制作的,但與 Marp 終究有不同:我在開發(fā)時更多地考慮了 LME 本身的特點(而不是一味模仿 Marp)?;旧?,LME 的演示功能只有一點與 Marp 是一致的:可以用水平線來分割各頁幻燈片。

  LME 中用于分割幻燈片的水平線與 Marp 并不完全相同,而且 LME 不只水平線這一種分割方式。

  相比于 Marp,LME 的不同在于:

  • Marp 以水平線來分割 Markdown 文檔

  LME 雖然也支持以水平線分割,但內容的實現(xiàn)方式與 Marp 完全不同。而且 LME 還支持其它方式演示。

  • Marp 可以導出為 PDF

  LME 僅僅是將 Markdown 文檔切分,然后仍然是以 Html 網(wǎng)頁的形式演示,所以和編譯后的 Html 效果完全一樣。

  LME 并不支持將幻燈片導出為 PDF 文檔,但可以直接復制 Html 網(wǎng)頁的內容——粘貼到 Word 這樣的軟件中——然后就是想怎么編輯就怎么編輯了。

  • Marp 和 LME 的主題實現(xiàn)方式并不相同

  我在 Marp 程序運行目錄中并沒有找到 css 文件,估計是打包起來了。所有制作的幻燈片都只能使用 Marp 內置的主題。

  LME 主題使用的 css 文件在每個工作區(qū)目錄下都有——這樣只要用戶懂 css,完全可以使每個工作區(qū)都有不一樣的主題,自由度很大。

  • Marp 支持設置屏幕寬、高比例

  LME 則直接采用演示窗口全屏的辦法來解決問題——用戶只需要按住Ctrl并滾動鼠標滾輪就可以縮放到合適的尺寸。

  • Marp 不支持設置字體

  LME 同樣不支持演示時設置字體,但用戶如果懂 css,完全可以自行修改工作區(qū)下的 css 文件來達到更改字體設置的目的。

  • Marp 支持實時預覽

  你可以一邊編輯 Markdown 文檔,一邊看到當前頁面在作為幻燈片演示時的效果。

  LME 不支持這一功能,因為比例尺較難換算,用戶需要自己在使用中摸索多少內容比較適合作為一頁。

  還需要結合演示界面的縮放功能(按住Ctrl并滾動鼠標滾輪)。

如何調整演示界面縮放比例?

  演示界面其實是用瀏覽器實現(xiàn)的,所以按住鍵盤上的Ctrl鍵,然后滾動鼠標滾輪即可縮放。

LME 支持三種切分為幻燈片的方式

  • 按折疊區(qū)演示,只演示折疊區(qū)內部的內容

  而且只支持一層折疊區(qū)。每個一級折疊區(qū)都會被當作一張幻燈片。

  如果要演示折疊區(qū)本身,請在折疊區(qū)外再套一個自定義折疊區(qū)標識符。這樣,外部的自定義折疊區(qū)標識符就會被當作幻燈片分界定義,而內部的折疊區(qū)則還是折疊區(qū)。

  • 按一級標題來演示

  不演示第一個一級標題前的任何內容。

  演示每個一級標題及其后跟隨的內容——直到找到下一個一級標題為止。

  • 按水平線分割演示

  按水平線將文檔分割成幾份,每份為一張幻燈片。

  水平線分割演示可能出現(xiàn)空幻燈片。

應該用哪種演示方式?

  這三種演示方式中,按折疊區(qū)演示時演示的內容最少,按水平線分割時演示的內容最多。通常一個文檔不能同時支持這三種演示模式,用戶應根據(jù)需要選擇使用。

  注意:這三種演示模式是相互沖突的,一個 Markdown 文件不可能同時對這三種演示方式提供良好的支持。所以一開始就應該仔細考慮使用哪種演示模式。

怎么定義默認的演示方式?

  可以在 Markdown 文檔中定義默認的演示規(guī)則,這樣只需要按下Ctrl+F5即可,不需要再到菜單里一層層去找對應的菜單項了。

  在文檔中定義演示方式,語法基本上類似這樣:

;PM:#
;PM:-
;PM:{

當一個文檔中出現(xiàn)多行這樣的定義時,只有第一個有效。

  所以通常把它寫在文件中靠近頭部的位置。

  其中表示這行是注釋,不會被編譯。PM:表示這個注釋用于指定演示方式。#-、{用來指示具體哪種演示方式。

  如果省略具體的演示方式指示文本,則會被當作按一級標題來演示:

;PM:

  在具體的演示方式指示符后面,可以添加任意文本,它們是注釋,不起其它任何作用。

  例如:

;PM:{從這里開始任意文本都可以

  這行實際上定義當前文檔應以自定義折疊區(qū)的方式演示。

有沒有其它寫法?

  有的,寫成下面這樣也可以:

;演示:{

  寫成下面這樣還可以:

;演示模式:{

還可以只演示標題

  有些時候,已經(jīng)編寫好的 Markdown 文檔內容很多,又只需要向觀眾展示文檔的基本結構——此時可以使用“只演示標題”這一演示方式。

  在這種方式下,其實仍然是使用按一級標題分割演示這個模式,只不過它會忽略除標題以外的所有內容而已。

自動編號為什么不見了?

  只有在使用一級標題作為演示切分標準時才能保證自動編號不出錯。所以,除非使用一級標題的演示模式,否則即使開啟了 Html 編譯選項中的“<H1>-<H6>自動編號”也不會在演示時顯示自動編號。


  可以將下列文本復制、粘貼到 LME 的某個活動編輯器中,保存后再點擊主界面視圖演示為幻燈片菜單項下的某個子項來進行演示。

%三種幻燈片演示模式的區(qū)別示例
region i { 秦朝專制主義中央集權政制
|       秦的政治制度       |
|==========================|
|中央              |地方  |
|:-----------------|:-----|
|三公九卿制、皇帝制|郡縣制|
} region 
---
;第02頁幻燈片:
#秦的三公九卿制
##三公制
秦實際上并不實行傳統(tǒng)的“三公”官制,漢代儒學興盛,將秦漢時期的“丞相、御史大夫、太尉”附會稱為“三公”——實際上秦丞相設左、右二員。
+ 丞相,百官之長,掌理行政
+ 御史大夫,副相,掌監(jiān)察百官、群臣章奏
+ 太尉,掌軍務,“虛其位、不設其人”
##九卿
“九卿”亦是附會的說法,秦漢實指“列卿”,不止九個官職。
---
;第03頁幻燈片:
#秦的地方政制
秦總結春秋戰(zhàn)國以來政制得失,全面推廣郡縣制。
秦的地方行政區(qū)劃制度主要是:
+ 全國分郡、縣二級,一郡下轄數(shù)縣
+ 縣下設基層行政組織鄉(xiāng)、里
+ 鄉(xiāng)、里之間設亭為治安區(qū)
+ 郡縣長官均由皇帝任命
:最后這條尤為重要,反映了秦朝官僚政治取代貴族政治,是中央集權制形成的重要表現(xiàn)。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號