#!/usr/bin/node //Copyright Chris Xiong 2018 //License: Expat (MIT) const content_dir='../content'; const template_dir='../templates'; const dest_dir='../generated'; const posts_per_listpage=5; const fs=require('fs'); const path=require('path'); const scanner=require('./scanner'); let list=scanner.scan(content_dir,dest_dir); const tags=scanner.build_list_index(); const taglist=Object.keys(tags).sort(); const force=process.argv.indexOf('--force')!=-1; const postrenderer=require('./postrenderer'); postrenderer.set_template(path.join(template_dir,'post_template')); function ensure_dir(p) { let needcreation=false; try{ if(!fs.statSync(p).isDirectory()) { needcreation=true; fs.unlinkSync(p); } }catch(e){needcreation=true;} if(needcreation)fs.mkdirSync(p); if(!fs.statSync(p).isDirectory())throw 'shit'; } const post_dir=path.join(dest_dir,'post'); ensure_dir(post_dir); for(let j=0;j{console.log(`rendered: ${r}`);}) } const listrenderer=require('./listrenderer'); listrenderer.set_template(path.join(template_dir,'list_template')); list = list.filter((t) => (t.date.indexOf('UNLISTED') == -1)); const list_dir=path.join(dest_dir,'list'); const ppp=posts_per_listpage; ensure_dir(list_dir); let pc=Math.floor(list.length/ppp)+(list.length%ppp!=0); for(let i=0;i