最近經(jīng)常做分享,怎么用更科學(xué)的方式維護(hù)演講稿呢?
基本來說有下面幾個(gè)需求:
- 版本管理
- 版本管理的基礎(chǔ)上還能對(duì)比改動(dòng)
- 便于寫作,不希望做講稿的時(shí)候像用 Keynote 一樣經(jīng)常修改樣式
- 支持代碼高亮
- 支持演講者注釋
- 離線保存,出于內(nèi)容隱私安全考慮
Keynote 和 PPT 這種文件方式不適合版本管理,也不支持代碼高亮。而 markdown 就是很好的一個(gè)選擇。
Slides.com 比較完美,但是是在線的,內(nèi)容安全性有隱患。
于是考慮使用 markdown 結(jié)合本地服務(wù)器方式。
找到了一個(gè) star 3800+ 的 nodePPT,支持讀取 markdown 文件,并且本地啟動(dòng)服務(wù)。
但是使用下來發(fā)現(xiàn)了不少問題:
- 頁面分隔符是
[slide],不符合 markdown 規(guī)則,最好可以使用---這樣直觀的分隔 - 雙端控制無效
- 頁面樣式和轉(zhuǎn)場(chǎng)樣式比較老舊,最好能使用
reveal.js - 圖片無法使用相對(duì)路徑
最后決定選擇了 reveal.js。然而在使用中發(fā)現(xiàn) reveal.js 是通過拉去項(xiàng)目修改項(xiàng)目?jī)?nèi)的文件來寫作的,這樣做一個(gè)講稿的成本很高。
于是決定做個(gè)命令行工具可以通過寫一個(gè) markdown 文件的方式使用 reveal.js。
在創(chuàng)建 npm 項(xiàng)目的時(shí)候發(fā)現(xiàn)已經(jīng)有人寫了一個(gè) node-reveal,可是它解決的是模版創(chuàng)建的問題,并不純粹。于是我寫了一個(gè)命令行工具 @vivaxy/reveal 僅僅接受一個(gè) markdown 文件作為講稿。
主要功能如下:
- 非常簡(jiǎn)單的設(shè)置。不需要拉取代碼,不需要文件模版
- 使用 markdown 作為講稿
- 支持文件改動(dòng)的后自動(dòng)刷新
- 定制主題
- 支持行內(nèi) html,可以寫自定義的內(nèi)容和樣式
- 支持所有
reveal.js的功能