GitHub 标星 54K + 2K!这才是程序员写逼格满满的 PPT 的正确姿势!

简介: GitHub 标星 54K + 2K!这才是程序员写逼格满满的 PPT 的正确姿势!

reveal-md


reveal-md 是使用 Markdown 来做 PPT 展示的开源项目,标星 2.1K 。


安装


npm install -g reveal-md


使用


reveal-md path/demo.md


其中,path/demo.md 是你的 Markdown 文件地址,可以使用本地地址,也可以使用 URL。


使用如下的 Markdown 文件 demo.md :


## 前端GitHub
* 大前端集合
* GitHub 优秀开源项目推荐
---
## 内容
> 专注于挖掘优秀的前端开源项目,抹平你的前端信息不对称。
涵盖 JavaScript、Vue、React、Node、小程序、Flutter、Deno、HTML、CSS 等!
---
## 前端资源合集
* 收集、整理、推荐业界高品质前端资源合集
* 优秀的工具、库、好的教程
* 了解业界更优秀的代码、工具、业界最新的技术


在终端运行命令:reveal-md ./demo.md


效果如图:


微信图片_20220513160313.gif


主题使用


包含的主题有以下几种:


  • beige
  • black
  • blood
  • league
  • moon
  • night
  • serif
  • simple
  • sky
  • solarized
  • white


比如指定 league 主题使用:


reveal-md path/demo.md --theme league

效果如图:


微信图片_20220513160344.gif


还可以指定自己写的主题,也就是自己写的 css 样式,使用自定义主题后,会覆盖默认的主题。


比如自定义文件位于 ./theme/my-custom.css 中时,指定对应的路径即可。


reveal-md slides.md --theme theme/my-custom.css


项目地址:


https://github.com/webpro/rev...

reveal.js


微信图片_20220513160413.gif


这是一个基于 CSS 的 3D 幻灯片工具,标星 54K。


Reveal.js 做 PPT 的优点是可以使用 markdown 语言直接写静态的文本,并可以加入各种 html 语言支持的交互动画,然后由 Pandoc 直接转化成 PPT。


reveal.js 是一个开放源代码 HTML 表示框架。 它使使用 Web 浏览器的任何人都可以免费创建功能齐全且美观的演示文稿。


该框架具有广泛的功能,包括嵌套幻灯片,Markdown 支持,自动动画,PDF 导出,演讲者注释,LaTeX 支持,语法突出显示的代码等等。


reveal.js 有一下几个特点:


  • 支持标签来区分每一页幻灯片
  • 可以使用 markdown 来写内容
  • 支持 pdf 的导出
  • 支持演说注释
  • 提供 JavaScript API 来控制页面
  • 提供了多个默认主题和切换方式
  • 自适应移动端和 PC 端


使用


使用分为 基本使用、完整安装、npm 方式安装 3 种方式。


基本使用


  1. 下载最新的 manifest.js版本 https://github.com/hakimel/reveal.js/archive/master.zip
  2. 解压缩并将 index.html 中的示例内容替换为您自己的内容
  3. 在浏览器中打开 index.html 进行查看

完整安装


安装:


git clone https://github.com/hakimel/reveal.js.git


cd reveal.js && npm install


npm start


打开 http://localhost:8000 查看您的演示文稿。


npm 方式安装


npm install reveal.js
# or
yarn add reveal.js


直接导入使用


import Reveal from 'reveal.js';
import Markdown from 'reveal.js/plugin/markdown/markdown.esm.js';
let deck = new Reveal({
   plugins: [ Markdown ]
})
deck.initialize();


还需要添加 reveal.js 样式 和 主题.


<link rel="stylesheet" href="/node_modules/reveal.js/dist/reveal.css">
<link rel="stylesheet" href="/node_modules/reveal.js/dist/theme/black.css">

使用


幻灯片的内容需要包含在 <div class="reveal"> <div class="slides"> 的标签中。


一个 section 是一页幻灯片。当 section 包含在 section 中时,是一个纵向的幻灯片。


怎么理解呢? 可以这样理解:横向的幻灯片代表一章,纵向的幻灯片代表一章中的一节。那么横向的幻灯片在播放时是左右切换的,而纵向的幻灯片是上下切换的。


For example:


<div class="reveal">
    <div class="slides">
        <section>Single Horizontal Slide</section>
        <section>
            <section>Vertical Slide 1</section>
            <section>Vertical Slide 2</section>
        </section>
    </div>
</div>


html 实现


标题和正文


section 中的内容就是幻灯片的内容,你可以使用 h2 标签标示 titlep 表示内容。需要红色的字体可以直接设置 stylecolorred


当某一页需要特殊背景色,可以使用 data-backgroundsection 上设置, data-background-transition 表示背景的过渡效果。


For example:


<section data-background-transition="zoom" data-background="#dddddd">


如果需要正文一段一段出现。可以使用 fragment


For Example:


<p class="fragment"></p>


代码


reveal.js 使用 highlight.js 来支持代码高亮。可以直接写 code 标签来实现, data-trim 表示去除多余的空格。


For Example:


<pre><code data-trim>
  console.log('hello reveal.js!');
</code></pre>


注释


在演说时,会用到注释,对于注释,可以通过 <aside class="notes"> 来实现。

For Example:


<aside class="notes">
  这里是注释。
</aside>


在幻灯片页面,按下 s 键,就可以调出注释页面,注释页面包含了当前幻灯片,下一章幻灯片,注释,以及幻灯片播放时间。


markdown 实现


reveal.js 不仅支持 html 表示来实现内容, 还可以通过 markdown 来实现内容。使用 markdown 实现内容时,需要对 section 标示添加 data-markdown 属性,然后将 markdown 内容写到一个 text/template 脚本中。


