有 hexo+github pages 的一键部署工具吗?傻瓜化一点 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
wasd6267016
V2EX    程序员

有 hexo+github pages 的一键部署工具吗?傻瓜化一点

 
  •   wasd6267016 2021-02-03 14:20:36 +08:00 4964 次点击
    这是一个创建于 1715 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己去年玩了一段 hexo + github 部署 ,后来吃灰了,发现写文章还挺多小麻烦的
    图床啊 跨终端(比如今天 mac 上写了,明天想在家里的 windows 上写)
    这些问题我自己可以折腾解决,但是如果这一套方法更多人想用(非程序员),就很繁琐且麻烦了

    感觉完全可以有个一键部署工具啊 环境什么的不需要用户操心,只需要保留好 文章的 md 文件和图片 提供 github 权限,整个流程一套搞定就方便多了 要是还能提供自动跨终端同步工具 就更方便 甚至手机都能修改文件内容


    甚至进一步想,有的网盘甚至可以搞个类似于自动生成博客主页的工具,用户只需要把自己的 md 文件丢到某个盘内,自己的个人主页自动就更新出来了


    当然只是 yy 求轻喷
    33 条回复    2021-02-04 16:34:25 +08:00
    ManjusakaL
        1
    ManjusakaL  
       2021-02-03 14:21:12 +08:00
    直接 GitHub Action 一步到位啊
    wasd6267016
        2
    wasd6267016  
    OP
       2021-02-03 14:25:00 +08:00
    @ManjusakaL 不错 不过还是要研究折腾一下
    wasd6267016
        3
    wasd6267016  
    OP
       2021-02-03 14:25:36 +08:00   1
    刚才网上发现了一个 https://github.com/gaoyoubo/hexo-client 这个 类似 gui 的工具

    但是尴尬 在公司电脑我没环境 无法打开
    baoshuo
        4
    baoshuo  
       2021-02-03 14:32:22 +08:00
    把源文件存到一个仓库里,然后用 Github Codespaces 可以远程编辑,里面提供了完整的环境,然后用 Github Actions 自动部署即可。
    wd
        5
    wd  
       2021-02-03 14:35:04 +08:00 via iPhone
    不要弄图。github actions 足够了
    UUZ
        6
    UUZ  
       2021-02-03 14:58:52 +08:00
    Baileys
        7
    Baileys  
       2021-02-03 15:20:16 +08:00
    我用的 travis,还可以,只要本地写好 md 然后在 travis 的服务器上跑好 pages 推给 github,大概有个教程[在这里]( https://baileyswu.github.io/2019/08/hexo-with-travis/)
    caixiaomao
        8
    caixiaomao  
       2021-02-03 15:31:12 +08:00
    有个 git action 提交代码之后会自动部署发布
    damaerguo912
        9
    damaerguo912  
       2021-02-03 15:45:15 +08:00
    docker 环境一键部署: https://github.com/zeusro/docker-hexo
    cco
        10
    cco  
       2021-02-03 15:57:27 +08:00
    github 有个 action,非常简单。
    EvilDevilJin
        12
    EvilDevilJin  
       2021-02-03 17:02:51 +08:00
    一键生成静态博客的,gridea 。
    MWeb 的 md 也能直接转为 HTML 。
    boris93
        13
    boris93  
       2021-02-03 17:09:48 +08:00 via Android
    github actions 生成页面到某个分支或仓库
    然后 Vercel 监听这个分支或仓库,把 pages 部署到 Vercel
    自动化,而且访问速度快
    Qute
        14
    Qute  
       2021-02-03 17:40:46 +08:00
    这个按道理来说 github action 就可以啊,只要你写完 PUSH 就行了,其他的不用干,不过话说感觉 hexo 有点太重了
    arfaWong
        15
    arfaWong  
       2021-02-03 17:55:04 +08:00
    Lemeng
        16
    Lemeng  
       2021-02-03 18:00:17 +08:00
    github 算不算傻瓜式
    jessun1990
        17
    jessun1990  
       2021-02-03 18:38:33 +08:00
    我的方案是这样的:博客使用 <github_name>.github.io 项目作为仓库。src 分支作为 markdown 分支,编辑并保存 markdown 文件后,git push 到远端后。github actions 自动将静态博客生成的 html 文件放入 master 分支。这样过几分钟之后,从域名 https://<github_name>.github.io 看到编辑效果了。

    我现在使用 zola ( https://www.getzola.org/) 作为生成工具,简要步骤: https://jessun2017.github.io/use-zola-blog-generator/

    如果是 hugo,参考一下这个文件:

    ```yaml
    # This is a basic workflow to help you get started with Actions

    name: Hugo on Github Pages

    # Controls when the action will run. Triggers the workflow on push or pull request
    # events but only for the master branch
    on:
    push:
    branches: [ src ]

    # A workflow run is made up of one or more jobs that can run sequentially or in parallel
    jobs:
    # This workflow contains a single job called "build"
    build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
    # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
    - uses: actions/checkout@v2
    with:
    submodules: true

    # Runs a single command using the runners shell
    - name: Clean directory ./public/
    run: |
    rm -rf .git/worktrees/public/
    rm -fr ./public/

    - name: Setup hugo
    uses: peaceiris/actions-hugo@v2
    with:
    hugo-version: '0.71.1'

    - name: Build
    run: |
    hugo -b https://jessun2017.github.io


    - name: Deploy
    uses: peaceiris/actions-gh-pages@v3
    with:
    github_token: ${{ secrets.TOKEN }}
    publish_branch: master # default: gh-pages
    ```
    ixx
        18
    ixx  
       2021-02-03 18:38:56 +08:00
    我直接扔 coding 用 coding ide 懒的折腾了
    sparkinglemon
        19
    sparkinglemon  
       2021-02-03 18:45:24 +08:00 via iPhone
    alexkuang
        20
    alexkuang  
       2021-02-03 19:12:24 +08:00
    coding.net 接近傻瓜式,至少部署不用操心,服务器在香港(也可以选国内,要备案),速度很一般(南京电信 100M )
    https://help.coding.net/docs/pages/practice/hexo.html
    1078503
        21
    1078503  
       2021-02-03 20:22:12 +08:00
    @sparkinglemon 看了这么多,你给的才是他最需要的需求,其它的都不是问题。
    xchaoinfo
        22
    xchaoinfo  
       2021-02-03 23:49:18 +08:00 via Android
    我也是用 hexo github page action
    写完保存 git push 完成
    https://github.com/xchaoinfo.github.io
    EvilDevilJin
        23
    EvilDevilJin  
       2021-02-03 23:56:25 +08:00
    @sparkinglemon 我说怎么打不开呢
    foresty.io => forestry.io
    sparkinglemon
        24
    sparkinglemon  
       2021-02-04 04:05:25 +08:00
    @sparkinglemon 订正自己 https://forestry.io/ 手机回复打错字

    forestry + github action/vercel/cf worker
    auh
        25
    auh  
       2021-02-04 05:04:08 +08:00
    看到你的想法让我想起了几年前我的想法。哈哈哈。可是也就前几天因为忍受不了一直用 leanote 云笔记,才简单搞了一下。
    我说下思路。主要任务就是选择工具和插件。(不到万不得已,不要自己写!!!)
    1. 首先选择本地编辑器:
    看过无数的 md 编辑器,个人最后选择 vscode 作为编辑器使用。主要是方便的插件开发和已有的插件库,能够完全的让你组合你想要的功能。(基本上可玩性和实现的效果范围大增)
    选择一些插件:
    编写和预览:一些插件支持快速编写和预览 markdown
    图片问题:一些插件自动支持复制到 md 的图片转化为 markdown 图片链接,图片自动放到设置的文件件。
    git 自动化问题:一些插件支持 git 自动化,保存自动提交 push
    键位问题:一些插件支持 vim 等自己的键位需求
    编码模板:一些插件支持一些代码模板之类的东西,支持一些博客系统需要的文件头。
    等等
    到此, 完美的实现本地编写需求。图片和文档全部原始保存(满足你的需求),各种操作都打磨的非常流畅,编写,预览,图片,自动上传 github 。

    2. 之后,就是 github workflow 了。
    执行,移动文件夹和修改文件内容的脚本。来适配特殊的静态博客生成器的要求。
    执行,压缩一下图片
    执行,渲染操作,生成静态文件
    执行,仅仅将静态文件推送到 github pages 。可以是本仓库 gh 分支或者另外一个仓库。(另外一个仓库,可以让 md 原始数据和静态数据隔离开,分别设置公开私有)

    3. 最后,就是 git pages 自己设置一下。

    4. 关于不同机器来回迁移问题
    项目文件夹,包含.github .vscode docs img.直接充分的发挥了工作区的作用。任意机器,只要有 vscode,直接 clone 下来。立马所有的环境全部具备。插件环境,配置环境,都添加到工作区。主题,和各种脚本,全部管理起来。包括最终生成 pages 仓库的 CName 。等。做到一个地方,可以修改任意阶段的任何内容。

    这个东西可能大多数人都会。简单参考一下吧。(给出了大多数内容,个别需要配置,一些私人配置也没贴出来)
    https://github.com/fanlushuai/note-with-vscode-github-hugo
    auh
        26
    auh  
       2021-02-04 05:18:14 +08:00
    手机端就不建议玩。没有合适项目管理器。如果有管理器的,大佬们分享一下。
    xchaoinfo
        27
    xchaoinfo  
       2021-02-04 08:31:01 +08:00
    @xchaoinfo #22 我更正自己的地址,https://github.com/xchaoinfo/xchaoinfo.github.io

    同时,我另外的一种方式是,一台云服务器,然后搭建了一个 Jupyter Notebook.
    DiamondYuan
        28
    DiamondYuan  
       2021-02-04 08:40:06 +08:00 via iPhone
    vercel 最合适

    1. 不需要钱
    2. 域名绑定方便 自动 https
    3.部署方便,点点鼠标,2 分钟就好了
    4 持续集成更新代码自动部署
    hyqCrystal
        29
    hyqCrystal  
       2021-02-04 09:23:26 +08:00
    我的做法是 github 建一个分支(hexo-blog-source) 存储源码 本地提交代码 使用 github 上使用 node 环境一键打包发布到主分支 然后刷新页面 再通过 gitee-pages-action@master 插件将打包后的文件 同步到 gitee 这样国内外环境都有了
    优点一目了然:
    缺点:1 、不能使用评论功能 两套一个放 github 一个放 gitee 配置的评论数据不会同步
    hyqCrystal
        30
    hyqCrystal  
       2021-02-04 09:28:15 +08:00
    各位能讨论下你们给出的最佳的 github 加速方案
    jingcoco
        31
    jingcoco  
       2021-02-04 13:41:36 +08:00
    我是用的 ecs 云服务器+python 的 fabric 库 ....
    Sayhey5
        32
    Sayhey5  
       2021-02-04 14:38:40 +08:00 via iPhone
    div id="r_10160965" class="cell">
    JunoNin
        33
    JunoNin  
       2021-02-04 16:34:25 +08:00
    hexo d -g 然后 Vercel 自动部署
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3645 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 00:05 PVG 08:05 LAX 17:05 JFK 20:05
    Do have faith in what you're doing.
    ubao msn 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