网站LOGO
博客 | 棋の小站
页面加载中
12月6日
达尔达尼亚瀑布,博洛尼亚,意大利 ...
网站LOGO 博客 | 棋の小站
记录学习,心得,状态,生活。
菜单
  • 博客 | 棋の小站
    记录学习,心得,状态,生活。
    用户的头像
    首次访问
    上次留言
    累计留言
    我的等级
    我的角色
    打赏二维码
    打赏博主
    使用Docsify搭建云笔记
    点击复制本页地址
    微信扫一扫
    文章二维码
    文章图片 文章标题
    创建时间
  • 一 言
    确认删除此评论么? 确认
  • 本弹窗介绍内容来自,本网站不对其中内容负责。
    按住ctrl可打开默认菜单

    使用Docsify搭建云笔记

    · 原创 ·
    搭建网站 · 实用教程
    共 8742 字 · 约 3 分钟 · 247

    考虑到以后换服务器的事情,Docsify也要跟着迁移,以前写过安装Docsify的文章,但是由于旧博客的问题那篇文章也不见了,现使用我的其他服务器作为一次尝试,写一篇教学安装Docsify的文章,也为我日后迁站留个资料。

    注:我的云笔记搭建目前有更改,具体内容就是为了使宝塔面板和命令行的NodeJS统一,需要对NodeJS做一些更改,具体请参考下面的文字。做了此更改后,安装Docsify的过程中安装NodeJS的步骤就可以省略了。若你不使用宝塔面板则此步骤可忽略。

    宝塔面板安装NodeJS并添加环境变量

    首先在【Node版本管理器】中安装一个版本的NodeJS,我这里选择16.20.2版本。

    安装NodeJS安装NodeJS

    然后在你安装宝塔的根目录找到这个NodeJS文件夹,一般的宝塔面板安装在/www/server/中(或许不是宝塔面板根目录而是宝塔安装的服务都在此文件夹),上方安装的NodeJS应在/www/server/nodejs/v16.20.2中。

    然后添加软连接即可。

    bash 代码:
    ln /www/server/nodejs/v16.20.2/bin/node /usr/local/bin/node

    安装

    1. 安装node.js与npm(安装nodejs后会自动安装npm)。
    bash 代码:
    yum install nodejs
    1. 全局安装docsify。
    bash 代码:
    npm i docsify-cli -g

    若没有安装npm则可以输入yum install npm安装npm。

    1. 创建一个文件夹,作为docsify的根目录,如notebook。
    bash 代码:
    mkdir notebook
    docsify init ./notebook

    随后进入到~/notebook下,可以看到如下的文件路径。

    ├── README.md # 会做为主页内容渲染
    └── index.html # 入口文件
    └── .nojekyll # 用于阻止 GitHub Pages 忽略掉下划线开头的文件

    1. 试运行。
    bash 代码:
    docsify serve notebook

    它的默认端口为3000,随后我们访问ip:3000可以看到docsify创建成功。

    Docsify界面Docsify界面

    自定义配置

    打开index.html,可以看到类似下面的文件结构。

    html 代码:
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
      <meta name="description" content="Description">
      <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
      <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
    </head>
    <body>
      <div id="app"></div>
      <script>
        window.$docsify = {
          name: '',
          repo: ''
        }
      </script>
      <!-- Docsify v4 -->
      <script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
    </body>
    </html>

    为加快访问速度,建议将css和js都下载到本地。

    window.$docsify为配置代码。

    下面给出一些常见的配置。

    侧边栏

    在window.$docsify里面加一个loadSidebar: true,如下。

    html 代码:
      <script>
        window.$docsify = {
          name: '',
          repo: '',
          loadSidebar: true
        }
      </script>

    随后在index.html文件的同级目录下创建_sidebar.md。

    _sidebar.md就为侧边栏文件,在里面使用markdown的列表表示多项,而每一项使用超链接的语法表示。

    如:

    markdown 代码:
    * [首页](https://qi1.zone)
    * [博客](https://blog.qi1.zone)
    左边为侧边栏左边为侧边栏

    Docsify支持多级目录,每个目录的默认页文件都为README.md,侧边栏也支持嵌套,若文件夹内部的_sidebar.md没有找到它会到父目录寻找。

    开启目录

    在配置里新增subMaxLevel: 2,它代表设置目录最大层级为2。

    目录目录

    默认情况下,第一个标题不会加载到目录中,因为它一般代表整个页面的标题。

    封面

    在配置里新增coverpage: true,然后在同级目录下创建_coverpage.md。

    markdown 代码:
    # Docsify
    
    > 欢迎使用Docsify。
    
    ---
    
    [首页](https://qi1.zone)
    [自定义目录](https://blog.qi1.zone)

    在_coverpage.md中输入以上代码。

    云笔记首页云笔记首页

    搜索

    在配置里新增下面的代码:

    search: {
            maxAge: 86400000,//过期时间,单位毫秒,默认一天
            paths: [], // or 'auto'
            placeholder: '请输入搜索关键字',
            noData: '没有搜到呦!',
            depth:2
        }

    然后加入JS。

    html 代码:
    <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
    搜索搜索

    字数统计

    在配置里添加如下代码:

    window.$docsify = {
      count:{
        countable:true,
        fontsize:'0.9em',
        color:'rgb(90,90,90)',
        language:'chinese'
      }
    }

    然后引入JS:<script src="//unpkg.com/docsify-count/dist/countable.js"></script>

    其他配置

    下面的功能只需要引入JS即可。

    功能代码
    上一页下一页<script src="//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>
    剪贴板<script src="//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script>

    下面给出我的云笔记同款配置,读者可以将JS和CSS下载到自己的服务器上。

    html 代码:
    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>笔记 | 棋の小站</title>
        <link rel='icon' href="favicon.ico" type="image/ico">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
        <meta name="description" content="Description">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;"/>
        <!--<link rel="stylesheet" href="src/prism.css">-->
        <link rel="stylesheet" href="src/vue.css">
        <!-- switch between day and night -->
        <link
                rel="stylesheet"
                href="src/style.css"
                title="docsify-darklight-theme"
                type="text/css"
        />
    
        <style>
    
            .cover-main {
                color: black;
            }
    
            h1#笔记-棋の小站 > a > span {
                color: #34495e !important;
            }
    
            ::-webkit-scrollbar {
                width: 6px;
                height: 6px;
            }
    
            /*滚动条 阴影~圆角*/
            ::-webkit-scrollbar-track {
                border-radius: 10px;
                background-color: #f5f5f5;
            }
    
            /*滑块 阴影~圆角*/
            ::-webkit-scrollbar-thumb {
                border-radius: 10px;
                -webkit-box-shadow: inset 0 0 6px rgba(128, 128, 128, 0.7);
                background-color: rgb(149, 147, 147);
            }
    
    
            footer {
                border-radius: 10px 10px 0 0;
                z-index: 1000;
                left: 300px;
                width: calc(100% - 600px);
                position: fixed;
                right: 600px;
                bottom: 0;
                height: fit-content;
                padding: 4px 0;
                background-color: #ffffff;
                opacity: 0.5;
                display: flex;
                align-items: center;
                justify-content: center;
            }
    
            a.footer1 {
                text-decoration: none;
                height: 20px;
                display: block;
            }
    
            p.footer {
                text-decoration: none;
                font-size: 10px;
                font-family: 微软雅黑 serif;
                margin: 0;
                padding: 0;
                border: 0;
                color: #555555;
                transition: 0.3s all;
            }
    
            p.footer:hover {
                color: #222222;
                transition: 0.3s all;
            }
    
            @media screen and (max-width: 1200px) {
                footer {
                    display: none;
                }
            }
    
            h1#title {
                text-align: center;
                font-size: 2rem;
                line-height: 2.5rem;
                padding-left: 0.25rem;
                padding: 2rem 0;
                text-shadow: 0 1px 5px rgba(0, 0, 0, .25);
            }
        </style>
    </head>
    <body>
    <div id="app"></div>
    <script>
        window.$docsify = {
            name: '笔记 | 棋の小站',
            repo: '',
            coverpage: true,   // 封面页
            onlyCover: true,   // 只显示封面
            loadSidebar: true,   // 侧边栏
            loadNavbar: true,  // 导航栏
            maxLevel: 4,   // 目录最大层级数
            relativePath: true,   // 相对路径
            subMaxLevel: 3,
            //   logo: '/_media/icon.svg',
            //   mergeNavbar: true,
            //   onlyCover: true,
            notFoundPage: '/_404.md',  // 页面未找到后跳转的文件
    
            search: {
                maxAge: 86400000, // 过期时间,单位毫秒,默认一天
                placeholder: '搜索...',
                noData: '暂无数据',
                // 搜索标题的最大层级, 1 - 6
                depth: 6,
                hideOtherSidebarContent: false, // 是否隐藏其他侧边栏内容
            },
            count: {countable: true, fontsize: '0.9em', color: 'rgb(90,90,90)', language: 'chinese'}
        }
    
    </script>
    <!-- Docsify v4 -->
    <script src="src/docsify.js"></script>
    <script src="src/prism.js"></script>
    <script src="src/search.js"></script>
    <script src="src/codeCopy.js"></script>
    <script src="src/imgZoom.js"></script>
    <script src="src/page.js"></script>
    <script src="src/count.js"></script>
    <script src='src/theme.js'></script>
    <script>
        if (typeof navigator.serviceWorker !== 'undefined') {
            navigator.serviceWorker.register('src/sw.js')
        }
    </script>
    <script>
        setInterval(function () {
            if (window.stop)
                window.stop();
            else
                document.execCommand("Stop");
        }, 5000)
    </script>
    </body>
    </html>

    使其长时间运行

    我以宝塔面板为例,首先我的其他网站位置都在wwwroot目录下,因此先将文件夹移动到这里。

    然后创建nodejs项目。

    创建项目创建项目

    然后绑定域名。

    绑定域名绑定域名

    最后访问域名就可以了。

    声明:本文由 (博主)原创,依据 CC-BY-NC-SA 4.0 许可协议 授权,转载请注明出处。

    还没有人喜爱这篇文章呢

    发一条! 发一条!
    博客logo 博客 | 棋の小站 记录学习,心得,状态,生活。
    ICP 冀ICP备2023007665号 ICP 冀公网安备 13030202003453号

    🕛

    本站已运行 221 天 14 小时 0 分

    👁️

    今日访问量:88 昨日访问量:2564

    🌳

    建站:Typecho 主题:MyLife
    博客 | 棋の小站. © 2023 ~ 2023.
    网站logo

    博客 | 棋の小站 记录学习,心得,状态,生活。
     
     
     
     
    壁纸