经历了几个阶段
- 纯粹的写issue
- 写完issue后添加目录到README
- 改成webhook用flask部署个callback 每次写完issue自动生成新的 README
- 最近算是学会了一些 GitHub Actions,现在只需要写 issue 打 label 就好了,其余完全不用管。核心代码在 main.py
- 支持了 RSS
- fork this repo (or just copy the file whatever)
- change GitHub secret
- write issue and add label
- please delete all files in BACKUP folder(2020.11.26 add)
- 别忘了在 settings 里打开 Actions 读写的权限
关于如何生成 GitHub secret token
- 在这里 点击
generate new token
把需要的点上 - 在你的repo 中更改 secret 中把刚生成的token设置进去
- 更改workflow中的token name 换成你自己的(不要忘了secrets 点)
需要把 env 中的 name 和 email 改成自己的:
from https://github.com/yihong0618/gitblog/issues/177
https://github.com/yihong0618/gitblog
--------------------------------------------------
mirror
...
<script>
window.config = {
organization: false, // 默认是 false,如果你的项目是属于 GitHub 组织 的,请设置为 true
order: 'UPDATED_AT', // 文章排序,以 创建时间 或者 更新时间,可选值 'UPDATED_AT','CREATED_AT'
title: 'Mirror', // 博客标题
user: 'LoeiFy', // GitHub 用户名,必须
repository: 'Recordum', // GitHub 项目名,指定文章内容来源 issues,必须
authors: 'LoeiFy,author1', // 博客作者,以 ',' 分割,GitHub 用户名默认包含在内
ignores: '17,13', // 文章忽略的 issues ID
host: '', // 博客的主域名,不填自动获取,请注意这个值会影响 hash 的值
hash: '', // 必须
perpage: 5, // 分页
}
</script>
...
保存 index.html
, 然后将所有文件 push 到 gh-pages
分支或者 master
分支的 docs
目录.
from https://github.com/LoeiFy/Mirror/wiki/%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B
(A blogging tool powered by GitHub API. Write your blog on GitHub issue.)
(Development
-
install
falco
global,$ npm i @fratercula/falco -g
-
fork and install modules
$ npm install
-
get your hash
-
copy
./index.sample.html
to./index.html
, and set the config values
$ npm start # start $ npm run build # build $ npm run lint # lint
from https://github.com/LoeiFy/Mirror/wiki/Development)
-------------------------------------------
基于Github Issues的博客搭建
from https://github.com/superleeyom/blog/issues/38
(demo: https://blog.leeyom.top)
---------------------------------------------------
一个博客框架,超轻量级个人博客模板。完全基于Github Pages
、 Github Issues
和 Github Actions
。不需要本地部署,从搭建到写作,只需要18秒,2步搭建好博客,第3步就是写作。
-
【创建仓库】点击通过模板创建仓库,建议仓库名称为
XXX.github.io
,其中XXX
为你的github用户名。 -
【启用Pages】在仓库的
Settings
中Pages->Build and deployment->Source
下面选择Github Actions
。 -
【开始写作】打开一篇issue,开始写作,并且必须添加一个
标签Label
(至少添加一个),再保存issue后会自动创建博客内容,片刻后可通过https://XXX.github.io 访问(可进入Actions页面查看构建进度)。 -
【手动全局生成】这个步骤只有在修改
config.json
文件或者出现奇怪问题的时候,需要执行。
通过Actions->build Gmeek->Run workflow->里面的按钮全局重新生成一次
- UI界面和Github同源,只引入了Github原生CSS:primer.style
- 博客写作在Issues中完成后,自动触发Actions执行部署任务
- 评论系统引入utteranc.es
- 使用
jinja2
对html进行渲染,可通过模板自定义UI主题
from https://github.com/Meekdai/Gmeek
demo blog: https://blog.meekdai.com/
(Gmeek快速上手
Gmeek, 一个博客框架,超轻量级个人博客模板,完全基于Github Pages
、 Github Issues
和 Github Actions
,可以称作All in Github
。不需要本地部署,从搭建到写作,只需要18秒,2步搭建好博客,第3步就是写作。
一、安装
安装及其简单,但是也要认真看下面的步骤,一步一步来。
-
【创建仓库】点击通过模板创建仓库,建议仓库名称为
XXX.github.io
,其中XXX
为你的github用户名。 -
【启用Pages】在仓库的设置
Settings
中Pages->Build and deployment->Source
下面选择Github Actions
。 -
【开始写作】打开一篇issue,开始写作,并且必须添加一个
标签Label
(至少添加一个),再保存issue后会自动创建博客内容,片刻后可通过https://XXX.github.io 访问(可进入Actions页面查看构建进度)。 -
【手动全局生成】这个步骤只有在修改
config.json
文件或者出现奇怪问题的时候,需要执行。
通过Actions->build Gmeek->Run workflow->里面的按钮全局重新生成一次
二、配置文件
按照安装步骤成功搭建好后,就可以阅读下面的内容修改配置文件啦。
注意修改配置文件后一定要手动全局生成一次,不然会报错。
如果对json
格式不熟悉,建议先简单学习一下。
config.json
文件就是配置文件,在创建的仓库内可以找到,对应修改为自己的即可。
{
"title":"Meekdai",
"subTitle":"童话是一种生活态度,仅此而已。",
"avatarUrl":"https://github.githubassets.com/favicons/favicon.svg",
"GMEEK_VERSION":"last"
}
以上是必须的字段,下面是可以自定义字段的描述,可以选择加入到config.json
中。
"displayTitle":"Meekdai",
"homeUrl":"http://blog.meekdai.com",
"faviconUrl":"https://github.githubassets.com/favicons/favicon.svg",
"email":"meekdai@163.com",
"startSite":"02/16/2015",
"filingNum":"浙ICP备20023628号",
"onePageListNum":15,
"singlePage":["about"],
"iconList":{"music":"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z"},
"exlink":{"music":"https://music.meekdai.com"},
"commentLabelColor":"#006b75",
"yearColorList":["#bc4c00", "#0969da", "#1f883d", "#A333D0"],
"i18n":"CN",
"UTC":8,
"themeMode":"manual",
"dayTheme":"light",
"nightTheme":"dark_colorblind",
"urlMode":"pinyin",
"style":"",
"script":"",
"showPostSource":1,
"rssSplit":"sentence",
"bottomText":"转载请注明出处",
配置参数 | 说明 |
---|---|
title | 【必填】博客标题 |
subTitle | 【必填】博客描述&自述 |
avatarUrl | 【必填】博客头像 |
GMEEK_VERSION | 【必填】Gmeek版本,一般写last 也可以用具体tag版本 |
displayTitle | 用于头像后面的标题展示,如果和title 一致则不用添加 |
homeUrl | 博客的主页地址,自定义域名时需要配置 |
faviconUrl | 页面的favicon地址,如果和avatarUrl一致则不用添加 |
用于自动提交仓库时用,不添加也可以 | |
startSite | 用于页面底部显示网站运行天数 |
filingNum | 用于页面底部显示备案信息 |
onePageListNum | 用于首页每页展示的文章数量 |
singlePage | 自定义独立页面,例如about 或者link 等 |
iconList | 用于定义singlePage按钮展示的SVG图标 (16px),about 和link 内置无需定义 |
exlink | 用于自定义首页右上角圆形按钮到外部链接功能,按钮图标定义在iconList中 |
commentLabelColor | 用于自定义显示评论数量标签的颜色 |
yearColorList | 用于自定义显示不同年份标签的颜色 |
i18n | 用于定义博客语言,目前支持EN /CN /RU |
UTC | 用于定义时区 |
themeMode | 用于定义主题模式,默认为manual ,也可选择fix 详细说明 |
dayTheme | 用于定义亮主题 |
nightTheme | 用于定义暗主题 |
urlMode | 用于定义文章链接生成模式,目前支持pinyin /issue /ru_translit |
style | 用于自定义文章页全局CSS |
script | 用于自定义文章页全局JavaScript |
showPostSource | 设置为1则在文章页显示issue链接按钮,设置为0则不显示 |
rssSplit | 设置RSS输出的截断符号,默认sentence 为第一句话,可配置其他特殊符号 |
bottomText | 用于设置文章页面右下角显示的内容 |
三、常见问题
1. 搭建不成功
多半是没有按照安装步骤来,其实搭建就这2步,不要自己乱点乱设置,就不会有问题。
- 案例一:Meekdai/Gmeek#14
- 案例二:Meekdai/Gmeek#18
- 案例二:Meekdai/Gmeek#20
2. Actions执行失败
修改了config.json
配置文件后,需要全局生成。另外label
标签没有打会出现这个问题。
建议通过Actions->build Gmeek->Run workflow->里面的按钮全局重新生成一次
- 案例一:Meekdai/Gmeek#1
- 案例二:Meekdai/Gmeek#10
3. 如果要导入以前的文章,如何设置发布时间呢?
如需修改发布时间,可以在文章最后一行添加如下代码。里面的时间是采用时间戳的形式,可以用如下网站转换。
<!-- ##{"timestamp":1490764800}## -->
4. 自定义单篇文章页面的style
和script
<!-- ##{"style":"<style>#postBody{font-size:20px}</style>"}## -->
<!-- ##{"script":"<script async src='//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js'></script>"}## -->
5. 可同时一起添加多种自定义参数:
<!-- ##{"script":"<script async src='//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js'></script>","style":"<style>#postBody{font-size:20px}</style>","timestamp":1490764800}## -->
6. 添加全局文章页面的style
和script
在config.json
文件中添加
"style":"<style>#postBody{font-size:20px}</style>",
"script":"<script async src='//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js'></script>",
7. 置顶博客文章,只需要Pin issue
即可。
8. 如果在评论里面登录后评论报错,可直接按照提示安装utteranc app
即可
Error: utterances is not installed on xxx/xxx.github.io. If you own this repo, install the app. Read more about this change in the PR.
9. 如何删除一篇文章呢?
只需要Close issue
或者Delete issue
后,再手动全局生成一次即可.
from https://blog.meekdai.com/post/Gmeek-kuai-su-shang-shou.html ,
https://github.com/Meekdai/meekdai.github.io/issues/39 )
------------------------------------------------------------------------------
基于Github Action自动生成并更新GitHub Issue博客的ReadMe
Why
现在很多人, 包括我, 在折腾了一堆个人博客的系统之后, 放弃了花哨的页面效果, 回过头来用Github Issue写博客.
但头疼的一点就是:
如果让其他人直接点到自己仓库的issues页面来看自己的文章的话, 只会看到issue的列表, 没有突出内容, 没有分类, 没有about me, 只有一条条的issue.
如果想解决上述的问题, 就要手动在发布issue之后, 手动更新README, 并且push到仓库, 那么你需要:
- 一台电脑
- 安装git
- clone仓库
- 修改README
- push
很麻烦, 感觉慢慢没有了更新的动力 😢
How it works
利用Github Action提供的工作流, 结合GitHub的API来实现:
- 通过Github API获取当前仓库的信息, 如
- 总issue数量
- 总label数量
- 每个label下的issues列表
- 最新更新(创建)的是哪些issue
- 将这些信息组装出自己满意的README页面
- 更新仓库的README.md文件
- 提交README.md的变更到远程仓库, 到这里, 我们的痛点就解决了一半, 剩下就是将步骤1-4在创建issue, 修改issue, 删除issue, 为issue新增label, 从删除label等等的动作之后触发了。
- 集成Github Action, 设置触发条件为:
on: [issues, issue_comment]
, 完成!
于是, 你只需要写Issue就好了, 剩下的交给Github Action 🎉
You want too?
如果你也想有一个自动更新的GitHub Issue博客, 那么参考以下步骤:
- fork此仓库到你的账号下
- 修改
.github/workflow/main.yml
的第 20, 25, 26, 30, 34行内容,具体改成什么你应该懂得。 - 在你的仓库中建以下几个label:
这些label目前是必须存在的,所以一定要先创建。
:+1:置顶
:framed_picture:封面
开源
- 创建一个issue试试?
至此, 如果不出意外, 你的ghiblog的自动更新就完成了.
功能说明
置顶
只需要给你的issue打上 :+1:置顶
的标签即可。
封面图片
新建一个issue, 并给这个issue打上 :framed_picture:封面
标签,(最好只给一个issue打上此标签。)
这个issue中的所有评论内容都要遵循下面的格式:
图片
---
标题
如:
![致命女人 00_28_49 20191026-155316](https://user-images.githubusercontent.com/25657798/67616241-0132a080-f809-11e9-8bd9-319b65f6e3f0.png) --- [ Why Women Kill ]
No comments:
Post a Comment