如何指定从本地Web服务器运行的reveal.js演示文稿?

根据reveal.js 设置说明 ,为了使某些function可用(如外部Markdown和演讲者备注),演示文稿需要从本地Web服务器运行。

但是,如果我按照说明进行操作,则无法指定要开始的演示文稿,我所得到的只是包含两张幻灯片“幻灯片1”和“幻灯片2”的演示文稿。 在上面的章节中 ,看起来就像在presentation.js存储库中呈现的“index.html”,即不是我想呈现的表示。

如何从本地Web服务器运行我的演示文稿,而无需将reveal.js文件夹的内容复制或移动到演示文稿所在的文件夹中,而无需复制,移动或重命名演示文稿?

使用符号链接 。

假设你有一个目录在你的家里,你保留所有的演示文稿。 从您安装的目录中运行:

ln -s ~/presentations presentations 

然后在浏览器中访问http:// localhost:8000 / presentations来获取所有演示文件列表(当然除非其中一个名称为index.html)。 点击其中的任何一个来显示它。

注意:如果您的演示文稿位于服务器根目录(安装了reveal.js的目录)之外,那么reveal.js资源链接必须是绝对的,而不是相对的。 这样,他们会相对于根目录(其中reveal.js驻留),而不是当前目录(演示文稿所在的位置)获取。

例如在示例演示文件中,您需要将这些行转换为:

 <link rel="stylesheet" href="css/reveal.css"> <link rel="stylesheet" href="css/theme/black.css"> <link rel="stylesheet" href="lib/css/zenburn.css"> <script src="lib/js/head.min.js"></script> <script src="js/reveal.js"></script> { src: 'plugin/markdown/marked.js' }, { src: 'plugin/markdown/markdown.js' }, { src: 'plugin/notes/notes.js', async: true }, { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } } 

成:

 <link rel="stylesheet" href="/css/reveal.css"> <link rel="stylesheet" href="/css/theme/black.css"> <link rel="stylesheet" href="/lib/css/zenburn.css"> <script src="/lib/js/head.min.js"></script> <script src="/js/reveal.js"></script> { src: '/plugin/markdown/marked.js' }, { src: '/plugin/markdown/markdown.js' }, { src: '/plugin/notes/notes.js', async: true }, { src: '/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }