如何使用hexo服务器--draft和Livereload

时间:2016-04-27 18:53:29

标签: livereload hexo

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

hexo server --draft

这会监视草稿文件夹中的更改并生成可在http://0.0.0.0:4000

查看的草稿帖子

问题是我在撰写草稿时无法弄清楚如何使用live-reload

通过livereload我打电话

live-reload --port 9091 public/

并使用浏览器中的javascript实现

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

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

4 个答案:

答案 0 :(得分:6)

Hexo 可以通过“live-reload”插件“Browsersync-based”提供类似hexo-browsersync的功能。

实际上还有一个hexo-livereload插件,但网络和hexo-browsersync's NPMJS rating似乎更有利于Browsersync Hexo plugin

Christopher Martin的博客文章“Getting Started with the Hexo Blogging Framework”概述了该插件的安装和使用,以及许多其他有用的提示:

  

安装hexo-browsersync插件:

     

$ npm install hexo-browsersync --save
  $ hexo server --draft --open #restart the server

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

但是,hexo server并未将public目录中的已发布帖子保存为问题所暗示的内容; public目录仅由hexo generate命令填充。事实上,hexo服务器不会保存临时文件,因为它会动态呈现它们。

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

答案 3 :(得分:0)

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

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 33588 entries, 0 to 33587
Data columns (total 6 columns):
car_year                 33588 non-null int64
make_model_bucket        33588 non-null int64
mileage                  33588 non-null int64
years_licensed_bucket    33588 non-null int64
zip_bucket               33588 non-null float64
monthly_price            33588 non-null int64
dtypes: float64(1), int64(5)
memory usage: 1.5 MB

这将在hexo generate --draft --watch & live-server --port=4000 public 文件夹中生成站点并监视更改,同时还通过自动更新为上述public文件夹提供服务。

不能完全回答特定问题,但是也许有人会发现它有用。

注意:您需要全局安装publiclive-server,如果通过npm脚本运行,则需要在本地安装。