运行:修正 Actions 脚本

- Actions 脚本设置独立权限
 - 更新 README.md
This commit is contained in:
周中平 2023-12-04 16:54:54 +08:00
parent d6def4acd0
commit c621228996
Signed by: zhouzhongping
GPG Key ID: 6666822800008000
2 changed files with 54 additions and 54 deletions

View File

@ -8,7 +8,6 @@ on:
jobs: jobs:
build-and-run: build-and-run:
runs-on: ubuntu-latest runs-on: ubuntu-latest
# 不给权限会报错
permissions: permissions:
contents: write contents: write
steps: steps:

107
README.md
View File

@ -4,76 +4,77 @@ EndOfYear 点燃个人博客的年度辉煌!
![EndOfYear](static/endofyear.jpg) ![EndOfYear](static/endofyear.jpg)
## 用法 ## 使
### 要求 ### 要求
- **RSS 源务必输出文章全部内容**,否则数据分析不准确 - **确保 RSS 源提供完整的文章内容**为了保证数据分析的准确性RSS 源需要输出文章的全部内容
- Github 运行可能无法访问 RSS 源,请使用本地 Docker 运行。 - **在 GitHub 上运行**:由于 GitHub 运行环境可能无法访问某些 RSS 源,请考虑在本地 Docker 环境中运行。
- 如果生成年度报告,请结合博客实际情况**设置 RSS 输出文章数量。** - **适当设置 RSS 文章数量**:如果您的目的是生成年度报告,请根据博客的实际情况调整 RSS 输出的文章数量。
### Github ### 在 GitHub 上的使用步骤
1. Fork 项目到个人仓库。 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`:默认为 trueGithub 运行需要配置为 `false` 静态网站模式。
- `rss`:配置为 RSS 源地址。
```ini 2. 在仓库首页,找到并打开 `config.ini` 文件。点击右上角的 🖋️ 符号进行在线编辑。
[default]
web = false
[blog] - `web` 字段:将其**设置为 `false` 以启用静态网站模式**(适用于 GitHub 运行)。
rss = https://blog.7wate.com/rss.xml - `rss` 字段:填写您的 RSS 源地址,确保源地址提供全文输出。
```
4. 点击右上角的 **Commit changes** 提交到 `main` 分支,会自动运行 Actions。 ```ini
5. 等待 Actions 运行成功,将会部署静态网站文件至 `html` 分支。 [default]
6. 开启 GitHub 仓库的 Pages 功能,设置 `html`分支,默认为根目录。 web = false
7. 稍等访问个人网址,就可以看到啦~
[blog]
rss = https://blog.7wate.com/rss.xml
```
### Docker 3. 编辑完成后,点击页面右上角的 **Commit changes** 将更改提交到 `main` 分支。
1. 拉取 [endofyear](https://hub.docker.com/r/sevenwate/endofyear) 最新镜像 4. 提交后GitHub Actions 会自动运行并生成静态网站文件,最终推送至 `html` 分支
```shell 5. 在 GitHub 仓库的 Settings 中开启 Pages 功能,并将源设置为 `html` 分支的根目录。
docker pull sevenwate/endofyear:latest
```
2. 映射容器 7777 端口至宿主机端口,指定 `rss` 环境变量,然后运行 Docker 6. 稍后访问 GitHub Pages 分配的网址,即可看到生成的内容。
```shell ### 使用 Docker
# 请将 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` 1. **拉取 Docker 镜像**:从 [endofyear](https://hub.docker.com/r/sevenwate/endofyear) Docker Hub 页面拉取最新镜像。
```shell
docker pull sevenwate/endofyear:latest
```
2. **运行 Docker 容器**:映射容器的 7777 端口到宿主机的端口,并设置 `rss` 环境变量。
```shell
# 将 RSS 地址替换为您自己的。
docker run -p 7777:7777 --env rss=https://blog.7wate.com/rss.xml sevenwate/endofyear:latest
```
3. **访问本地网站**:在浏览器中访问 `localhost:7777`,即可查看结果。
## Q&A ## Q&A
### Github Actions 运行失败 ### Github Actions 运行失败
请查阅 Actions 的第六步输出的 Log 日志排错。 首先检查 Actions 日志的第六步输出,这里包含了导致运行失败的详细错误信息
### Docker 运行无法访问 Web 服务 ### Docker 运行无法访问 Web 服务
1. 请检查**容器映射端口**至宿主机。 如果在使用 Docker 时无法访问 Web 服务,请按照以下步骤进行故障排除:
2. 请检查是否配置 **rss 环境变量**
3. 请查看 Docker **运行日志** 1. **检查端口映射**:确保您已正确设置容器的端口映射到宿主机。
2. **确认 rss 环境变量**:请检查是否已正确配置 `rss` 环境变量。
3. **查看 Docker 日志**:如果以上步骤均无法解决问题,请查看 Docker 容器的运行日志以获取更多信息。
### 博客数据分析不准确 ### 博客数据分析不准确
目前博客的数据分析已经相对丰富,准确,未来会结合 AI 进行分析 目前提供的博客数据分析功能已经相对完善且准确。未来,我计划结合 AI 进一步优化分析效果,以提供更精准的数据维度
### 主题不够丰富 ### 主题不够丰富
个人时间有限,不过目前可以**保证每年更新一款默认主题**,希望给各位的写作之路带来快乐 ~ 由于个人时间有限,目前**我仅能承诺每年末前更新一款主题。**尽管如此,我仍然致力于为您的写作之旅带来愉悦和丰富的体验,并感谢您的理解和支持!
## 流程 ## 流程
@ -166,15 +167,15 @@ erDiagram
如果进行主题开发可以使用 Jinja2 的模板语言,结合下面的数据定制一款专属主题。 如果进行主题开发可以使用 Jinja2 的模板语言,结合下面的数据定制一款专属主题。
| 数据 | 描述 | | 数据 | 描述 |
| -------------- | -------------- | |----------------|---------|
| site | 站点数据 | | site | 站点数据 |
| blog | 博客数据 | | blog | 博客数据 |
| special_post | 特殊日期文件 | | special_post | 特殊日期文件 |
| sentiment_post | 情感分最高文章 | | sentiment_post | 情感分最高文章 |
| long_post | 篇幅最长文章 | | long_post | 篇幅最长文章 |
| short_post | 篇幅最短文章 | | short_post | 篇幅最短文章 |
| custom | 自定义数据 | | custom | 自定义数据 |
如果有额外数据需求,可以修改 `custom` 模型,并在 `main.py` 中传参,最后在 HTML 模板中使用。以下是一个简单的模板示例: 如果有额外数据需求,可以修改 `custom` 模型,并在 `main.py` 中传参,最后在 HTML 模板中使用。以下是一个简单的模板示例:
@ -200,12 +201,12 @@ EndOfYear 目前处于初始阶段,如果您有兴趣,可以为其做出贡
- [x] 结合互联网公开博客的数据源对 EndOfYear 进行全面、规模性的测试。 - [x] 结合互联网公开博客的数据源对 EndOfYear 进行全面、规模性的测试。
- [x] 默认主题进一步细化数据分析维度和数据颗粒度,精准描绘用户画像。 - [x] 默认主题进一步细化数据分析维度和数据颗粒度,精准描绘用户画像。
- [x] EndOfYear 渲染数据的规范,约束主题开发,提高主题的兼容性。 - [x] EndOfYear 渲染数据的规范,约束主题开发,提高主题的兼容性。
- [ ] 剥离主题,提供更好地主题开发方式 - [x] 进一步丰富和完善主题
### V2 ### V2
- [ ] 进一步丰富和完善主题 - [ ] 剥离主题,提供更好地主题开发方式
- [ ] EndOfYear 项目展示首页,使用文档,主题开发等。 - [ ] EndOfYear 项目网站首页,使用文档,主题开发等。
- [ ] 实现轻量化的运行部署,一键运行。 - [ ] 实现轻量化的运行部署,一键运行。
- [ ] 探索以插件的方式附加到博客系统的方法。 - [ ] 探索以插件的方式附加到博客系统的方法。