1

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 は public フォルダーへの変更を探しています。サーバーがドラフトモードで実行されているため、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 に答える
0

Github--draftでのオプションの実装を見ると、プロセッサをフォルダーに拡張するだけであることがわかります。したがって、ドラフト レンダリング ファイルを配置する場所は、公開された投稿を配置する場所と同じです。post_draft

ただし、質問で示唆されているように、公開された投稿をディレクトリhexo serverに保存しません。ディレクトリはコマンドによってのみ移入されます。実際、hexo サーバーはその場でレンダリングするため、一時ファイルを保存しません。publicpublichexo generate

live-reloadはこの方法では機能しないと思います。

于 2016-05-09T21:02:05.843 に答える