用MarkDown写跨平台的PPT

0. 先来个最终效果

最终效果图

1. 预备知识

1.1 实现机制

  • Pandoc,一个格式转换器,PDF,Markdown,Word,LaTex支持几十种格式互转,堪称文档格式转换届的瑞士军刀
  • MarkDown,这是轻文档格式
  • Html,这是网页,有浏览器就能看
  • Reveal.js 这是一个文档展示的框架

1.2 需要的材料

  • [Pandoc]{.highlight} ver 2.11.3.2 跨平台,Linux,Windows均有
  • [Reveal.JS]{.highlight} ver 4.1.0
  • 写MarkDownD文档的编辑器,记事本都可以

2. 从源码逐步看

2.1 首页

title: 5分钟写完一个跨平台的PPT
author: Adam Xiao
date: Jan 20, 2021
---
  • 首页的代码其实就这么几行,很固定,标题,作者,日期

  • ---这个相当于ppt的分页符,多于3个的-就可以,如果喜欢你可以写10个


2.2 第二页


# 预备知识

## 实现机制

这里的 # 是Markdown的标题分级,#代表第一级标题 ##代表第二级标题

当然你写几个井号就是第几级标题了啊,不过这里一般不建议多于三级


2.3 如何嵌入图片呢

引用图片
![](./convert.png)  
引用网页
[url](https://www.baidu.com/) 

这里是Markdown引用图片的语法,引用网页也是类似,少一个!而已。
[]里面填的是图注或者url显示的名称。


2.4 如何分栏显示呢

:::::::::::::: {.columns}
::: {.column width="40%"}
第一栏里面要写东西
:::
::: {.column width="30%"}
第二栏里面要写东西
:::
::: {.column width="30%"}
第三栏里面要写东西
:::
::::::::::::::

这个语法是pandoc赋予的转换规则,不是markdown的,不过看起来也容易理解

这个功能实际上用的不太多。


2.5 如何写幻灯片注释呢

:::notes
我是演讲者模式的备注.exe
:::

在某张幻灯片的任意处添加这个,那么这些东西只会在演讲者模式中呈现。

按 [S]{.highlight} 可以打开演讲者模式。

顺便提一下,按B是黑屏,按shift+?是帮助菜单,Esc是全景式图


2.6 如何高亮某部分

 [要高亮的内容]{.highlight}

在外部搞个css文件

/* custom.css */
.highlight {
    color: red;
    border-style: double;
    font-size: larger;
}

3. 从源码转成PPT

3.1 基本命令

pandoc 源码.md -s -o 展示文件.html -t revealjs 
  1. -o 输出成什么
  2. -s 标准的html
  3. -t revealjs 按照reveal.js的格式输出

3.2 个性化指令

pandoc 源码.md  --css custom.css -s -o 展示文件.html -t revealjs -i -V theme=league -V revealjs-url=./revealjs
  1. -i 表示所有标题类文本按一下空格才显现
  2. -V theme=league 选择幻灯片主题
  3. -V revealjs-url=./revealjs 如果离线环境可以指定js脚本本地路径
  4. –css custom.css 指定源码中使用的特殊格式的css文件路径

4. 如何播放

4.1 有外网播放方式

直接把生成的html文件运行即可


4.2 无外网播放方式

把html文件,和reveal.js脚本文件夹和资源文件放在一起,运行

5. 彩蛋

其实这篇文章就是用生成ppt的md略作修改发的博客哟。

5.1 这篇博文的PPT md源码

编译指令:

pandoc --css custom.css -s test.md -o index.html -t revealjs -i -V theme=league -V revealjs-url=./revealjs

test.md

---
title: 5分钟写完一个跨平台的PPT
author: Adam Xiao
date: Jan 20, 2021
---

# 预备知识

## 实现机制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YNb8eekY-1611140591884)(./convert.png)]

:::::::::::::: {.columns}
::: {.column width="50%"}
- Pandoc
- MarkDown
:::
::: {.column width="50%"}
- Html
- Reveal.js
:::
::::::::::::::


::: notes
- pandoc,一个格式转换器,PDF,Md,Word,LaTex支持几十种格式互转,堪称文档格式转换届的瑞士军刀
- MarkDown,这是轻文档格式
- Html,这是网页,有浏览器就能看
- revealjs 这是一个文档展示的框架
:::

---

## 需要的材料

- [Pandoc]{.highlight} ver 2.11.3.2 跨平台,Linux,Windows均有
- [Reveal.JS]{.highlight} ver 4.1.0
- 写MarkDownD文档的编辑器,记事本都可以

-----

# 从源码逐步看

## 首页

```md
title: 5分钟写完一个跨平台的PPT
author: Adam Xiao
date: Jan 20, 2021
---
```

- 首页的代码其实就这么几行,很固定,标题,作者,日期

- `---`这个相当于ppt的分页符,多于3个的`-`就可以,如果喜欢你可以写10个

----

## 第二页

```md

# 预备知识

## 实现机制

```


这里的 `#` 是Markdown的标题分级,`#`代表第一级标题 `##`代表第二级标题


:::notes
当然你写几个井号就是第几级标题了啊,不过这里一般不建议多于三级
:::

------

## 如何嵌入图片呢

```md
引用图片
![](./convert.png)  
引用网页
[url](https://www.baidu.com/) 
```

这里是Markdown引用图片的语法,引用网页也是类似,少一个!而已。

:::notes
[]里面填的是图注或者url显示的名称。
:::


----


## 如何分栏显示呢

```md
:::::::::::::: {.columns}
::: {.column width="40%"}
第一栏里面要写东西
:::
::: {.column width="30%"}
第二栏里面要写东西
:::
::: {.column width="30%"}
第三栏里面要写东西
:::
::::::::::::::
```

这个语法是pandoc赋予的转换规则,不是markdown的,不过看起来也容易理解

:::notes
这个功能实际上用的不太多。
:::

-------

## 如何写幻灯片注释呢

```md
:::notes
我是演讲者模式的备注.exe
:::
```

在某张幻灯片的任意处添加这个,那么这些东西只会在演讲者模式中呈现。

按 [S]{.highlight} 可以打开演讲者模式。

:::notes
顺便提一下,按B是黑屏,按shift+?是帮助菜单,Esc是全景式图
:::

------

## 如何高亮某部分

```md
 [要高亮的内容]{.highlight}
```

在外部搞个css文件

```css
/* custom.css */
.highlight {
    color: red;
    border-style: double;
    font-size: larger;
}
```


# 从源码转成PPT

## 基本命令

```sh
pandoc 源码.md -s -o 展示文件.html -t revealjs 
```

1. -o 输出成什么
2. -s 标准的html
3. -t revealjs 按照reveal.js的格式输出

------


## 个性化指令


```sh
pandoc 源码.md -s -o 展示文件.html -t revealjs -i -V theme=league -V revealjs-url=./revealjs
```

1. -i 表示所有标题类文本按一下空格才显现
2. -V theme=league 选择幻灯片主题
3. -V revealjs-url=./revealjs 如果离线环境可以指定js脚本本地路径



# 如何播放

## 有外网播放方式

直接把生成的html文件运行即可

---------------


## 无外网播放方式

把html文件,和reveal.js脚本文件夹和资源文件放在一起,运行



# Thank you

## Q & A
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值