1.9.0 • Published 2 years ago

cnblog2md v1.9.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

cnblog2md

解析博客园备份 xml 文件,生成 markdown 和对应图片文件,并将文件保存到本地的命令行工具

安装

全局安装

npm i -g cnblog2md
cnb -v

局部安装

npm i cnblog2md -D
npx cnb -v

输出版本号即安装成功

使用示例

使用前需要准备好博客的备份文件,可以到 这里 去下载本分文件

为了减少对网站性能的影响,麻烦您在工作日18:00之后、8点之前或周六、周日进行备份。

⚠️ 需要注意的是,博客园备份功能开放时间是: 周一到周五 18:00-08:00 周六日全天

假设我们准备好了备份文件 CNBlogs_BlogBackup.xml ,运行以下命令

cnb -f CNBlogs_BlogBackup.xml -m mds -i imgs

解析完会在运行目录生成 mdsimgs 文件夹

如果不使用 -m-i 来自定义存储文件夹,则所有文件默认存放到运行目录

参数

简写全写必要性描述
-f--file要解析的 xml 备份文件路径
-m--md存储 md 文件的路径
-i--img存储图片文件的路径
-mi--mdimg自定义 md 文件中图片的相对路径
-a--auth自定义作者名称
-v--version查看版本号
-h--help查看帮助信息

自定义目录

可通过自定义设置保存目录来进行文件的保存,工具提供了日期时间模板的解析,使用时只需用 {{}} 包裹即可

常用格式化占位符如下,具体可参考 dayjs

占位符输出详情
YY18两位数的年份
YYYY2018四位数的年份
M1-12月份,从 1 开始
MM01-12月份,两位数
MMMJan-Dec缩写的月份名称
MMMMJanuary-December完整的月份名称
D1-31月份里的一天
DD01-31月份里的一天,两位数
d0-6一周中的一天,星期天是 0
ddSu-Sa最简写的星期几
dddSun-Sat简写的星期几
ddddSunday-Saturday星期几
H0-23小时
HH00-23小时,两位数

目录使用日期时间

有时候需要根据文章的发布日期来进行生成目录,如 mds/2022/xxx.md 或者 imgs/2022/10/24/xxxx.png

此时,只需要在命令行输入

cnb -f CNBlogs_BlogBackup.xml -m mds/{{YYYY}} -i imgs/{{YYYY}}/{{MM}}/{{DD}}

Markdown 图片自定义路径

如果要自定义 markdown 文件内图片的路径,如 ![](/public/xxxx.png)

则可以

cnb -f CNBlogs_BlogBackup.xml -mi /public

自定义输出文章格式

输入 markdown 文件时,通常我们需要自定义一些头部信息,工具默认输出文章格式如下

---
title:  文章标题
author: 作者
date: 文章发布时间
isPublished: 是否发布
categories:
  - 分组一
tags:
  - 标签一
  - 标签二
---

#  文章标题

文章内容

默认模版

如需自定义输入格式,可在运行目录新增 cnb-template.hbs 或者 cnb-template.handlebars 文件

默认解析模板如下,可根据需求进行更改,具体模版语法可查看 handlebars

---
title: {{safeTitle}}
author: {{author}}
date: {{date}}
isPublished: {{isPublished}}
categories:
{{#each categories}}
  - {{this}}
{{/each}}
tags:
{{#each tags}}
  - {{this}}
{{/each}}
---

# {{title}}

{{content}}

可用模版变量

变量名类型描述
titlestring文章标题
safeTitlestring标题中冒号替换成 ASCII 码,防止 markdown 前置 title 中报错
authorstring作者名
datestring文章发布日期
isPublishedboolean是否发布文章
categoriesstring[]文章分组
tagsstring[]文章标签
contentstring文章内容

License

MIT

1.9.0

2 years ago

1.8.0

2 years ago

1.7.0

2 years ago

1.6.19

2 years ago

1.6.18

2 years ago

1.6.17

2 years ago

1.6.16

2 years ago

1.6.15

2 years ago

1.6.14

2 years ago

1.6.13

2 years ago

1.5.13

2 years ago

1.5.12

2 years ago

1.5.11

2 years ago

1.4.11

2 years ago

1.4.10

2 years ago

1.4.9

2 years ago

1.3.9

2 years ago

1.3.8

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago