此文主要分享了如何将自己博客园的文章自动导出到 Markdown 文档进行存储,以便在本地进行归档管理,程序中也对文章的分类、tag、代码块以及文章中的图片进行了保存处理,以便上传到自己的图床。
codeblock
中,你也可以修改源码保存成其他的格式块; EntryName
,那生成的文件名就会非常的友好; 抓取保存后文件预览。
这里使用了一个开源的组件 Html2Markdown ,在控制台安装组件后就可以使用了,主要支持两个方法。
对字符串进行转换
var html = "Something to <strong>convert</strong>"; var converter = new Converter(); var markdown = converter.Convert(html);
对文件进行转换
var path = "file.html"; var converter = new Converter(); var markdown = converter.ConvertFile(path);
具体的区别可以看这里,可以根据自己的情况对源码进行修改。
unix、windows、mac 的换行习惯
unix / linux:用 LF (/n) 表示一行结束。
mac:用 CR (/r) 表示一行结束。
windows:用 CR LF (/r/n) 和起来表示一行结束。
分析后发现通过模拟请求 API 获取即可,需要的参数通过正则匹配获取,返回数据为 Unicode 进行转码提取。
你可以修改源码开启或关闭此功能,使用文章中文件名作为保存到本地的文件名,并将文章中的图片前缀进行了替换,你可以替换成你自己新的图床地址。输出的图片文件在程序启动的 images
文件夹。
项目源代码在 GitHub
需要注意的问题是,项目中可能因为新旧文章中某些格式的变化导致抓取出来的 Markdown 格式可能稍有偏差,以及图片、代码块的处理,你需要去根据自己的博客去进行对应的调整后使用。