代码拉取完成,页面将自动刷新
import 'dart:io';
import 'package:path/path.dart' as path;
void main() async {
await Process.run('cp', ["-r", "docs/imgs/.", "book/imgs"]);
await Process.run('cp', [ "docs/img_des.txt", "book/img_des.txt"]);
await walk("docs", "book");
await Process.run('rm', ["-f","book/README.docx"]);
await Process.run('rm', ["-f","book/SUMMARY.docx"]);
}
//遍历JSON目录生成模板
walk(String srcDir, String distDir) async {
if (srcDir.endsWith("/")) srcDir = srcDir.substring(0, srcDir.length - 1);
if (distDir.endsWith("/")) distDir = distDir.substring(0, distDir.length - 1);
var src = Directory(srcDir);
var list = src.listSync(recursive: true);
if (list.isEmpty) return false;
if (!Directory(distDir).existsSync()) {
Directory(distDir).createSync(recursive: true);
}
for (var f in list) {
String filePath = f.path;
if (FileSystemEntity.isFileSync(filePath)) {
//File file = File(f.path);
var ext = path.extension(filePath);
if (ext != ".md") continue;
var output =
filePath.replaceFirst("docs/", "book/").replaceFirst(".md", ".docx");
var dir = path.dirname(output);
print(dir);
if (!Directory(dir).existsSync()) {
Directory(dir).createSync(recursive: true);
}
await Process.run('pandoc', ["-s", filePath, "-o", output,"--extract-media=docs/imgs"]);
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。