People Die, but Long Live GitHub
世间一切社交平台或者服务器都可能在未来的某一天关闭,100年以后,什么会留下来呢?或许只有github吧。
前言
在twitter上关注了大佬yihong0618,在他的blog当中看见了上述的话语。
于是,利用github的issue写博客,并用Maverick生成博客页面的想法便在我的脑海里形成,于是便有了以下效果:
简介
本方案使用了两个项目:
最终实现的效果是,你在博客专属的GITHUB项目建立ISSUE,当你发表新的ISSUE,即发表新的博客的时候,会自动同步到博客项目的REDME当中,并根据LABEL进行分类,相当于我们常说的TAG。
生成REDME之后,会在你设定的项目文件夹当中自动生成备份MARKDOWN文件,之后,利用GITHUB PAGE,推送生成自己的专属博客页面。
效果
你只需要写issue打label就好了,其余完全不用管。
安装
- 步骤一:在github上建立自己的博客项目,请参照AlanDecode-Maverick
- 步骤二:gitclone(下载)yihong0618-gitblog的文件,按照链接当中的方法修改自己的内容。其中,sercets和token的设置,在刚刚建立的自己的博客项目当中设置,即步骤一。
- 步骤三:gitclone(下载)刚刚创建好的Maverick(步骤一)到自己的电脑上。并将gitblog当中的文件与Maverick合并。注意,两个文件夹当中都有这个文件夹,将二者合并即可。
- 步骤四:修改gitblog的main.py文件,将BACKUP改成SRC。因为Maverick是从SRC文件夹当中推送MARKDOWN文件的。
- 步骤五:修改自动备份文件的标头,自动生成Maverick的标头。
在main.py文件当中搜索backup,找到这一段
修改成如下(复制即可):
def save_issue(issue, me, dir_name=BACKUP_DIR):
time = format_time(issue.created_at.strftime('%Y-%m-%dT%H:%M'))
md_name = os.path.join(
dir_name, f"{issue.number}_{issue.title.replace(' ', '.')}.md"
)
with open(md_name, "w") as f:
f.write(f"---nlayout: postntitle: {issue.title}nslug: {issue.title}ndate: {time} 08:00nstatus: publishnauthor: Lesliencategories: n - stand ntags:n - stand n - stand nexcerpt: n---nn")
f.write(issue.body)
if issue.comments:
for c in issue.get_comments():
if is_me(c, me):
f.write("nn---nn")
f.write(c.body)
f.write(f"nn[{issue.title}]({issue.html_url})nn")
- 步骤六:修改Maverick的workflow
打开
里面的ci.yml,修改
修改成
on:
workflow_run:
workflows: ["Generate GitBlog README"]
types:
- completed
这段代码的意思是,先运行
生成README和备份文件后,运行Maverick,开始推送GITHUB PAGE.
- 步骤七:提交文件推送到步骤一建立的博客项目中。
# cd 到仓库文件夹后
git add .
git commit -m "添加修改"
git push
- 步骤八:创建ISSUE(没有的记得打开ISSUE,可谷歌百度搜索如何打开),创建LABEL,开始自己的第一篇博客。
- 步骤九:东西比较复杂,我也折腾了挺久,若有问题可留言。至于模板之类的,我是抄的Maverick原作者Alancode的模板,你可以创建自己的博客模板。
最后
- 感谢原作者Alancode和yihong0618。
- 第一次写文章,若有不足请在评论区提出,感谢谅解。
谢谢分享,学习了
感谢大佬分享
先看看,不明白的地方再问
谢谢分享,学习了
感谢分享
七年前来顶贴!
谢谢,分享学习了