Gmeek 超轻量级个人博客框架 开源 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Meekdai
V2EX    分享创造

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

  •  1
     
  •   Meekdai 2023-08-02 09:51:52 +08:00 4423 次点击
    这是一个创建于 802 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个博客框架,超轻量级个人博客模板。完全基于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 文件,完全不需要任何的本地部署和操作。

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

    第 1 条附言    2023-08-02 10:35:11 +08:00

    忘记添加GIthub开源地址了->Gmeek

    https://github.com/Meekdai/Gmeek

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

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

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

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

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

    不过你这个博客, 简洁又好看.
    Meekdai
        16
    Meekdai  
    OP
       2023-08-04 09:03:49 +08:00
    @forty
    抓取 github issues 是通过 api 抓取的。
    目前会自动抓取 issues 文章渲染成 html ,同时会有一个备份保存在仓库的 backup 文件夹内。如果需求是在仓库内写正文,那直接把抓取 issues 的代码删除,替换成读取仓库内的文件就行,很简单。
    forty
        17
    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
        18
    Meekdai  
    OP
       2023-08-17 15:54:33 +08:00
    @forty 不用改代码啊,只需要修改配置文件 config.json 里面的参数就行了。下面这个链接里是 config.json 的示例,对应内容修改为自己的就行了。
    https://github.com/Meekdai/Gmeek/blob/main/CONIFG.md
    forty
        19
    forty  
       2023-09-13 17:32:26 +08:00
    @Meekdai config.json 里面我没看出哪项是指定正文为抓 issues 还是取仓库啊
    Meekdai
        20
    Meekdai  
    OP
       2023-09-13 17:59:56 +08:00
    @forty 目前还不支持抓取仓库的内容,需要修改部分代码可以实现。
    Meekdai
        21
    Meekdai  
    OP
       2023-11-23 09:13:19 +08:00
    @stevenshum 目前 Gmeek 更新到了 v2.7 版本已经支持页内搜索了,并且添加了 Tag 筛选功能。
    stevenshum
        22
    stevenshum  
       2023-11-23 13:54:27 +08:00
    @Meekdai 我试了一下,好像只能搜索标题,期待越来越好,给作者点个赞
    cqmzgg2023
        23
    cqmzgg2023  
       2024-03-06 09:23:25 +08:00
    要是能监视改 backup 里边的 MD 文件,并自动发布就完美了。
    Meekdai
        24
    Meekdai  
    OP
       2024-03-06 09:27:09 +08:00
    @cqmzgg2023 这种就不是基于 issues 来写文章了,就是基于 github 仓库编写 MD 文件。不过要实现起来应该不难的,你可以尝试去修改一下。
    amorphobia
        25
    amorphobia  
       2024-03-13 19:55:30 +08:00 via iPhone
    问个问题,其他人发 issue 的话会被收录进来吗?
    Meekdai
        26
    Meekdai  
    OP
       2024-03-14 08:50:18 +08:00
    @amorphobia 不会的,需要添加一个 label 标签才会被抓取的。
    amorphobia
        27
    amorphobia  
       2024-03-14 10:19:13 +08:00 via iPhone
    @Meekdai 巧妙
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2715 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:03 PVG 17:03 LAX 02:03 JFK 05:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86