For Example:


<section data-markdown>
    <script type="text/template">
        ## Page title
        A paragraph with some text and a [link](http://hakim.se).
    </script>
</section>
背景色,fragment功能的实现,可以通过注释来实现。For Example:
<section data-markdown>
    <script type="text/template">
    <!-- .slide: data-background="#ff0000" -->
        - Item 1 <!-- .element: class="fragment" data-fragment-index="2" -->
        - Item 2 <!-- .element: class="fragment" data-fragment-index="1" -->
    </script>
</section>


外置 md 文件


reveal.js 可以引用一个外置的 markdown 文件来解析。


For Example:


<section data-markdown="example.md"  
         data-separator="^\n\n\n"  
         data-separator-vertical="^\n\n"  
         data-separator-notes="^Note:"  
         data-charset="iso-8859-15">
</section>


分页实现


一个 markdown 文件中可以连续包含多个章内容。可以在 section 中 通过属性 data-separator, data-separator-vertical 来划分章节。


For Example:


<section data-separator="---" data-separator-vertical="--"  >
  <script type="text/template">
    # 主题1
    - 主题1-内容1
    - 主题1-内容2
    --
    ## 主题1-内容1
    内容1-细节1
    --
    ## 主题1-内容2
    内容1-细节2
    ---
    # 主题2
  </script>
</section>


注释


对 section 添加 data-separator-notes="^Note:" 属性,就可以指定 Note: 后面的内容为当前幻灯片的注释。


For Example:


# Title
## Sub-title
Here is some content...
Note:
This will only display in the notes window.


导出 PDF


  • 在浏览器打开文件的 url 上添加 print-pdf 即可以,比如: http://localhost:8000/demo.html/?print-pdf,你可以测试一下官方的 revealjs.com/demo?print-pdf
  • 打开浏览器的保存为 pdf 的弹框,快捷键为:CTRL/CMD + P
  • 边距设置为 无
  • 勾上背景图形
  • 点击 保存 即可


微信图片_20220513160745.png


多主题


reveal.js 提供了多种样式。可以通过引用不同的主题来实现。具体主题查看 reveal.js/css/theme 下的 css 文件。


总结


reveal.js 来实现幻灯片,可以只关注内容,忽略各种切换效果。


而且可以使用 markdown 来实现,大大提高了编写效率。对于最后生成的 html 文件,可以部署到服务器,这样只需要网络就可以进行分享,不需要使用 U 盘拷来拷去了。

相关文章
|
架构师 Java 程序员
GitHub标星百万的程序员转架构之路,竟被阿里用作内部晋升参考
架构师是很多程序员的奋斗目标,也可以说是职场生涯的一个重要选择方向,今天我就跟大家聊一聊如何从一个程序员成长为一个架构师。
置顶两个月!《程序员如何向架构师转型》神作在Github持续霸榜
企业架构在过去十年中取得了长足的进步。随着越来越多新技术出现,充分利用这些因素来将企业架构创建得更好十分重要。通过将新技术集成到企业架构中,即使在困难时期,也能取得丰硕的成果。
|
架构师 Java 程序员
GitHub爆出初级程序员到架构师【程序员能力模型】星标150k
一个优秀的程序员应该有自己的职业规划,并且能够精准的定位自己所处的位置。一般来说,每一个位置都会有明确的划分,并且也应该能够得到相应的岗位待遇。而我们下面就是以北上深(一线城市)的学员做为调研对象,归纳总结了一个程序员从初级程序员到架构师的能力模型。
|
消息中间件 安全 Java
GitHub标星3.9万的Spring生态全家桶笔记,Java程序员人手一份
本篇将会带领大家从基础一直学习到SpringBoot源码层面!其中涵盖了Spring MVC、MyBatis(Plus)、Spring Data JPA、Spring Security、Quartz等一系列主流框架,同时还整合了一线互联网大厂常用技术与中间件等等内容!同时这篇PDF还是十分注重实战学习、学会定位和解决问题、能够举一反三的思考。
92 0
|
Java 程序员 Android开发
翻烂了!阿里P8总结最新Java程序员面试秘籍GitHub已霸占首页一周
自从Java语言上升为最常用的编程语言为止,越来越多的企业都在选用这个便捷实用的开发语言! Java程序员目前的前景可以说是一片光明,从网页到手机安卓开发已经都离不开Java
|
关系型数据库 MySQL 程序员
卷?阿里DBA首次公开MySQL调优笔记,竟让GitHub的程序员集体叫好
对于工作了两三年的技术人员来说,在实践上已经有了比较多的积累,解决过很多问题——可能通过sys schema查询事务锁等待解决了系统的并发问题;通过设计读写分离架构扩展了应用的读性能线性扩展问题 但是作为求知欲强的技术人员,我们急切地希望知其所以然,了解MySQL到底是怎么设计的,以及为什么这样设计,读写分离架构适应的场景有哪些?什么时候建议用分库分表?等等。
114 0
|
程序员 开发工具 开发者
程序员都该知道的 Github PR 流程
程序员都该知道的 Github PR 流程
343 0
|
前端开发 JavaScript 程序员
【程序员的福音】一款C#开源的GitHub加速神器
【程序员的福音】一款C#开源的GitHub加速神器
188 0
|
Devops 程序员 开发工具
C++——程序员的逼格神器-github
C++——程序员的逼格神器-github
|
人工智能 算法 IDE
让程序员动嘴写代码,Copilot测试新功能「嘿,GitHub!」
让程序员动嘴写代码,Copilot测试新功能「嘿,GitHub!」
223 0