如何使用具有不同source_dir和base_dir的hexoj?

时间:2016-04-28 21:57:56

标签: javascript node.js hexo

我使用名为“Whiteboard”的hexo.js开发了一个开源API文档工具 - https://github.com/mpociot/whiteboard

现在它可以通过克隆存储库,修改source文件夹内容并基本运行hexo servehexo generate来创建输出结果。

现在我想提供一个nodeJS模块,以便我可以像这样使用API​​文档工具:

var Whiteboard = require('whiteboard-api');
Whiteboard.generate(source_folder, target_folder);

我的问题是,hexo期望themes文件夹和source文件夹位于同一目录中。 但在我的情况下,主题将位于包含我的包的node-modules文件夹内,而源文件夹可能在某个地方完全不同。

有没有人建造类似的东西?

基本上我希望能够像这样调用hexo:

var hexo = new Hexo(DIRECTORY_CONTAINING_THE_THEME, {
    config: DIRECTORY_CONTAINING_THE_THEME + '_config.yml',
    source_dir: CUSTOM_SOURCE_DIRECTORY,
    public_dir: CUSTOM_PUBLIC_DIRECTORY
});

我尝试在hexo对象上​​设置source_dirpublic_dir,但在幕后,hexo尝试从最初给定的目录中加载文件。

有人可以帮我吗?这是否可以使用常规hexojs模块,或者我是否需要将其分叉并根据我的需要进行修改?

谢谢,

马塞尔

1 个答案:

答案 0 :(得分:0)

执行library(tidyr) examp <- unite(examp, filterme, filterme1, filterme2, remove = FALSE) examp$pattern <- str_extract_all(examp$filterme, 'ABB[0-9]{6}') 时,文件夹会获得examp$pattern。在此文件中,您可以更改行hexo init <folder>上的源文件夹和行_config.yml上的公用文件夹。我不确定您是否可以提供绝对路径或使用source_dir: source退出当前文件夹。我能够更改到当前目录中的文件夹。

主题文件夹似乎更深入到代码中,因为它是public_dir: public,其中THEME位于主题文件夹中。我这里没有任何建议。