您是否想拥有自己的技术博客,或者文档站点?本工具将帮助您生成博客和文档的纯静态站点,让你可以轻松的部署到任何位置。
本工具将以命令行的方式提供,将在npm
和nuget
上发布。
效果展示:NilTor's Blog
Note
V1.0版本将不再维护,V2提供更加全面和灵活的支持!
相比其他类似工具,本工具具有以下特点:
- 极少的配置
- 同时支持主页/博客/文档/关于页的生成,形成完整的个人技术站点
- 支持博客的搜索和分类和存档筛选
- 自定义网站名称和说明
- 支持文档中本地图片路径
- 随系统变化的Light和Dark主题
- 移动端的自适应显示
- 良好的markdown渲染支持,包括:TOC/mermaid,nomnoml,Math的渲染以及代码高亮及代码复制操作
对技术文档的生成支持:
- 支持多技术文档
- 支持文档的多个版本
- 支持文档的多语言
本工具发布在npm
和nuget
上,你可以非常方便的通常以下命令安装。
npm i -g ater.easydocs
or
pnpm i -g ater.easydocs
dotnet tool install -g Ater.EasyDocs
安装完成后,你可以使用ezdoc
命令来操作。
Note
若要使用预览版,需要在安装时添加预览版标识,具体查看对应的命令。
您需要有一个代码仓库
用来存储您的markdown
文档,我们假设你的仓库在目录MyDocs
中。
现在定位到MyDocs
目录。
使用ezdoc init
命令初始化webinfo.json
文件,或手动创建该文件,文件内容如下:
{
"Name": "Niltor Blog", // 博客名称,显示在主页顶部导航
"Description": "🗽 for freedom",// 说明,显示在主页顶部中间
"AuthorName": "Ater", // 作者名称,显示在博客列表
"BaseHref": "/blazor-blog/", // 子目录
"Domain": "https://aterdev.github.io", // 域名,生成sitemap使用,不生成则留空
"DocInfos": [
{
"Name": "EasyDoc",
"Languages": [
"zh-cn",
"en-us"
],
"Versions": [
"2.0"
]
},
{
"Name": "example",
"Languages": [
"zh-cn",
],
"Versions": [
"1.0",
]
},
]
}
配置文件目前支持站点信息的配置,以及文档的配置。
文档的配置在DocInfos
节点,它是一个数组,可以配置多个文档。每个文档只需要填写文档名称
以及支持的语言
和版本
即可。
Important
注意,BaseHref
尾部的/
是必需的。
如果你配置了自定义域名,并且没有使用子目录,请将BaseHref设置为/
。
现在我们可以编写文档了,首先创建一个文件夹,名称不限,如Content
,然后在该目录下创建:
- blogs目录:该目录下的内容在生成时将作为博客内容
- docs目录:该目录下的内容在生成时将作为文档内容
- about.md:该文档将作为关于页内容进行展示
docs目录需要与配置文件中文档的配置相对应,先是文档名称
,然后是语言
,然后是版本
,其目录结构如下:
- docs
- EasyDoc
- zh-cn
- 2.0
- doc1.md
- doc2.md
- 2.0
- en-us
- 2.0
- doc1.md
- doc2.md
- xxx
- doc.md
- 2.0
- zh-cn
- example
- zh-cn
- 1.0
- doc.md
- 1.0
- zh-cn
- EasyDoc
按照以上约定管理您的文档即可。
在仓库根目录下,我们执行以下命令
ezdoc build .\Content .\WebApp
该命令将会把Content
目录下的所有内容生成静态站点,并生成到WebApp
目录下。
你可以使用http-server
命令来启动一个本地服务器,查看生成的内容。
🎉 WebApp
目录下就是静态网站需要的一切,你可以将它自由的部署到你需要的地方。
更多内容查看官方文档.