之前提到过用Marp从Markdown文件直接生成PPT,不过生成是PDF格式毕竟不太方便,那么能不能有别的选择呢?有请landslide

Landslide

Marp的使用可以见我之前的帖子:应对报告新手段:使用Markdown写PPT

这里我们介绍一个基于Python的工具:landslide。Landslide本身是一个命令行工具,用来将markdown文件转换成Google的HTML格式幻灯片,当然也可以用来转换成pdf文件。

安装

Landslide的安装可以简单的使用pip来安装:

1
sudo pip3 install landslide

当然也可以用过Landslide的Github来安装:

1
2
3
4
5
6
7
git clone https://github.com/adamzap/landslide.git

cd landslide

python setup.py build

sudo python setup.py install

使用

landslide支持标准Markdown格式,关于Markdown的使用请参见我之前的文章:轻量级的标记语言:Markdown。和之前Marp的使用一样,增加了---用来PPT分页,其他没有特殊的用法。

对于已经写好的Markdown文件(假设叫markdown.md)可以通过命令landslide markdown.md -i -o markdown.html就可以生成一个能播放的html文件了。

注意参数:-i是将主题中的文件嵌入到html中,-o用来指定输出文件,如果没有-o会默认生成presentation.html。默认如下图所示。

在播放的时候操作如下:

  • b可以强制黑屏
  • c可以取消前后幻灯片预览
  • Esc可以回到
  • 3可以启动伪3D效果
  • 左右键用来切换幻灯片
  • n用来显示当前幻灯片页面

自定义主题

landslide的默认主题实在是难看,不过还好landslide提供了使用主题的功能,默认还带了几个来着。对于使用pip安装的文件landslide,主题在对应的theme文件夹里,路径是:

/usr/lib/python3.7/site-packages/landslide/themes

landslide默认带了五个主题,除了默认的default外,还有leapmotion,light,ribbon,tango四个,使用其他主题的方法是-t参数:

1
landslide markdown.md -i -t 主题名 -o markdown.html

除了自带的主题外,在Github上还能找到很多landslide的主题,如果你会使用css的话也可以自己编写一个主题。下面Show一下我根据ribbon修改的主题:

全屏的显示效果如下:

最后放上对应的Markdown文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#  
#  
#  


# Markdown PPT powered by landslide.
by spacexi @ 6, Dec. 2018



---

# First Markdown PPT

Landslide generates a slideshow using from markdown, ReST, or textile. It builds off of Google's html5slides template.

+ Your Markdown source files must be suffixed by .md, .markdn, .mdwn, .mdown or .markdown
+ To create a title slide, render a single h1 element (eg. # My Title)
Separate your slides with a horizontal rule (--- in markdown) except at the end of md files
+ Your other slides should have a heading that renders to an h1 element
To highlight blocks of code, put !lang where lang is the pygment supported language identifier as the first indented line

That's all