V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
Co1a
V2EX  ›  奇思妙想

关于 Hugo 写作有个想法

  •  
  •   Co1a · 2020-01-03 12:37:39 +08:00 · 6266 次点击
    这是一个创建于 1786 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道大家有没有这种感觉,一想到写完博客还要通过用 Hugo 来进行页面生成时,会些许的失去动力,请问一下目前有没有相关的工具能够把 MD 文档通过 Git 提交后自动生成静态页面同时推送至自己的博客托管服务器

    30 条回复    2020-01-04 20:31:18 +08:00
    klesh
        1
    klesh  
       2020-01-03 12:41:48 +08:00 via Android
    自己的弄的 bare git repo 简单点可以用 hook 实现
    github 或其它托管平台用 ci 工具可实现
    SorryChen
        2
    SorryChen  
       2020-01-03 12:52:49 +08:00
    hugo 生成已经很快了呀,写个 shell 脚本就好了,hugo 然后 push。
    loading
        3
    loading  
       2020-01-03 12:54:04 +08:00 via Android
    /t/633890
    我准备换过去了。
    Yvette
        4
    Yvette  
       2020-01-03 12:56:22 +08:00
    你可能需要 Netlify
    maichael
        5
    maichael  
       2020-01-03 12:58:45 +08:00
    CI。
    dimlau
        6
    dimlau  
       2020-01-03 13:00:30 +08:00
    推荐 Grav。

    **不是** 静态博客程序,写好的 MD 文件按照网站结构放进用户文件夹,程序自动生成相应 URL 的网站页面。

    自动,而不是每次需要手动生成、同步。

    官网:
    https://getgrav.org/

    我之前写的一点介绍:
    https://kaix.in/0001/grav
    Pastsong
        7
    Pastsong  
       2020-01-03 13:03:12 +08:00 via Android
    直接用 old-fashion Jekyll 就行啊,GitHub Pages 会自动帮你 build 的
    kingcos
        8
    kingcos  
       2020-01-03 13:07:15 +08:00 via iPhone
    我是用的 CI,只需要 commit push 就会重新生成
    Mutoo
        9
    Mutoo  
       2020-01-03 13:13:05 +08:00
    CI 就是你要的解决方案。你负责写,提交。剩下的生成和发布由 CI 接手。
    arjen
        10
    arjen  
       2020-01-03 13:16:16 +08:00 via Android
    github actions 有支持 hugo 的
    arjen
        11
    arjen  
       2020-01-03 13:18:10 +08:00
    darksword21
        12
    darksword21  
       2020-01-03 13:24:41 +08:00
    github actions
    chenxj123
        13
    chenxj123  
       2020-01-03 13:34:49 +08:00
    楼主可能需要这个工具,好像也是 v 友做的
    https://gridea.dev/
    missdeer
        14
    missdeer  
       2020-01-03 13:37:08 +08:00
    Hugo 已经很快了,我用了 jekyll 每次都要快 1 分钟才能生成静态文件,那叫酸爽
    snowfuck
        15
    snowfuck  
       2020-01-03 13:37:11 +08:00
    https://blog.hulb.club/post/blog-ci-cd/
    mauve
        16
    mauve  
       2020-01-03 13:52:52 +08:00
    不推荐 gridea, 楼主你需要的是 headless cms,
    常用 headless cms:strapi,netlify cms ,etc (这里有多个 headless cms 的对比 https://headlesscms.org/)
    我在用的是这个 https://forestry.io/
    像 cms/wordpress/一般博客后台 一样 来写文章,写完之后会自动产生 commit 记录到 git repo, 然后触发 hook 去部署 git pages,整个过程不用碰任何命令行以及 git 操作
    Hugo 官方文档最下面的 Hugo Sponsors 第一家就是 forestry,推荐你用 netlify 来部署 静态页面 static site,并且 Hugo 官方文档就是这样部署的
    leishi1313
        17
    leishi1313  
       2020-01-03 14:07:45 +08:00 via Android
    0202 年了,给自己的 blog 加上 CI 吧,自己写(不过是 jekyll,改改就行了)的每次 push master 自动 build 然后推到 gh-page 分支,github page 从 gh-page host: https://github.com/LeiShi1313/MyBlog/blob/master/.circleci/config.yml

    或者就用 netlify,一键懒人的选择
    Muninn
        18
    Muninn  
       2020-01-03 14:16:21 +08:00
    根本不需要 ci,看看我这个方案 https://github.com/hyacinthus/docker-hugo-caddy
    我是默认启动到 2015 端口了,因为一般没谁会在服务器只放一个项目,上边肯定还有一层 nginx 或者 caddy。
    你要是只启动一个项目,直接把端口改成 80 启动这一个镜像就完了。。
    Kilerd
        19
    Kilerd  
       2020-01-03 14:30:17 +08:00
    https://github.com/Kilerd/blog/blob/master/.github/workflows/blog.yml
    这种事情一般都是 CI 做的,稍微有点区别的就是别人是发不到 GitHub page,你是推送到自己的服务器。
    现成的话,caddy 里面有一个 webhook 触发脚本的功能,把你项目添加一个 webhook 到 caddy 里面去就可以让他自己帮你构建了。
    WJackson
        20
    WJackson  
       2020-01-03 14:47:47 +08:00
    现在我是 github action ssh 到自己的服务器,然后通过 action 触发 服务器上的脚本来进行 hexo g, 然后拷贝到指定的 nginx 能访问到的文件夹。简易 ci 搞定
    jeffh
        21
    jeffh  
       2020-01-03 15:09:50 +08:00
    这么麻烦我早就考虑到了,不要用 hugo 啊,用 jekyll,我的网站就是写完 markdown,git commit 就能看了,https://zebinh.github.io/
    yangwenli
        22
    yangwenli  
       2020-01-03 15:26:43 +08:00
    @jeffh 你的 blog 文章比较少,所以还没觉得 jekyll 慢,等你写了 100 篇以上,push 到 github,等个 3 分钟,就明白了
    jdhao
        23
    jdhao  
       2020-01-03 15:32:48 +08:00 via Android
    我的博客是放在 gh pages,hugo 有个 deploy 脚本,直接 deploy 就行了
    CEBBCAT
        24
    CEBBCAT  
       2020-01-03 15:41:34 +08:00
    我要说的 Netlify 楼上已经说了
    1462326016
        25
    1462326016  
       2020-01-03 16:13:39 +08:00
    github actions 啊,早就有了,push 了就啥也不用管了,坐等发布
    lifesimple
        26
    lifesimple  
       2020-01-03 16:16:00 +08:00
    我是用 travis 来自动构建
    jeffh
        27
    jeffh  
       2020-01-03 16:22:41 +08:00
    @yangwenli 哈哈哈,我一般 push 完隔天再看的,等多久都行。因为我也发布到掘金和简书了。
    linvon
        28
    linvon  
       2020-01-04 01:43:22 +08:00
    我直接用 PHP 给自己的博客撸了个写入文章的后台,MD 直接写进去调用 hugo 自动生成(虽然有注入风险,但小破站也不会有人来扫的)
    youngxhui
        29
    youngxhui  
       2020-01-04 09:04:45 +08:00 via Android
    Git 提交到 gitlab,然后 ci 编译好静态文件,cd 到 firebase http://youngxhui.top/2019/10/hugo%E6%90%AD%E5%BB%BA%E5%8D%9A%E5%AE%A2/
    wd
        30
    wd  
       2020-01-04 20:31:18 +08:00 via iPhone
    @arjen #10 不错 回头看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1110 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:43 · PVG 07:43 · LAX 15:43 · JFK 18:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.