手机安装Linux Deploy 构建私有云——个人博客docsify
[TOC]
网上有很多开源博客系统,筛选了一下,选择了支持markdown语法的docsify,以及可以形成章节阅览模式的gitbook。
nodejs环境
- 通过宝塔面板-软件管理-安装 PM2管理器
- pm2管理器安装失败,但nodejs环境能够使用
docsify —— A magical documentation site generator
docsify环境安装
npm i docsify-cli -g
目录初始化
我是用的是宝塔安装的nginx服务器,docsify支持直接部署,没有按照docsify帮助文档中的VPS部署,修改nginx服务器配置,直接在web服务器根目录创建了一个docsify目录,在该目录下初始化:
docsify init .
注:执行后,会将上级目录中的index.html文件修改;建议按docsify帮助文档中方式,指定文档路径初始化目录
启动本地服务预览
docsify server . --open
个人定制
入门使用,先参考docsify帮助文档在github的编写方式
更多外观 docsify-themeable
更多插件 docsify 插件列表
修改index.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, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css">
<style>
/* 修改logo图片大小 */
.app-name-link img {
height: 100px;
width: 150px;
}
</style>
</head>
<body>
<div id="app">Please wait...</div>
<script>
window.$docsify = {
// 直接渲染其他域名的文档
//basePath: 'http://guolu1976.ticp.net/docsify/',
//basePath:'/',
logo: '/img/china.svg',
auto2top: true, //当路线改变时,滚动到屏幕的顶部。
coverpage: false, //激活封面功能。如果为true,则会从中加载_coverpage.md。
executeScript: false, //执行页面上的脚本。只解析第一个脚本标记(演示)。如果存在Vue,则默认开启。
//同时设置 loadSidebar 和 autoHeader 后,可以根据 _sidebar.md 的内容自动为每个页面增加标题。#78
loadSidebar: true, //_sidebar.md如果为真,则从_sidebar.md文件加载边栏,否则从指定的路径加载。
loadNavbar: true,
subMaxLevel: 2,//在自定义边栏中添加目录(TOC)。
autoHeader: false,
mergeNavbar: true,//Navbar将在小屏幕上与侧边栏合并。
maxLevel: 6,//最大的内容表级别。
name: '简,道指根;易,经之本',//TODO:添加logo后不能正常显示
search: {
maxAge: 86400000, // 过期时间,单位毫秒,默认一天
noData: {
'/': '没有结果!'
},
paths: 'auto',
placeholder: {
'/': '搜索'
},
// 搜索标题的最大程级, 1 - 6
depth: 6,
},
// themeColor: '#3F51B5',
}
</script>
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
<script src="//unpkg.com/docsify/lib/plugins/search.min.js"></script>
<script src="//unpkg.com/docsify/lib/plugins/emoji.min.js"></script>
<script src="//unpkg.com/docsify-copy-code"></script>
<!-- markdown 代码高亮显示 https://unpkg.com/prismjs/components/ -->
<script src="//unpkg.com/prismjs/components/prism-bash.min.js"></script>
<script src="//unpkg.com/prismjs/components/prism-php.min.js"></script>
<script src="//unpkg.com/prismjs/components/prism-markdown.min.js"></script>
</body>
</html>
修改根目录README.md
网页书签
<!-- README.md -->
[dogedoge](https://dogedoge.com ':include :type=iframe width=100% height=500px sandbox="allow-same-origin allow-top-navigation allow-forms allow-scripts"')
![dogedoge](https://dogedoge.com/assets/logo_homepage.normal.v108.svg)[dogedoge](https://dogedoge.com) ![语雀](https://gw.alipayobjects.com/zos/rmsportal/kyjrtmqaKAvzJAaoZfFp.svg)[语雀—云端知识库](https://www.yuque.com/explore/headlines)
![在线工具—程序员的工具箱](/计算机/Win10/img/tool.lu.png) [在线工具—程序员的工具箱](https://tool.lu/)
---
![阮一峰的网络日志](http://www.ruanyifeng.com/favicon.ico)[阮一峰的网络日志](http://www.ruanyifeng.com/blog/) ![xiaoz](https://cdn.nlark.com/yuque/0/2019/png/192152/1557365751521-avatar/783b3833-ba77-4cf5-a590-e7c3e25fea04.png)[Zdoc—xiaoz.me博主](https://www.xiaoz.me/doc/) ![小四的后院](http://ww3.sinaimg.cn/mw690/6b12edffgw1dz6glubodfj.jpg)[小四的后院](https://233.al/)
---
*程序员工具箱网站https://tool.lu/的图片链接url(//qn11.tool.lu/201710/15/103320SbM84Ql4tETjg49a_28x28.png),在docsify中不能正常显示,vscode中markdown预览正常,没有查找原因。*
根目录_navbar.md
<!-- _navbar.md -->
* ≡
* [简书](/jianshu.md)
根目录_sidebar.md
<!-- _sidebar.md -->
* [首页](/ ':title= 首页')
* [我的简书](/jianshu.md ':title=我的简书')
* [简,道之根;易,经之本](https://www.jianshu.com/u/49f691fad0a9)
* [Win10相关](/计算机/Win10/_sidebar.md ':title= Win10相关内容')
* [Linux相关](/计算机/Linux/_sidebar.md ':title= Linux相关内容')
* [喜马拉雅](/喜马拉雅/_sidebar.md)
子目录_sidebar.md
<!-- /计算机/Linux/_sidebar.md -->
![Linux](https://s2.ax1x.com/2019/06/17/VHpvB6.jpg)
* [Linux相关](/计算机/Linux/_sidebar.md)
* [手机安装Linux Deploy 构建私有云](/计算机/Linux/_sidebar.md)
- [环境搭建](/计算机/Linux/手机安装LinuxDeploy构建私有云/手机安装LinuxDeploy构建私有云.md)
- [svn服务器—subversion](/计算机/Linux/手机安装LinuxDeploy构建私有云/svn服务器—subversion.md)
- [个人博客—docsify)](/计算机/Linux/手机安装LinuxDeploy构建私有云/个人博客—docsify.md)
效果截图
注:_sidebar.md中的链接,如果不添加title标记,浏览器中的标题显示错误。
遇到的问题
源码安装nodejs
需要使用新版gcc编译器,简单尝试不成功后放弃
阿里的源对x86架构以外的cpu架构支持的不好,没有更换源去尝试。
后来发现通过宝塔面板安装PS2管理器可以部署nodejs环境
需升级gcc
Centos7升级gcc版本方法之一使用scl软件集
yum install centos-release-scl scl-utils-build scl-utils
wget https://npm.taobao.org/mirrors/node/v10.16.0/node-v10.16.0.tar.gz
tar xvzf node-v10.16.0.tar.gz
cd node-v10.16.0
./configure
make -j4
sudo make install
侧边栏,浏览器标题,站内导航问题
参考总结中内容。
参考
dragon | docsify - 生成文档网站简单使用教程
冯白杨 | 基于滴滴云搭建轻量文档网站生成工具 Docsify
总结
- 导航用到的_sidebar.md等站内md文件中,使用站内的链接文件,需要使用绝对路径(根目录 / 是index.html所在目录)
<!--_sidebar.md-->
* [首页](/)
* [简,道之根;易,经之本](https://www.jianshu.com/u/49f691fad0a9)
* [Win10](/简书/Win10/Win10.md)
- 首页使用的绝对路径,docsify会导航到根目录的README.md;
- 前面例子中,二级导航Win10的链接Win10.md使用的是绝对路径;
- 启用自定义导航后,所有的文件夹子目录需要都使用_sidebar.md进行导航(否则,目录[TOC]展开位置不可控,很可能在README.md的一级大纲中展开);
- 二级目录中,_sidebar.md文件中第一行加入图片链接,会自动添加到导航栏;
- 导航到对应文章时,大纲目录会出现在导航栏中,通过index.html中初始化脚本参数subMaxLevel,控制显示级别;
- 多页时侧边栏配置了subMaxLevel无效 #726 : 文件名、文件夹路径中不要包含空格(可以考虑用下划线_代替空格)
- docsify扩展语法中,使用title设置超级链接的文档标题时,等号后边需要加空格,否则一些标题显示不完整,下面的例子中,不添加空格,浏览器标签页的标题,"Win10"不会显示:
* [Win10相关](/计算机/Win10/_sidebar.md ':title= Win10相关')
Markdown文档中的链接路径中要使用/,在windows下很容易将路径使用\,如果路径中使用了,在docsify中,会造成导航栏错误;
MarkDown 链接中有空格怎么办_百度知道
2017年7月20日 - 回答:将空格替换成 %20 即可。
同时关注了GitBook,以后制作电子书的时候再尝试。