V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
devilte
V2EX  ›  问与答

想了很久,这样的需求该怎么实现呢?

  •  
  •   devilte · 2022-01-28 15:26:09 +08:00 · 2382 次点击
    这是一个创建于 1065 天前的主题,其中的信息可能已经有所发展或是发生改变。

    个人博客目前用的 Jekyll 实现的,但是有以下这些问题感觉很难受:

    • 目录和文件名字都要按照格式,不太灵活;
    • 本地开发还需要安装 Ruby 环境和依赖, 装起来遇到很多问题,命令行又要运行好多命令,个人觉得太麻烦;
    • 使用 Liquid 编写的模板文件(就是带 {% if true %} {{ var | filter }} {% endif %} 一类标记的 html 或 markdown ),不习惯这样的语法,个人觉得难用;

    我想要的是:

    • 把文章的 md 文件还是放在 GitHub 上;
    • 博客的服务继续利用 GitHub Page ;
    • 界面能够用 Vue 框架自己写样式和布局;
    • 利用 GitHub 的钩子,push 后自动拉取仓库的 md 文件并解析成用来展示用的博客数据(这块可以接受写少量的拉取和解析的代码);
    • 不想单独写一个后端服务;

    这样的话,我得重心就只需要关注博客内容本身上了,并且可以随意写自己喜欢的主题。

    V 友们,这样的诉求能实现吗?有什么方案咧?

    15 条回复    2022-01-29 10:25:23 +08:00
    XiLingHost
        1
    XiLingHost  
       2022-01-28 15:27:09 +08:00
    试试 Hexo ?
    devilte
        2
    devilte  
    OP
       2022-01-28 15:29:58 +08:00
    @XiLingHost 其实 hexo 和 Jekyll 的性质是一样的把,也是要按照他们的格式或者目录位置 主要就是自己实现一套方案,写东西没那么多规则束缚。
    GentleFifth
        3
    GentleFifth  
       2022-01-28 15:44:15 +08:00 via Android
    试试 Hugo ,自定义主题样式,本质是 html 模板,发布可以用 GitHub Actions 打包,直接推送到指定分支,然后开启 GitHub Pages 到指定分支。
    devilte
        4
    devilte  
    OP
       2022-01-28 16:06:29 +08:00
    @GentleFifth 了解了一下,Hugo 如果要实现自定义的样式,看起来也是像 Jekyll 那样需要写模板语言来渲染数据哦,不能解决痛点 3 ,不过还是谢谢建议。
    zxCoder
        5
    zxCoder  
       2022-01-28 16:24:08 +08:00
    应该要自己实现一个
    这玩意估计本身就是个伪需求,估计每个程序员都会经历过过这个折腾博客的过程。。。你这个需求和我几年前的需求几乎一模一样。。。
    ( vuepress ,nuxt ,vercel ,等等关键词可以试试
    xujiahui
        6
    xujiahui  
       2022-01-28 16:26:34 +08:00
    现在 VuePress 和 VitePress 挺火的样子
    4ark
        7
    4ark  
       2022-01-28 17:23:49 +08:00 via iPhone
    vuepress 就支持
    4ark
        8
    4ark  
       2022-01-28 17:26:12 +08:00 via iPhone
    我把 hexo vuepress jekyll wordpress 都折腾过一遍,最后还是回归到 hexo ,其实文章质量才是最重要的
    logyxiao
        9
    logyxiao  
       2022-01-28 19:18:46 +08:00
    这不就是 vitepress 或者 VuePress 么...
    我之前折腾了一个差不多...不过好久没维护了
    demo 地址: https://www.logyxiao.cc
    git 地址: https://github.com/logyxiao/vitepress-blog
    christopheredwar
        10
    christopheredwar  
       2022-01-28 19:30:28 +08:00
    有类似的需求,受益良多
    devilte
        11
    devilte  
    OP
       2022-01-28 20:21:35 +08:00
    @zxCoder
    @xujiahui
    @4ark
    @4ark
    @christopheredwar

    感谢各位,已经看了一下文档和相关文章,基本是可以满足了我的简化创建过程以及格式问题,准备拿来试试了

    唯一的问题就是目前看到用到 VuePress 和 VitePress 的网站大部分样式都是使用文档的形式(例如:顶部就是 logo+导航,内容区域就是侧边栏和对应内容的布局,侧边栏的数据都要事先定义好)

    然后就是我的需求里还有一点就是:
    想整体布局也自己实现(不是这种有侧边栏的布局),已经大致知道重写 Theme 的过程,但是目前还没有看到如何动态获取到这些 md 文件信息来渲染成自定义的文章列表。
    devilte
        12
    devilte  
    OP
       2022-01-28 20:23:17 +08:00
    @logyxiao 老哥的这个头像,我说怎么这么眼熟呢,今天搜资料时候看到过你的这个项目主页嘻嘻嘻,demo 里的布局跟我想要的效果还很像呢,这就拿来借鉴借鉴
    4ark
        13
    4ark  
       2022-01-29 01:40:38 +08:00 via iPhone
    @devilte 可以看看这个 vuepress-theme-blo
    4ark
        14
    4ark  
       2022-01-29 01:40:50 +08:00 via iPhone
    @4ark vuepress-theme-blog
    charlie21
        15
    charlie21  
       2022-01-29 10:25:23 +08:00
    The headless CMS is a backend-only content management system using server-side technologies that make content accessible via a REST API.

    你只写一个前端,后端直接 headless 化 。参考 Contentful 和 strapi.io ,还有著名的 WPAPI 直接把 wordpress 给 headless 化了 https://mobile.twitter.com/rleija_/status/1304042756369776641
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1743 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.