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

2023-08-02 09:51:52 +08:00
 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 文件,完全不需要任何的本地部署和操作。

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

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

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

@shuxhan
目前是没办法批量导入的,但是可以写个小脚本,把 markdown 文件批量导入到 issue 应该不会太难。
enuenena
2023-08-02 15:31:27 +08:00
这个不错,收藏了
yidadaa
2023-08-02 15:41:48 +08:00
Meekdai
2023-08-02 17:54:28 +08:00
@yidadaa 专业~ 我想问一下,你的那个展示图片是怎么做的啊?自己用 PS 吗?
stevenshum
2023-08-03 09:57:15 +08:00
@yidadaa 你这个好像没法搜索?
luwang
2023-08-03 10:50:12 +08:00
我的也用的 GitHub Issue 的,但是是直接调用的 GitHub API

项目地址: https://github.com/wallleap/ethereal
yidadaa
2023-08-03 11:12:19 +08:00
@stevenshum #12 可以搜啊,右上角不就是搜索框
forty
2023-08-03 20:03:17 +08:00
抓取 github issues 是通过 api 抓取还是直接爬页面 ?

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

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

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

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

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

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

© 2021 V2EX