基于docker+reveal.js搭建一个属于自己的在线ppt网站

news/2024/5/8 16:56:08/文章来源:https://blog.csdn.net/weixin_30394633/article/details/96267781

前言

最近热衷于Docker,由于这段时间使用Docker来折腾自己的服务器,越来越感觉这是一种极其被应该推广的技术,因此想在公司内部也做一次技术分享。当然,如果只是做的PPT,我就不写这文章了。既然把Docker说这么好,那就想办法用Docker来搭建一个在线的PPT展示网站吧。

寻找合适的工具

在网上搜了一下,发现reveal.js这个工具的展示效果非常好,它基于HTML即可完成在线PPT的制作,而且在移动设备上也有非常好的兼容性,同时也支持直接用markdown语法来写,毫无疑问,这个就是我要找的工具,在Docker hub上搜索了一下,果然已经有现成的镜像,对比了一下,最后决定选用nbrown/revealjs。当然如果你完全不懂HTML,官方也提供了一个在线版的可视化编辑器:https://slides.com/

开始搭建

还记得之前写的这篇:Centos7.4下用Docker-Compose部署WordPress(续)-服务器端用Nginx作为反向代理并添加SSL证书(阿里云免费DV证书) 的文章吗?
基于之前的环境,我们已经有了:

  • 安装好的docker和docker compose环境
  • Docker network nginx-proxy
  • ssl证书存放的目录:wp_certs
  • 从阿里云申请免费DV的方法

假设上面这些都已经完成,搭建一个基于HTTPS的在线PPT演示网站就是分分钟的事?确实,我们仅需要再写一个docker-compose.yml配置文件即可:

version: '3'services:revealjs:#image: nbrown/revealjs:latestimage: nbrown/revealjs:3.5.0-onbuildcontainer_name: mypptrestart: alwaysexpose:- 8000 # 这个是镜像默认的端口volumes:- $PWD/content/index.html:/reveal.js/index.html # 首页- $PWD/content/tutorial/docker/index.html:/reveal.js/tutorial/docker/index.html # Docker教程作为一个独立的页面environment:VIRTUAL_HOST: ppt.fujiabin.com # 选用这个域名,需要在域名解析中绑定一下A记录networks:default:external:name: nginx-proxy # 这个很眼熟,就是以前nginx反向代理的那个docker网络

执行:

docker-compose up -d

网站就建设完成了。


开始编写PPT

从revealjs的github源码上下载源码,在demo.html中,包含了所有的使用方法,我根据自己的使用过程简单整理下它的基本功能。


键盘事件

  • esc: 可以切换到PPT页面的预览模式
  • b: 黑屏模式,可以在需要暂停演示但又不想听众被PPT内容吸引的时候进入这个模式
  • s: Speader View模式,可以在扩展屏幕上展示提示内容、当前时间、已经展示的时间、下一屏内容等信息
  • 方向键: 上下左右切换PPT(对,你没看错,revealjs也可以写上下切换的PPT)


样式及动画效果

revealjs支持好多种PPT的过场动画效果、主题样式,也支持自定义PPT背景(支持图片、视频和gif)。

你可以在demo.html中找到所有你喜欢的这些内容并应用在自己的PPT中。


语法简介

所有的PPT页,需要包含到<div class="slides"></div>这个标签中,每一页是一个<section></section>语块。


markdown语法解析内容

语块上加上标签data-markdown即可:<section data-markdown></section>


当前页上可上下切换的内容

在第一级<section></section>中嵌套加入<section></section>,每个语块即为当前页面可上下切换的内容块。


当前页分段显示

<section id="fragments"></section>标签内部,每个class="fragment"的元素都将作为分段内容来进行展示。


高亮代码块

highlight

<pre><code class="hljs" data-trim contenteditable>
xxxx
</code></pre>


漂亮的表格

table

<table><thead><tr><th>Item</th><th>Value</th><th>Quantity</th></tr></thead><tbody><tr><td>Apples</td><td>$1</td><td>7</td></tr><tr><td>Lemonade</td><td>$2</td><td>18</td></tr><tr><td>Bread</td><td>$3</td><td>2</td></tr></tbody>
</table>


内容引用

blockquote

<blockquote cite="xxxxx">
</blockquote>


非常实用的Speaker View功能

<aside class="notes">标签中的内容,页面上不可见,但在Speaker View模式下写一些演讲提示内容:

<aside class="notes">
Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).
</aside>

speaderview


其他特性

  • 局部内容放大
  • 内部页面跳转
  • 导出为PDF
  • 可扩展javascript api
  • 自动播放
  • 自定义键盘事件
  • ...等


最终,在本地完成了HTML文件后,将文件上传或拷贝到服务器上指定的位置,我的成品如下:Docker入门,虽然也没用到所有特性,但是常用的那些基本都有涉及。



本文在博客园和我的个人博客www.fujiabin.com上同步发布。转载请注明来源。


参考文档

  • revealjs官网

转载于:https://www.cnblogs.com/wushangjue/p/7908037.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_837860.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

seo是计算机专业毕业,本科计算机专业的他,在34岁时成为了银行行长

曾经看到过这样一段话&#xff0c;意思是说个人成长和人生选择过程中有这三个悖论&#xff1a;在你18岁对学科与知识一无所知的时候&#xff0c;就被要求选择自己的专业;在你22-25岁对商业世界运行规则毫无概念的时候&#xff0c;就被要求选择工作方向;在你25-28岁对自己和人际…

oss存html静态文件,Github改造成免费OSS对象存储,加速网站静态文件(js/css/字体文件)...

今天小白看到一篇文章&#xff0c;可以把github改成图床使用。小白测试了一下CDN居然还是国内的。那么咱们也可以把它改造成oss来加速网站使用。如果你是wordpress&#xff0c;那么可以查看以下文章&#xff1a;wordpress免插件实现静态资源CDN 。其他程序的话就得自己研究下怎…

支付宝电脑网站支付

选择电脑网站支付&#xff0c;填写信息&#xff0c;创建网站应用 下载demo  https://docs.open.alipay.com/54/106682/ 填写配置信息 同步和异步。 1.同步是给用户发的。用get 2.异步是被服务器发的。用post 当一个支付请求被发送到支付渠道方&#xff0c;支付渠道会很快返回…

python3.6+django2.0+mysql搭建网站

之前用过python2.7版本&#xff0c;改用3.6版本发现很多语法发生了变化。 在templates里新建一个html文件&#xff0c;命名为index.html作为要测试的界面&#xff0c; 新建一个应用&#xff0c;Tools-》Run manage.py Task 输入startapp应用名称 然后对urls进行配置&#xff0…

GitHub上搭建个人网站

大致如下步骤&#xff1a;1、注册Git账号2、创建SSH keys3、新建repository---4、设置网站5、clone库到本地6、提交、上传7、预览本教程默认你了解GitHub的基础之上 会使用基本命令&#xff0c;如果不了解 前三步可参考文章&#xff1a;GitHub入门教程 GitHub创建SSH Keys一、…

Bootstrap网站模板

分享一下我老师大神的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;还带黄段子&#xff01;希望你也加入到我们人工智能的队伍中来&#xff01;https://blog.csdn.net/jiangjunshow基于上一篇文章,觉得再这样写下去,意义不大,决定收手。还是直接做…

角点 python实现_角点科技教你怎么自己搭建电影网站

如何自己搭建电影网站&#xff1f;随着网络的发展&#xff0c;很多人都对网站的产生了兴趣&#xff0c;开始大多数人并不知道网站是怎么搭建 的&#xff0c;接下来角点科技的小编就来和大家聊聊如何自己搭建电影网站。前期准备&#xff1a;域名空间&#xff08;几大主流服务商&…

云速建站_【云速建站】云建站的最初动机和试探之路

一直想写一篇华为云的文章&#xff0c;今天就描述下我的华为云体验之旅。一、 独行键盘侠作为程序员&#xff0c;老有研究技术的冲动&#xff0c;csdn&#xff0c;GitHub&#xff0c;技术论坛没少逛。有一天突然想能不能有一台自己专属的服务器&#xff0c;既可以自己研究下技术…

Socket和访问网站慢的问题

目录 TCP/IP socket 一、socket()套接字有哪些&#xff1f; socket通信流程 四、如果你访问一个网站很慢&#xff0c;怎么排查和解决&#xff1f; TCP/IP 要想理解socket首先得熟悉一下TCP/IP协议族&#xff0c; TCP/IP&#xff08;Transmission Control Protocol/Intern…

【一周安全热点】湖北首例入侵物联网案致十万台设备掉线|俄罗斯多个政府网站共泄露225万公民信息...

湖北首例入侵物联网案致十万台设备掉线&#xff0c;暴露企业重业务轻安全 近日&#xff0c;湖北省破获首例入侵物联网计算机信息系统刑事案件。经统计&#xff0c;受害公司因超百台设备被恶意升级、10万台设备“被”离线而无法使用。 互联网发展早期&#xff0c;企业往往对安全…

