Landslide 使用 markdown、ReST 或 Textile 產生投影片。它基於 Google 的 html5slides 模板建立。
以下 Markdown 會產生此投影片。
# Landslide
---
# Overview
Generate HTML5 slideshows from markdown, ReST, or textile.
![python](http://i.imgur.com/bc2xk.png)
Landslide is primarily written in Python, but it's themes use:
- HTML5
- Javascript
- CSS
---
# Code Sample
Landslide supports code snippets
!python
def log(self, message, level='notice'):
if self.logger and not callable(self.logger):
raise ValueError(u"Invalid logger set, must be a callable")
if self.verbose and self.logger:
self.logger(message, level)
python
和以下模組:
jinja2
pygments
用於程式碼區塊語法著色markdown
docutils
textile
紡織品-w
標誌監視/自動再生的watchdog
使用pip
等 python 套件管理器安裝最新穩定版本的 Landslide :
$ pip install landslide
如果你想保持在邊緣:
$ git clone https://github.com/adamzap/landslide.git
$ cd landslide
$ python setup.py build
$ sudo python setup.py install
.md
、 .markdn
、 .mdwn
、 .mdown
或.markdown
為後綴h1
元素(例如# My Title
)---
在 markdown )分隔投影片,md 檔案結尾除外h1
元素的標題!lang
作為第一個縮進行,其中lang
是 pygment 支援的語言標識符.rst
或.rest
為後綴(不支援.txt
)----
)分隔投影片,RST 檔案結尾除外---
分隔投影片,就像在 Markdown 中一樣landslide slides.md
或landslide slides.rst
presentation.html
或者,如果您的系統已安裝並可用 Prince,則取得 PDF 文件:
$ landslide README.md -d readme.pdf
$ open readme.pdf
h
切換幫助顯示left arrow
和right arrow
進行導航t
切換簡報的目錄。幻燈片標題是鏈接ESC
鍵顯示簡報概述 (Exposé)n
切換投影片編號可見性b
切換畫面消隱c
切換目前投影片上下文(上一張和下一張投影片)e
使投影片充滿文件正文中的整個可用空間S
切換每張投影片的來源檔案連結的顯示使用命令列可以使用多個選項:
-h, --help show this help message and exit
-c, --copy-theme Copy theme directory into current presentation source
directory
-b, --debug Will display any exception trace to stdin
-d FILE, --destination=FILE
The path to the to the destination file: .html or .pdf
extensions allowed (default: presentation.html)
-e ENCODING, --encoding=ENCODING
The encoding of your files (defaults to utf8)
-i, --embed Embed stylesheet and javascript contents,
base64-encoded images in presentation to make a
standalone document
-l LINENOS, --linenos=LINENOS
How to output linenos in source code. Three options
availables: no (no line numbers); inline (inside
tag); table (lines numbers in another cell, copy-paste
friendly)
-o, --direct-output Prints the generated HTML code to stdout; won't work
with PDF export
-q, --quiet Won't write anything to stdout (silent mode)
-r, --relative Make your presentation asset links relative to current
pwd; This may be useful if you intend to publish your
html presentation online.
-t THEME, --theme=THEME
A theme name, or path to a landlside theme directory
-v, --verbose Write informational messages to stdin (enabled by
default)
-w, --watch Watch the source directory for changes and
auto-regenerate the presentation
-x EXTENSIONS, --extensions=EXTENSIONS
Comma-separated list of extensions for Markdown
-m, --math-output Enable mathematical output using mathjax
Landslide 允許使用cfg
設定檔設定簡報,從而簡化來源目錄的聚合以及在簡報中重複使用它們。 Landslide 設定檔使用cfg
語法。如果您了解ini
文件,您就明白了。下面是一個範例設定檔:
[landslide]
theme = /path/to/my/beautiful/theme
source = 0_my_first_slides.md
a_directory
another_directory
now_a_slide.markdown
another_one.rst
destination = myWonderfulPresentation.html
css = my_first_stylesheet.css
my_other_stylesheet.css
js = jquery.js
my_fancy_javascript.js
relative = True
linenos = inline
不要忘記聲明[landslide]
部分。所有設定檔必須以 .cfg 副檔名結尾。
要按照配置產生演示文稿,只需運行:
$ cd /path/to/my/presentation/sources
$ landslide config.cfg
您可以使用巨集來增強簡報:
使用.notes:
關鍵字為投影片新增註釋,例如:
# My Slide Title
.notes: These are my notes, hidden by default
My visible content goes here
您可以按2
鍵切換註解的顯示。
預設情況下還可以使用其他一些巨集: 使用 您也可以在投影片內容後面加上標題為「簡報者備註」的標題,為每張投影片新增簡報者備註。按下“p”鍵開啟演示者視圖。 巨集用於轉換幻燈片的 HTML 內容。 您可以透過建立 plop 這將呈現如下所示的任何幻燈片: 請參閱此處有關可用 Markdown 擴充功能的文件: Landslide 主題是一個遵循以下簡單結構的目錄: 如果主題不提供 HTML 和 JS 文件,則會使用預設主題中的 HTML 和 JS 文件。 CSS 不是可選的。 最後,您也可以透過將 如果您不想費心製作自己的主題,則可以將您自己的使用者 css 和 js 檔案包含到生成的簡報中。 只有當您透過設定 這些將連結簡報 html 檔案的 注意: css 和 js 檔案的路徑必須相對於您執行 如果您打算在線上發布 HTML 簡報,則必須使用 這樣,您只需將整個演示目錄託管到網站伺服器即可。當然,不需要 Python、PHP 或任何其他東西,只需 HTTP Web 伺服器(如 Nginx)即可託管壓倒性的演示。 請參閱 https://github.com/adamzap/landslide/contributors.fx: foo bar
會將foo
和bar
類別新增至對應的投影片 QR 圖碼
.qr
關鍵字將 QR 程式碼新增至您的簡報:
.qr: 450|http://github.com/adamzap/landslide
演講者筆記
註冊宏
landslide.macro.Macro
衍生類別、實作process(content, source=None)
方法並傳回包含修改內容的元群組以及您可能想要新增到
!python
import landslide
class MyMacro(landslide.Macro):
def process(self, content, source=None):
return content + '
!html
進階用法
設定自訂目標文件
$ landslide slides.md -d ~/MyPresentations/presentation.html
使用目錄
$ landslide slides/
使用直接輸出
$ landslide slides.md -o | tidy
使用替代山體滑坡主題
$ landslide slides.md -t mytheme
$ landslide slides.md -t /path/to/theme/dir
嵌入 Base-64 編碼影像
$ landslide slides.md -i
匯出為 PDF
$ landslide slides.md -d presentation.pdf
啟用數學符號
Note that this require writing the slides in ReST format as well as
using Docutils 0.8 or newer.
$ landslide slides.rst -m
啟用 Markdown 擴充
$ landslide slides.md -x abbr
主題化
mytheme/
|-- base.html
|-- css
| |-- print.css
| `-- screen.css
`-- js
`-- slides.js
--copy-theme
選項傳遞給landslide
命令來將整個主題目錄複製到您的簡報中:
$ landslide slides.md -t /path/to/some/theme --copy-theme
使用者樣式表和 Javascript
css
和/或js
標誌使用 landslide 設定檔時,此功能才可用:
[landslide]
theme = /path/to/my/beautiful/theme
source = slides.mdown
css = custom.css
js = jquery.js
powerpoint.js
部分中的
custom.css
樣式表以及jquery.js
和powerpoint.js
檔案。landslide
命令的目錄。 在線上發布您的簡報
--relative
選項以及--copy-theme
選項來取得與簡報根目錄相關的所有資源連結;
$ landslide slides.md --relative --copy-theme
主題變數
base.html
必須是 Jinja2 模板文件,您可以在其中利用以下模板變數:css
:樣式表內容,可透過兩個鍵使用, print
和screen
,兩者皆有:path_url
鍵,儲存資產檔案路徑的 urlcontents
金鑰js
: javascript 內容,具有:path_url
鍵,儲存資產檔案路徑的 urlcontents
金鑰slides
:幻燈片列表,每一張都有以下屬性:header
: 投影片標題content
:投影片內容number
: 投影片編號embed
:目前文檔是獨立文檔嗎?num_slides
:目前簡報中的幻燈片數量toc
:目錄,列出文件的各個部分。每個部分都有以下可用屬性:title
: 章節標題number
:該部分的幻燈片編號sub
: 小節,如果有的話款式範圍
css/screen.css
樣式表css/print.css
作者
原作者和開發負責人
共同作者
貢獻者
基本模板作者和貢獻者 (html5-slides)