Gmeek 超轻量级个人博客框架 开源

289 天前
 Meekdai

一个博客框架,超轻量级个人博客模板。完全基于Github PagesGithub IssuesGithub Actions。不需要本地部署,从搭建到写作,只需要几分钟的时间,3 步搭建好博客,第 4 步就是写作。

之前购买阿里云 3 年的活动 ECS 主机到期了,续费价格超级贵😭,所以打算在 github page 上面搭建自己的博客。看了很多不同类型的,例如HexoHugo这些比较有名的,也了解了很多在 github 上的小项目,发现了gitblog,这个博客是用 python 抓取 github issues 的内容然后展示在首页readme.md,当即就来了灵感👏,我可以自己通过 Python 抓取 github issues 的内容,生成静态页面,不仅仅包含首页,文章页面也可以生成后存储在 github 上,而且也可以通过 github Action 来自动执行 Python 文件,完全不需要任何的本地部署和操作。

目前需要改进的地方还有很多,慢慢完善吧。

3135 次点击
所在节点    分享创造
27 条回复
kphcdr
289 天前
我记得以前有个项目,用邮件存储 blog
stevenshum
289 天前
这个不错,star 了,但是搜索需要互联网收录。。。
Meekdai
289 天前
@stevenshum 谢谢。是的搜索框只是调用了 google 的 site: 来搜索,主打就是一个轻量化,没有集成内置的搜索框。后面如果有好的方案也会集成内置的搜索框。
amorphobia
289 天前
如果要导入以前的文章,如何设置发布时间呢?
shuxhan
289 天前
项目不错,可惜没法导入旧文章,只能重新写
Meekdai
289 天前
@amorphobia
如需上传旧博客的文章需要修改发布时间,可以在文章最后一行添加如下代码。
`[comment]: # (##{"timestamp":1451096020}##)`
里面的时间是采用时间戳的形式,可以用如下[网站]( https://tool.lu/timestamp)转换。
amorphobia
289 天前
@Meekdai 不好意思,是加在 issue 末尾吗?但我在你的 post 里没有找到这个代码,比如这篇: https://github.com/Meekdai/meekdai.github.io/issues/17 但这篇的发布时间是 2017 年

感谢
Meekdai
289 天前
@amorphobia
[comment]: # (##{"timestamp":1451096020}##)
你可以研究一下,这一段代码 markdown 是不会渲染出来的,我的很多文章也是最近添加才导入进去的,就是因为在 Issue 的最后一行添加了这一段代码来重定义文章的发布日期。

@shuxhan
目前是没办法批量导入的,但是可以写个小脚本,把 markdown 文件批量导入到 issue 应该不会太难。
enuenena
289 天前
这个不错,收藏了
yidadaa
289 天前
Meekdai
289 天前
@yidadaa 专业~ 我想问一下,你的那个展示图片是怎么做的啊?自己用 PS 吗?
stevenshum
288 天前
@yidadaa 你这个好像没法搜索?
luwang
288 天前
我的也用的 GitHub Issue 的,但是是直接调用的 GitHub API

项目地址: https://github.com/wallleap/ethereal
yidadaa
288 天前
@stevenshum #12 可以搜啊,右上角不就是搜索框
forty
288 天前
抓取 github issues 是通过 api 抓取还是直接爬页面 ?

个人觉得, 在 issues 里面写正文挺别扭的, 还是直接在仓库里写正文比较好(也方便保留更新记录), 可以仅把评论放到 issues 嘛.

不过你这个博客, 简洁又好看.
Meekdai
287 天前
@forty
抓取 github issues 是通过 api 抓取的。
目前会自动抓取 issues 文章渲染成 html ,同时会有一个备份保存在仓库的 backup 文件夹内。如果需求是在仓库内写正文,那直接把抓取 issues 的代码删除,替换成读取仓库内的文件就行,很简单。
forty
274 天前
@Meekdai 瞅了瞅代码, 没太看懂, 只要改这行吗? 感觉要再写一大堆代码.
self.blogBase["postListJson"][postNum]["postSourceUrl"]="https://github.com/"+options.repo_name+"/issues/"+str(issue.number)
Meekdai
274 天前
@forty 不用改代码啊,只需要修改配置文件 config.json 里面的参数就行了。下面这个链接里是 config.json 的示例,对应内容修改为自己的就行了。
https://github.com/Meekdai/Gmeek/blob/main/CONIFG.md
forty
247 天前
@Meekdai config.json 里面我没看出哪项是指定正文为抓 issues 还是取仓库啊
Meekdai
247 天前
@forty 目前还不支持抓取仓库的内容,需要修改部分代码可以实现。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/961705

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX