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: 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)