Я разработал инструмент документации 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, или мне нужно его разветвить и изменить под свои нужды?
Спасибо,
Марсель