V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wasd6267016
V2EX  ›  程序员

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

  •  
  •   wasd6267016 · 2021-02-03 14:20:36 +08:00 · 4406 次点击
    这是一个创建于 1389 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己去年玩了一段 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
    自动化,而且访问速度快
    wapzjn
        14
    wapzjn  
       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
    JunoNin
        33
    JunoNin  
       2021-02-04 16:34:25 +08:00
    hexo d -g 然后 Vercel 自动部署
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2172 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 01:24 · PVG 09:24 · LAX 17:24 · JFK 20:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.