1

我正在使用 hexo 撰写博文草稿。我正在运行 hexo 服务器,如下所示:

hexo server --draft

这会监视草稿文件夹中的更改并生成草稿帖子,可以在http://0.0.0.0:4000查看

问题是我不知道如何在写草稿时使用实时重载。

用 livereload 我打电话

live-reload --port 9091 public/

并在浏览器中使用 javascript 实现

<script type="text/javascript" src="//localhost:9091"></script> 

我明白为什么这不起作用,live-reload 正在寻找对公用文件夹的更改。服务器在草稿模式下运行,我不知道 html 生成的草稿存储在哪个文件夹中。我搜索了我的项目结构,似乎看不到任何明显的东西。有任何想法吗?

4

4 回答 4

10

Hexo可以通过“基于 Browsersync ”的插件“ hexo-browsersync ”提供类似实时重载的功能。

实际上还有一个hexo-livereload插件,但是网络和hexo-browsersync 的 NPMJS 评级,似乎更喜欢Browsersync Hexo 插件

Christopher Martin 的博文“ Hexo 博客框架入门”概述了插件的安装和使用,以及许多其他有用的提示:

安装 hexo-browsersync 插件:

$ npm install hexo-browsersync --save
$ hexo server --draft --open #重启服务器

这可能比接受的答案更适合 OP 的原始问题。

于 2016-11-29T12:20:24.317 回答
2

这就是我通常做这种事情的方式:

hexo generate --draft --watch & live-server --port=4000 public

这会在文件夹中生成站点public并监视更改,同时还为所述public文件夹提供自动更新服务。

不完全回答具体问题,但也许有人会发现它很有用。

注意:如果通过 npm 脚本运行,您将需要全局安装live-server或本地安装。hexo-cli

于 2019-02-25T18:57:30.623 回答
1

hexo 服务器提供帖子的源版本而不是公共版本。如果您将 livereload 设置为观看源文件夹 livereload 将起作用。我建议将 livereload 设置为在处理之前使用 1 秒左右的延迟,以便在尝试重新加载之前进行动态源生成。

于 2016-07-05T05:24:42.693 回答
0

查看Github--draft上的选项实现表明它仅将处理器扩展到文件夹。因此,它放置草稿渲染文件的位置与放置已发布帖子的位置相同。post_draft

但是,hexo server不会public像问题所建议的那样将已发布的帖子保存在目录中;public目录仅由hexo generate命令填充。事实上,hexo 服务器不会保存临时文件,因为它会即时渲染它们。

我认为live-reload不会以这种方式工作。

于 2016-05-09T21:02:05.843 回答