美文网首页selectorgithub
gitbook+github pages+github acti

gitbook+github pages+github acti

作者: 超神雷鸣 | 来源:发表于2022-04-01 20:53 被阅读0次
    异世界蕾姆_0.png

    [TOC]


    gitbook

    使用 Gitbook 打造你的电子书

    gitbook官网

    环境搭建

    nodejs

    官网下载,这里可以选择12.16.1版本,太新的版本后面可能会出现奇怪的问题,这是笔者使用的版本

    执行以下命令安装gitbook命令

    npm install -g gitbook-cli
    # 查看是否安装完成, 能正确显示版本号就行,这里推荐gitBook==3.2.3
    gitbook -V
    
    CLI version: 2.3.2
    GitBook version: 3.2.3
    

    初始化电子书

    初始化电子书

    gitbook init
    
    image-20220401083228138.png

    这时候会生成下面两个文件README.mdSUMMARY.md

    README.md 书籍的介绍写在这个文件里;SUMMARY.md书籍的目录结构在这里配置

    安装插件

    有配置book.json时,执行gitbook install会安装插件到node_modules目录

    使用以下命令启动gitbook,打开http://localhost:4000就可以访问了,

    gitbook serve
    
    image-20220401083540102.png

    重要文件

    book.json,没有的话,自己新建一个就好

    用于配置插件和书籍的基本信息

    {
        "title": "书籍目录",
        "author": "narutohyc",
        "description": "书籍目录,记录一些工作和学习中的笔记",
        "language": "zh-hans",
        "structure": {
            "readme": "README.md"
        },
        "links": {
            "sidebar": {
                "我の小窝~": "https://github.com/narutohyc"
            }
        },
        "plugins": [
            "-sharing",
            "splitter",
            "expandable-chapters-small",
            "anchors",
            "github",
            "github-buttons",
            "donate",
            "sharing-plus",
            "anchor-navigation-ex",
            "mathjax",
            "mermaid-gb3",
            "tbfed-pagefooter",
            "code",
            "search-plus", "-lunr", "-search",
            "lightbox",
            "theme-comscore",
            "valine",
            "pageview-count",
            "favicon-absolute",
            "copyright-v"
        ],
        "pluginsConfig": {
            "theme-default": {
                "showLevel": true
            },
            "github": {
                "url": "https://github.com/narutohyc"
            },
            "tbfed-pagefooter": {
                "copyright": "Copyright © narutohyc.com 2021",
                "modify_label": "该文件修订时间:",
                "modify_format": "YYYY-MM-DD HH:mm:ss"
            },
            "github-buttons": {
                "buttons": [{
                    "user": "narutohyc",
                    "repo": "bk_index",
                    "type": "star",
                    "size": "small",
                    "count": true
                    }
                ]
            },
            "donate": {
                "wechat": "https://s2.loli.net/2022/03/23/WDiTVSamQBJdEA4.png",
                "alipay": "https://s2.loli.net/2022/03/23/dEYjkaSGXwe7rnu.png",
                "title": "",
                "button": "欢迎打赏",
                "alipayText": "alipay打赏",
                "wechatText": "wechat打赏"
            },
            "sharing": {
                "douban": true,
                "facebook": true,
                "google": true,
                "hatenaBookmark": false,
                "instapaper": false,
                "line": false,
                "linkedin": false,
                "messenger": false,
                "pocket": false,
                "qq": true,
                "qzone": true,
                "stumbleupon": false,
                "twitter": true,
                "viber": false,
                "vk": false,
                "weibo": true,
                "whatsapp": false,
                "all": [
                    "google", "facebook", "weibo", "twitter",
                    "qq", "qzone", "linkedin", "pocket"
                ]
            },
            "anchor-navigation-ex": {
                "showLevel": false
            },
            "valine": {
                "appId": "leancloud申请的appId",
                "appKey": "leancloud申请的appKey",
                "avatar": "wavatar",
                "placeholder": "欢迎留下评论交流~",
                "pageSize": 15
            },
            "favicon-absolute":{
                "favicon": "./chapters/res/other/favicon.ico",
                "appleTouchIconPrecomposed152": "./chapters/res/other/favicon.ico"
            },
            "fontSettings": {
                "family": "msyh",
                "size": 2
            },
            "copyright-v": {
                "site": "https://hycbook.github.io/bk_python/",
                "author": "narutohyc",
                "website": "python元知识驿站",
                "image": "https://s2.loli.net/2022/03/24/pbMd1BCgUNzi7mG.png",
                "copyProtect": true,
            "enableFooter": false
            }
        }
    }
    

    Gitbook 默认带有 5 个插件:

    • highlight
    • search
    • sharing
    • font-settings
    • livereload

    重要插件说明:

    • github: 右上角添加github图标
    • donate: 文章打赏插件,在文末点击展示付款码
    • sharing-plus: 比默认的分享插件,多了更多的分享按钮
    • mathjax: LaTeX公式显示插件,可以支持绝大多数的数据公式,个别的公式还是会有问题
    • mermaid-gb3: Mermaid渲染插件,可以支持画图
    • code: 为代码块添加行号和复制按钮,复制按钮可关闭,单行代码无行号
    • search-plus: 文章内容搜索插件,支持中文,使用这个插件时要移除默认的lunrsearch插件
    • lightbox: 当前页显示大图,点击图片会放大显示,不支持切换图片
    • theme-comscore: 主题插件,默认主题是黑白的,comscore 主题是彩色的,标题和正文颜色有所区分
    • valine: 诞生于2017年8月7日,是一款基于LeanCloud的快速、简洁且高效的无后端评论系统
    • pageview-count: 页面浏览量统计,但好像用不了,自己结合cutercounter进行了改造
    • favicon-absolute: 网页icon图标定义
    • copyright-v: 版权插件,复制文章内容时会附带上定义好的版权信息,和知乎复制的效果一样

    .bookignore,存放不想被打包的资源

    .gitignore
    .bookignore
    book_default.json
    _book/chapters/*.md
    *.bat
    *.pdf
    

    _book

    使用gitbook build命令,会在项目的目录下生成一个 _book 目录,里面的内容为静态站点的资源文件

    发布出来的就是这个目录下的资源

    gitbook build只负责生成静态文件,gitbook serve不仅生成文件,还会启动网站服务

    使用选项 --log=debug--debug 来获取更好的错误消息

    gitbook build ./ --log=debug --debug
    

    SUMMARY.md,用于存放数据目录

    # Summary
    
    * [Introduction](README.md)
    * [alicloud_deployment](./chapters/1.alicloud_deployment.md)
    * [reinstall_the_system](./chapters/2.reinstall_the_system.md)
    * [Linux常用命令](./chapters/3.Linux常用命令.md)
    * [github协作](./chapters/4.github协作.md)
    * [gitbook博客搭建](./chapters/5.gitbook博客搭建.md)
    

    node_modules

    终端执行gitbook install可以安装book.json配置的插件,下载的插件会在node_modules文件夹

    markdown语法

    基本撰写和格式语法

    Markdown是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber)

    它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 HTML 文档

    推荐配合Typora编辑器一起食用

    改造

    访客数

    valine

    博客Valine评论样式美化

    美化

    部署

    打造完美写作系统:Gitbook+Github Pages+Github Actions

    Travis CI简介

    什么是持续集成(CI)/持续交付(CD)管道?

    GitHub Actions

    GitHub Actions 是什么?

    前面部分的内容主要讲解了gitbook的构建和美化优化等内容

    这部分讲一下如何借助github pagesgitee pages部署自己的博客网站,正文开始前,先讲解下Github Actions的基础概念

    Github Actions

    • CI/CD: 持续集成(CI)/持续交付(CD)管道是一系列步骤,其中包括从CI/CD流程开始的所有阶段,并负责创建自动化和无缝的软件交付。而使用CI/CD管道,软件发布工件可以从代码检入阶段到测试、构建、部署和生产阶段一直在管道中前进

      这一概念之所以强大,是因为一旦指定了管道,就可以将其部分或全部实现自动化,从而加快了流程,并减少了错误。换句话说,CI/CD管道使组织每天更轻松地自动多次交付软件

    • Travis CI: 提供的是持续集成服务(Continuous Integration,简称 CI)。它绑定 Github 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器

    • Github Actions: GitHub Actions是你在GitHub库中创建自定义的工作流,工作流指的就是自动化的流程,比如构建、测试、打包、发布、部署等等,可以设置触发条件或定时执行,由github提供服务器环境

    <font color=#7B68EE>持续集成(CI)/持续交付(CD)是一种自动化管理流程,而Travis CI和Github Actions都是具体的实现,后者是github官方提供的</font>

    githun actions的使用案例可以自己百度或参考github协作

    github pages

    GitHub Pages Deploy Action

    自动发布到github pages分支(可以自己设置分支)

    配置token

    github项目下新建:name=TOKEN,value=github生成的token

    基本用法

    - name: Deploy #步骤4:把编译好的静态目录上传到gh-pages分支上
      uses: JamesIves/github-pages-deploy-action@3.1.5 #这里调用第三方依赖,用于上传代码到指定分支上
      with:
        ACCESS_TOKEN: ${{ secrets.TOKEN }}
        BRANCH: gh-pages #github pages 默认的分支
        FOLDER: _book #上传文件的目录,我这个目录在根目录下,如果是子目录可以这么写  docs/.vuepress/dist
    

    gitee pages

    Gitee 如何自动部署 Pages?还是用 GitHub Actions!

    使用 GitHub Actions 解决了 GitHub 代码自动同步 Gitee 的问题,但我们的博客仓库代码同步到 Gitee 后,并不能像 GitHub 一样自动部署 Pages,如果不使用付费的 Gitee Pages Pro 服务,那我们该怎么实现 Gitee 自动部署 Pages 呢

    基本用法

    新建一个name=GITEE_PASSWORD, value=gitee登陆密码的secrets

    - name: Build Gitee Pages
      uses: yanglbme/gitee-pages-action@main
      with:
        # 注意替换为你的 Gitee 用户名
        gitee-username: narutohyc
        # 注意在 Settings->Secrets 配置 GITEE_PASSWORD
        gitee-password: ${{ secrets.GITEE_PASSWORD }}
        # 注意替换为你的 Gitee 仓库,仓库名严格区分大小写,请准确填写,否则会出错
        gitee-repo: hycBook/bk_index
        # 要部署的分支,默认是 master,若是其他分支,则需要指定(指定的分支必须存在)
        branch: gh-pages
    

    相关文章

      网友评论

        本文标题:gitbook+github pages+github acti

        本文链接:https://www.haomeiwen.com/subject/efqzjrtx.html