关于开箱即用的文档静态网站生成器VuePress
关于VuePress
一个由Vue驱动的静态文档网站生成框架,具有开箱即用的优点。
给项目添加.gitignore
.gitignore是git用来排除目录的清单,我们把以下目录加入其中,以便每次操作都把这些东西带上,搞得git项目乱七八糟的。
# 项目依赖包
node_modules
# Build之后的输出目录
.vuepress/dist
安装VuePress
全局安装VuePress
npm install -g vuepress
或者
yarn global add vuepress
在现有项目文件夹安装
npm install -D vuepress
或者
yarn add -D vuepress
给现有项目添加VuePress支持
在项目文件夹执行如下命令即可。
vuepress dev .
顺利的话,它就安装以来的Node包,然后启动一个8080的http监听。
打开网址(http://localhost:8080)[http://localhost:8080]访问

如果提示你,没有权限执行ps命令,那就右键管理员打开PowerShell,然后执行以下命令解锁:
set-executionpolicy remotesigned
升级VuePress
npm i @vuepress/core

生产静态网站
vuepress build .

配置运行
根目录新建package.json文件,内容
{
"scripts": {
"dev": "vuepress dev .",
"build": "vuepress build ."
}
}

这样就可以在终端界面运行:
开始写作
npm run dev
生成静态文件
npm run build

默认静态文件会生成在项目目录的.vuepress/dist下

配置静态
看是否存在.vuepress/config.js文件,没有的话就新建一个。
module.exports = {
title: `XXXXXXX- Home`,
description: `XXXXXXX`
}
静态资源
静态资源文件夹
关于静态资源应该放哪,有个默认可选路径.vuepress/public,如果这个文件夹没有,你就自己新建一个,默认这个会打包到静态根目录。
我们在这个public底下,再根据我们日常习惯,建立assets相关目录,示例如下:

而需要用的时候,这个静态文件的引用路径就是
/assets/img/xxxxx.ext

网站图标
将生成好的favicon.ico放到.vuepress/public/assets/img/中。

然后到.vuepress/config.js文件中添加一项如下:
head: [
['link', { rel: 'shortcut icon', type: "image/x-icon", href: "/assets/img/favicon.ico" }]
]

只要路径对,重新发布后就可以看到网站图标了。
导航栏
导航栏默认是带搜索框的,然后如果想新增,就在.vuepress/config.js文件中的themeConfig节点底下新增nav节点。
比如:
nav:
[
{ text: '首页', link: '/' },
{ text: '百度一下', link: 'https://www.baidu.com' },
]


外部链接<a>标签的特性将默认包含target="_blank" rel="noopener noreferrer",你可以提供target与rel,它们将被作为特性被增加到<a>标签上。
// .vuepress/config.js
module.exports = {
themeConfig: {
nav: [
{ text: 'External', link: 'https://google.com', target:'_self', rel:'' },
{ text: 'Guide', link: '/guide/', target:'_blank' }
]
}
}
侧边栏
自定义侧边栏
默认侧边栏是没有启用的,如果需要,在.vuepress/config.js文件中的themeConfig节点底下新增sidebar节点。
比如:
sidebar:
[
['account/bizspark', 'BizSpark'],
['account/office', 'Office 365']
]


自动侧边栏
在.vuepress/config.js文件中的themeConfig节点底下新增sidebar节点,设置成auto模式即可。
sidebar: 'auto'

其他效果
开启滑动动画
// themeConfig
smoothScroll: true
添加上次更新时间
// themeConfig
lastUpdated: '上次更新',
全局显示代码行号
在.vuepress/config.js文件中添加节点markdown
markdown:{
lineNumbers: true, // 显示代码行号
}

设置全局内容视图宽度
在.vuepress路径新增styles文件夹,并新建文件palette.styl
填充内容,其中contentWidth的数值就是你要设置的默认最低内容视图宽度。
$contentWidth = 1000

多语言
在根目录新建文件夹zh-cn和en-us两个文件夹,然后将对应语言的文件放到对应的文件夹里面。

配置导航栏,如果导航栏是一个Item项,它会呈现下拉样式,比如我们多语言就可以做成如下:
nav:
[
{ text: '首页', link: '/' },
{
text: '语言',
ariaLabel: 'Language Menu',
items: [
{ text: '中文', link: '/zh-cn/' },
{ text: 'English', link: '/en-us/' }
]
},
]

参考资料
关于开箱即用的文档静态网站生成器VuePress的更多相关文章
- hugo-最好用的静态网站生成器
hugo最好用的静态网站生成器 Hugo是由Go语言实现的静态网站生成器.简单.易用.高效.易扩展.快速部署. 快速开始 安装Hugo 1. 二进制安装(推荐:简单.快速) 到 Hugo Releas ...
- jekyll 将纯文本转化为静态网站和博客 静态网站生成器
jekyll 将纯文本转化为静态网站和博客 静态网站生成器 这个貌似对windows 支持不是很好~ 但是有支持,官方说不建议使用
- DEDE SQL标签可以获取文档静态链接地址
在DedeCMS的系统里面,我可以通过由使用SQL语句来配合织梦标签进行更多的个性化调用.比如:推荐会员.推荐企业等.但是我们发现文档链接的底层模板地址的是动态的,那么我们要如何来进行转换,让他链接到 ...
- 国内android帮助文档镜像网站---http://wear.techbrood.com/develop/index.html
http://wear.techbrood.com/develop/index.html
- 国内强大的API接口文档写作网站showdoc
传送门:https://www.showdoc.cc/ 思思今天使用了一下,真是非常方便,瞬间爱上呀,哈哈. 赶紧去试试吧...
- python文档生成工具:pydoc、sphinx;django如何使用sphinx?
文档生成工具: 自带的pydoc,比较差 建议使用sphinx 安装: pip install sphinx 安装主题: 由各种主题,我选择常用的sphinx_rtd_theme pip instal ...
- SpringBoot2中,怎么生成静态文档
SpringBoot2中,怎么生成静态文档 在实际开发过程中,我们通过swagger就可以生成我们的接口文档,这个文档就可以提供给前端人员开发使用的.但是,有时候,我们需要把我们的接口文档,提供给第三 ...
- 一文搭建自己博客/文档系统:搭建,自动编译和部署,域名,HTTPS,备案等
本文纯原创,搭建后的博客/文档网站可以参考: Java 全栈知识体系.如需转载请说明原处. 第一部分 - 博客/文档系统的搭建 搭建博客有很多选择,平台性的比如: 知名的CSDN, 博客园, 知乎,简 ...
- 使用sphinx制作接口文档并托管到readthedocs
此sphinx可不是彼sphinx,此篇是指生成文档的工具,是python下最流行的文档生成工具,python官方文档即是它生成,官方网站是http://www.sphinx-doc.org,这里是一 ...
随机推荐
- C++PRIMER第二章前半部分答案
C++PRIMER第二章前半部分答案 哈哈哈,为什么是前半部分呢,后半部分还在学习中,重新系统性的学习c++,共同进步嘛,不多说,跟我一起来看看吧,第三章开始才是新手收割的时候,慢慢来~~ 2.1&a ...
- 【建议收藏】缺少 Vue3 和 Spring Boot 的实战项目经验?我这儿有啊!
缺少 Vue3 和 Spring Boot 的实战项目经验?缺少学习项目和练手项目?我这儿有啊! 从 2019 年到 2021 年,空闲时间里陆陆续续做了一些开源项目,推荐给大家啊!记得点赞和收藏噢! ...
- [刷题] 283 Move Zeros
要求 将所有的0,移动到vector的后面比如; [1,3,0,12,5] -> [1,3,12,5,0] 实现 第一版程序,时间.空间复杂度都是O(n) 1 #include<iostr ...
- echo -n -e "请输入重启间隔的时间(分钟):\t"
echo -n -e "请输入重启间隔的时间(分钟):\t"read interval##echo -n "Your choice is " # 加上 -n 可 ...
- k8s用 ConfigMap 管理配置(13)
一.ConfigMap介绍 Secret 可以为 Pod 提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap ConfigMap 的创建和使用方 ...
- C# 技术体系简介
C# 语言 .Net Framwork .NET Core winform界面编程 WPF开发经验,熟悉C/S架构产品开发及架构和设计 DevExpress界面框架(其实就是基于微软的 Winform ...
- OSI 七层参考模型与 TCP/IP 四层协议
OSI 七层参考模型 OSI (Open System Interconnect,开放系统互连参考模型)是由 ISO(国际标准化组织)定义的,它是个灵活的.稳健的和可互操作的模型,并不是协议,常用来分 ...
- 机器人的运动范围--BFS
地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] .一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左.右.上.下移动一格(不能移动到方格外),也不能进入行坐标和列 ...
- redis 和 mysql 的主从复制
1. mysql主从复制 (1) 为什么要做主从复制? 1.在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写 ...
- lua table的遍历
--ordered table iterator sorted by key function pairsByKeys(t) local a = {} for n in pairs(t) do a[# ...