Как использовать hexojs с другим source_dir и base_dir?

Я разработал инструмент документации API с открытым исходным кодом, используя hexo.js, который называется «Доска» — https://github.com/mpociot/whiteboard

Прямо сейчас он работает путем клонирования репозитория, изменения содержимого папки source и в основном запускает hexo serve или hexo 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
});

Я попытался установить как source_dir, так и public_dir для объекта hexo, но за кулисами hexo пытается загрузить файлы из изначально заданных каталогов.

Может кто-то помочь мне с этим? Возможно ли это даже с обычным модулем hexojs, или мне нужно его разветвить и изменить под свои нужды?

Спасибо,

Марсель


person Marcel Pociot    schedule 28.04.2016    source источник