在.net core上,Web网站调用微信支付-统一下单接口(xml传参)一直返回错误:mch_id参数格式错误...

这是 微信支付-统一下单 接口文档 一、问题描述 在调用统一下单接口时&#xff0c;报mch_id参数格式错误&#xff0c;但商户ID确实是10位数字正确的&#xff0c;可就是一直报这个错误 返回的错误xml如下&#xff1a; 二、排错过程 1、多次对比官网xml格式&#xff0c;确认生成…

连接打印机提示:找不到驱动程序,windows在网络上找不到Canon LBP2900的驱动程序,若要手动查找,请单击“确定”。否则,请单击“取消”并咨询你的网络管理员或者访问打印机制造商的网站

本机系统:windows server 2012 Datacenter Evaluation Build 9200 bit64 打印机USB连接的系统: windows XP SP3 bit32 解决: 问题在于本机系统与对方系统不一样,无法复制给你对应的驱动(一个是win2012,一个是xp ; 一个是64位,一个是32位) 那么就只能在网上下载本机系统的对应驱…

一文读懂网站SEO优化国际版

前言 SEO即Search Engine Optimization搜索引擎优化&#xff0c;目的是通过提升网站在搜索引擎的排名来提升网站的自然流量。简而言之&#xff0c;SEO的工作原理是向搜索引擎证明您的内容是当前主题的最佳结果。SEO技术涉及关键字研究、内容创建、链接构建和技术审核等内容。 G…

apache网站服务器

apache简介 Apache HTTP Server&#xff08;简称Apache&#xff09;是Apache软件基金会的一个开放源码的网页服务器&#xff0c;可以在大多数计算机操作系统中运行&#xff0c;由于其多平台和安全性被广泛使用&#xff0c;是最流行的Web服务器端软件之一。它快速、可靠并且可通…

freebsd+Heartbeat2+php+postgres实现数据库复制和高可用网站

用2节点实现。采用heartbeat老版本2.x &#xff0c; 采用自己编写的resource agent&#xff0c;没有采用OCF 1 安装freebsd——废话 2 安装apache php &#xff08;略&#xff09; postgres&#xff0c;并设置复制&#xff0c;见&#xff1a; http://blog.csdn.net/zeeeitch/ar…

python爬取网站图像文件(网络爬虫)

一、代码 from bs4 import BeautifulSoup from bs4 import UnicodeDammit import urllib.request import threading def imageSpider(start_url):global threadsglobal counttry:urls[]requrllib.request.Request(start_url,headersheaders)dataurllib.request.urlopen(req)da…

html5 交互性网站,HTML5和CSS3的新交互性盘点:炫酷体验

【IT168 技术】本文标题的这副图片&#xff0c;是用Phosotshop制作的。但是&#xff0c;在搜索引擎中你却无法搜索到它&#xff0c;搜索引擎还没有强大到能够识别图片里面的文字。并且由于图片的体积不算太小&#xff0c;可能网速慢的网友在浏览的时候不得不耐心的等待图片的刷…

百度云cdn设置州五年制大专_使用CDN提升网站速度

CDN是什么鬼&#xff0c;下面我们就来介绍一下&#xff0c;CDN的全称是Content Delivery Network&#xff0c;即内容分发网络。CDN是构建在网络之上的内容分发网络&#xff0c;依靠部署在各地的边缘服务器&#xff0c;通过中心平台的负载均衡、内容分发、调度等功能模块&#x…

谷歌翻译影响vue_给自己的网站接入谷歌翻译,以及修复了一个谷歌翻译的一个bug...

给网站加谷歌翻译&#xff0c;搜索引擎一搜一大堆&#xff0c;这里不再赘述。只贴一个申请谷歌翻译的一个地址&#xff1a;https://translate.google.com/...和一段代码&#xff1a;下面是官方给出的代码&#xff1a;下面是我改良的代码&#xff1a;function googleTranslateEl…

mysql迅_soxuncms 搜迅电影系统php版是一套采用PHP+MySQL环境搭建的智能建站 ,拥有海量 片信息, Web Server 266万源代码下载- www.pudn.com...

文件名称: soxuncms下载 收藏√ [5 4 3 2 1 ]开发工具: PHP文件大小: 3820 KB上传时间: 2016-10-30下载次数: 0提 供 者: npg详细说明&#xff1a;搜迅电影系统php版是一套采用PHPMySQL环境搭建的智能建站系统&#xff0c;拥有海量的影片信息&#xff0c;本站坚持每月都有…