V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
SuperMild
V2EX  ›  分享创造

PyBoke: 极简博客生成器(含一些小功能)

  •  
  •   SuperMild ·
    ahui2016 · 2022-10-26 13:47:22 +08:00 · 2815 次点击
    这是一个创建于 519 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 使用过程极简
    • 功能极简,代码极简

    因为功能少、代码简单,任何懂编程的人(只要懂 Python 基础) 就能在短时间内完全看明白本软件的全部代码并且随心所欲地修改。

    主要功能

    • 只支持 Markdown 格式,用户只需要用 Markdown 写文章,即可生成静态博客。
    • 添加文章时,不需要在任何地方填写文章标题、文章分类、标签、日期…… 这些全部都不用管,只管写文章
    • 博客页面有一个 "random" 按钮,可随机阅读文章
    • 自带四个极简主题 (CSS style), 可自行添加更多主题
    • 自动生成 RSS (但只提供有限支持,详见 readme)
    • 有一个简单的设定图片最大宽度的功能
    • 有一个简单的替换图片地址功能

    为什么不需要填写文章标题、文章分类、标签?

    • 自动提取文件第一行的内容作为标题
    • 管理博客文章的最常见的思维是通过 "类别", "标签", "日期" 三个维度来实现
    • 本软件的第一版也是这样做的,花了很多时间精力几乎全部功能都实现时 (甚至还用 PyQt 做了一些 GUI), 又全部推倒重做,因为发现了新的文章管理方法。

    "类别", "标签", "日期" 的缺点

    • 这套方法有很多优点,因此才会流行,但也有缺点。
    • 我认为缺点是用户发布文章时,每次都要选择分类、填标签,产生额外的心智负担。
    • 而且处理这些功能,要写很多代码。

    三个维度发现文章

    • 我认为可以从 "三个维度管理文章" 变成 "三个维度发现文章"。
    • 管理的目的是使文章井井有条,但我发现我真正担心的并不是文章是否排列整齐, 而是如何让读者(或我自己)从旧文章中挑选一些文章来看,避免旧文章被埋没。
    • 因此,我只要提供一些发现文章的维度即可,不需要强迫用户(作者)花时间精力去管理
    • 对于文章数量不会很多的个人博客来说, "标题索引", "日期", "随机" 已经够用了, 同时使代码大幅减少,使用过程也很畅快,这个 trade-off 是值得的。

    替换图片地址

    • 在 markdown 中可使用 ![photo-1](../output/pics/XXX.jpg) 的形式插入图片。
    • 在每篇文章对应的 toml 文件的 pairs 项目里,可指定图片的替换地址,例如:
      pairs =  [
        [ '''../output/pics/abc.jpg''', '''https://example.com/abc.jpg''' ],
      ]
      
    • 一旦提供替换地址, markdown 文件的内容保持不变, HTML 文件中如有第一个字符串,会被替代为第二个字符串。
    • 不只是图片地址,该功能可以替换任何字符,但主要用途是替换图片地址。

    更多信息

    9 条回复    2022-10-28 00:11:16 +08:00
    Yuesh1
        1
    Yuesh1  
       2022-10-26 14:00:43 +08:00
    看起来很心动,等个整块的时间去部署一下!
    star 已表示支持
    mlhadoop
        2
    mlhadoop  
       2022-10-26 14:04:28 +08:00
    替换图片地址非常符合我的需求
    oygh
        3
    oygh  
       2022-10-26 14:04:37 +08:00
    看了你博客文章,想回复没找到地方:歌者文明目前是三维的,只不过长老这么爽快就给歌者二向箔,让歌者预感到自己的文明已经做好了跌入二维的打算,觉得可惜。
    SuperMild
        4
    SuperMild  
    OP
       2022-10-26 14:19:44 +08:00
    @Yuesh1 多谢支持

    @mlhadoop 如果图片不多,这个功能蛮好用的(一切都要手动复制粘贴)

    @oygh 啊,我记错了,我这就去更新一下文章。
    MiracleShadow
        5
    MiracleShadow  
       2022-10-26 16:56:25 +08:00
    这正是我在找的东西!
    kingpo
        6
    kingpo  
       2022-10-27 13:24:01 +08:00
    真的简,甚至有点简陋
    SuperMild
        7
    SuperMild  
    OP
       2022-10-27 14:38:14 +08:00
    @kingpo 简陋也有简陋的好处,主要是功能全面的博客生成器已经有 hugo, hexo 之类的, 要做得比它们好已经很难了, 还不如做个简陋的(好处是代码量极少, 容易魔改定制)
    kingpo
        8
    kingpo  
       2022-10-27 16:21:17 +08:00
    嗯,赞同
    Jacobson
        9
    Jacobson  
       2022-10-28 00:11:16 +08:00
    大佬,抽空搞个 docker 镜像呗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5276 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:19 · PVG 17:19 · LAX 02:19 · JFK 05:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.