gitbook 的基本用法非常简单,基本上就只有两步:
- 使用 gitbook init 初始化书籍目录
- 使用 gitbook serve 编译书籍
- npm install -g gitbook-summary ,use 'book sm' to generate a SUMMARY.md
- cd $note gitbook epub ./ note.epub gitbook mobi ./ note.mobi gitbook pdf note.pdf
modify gitbook-summary/lib/summary/index.js
function work(filesObj) {
_.forEach(filesObj, function(n, key) {
if (!_.includes(ignores, key)) {
if (_.isObject(n)) {
// The file is `readme.md`
if (_.isString(n['readme']) || _.isString(n['Readme']) || _.isString(n['README'])) {
var readmeDir = n['readme'] || n['Readme'] || n['README'];
desc += _.repeat(' ', step) + formatCatalog(key, '-') + readmeDir;
} else {
desc += _.repeat(' ', step) + "- " + prettyCatalogName(key) + "\n";
}
// It means folderName == subFileName, for example: */assets/assets.md or */Assets/assets.md
if (_.isString(n[key]) || _.isString(n[key.toLowerCase()])) {
var file = n[key] || n[key.toLowerCase()];
step += 2;
desc += _.repeat(' ', step) + formatCatalog(key, '*') + file;
step -= 2;
// Mark it to skip
skip = key;
}
// Start a loop
step += 2;
work(n);
step -= 2;
} else {
// Skip if `skip` exists or key == `readme`
if (isSkiped(key, skip)) {
return;
}
desc += _.repeat(' ', step) + formatCatalog(key) + n;
}
}
});
}