0

我使用名为“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 模块,还是我需要分叉它并根据我的需要进行修改?

谢谢,

马塞尔

4

1 回答 1

0

当你这样做时hexo init <folder>,文件夹会得到一个_config.yml. 在这个文件中你可以更改源文件夹就行source_dir: source和公用文件夹就行public_dir: public。我不确定您是否可以提供绝对路径或用于../退出当前文件夹。我已经能够更改到当前目录中的文件夹。

由于主题文件夹位于主题文件夹中,因此主题文件夹似乎更深入地嵌入了代码theme: THEME中。我在这里没有任何建议。

于 2016-04-29T01:23:04.497 回答