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

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

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

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


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


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

    但是尴尬 在公司电脑我没环境 无法打开
    baoshuo
        4
    baoshuo  
       352 天前
    把源文件存到一个仓库里,然后用 Github Codespaces 可以远程编辑,里面提供了完整的环境,然后用 Github Actions 自动部署即可。
    wd
        5
    wd  
       352 天前 via iPhone
    不要弄图。github actions 足够了
    UUZ
        6
    UUZ  
       352 天前
    Baileys
        7
    Baileys  
       352 天前
    我用的 travis,还可以,只要本地写好 md 然后在 travis 的服务器上跑好 pages 推给 github,大概有个教程[在这里]( https://baileyswu.github.io/2019/08/hexo-with-travis/)
    caixiaomao
        8
    caixiaomao  
       352 天前
    有个 git action 提交代码之后会自动部署发布
    damaerguo912
        9
    damaerguo912  
       352 天前
    docker 环境一键部署: https://github.com/zeusro/docker-hexo
    cco
        10
    cco  
       352 天前
    github 有个 action,非常简单。
    EvilDevilJin
        12
    EvilDevilJin  
       351 天前
    一键生成静态博客的,gridea 。
    MWeb 的 md 也能直接转为 HTML 。
    boris93
        13
    boris93  
       351 天前 via Android
    github actions 生成页面到某个分支或仓库
    然后 Vercel 监听这个分支或仓库,把 pages 部署到 Vercel
    自动化,而且访问速度快
    wapzjn
        14
    wapzjn  
       351 天前
    这个按道理来说 github action 就可以啊,只要你写完 PUSH 就行了,其他的不用干,不过话说感觉 hexo 有点太重了
    arfaWong
        15
    arfaWong  
       351 天前
    Lemeng
        16
    Lemeng  
       351 天前
    github 算不算傻瓜式
    jessun1990
        17
    jessun1990  
       351 天前
    我的方案是这样的:博客使用 <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/[email protected]
    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/[email protected]
    with:
    hugo-version: '0.71.1'

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


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

    forestry + github action/vercel/cf worker
    auh
        25
    auh  
       351 天前
    看到你的想法让我想起了几年前我的想法。哈哈哈。可是也就前几天因为忍受不了一直用 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  
       351 天前
    手机端就不建议玩。没有合适项目管理器。如果有管理器的,大佬们分享一下。
    xchaoinfo
        27
    xchaoinfo  
       351 天前
    @xchaoinfo #22 我更正自己的地址,https://github.com/xchaoinfo/xchaoinfo.github.io

    同时,我另外的一种方式是,一台云服务器,然后搭建了一个 Jupyter Notebook.
    DiamondYuan
        28
    DiamondYuan  
       351 天前 via iPhone
    vercel 最合适

    1. 不需要钱
    2. 域名绑定方便 自动 https
    3.部署方便,点点鼠标,2 分钟就好了
    4 持续集成更新代码自动部署
    hyqCrystal
        29
    hyqCrystal  
       351 天前
    我的做法是 github 建一个分支(hexo-blog-source) 存储源码 本地提交代码 使用 github 上使用 node 环境一键打包发布到主分支 然后刷新页面 再通过 [email protected] 插件将打包后的文件 同步到 gitee 这样国内外环境都有了
    优点一目了然:
    缺点:1 、不能使用评论功能 两套一个放 github 一个放 gitee 配置的评论数据不会同步
    hyqCrystal
        30
    hyqCrystal  
       351 天前
    各位能讨论下你们给出的最佳的 github 加速方案
    jingcoco
        31
    jingcoco  
       351 天前
    我是用的 ecs 云服务器+python 的 fabric 库 ....
    Sayhey5
        32
    Sayhey5  
       351 天前 via iPhone
    JunoNin
        33
    JunoNin  
       350 天前
    hexo d -g 然后 Vercel 自动部署
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4222 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:00 · PVG 16:00 · LAX 00:00 · JFK 03:00
    ♥ Do have faith in what you're doing.