23 lines
1.4 KiB
JavaScript
23 lines
1.4 KiB
JavaScript
|
|
const marked = require('marked');
|
||
|
|
const fs = require('fs');
|
||
|
|
|
||
|
|
const files = ['开发合同.md', '附件一-硬件规格.md', '附件二-软件规格.md', '附件三-交付与验收标准.md'];
|
||
|
|
const styles = `body{font-family:"Microsoft YaHei",sans-serif;max-width:900px;margin:40px auto;padding:20px;line-height:1.8;color:#333}
|
||
|
|
h1{text-align:center;font-size:22px;border-bottom:2px solid #333;padding-bottom:10px}
|
||
|
|
h2{font-size:18px;margin-top:30px;border-left:4px solid #333;padding-left:10px}
|
||
|
|
h3{font-size:16px;margin-top:20px}h4{font-size:15px;margin-top:15px}
|
||
|
|
table{width:100%;border-collapse:collapse;margin:15px 0;font-size:14px}
|
||
|
|
th,td{border:1px solid #999;padding:8px;text-align:left}th{background:#f0f0f0}
|
||
|
|
p,li{font-size:14px}hr{border:none;border-top:1px solid #ccc;margin:30px 0}
|
||
|
|
pre{background:#f5f5f5;padding:15px;border-radius:4px;overflow-x:auto;font-size:13px}
|
||
|
|
code{font-family:Consolas,monospace}
|
||
|
|
.blank{color:#999;border-bottom:1px solid #999;display:inline-block;min-width:150px}
|
||
|
|
.sign{margin-top:60px}.sign div{display:inline-block;width:45%;vertical-align:top}`;
|
||
|
|
|
||
|
|
files.forEach(f => {
|
||
|
|
const md = fs.readFileSync(f, 'utf8');
|
||
|
|
const html = `<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>${f.replace('.md','')}</title><style>${styles}</style></head><body>${marked.parse(md)}</body></html>`;
|
||
|
|
fs.writeFileSync(f.replace('.md', '.html'), html);
|
||
|
|
console.log(`OK: ${f} -> ${f.replace('.md', '.html')}`);
|
||
|
|
});
|