timeline 时间线
支持静态和动态时间线数据源:
- 静态数据
- github issues 支持多种筛选参数,详见 API
- github releases 支持多种筛选参数,详见 API
- gitea issues 支持多种筛选参数,详见 API
- gitea releases 支持多种筛选参数,详见 API
- memos
- …
常见的使用场景请看这篇文章:
静态时间线
静态数据是写死在 md
源文件中的,在 deploy
时就已经确定了。
主要部分功能已经开发的差不多了。

今天除夕,也是生日,一个人在外地过年+过生日,熬夜开发新主题,尽量在假期结束前放出公测版。
{% timeline %} |
动态时间线
动态数据是从 GitHub Issues 中拉取的,使用方法为:
- 建一个仓库
- 创建一个
issue
并添加一个label
进行测试 - 写
timeline
标签时加上api:https://api.github.com/repos/your-name/your-repo/issues
例如:
{% timeline api:https://api.github.com/repos/xaoxuu/blog-timeline/issues?direction=asc&per_page=3 %}{% endtimeline %} |
效果如下:
- fork shaoyaoqian/WeiboSpider 的爬虫,修改自己的仓库名
- 修改
.github/workflows/main.yml
中的微博ID为你想爬取的ID,修改完后每天会自动爬取你的微博,存储为 json 文件,输出文件在 output 分支
{% timeline limit:20 type:weibo api:你的json文件地址 %}{% endtimeline %} |
静态 + 动态
用法同静态和动态单独使用时一样,例如:
{% timeline reversed:true api:https://raw.github.xaox.cc/xaoxuu/ghapi-json-generator/refs/heads/output/v2/repos/xaoxuu/blog-timeline/issues%3Fper_page%3D5/data.json %} |
数据筛选
只显示某个人的数据
筛选最近3条todo
筛选评论最多的3条建议
上述示例代码如下:
{% folders %} |
更多用法详见:
friends 友链
您可以在任何位置插入友链组,支持静态数据和动态数据,静态数据需要写在数据文件中:
- title: 某某某 |
在需要的位置这样写:
{% friends ios_developer %} |
实现动态友链
从 xaoxuu/friends 作为模板克隆或者 fork 仓库,记得打开 github action 的运行权限就可以啦。
不出意外的话,仓库中已经配置好了 issue 模板,只需要在模板中指定的位置填写信息就可以了。然后在自己的仓库里提交一个 issue 进行测试。提交完 issue 前往 Action 页面查看执行情况,如果执行成功,仓库中出现了 output
分支提交,可以点击查看一下文件内容是否已经包含了刚刚提交的 issue 中的数据,如果包含,那么前端页面就可以使用友链数据了:
{% friends api:https://raw.github.com/xaoxuu/friends/output/v2/data.json %} |
这个仓库用到了3个工作流,分别是:
- issues2json:自动获取issue中第一段json保存为文件,支持多种排序和过滤
- links-checker:自动检查issue中填写的链接是否有效,可用于动态友链、示例博客
- feed-posts-parser:友链文章订阅
如果想修改规则,可以看看这3个工作流项目的 README
文档。
友链+友链文章聚合显示
写法比普通友链多了个 posts:true
,要求必须是动态友链:
{% friends posts:true api:https://raw.github.com/volantis-x/friends-example/output/v2/data.json %} |
旧的动态友链仓库怎么升级?
详见这篇文章:《感谢 AI,动态友链获重磅升级!》
数据托管与加速
支持把数据托管到任何其他地方来使用,例如:
{% friends api:https://raw.github.xaox.cc/xaoxuu/friends/output/v2/data.json %} |
你可以有 N 种办法加速访问 GitHub 仓库里的文件,例如 jsd、反代、webhook同步、GitHub Action 同步到 OSS 等,甚至也可以用第三方免费加速 github 文件的服务。
sites 网站卡片
您可以在任何位置插入网站卡片组,支持静态数据和动态数据,静态数据需要写在数据文件中:
- title: 标题 |
在需要的位置这样写:
{% sites 分组名 %} |
Stellar v1.13.0
原 friends 和 sites 标签数据合并至 links/xxx.yml
文件,动态数据使用方法同友链,数据源格式相同,与友链共享数据,仅样式不同,也可以用 sites
标签做友链。
albums 专辑
配置数据源:
- title: 标题 |
文章中插入方式:
{% albums 分组名 %} |
posters 海报
配置数据源:
- title: 标题 |
文章中插入方式:
{% posters 分组名 %} |
md 渲染外部 markdown 文件
{% folding %} |
效果如下
ghcard 卡片
{% ghcard xaoxuu %} |
toc 文档目录树
{% toc wiki:xxx [open:true] [display:mobile] title %} |