Skip to content

Commit

Permalink
运行:修正 Actions 脚本
Browse files Browse the repository at this point in the history
 - Actions 脚本设置独立权限
 - 更新 README.md
  • Loading branch information
7Wate committed Dec 4, 2023
1 parent d6def4a commit c621228
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 58 deletions.
1 change: 0 additions & 1 deletion .github/workflows/build-and-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ on:
jobs:
build-and-run:
runs-on: ubuntu-latest
# 不给权限会报错
permissions:
contents: write
steps:
Expand Down
115 changes: 58 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,76 +4,77 @@ 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`:默认为 true,Github 运行需要配置为 `false` 静态网站模式。
- `rss`:配置为 RSS 源地址。

```ini
[default]
web = false

[blog]
rss = https://blog.7wate.com/rss.xml
```
- **确保 RSS 源提供完整的文章内容**:为了保证数据分析的准确性,RSS 源需要输出文章的全部内容。
- **在 GitHub 上运行**:由于 GitHub 运行环境可能无法访问某些 RSS 源,请考虑在本地 Docker 环境中运行。
- **适当设置 RSS 文章数量**:如果您的目的是生成年度报告,请根据博客的实际情况调整 RSS 输出的文章数量。

4. 点击右上角的 **Commit changes** 提交到 `main` 分支,会自动运行 Actions。
5. 等待 Actions 运行成功,将会部署静态网站文件至 `html` 分支。
6. 开启 GitHub 仓库的 Pages 功能,设置 `html`分支,默认为根目录。
7. 稍等访问个人网址,就可以看到啦~
### 在 GitHub 上的使用步骤

### Docker
1. 将项目 Fork 到您的个人仓库。

1. 拉取 [endofyear](https://hub.docker.com/r/sevenwate/endofyear) 最新镜像
2. 在仓库首页,找到并打开 `config.ini` 文件。点击右上角的 🖋️ 符号进行在线编辑

```shell
docker pull sevenwate/endofyear:latest
```
- `web` 字段:将其**设置为 `false` 以启用静态网站模式**(适用于 GitHub 运行)。
- `rss` 字段:填写您的 RSS 源地址,确保源地址提供全文输出。

2. 映射容器 7777 端口至宿主机端口,指定 `rss` 环境变量,然后运行 Docker。
```ini
[default]
web = false

[blog]
rss = https://blog.7wate.com/rss.xml
```

```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. 编辑完成后,点击页面右上角的 **Commit changes** 将更改提交到 `main` 分支。

4. 提交后,GitHub Actions 会自动运行并生成静态网站文件,最终推送至 `html` 分支。

5. 在 GitHub 仓库的 Settings 中开启 Pages 功能,并将源设置为 `html` 分支的根目录。

6. 稍后访问 GitHub Pages 分配的网址,即可看到生成的内容。

### 使用 Docker

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

### Github Actions 运行失败

请查阅 Actions 的第六步输出的 Log 日志排错
请首先检查 Actions 日志的第六步输出,这里包含了导致运行失败的详细错误信息

### Docker 运行无法访问 Web 服务

1. 请检查**容器映射端口**至宿主机。
2. 请检查是否配置 **rss 环境变量**
3. 请查看 Docker **运行日志**
如果在使用 Docker 时无法访问 Web 服务,请按照以下步骤进行故障排除:

1. **检查端口映射**:确保您已正确设置容器的端口映射到宿主机。
2. **确认 rss 环境变量**:请检查是否已正确配置 `rss` 环境变量。
3. **查看 Docker 日志**:如果以上步骤均无法解决问题,请查看 Docker 容器的运行日志以获取更多信息。

### 博客数据分析不准确

目前博客的数据分析已经相对丰富,准确,未来会结合 AI 进行分析
目前提供的博客数据分析功能已经相对完善且准确。未来,我计划结合 AI 进一步优化分析效果,以提供更精准的数据维度

### 主题不够丰富

个人时间有限,不过目前可以**保证每年更新一款默认主题**,希望给各位的写作之路带来快乐 ~
由于个人时间有限,目前**我仅能承诺每年末前更新一款主题。**尽管如此,我仍然致力于为您的写作之旅带来愉悦和丰富的体验,并感谢您的理解和支持!

## 流程

Expand Down Expand Up @@ -166,15 +167,15 @@ erDiagram

如果进行主题开发可以使用 Jinja2 的模板语言,结合下面的数据定制一款专属主题。

| 数据 | 描述 |
| -------------- | -------------- |
| site | 站点数据 |
| blog | 博客数据 |
| special_post | 特殊日期文件 |
| 数据 | 描述 |
|----------------|---------|
| site | 站点数据 |
| blog | 博客数据 |
| special_post | 特殊日期文件 |
| sentiment_post | 情感分最高文章 |
| long_post | 篇幅最长文章 |
| short_post | 篇幅最短文章 |
| custom | 自定义数据 |
| long_post | 篇幅最长文章 |
| short_post | 篇幅最短文章 |
| custom | 自定义数据 |

如果有额外数据需求,可以修改 `custom` 模型,并在 `main.py` 中传参,最后在 HTML 模板中使用。以下是一个简单的模板示例:

Expand All @@ -200,12 +201,12 @@ EndOfYear 目前处于初始阶段,如果您有兴趣,可以为其做出贡
- [x] 结合互联网公开博客的数据源对 EndOfYear 进行全面、规模性的测试。
- [x] 默认主题进一步细化数据分析维度和数据颗粒度,精准描绘用户画像。
- [x] EndOfYear 渲染数据的规范,约束主题开发,提高主题的兼容性。
- [ ] 剥离主题,提供更好地主题开发方式
- [x] 进一步丰富和完善主题

### V2

- [ ] 进一步丰富和完善主题
- [ ] EndOfYear 项目展示首页,使用文档,主题开发等。
- [ ] 剥离主题,提供更好地主题开发方式
- [ ] EndOfYear 项目网站首页,使用文档,主题开发等。
- [ ] 实现轻量化的运行部署,一键运行。
- [ ] 探索以插件的方式附加到博客系统的方法。

Expand Down

0 comments on commit c621228

Please sign in to comment.