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

时间:2017-07-07 22:13:58

标签: node.js reveal.js

根据reveal.js setup instructions,对于某些可用的功能(如外部Markdown和演讲者注释),演示文稿需要从本地Web服务器运行。

但是,如果我按照说明进行操作,则无法指定要开始的演示文稿,我得到的是一个包含两张幻灯片的演示文稿" Slide 1"和"幻灯片2"。查看section above时,似乎是演示文稿" index.html"在提供的reveal.js存储库中,即不是我想要呈现的表示。

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

1 个答案:

答案 0 :(得分:5)

使用symbolic links

我们假设您家中有一个目录,您可以在其中保留所有演示文稿。从您安装reveal.js的目录运行:

ln -s ~/presentations presentations

然后在浏览器中访问http://localhost:8000/presentations以获取所有演示文件的列表(当然,如果其中一个名为index.html)。单击其中任何一个即可显示它。

注意:如果您的演示文稿位于服务器的根目录(您安装reveal.js的目录)之外,则reveal.js资源链接必须是绝对的,而不是相对的。这样,它们将相对于根目录(reveal.js所在的位置)而不是当前目录(表示所在的位置)被拾取。

E.g。在示例演示文稿文件中,您需要转换这些行:

<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(); } }