diff --git a/README.md b/README.md index 71f2b15..9ecc083 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,74 @@ EndOfYear 点燃个人博客的年度辉煌! ![EndOfYear](static/endofyear.jpg) +## 用法 + +### 要求 + +- RSS 源必须输出文章全部内容,否则数据分析不准确。 +- Github 运行可能无法访问 RSS 源,请使用本地 Docker 运行。 +- 如果生成年度报告,请结合博客实际情况设置 RSS 输出文章数量。 + +### Github + +1. Fork 项目到个人仓库。 +2. 手动配置仓库的 Workflow permissions 设置为 **Read and write permissions**,否则无法写入 html 分支。 + 1. 导航到 **Settings**(设置)选项卡。 + 2. 在左侧导航栏中,点击 **Actions**(操作)。 + 3. 在 **General**(常规)页面下滑,找到 **Workflow permissions**(工作流权限)。 + 4. 在 **Workflow permissions** 中,选择 **Read and write permissions**(读写权限)。 + 5. 最后点击 **Save**(保存)。 +3. 在仓库首页打开目录下的 `config.ini` 配置文件,点击右上角工具栏的 **🖋️(钢笔)** 图标,在线编辑文件。 + - `web`:配置为 `false`。 + - `rss`:配置为 RSS 地址。 + +```ini +[default] +web = false + +[blog] +rss = https://blog.7wate.com/rss.xml +data = +``` + +4. 点击右上角的 **Commit changes** 提交到 `main` 分支,会自动运行 Actions。 +5. 等待 Actions 运行成功,将会部署静态网站文件至 `html` 分支。 +6. 开启 GitHub 仓库的 Pages 功能,默认为根目录。 +7. 访问个人网址,就可以看到啦~ + +### Docker + +1. 拉取 [endofyear](https://hub.docker.com/r/sevenwate/endofyear) 最新镜像。 + +```shell +docker pull sevenwate/endofyear:latest +``` + +2. 映射容器 7777 端口至宿主机端口,指定 `rss` 环境变量,然后运行 Docker。 + +```shell +# 请将 https://blog.7wate.com/rss.xml 替换为自己的 RSS 地址。 +docker run -p 7777:7777 --env rss=https://blog.7wate.com/rss.xml sevenwate/endofyear:latest +``` + +3. 访问网址 `localhost:7777` + +## Q&A + +### Github Actions 运行失败 + +请查阅 Actions 的第六步输出的 Log 日志排错。 + +### Docker 运行无法访问 Web 服务 + +1. 请检查**容器映射端口**至宿主机。 +2. 请检查是否配置 **rss 环境变量**。 +3. 请查看 Docker **运行日志**。 + +### 博客数据分析不准确 + +目前会根据个人时间进一步迭代,可以点个 Watch 订阅进度。 + ## 流程 EndOfYear 通过 RSS 获取博客文章数据,对文章数据进行统计、分析和整理,最终输出为 HTML,客观地反映了博客一年的写作情况。 @@ -54,51 +122,6 @@ sequenceDiagram 9. Flask 使用整理后的数据渲染 HTML 页面。 10. Flask 返回渲染后的 HTML 页面给用户。 -## 用法 - -### Github - -1. Fork 项目到个人仓库 -2. 手动配置仓库的 Workflow permissions 设置为 **Read and write permissions**,否则无法写入 html 分支。 - 1. 导航到 **Settings**(设置)选项卡。 - 2. 在左侧导航栏中,点击 **Actions**(操作)。 - 3. 在 **General**(常规)页面下滑,找到 **Workflow permissions**(工作流权限)。 - 4. 在 **Workflow permissions** 中,选择 **Read and write permissions**(读写权限)。 - 5. 最后点击 **Save**(保存)。 -3. 在仓库首页打开目录下的 `config.ini` 配置文件,点击右上角工具栏的 **🖋️(钢笔)** 图标,在线编辑文件。 - - `web`:配置为 `false`。 - - `rss`:配置为 RSS 地址。 - -```ini -[default] -web = false - -[blog] -rss = https://blog.7wate.com/rss.xml -data = -``` - -4. 点击右上角的 **Commit changes** 提交到 `main` 分支,会自动运行 Action。 -5. 等待 Action 运行成功,将会部署静态网站文件至 `html` 分支。 - -6. 开启仓库的 Pages 功能,默认为根目录。 -7. 访问个人网址,就可以看到啦~ - -### Docker - -1. 拉取最新镜像 - -```shell -docker pull sevewate/endofyear:latest -``` - -2. 指定 `rss_url` 环境变量,运行 Docker。请将 `https://blog.7wate.com/rss.xml` 替换为自己的 RSS 地址。 - -```shell -docker run -p 7777:7777 --env rss=https://blog.7wate.com/rss.xml sevewate/endofyear:latest -``` - -3. 访问网址 `localhost:7777` ## 路线图 @@ -109,10 +132,12 @@ EndOfYear 目前处于初始阶段,如果您有兴趣,可以为其做出贡 - [ ] 对博客系统的数据源进行全面、规模性的测试。 - [ ] 进一步细化数据分析维度和数据颗粒度,精准描绘用户画像。 - [ ] 渲染数据的规范,约束主题开发,提高主题的兼容性。 +- [ ] 剥离数据分析和主题,提供更好地适用方式。 ### V2 -- [ ] 丰富和完善主题。 +- [ ] 进一步丰富和完善主题。 +- [ ] EndOfYear 项目展示首页,使用文档,主题开发等。 - [ ] 实现轻量化的运行部署,一键运行。 - [ ] 探索以插件的方式附加到博客系统的方法。