refactor: use docusaurus structure

This commit is contained in:
endiliey 2018-08-05 14:54:20 +08:00
parent 44eb7655ca
commit 45cf88e059
24 changed files with 152 additions and 123 deletions

View file

@ -22,14 +22,14 @@ function parse(fileString) {
return {metadata, content};
}
async function loadBlog(sourceDir) {
const blogFiles = await globby(['**/*.md', '!.blogi', '!node_modules'], {
cwd: sourceDir
async function loadBlog(siteDir) {
const blogFiles = await globby(['**/*.md', '!.munseo', '!node_modules'], {
cwd: siteDir
});
const blogDatas = await Promise.all(
blogFiles.map(async file => {
const filepath = path.resolve(sourceDir, file);
const filepath = path.resolve(siteDir, file);
const fileString = await fs.readFile(filepath, 'utf-8');
const {metadata, content} = parse(fileString);

View file

@ -1,8 +1,8 @@
const fs = require('fs-extra');
const path = require('path');
module.exports = function loadConfig(sourceDir, deleteCache = true) {
const configPath = path.resolve(sourceDir, 'config.js');
module.exports = function loadConfig(siteDir, deleteCache = true) {
const configPath = path.resolve(siteDir, 'config.js');
if (deleteCache) {
delete require.cache[configPath];
}

View file

@ -4,12 +4,12 @@ const loadConfig = require('./config');
const loadBlog = require('./blog');
const {generate} = require('../helpers');
module.exports = async function load(sourceDir) {
module.exports = async function load(siteDir) {
// load siteConfig
const siteConfig = loadConfig(sourceDir);
const siteConfig = loadConfig(siteDir);
// extract data from all blog files
const blogDatas = await loadBlog(sourceDir);
const blogDatas = await loadBlog(siteDir);
await generate(
'blogDatas.js',
@ -23,12 +23,12 @@ module.exports = async function load(sourceDir) {
// resolve outDir
const outDir = siteConfig.dest
? path.resolve(siteConfig.dest)
: path.resolve(sourceDir, '.blogi/dist');
: path.resolve(siteDir, '.munseo/dist');
// resolve the path of our app user interface layout
const uiPath =
!siteConfig.uiPath ||
!fs.existsSync(path.resolve(sourceDir, siteConfig.uiPath))
!fs.existsSync(path.resolve(siteDir, siteConfig.uiPath))
? path.resolve(__dirname, '../ui')
: siteConfig.uiPath;
@ -37,7 +37,7 @@ module.exports = async function load(sourceDir) {
return {
siteConfig,
blogDatas,
sourceDir,
siteDir,
outDir,
uiPath,
publicPath