Vuepress记录文档

Java小王子
• 阅读 1853

在已有项目中安装

  // 安装:
  npm install -D vuepress
  // 创建一个docs 目录
  mkdir docs
  // 创建一个 markdown 文件(相当于入口页)
  echo '# Hello VuePress' > docs/README.md
  // package.json添语句
  "scripts": {
    "docs:dev": "vuepress dev docs",
    "docs:build": "vuepress build docs"
  }

运行

npm run docs:dev

打包

npm run docs:build

运行后出现乱码问题:

解决方式:修改md文件编码为UTF-8, 即可正常显示

如何使用:

目录结构

.
├── docs
│   ├── .vuepress (可选的)
│   │   ├── components (可选的)
│   │   ├── theme (可选的)
│   │   │   └── Layout.vue
│   │   ├── public (可选的)
│   │   ├── styles (可选的)
│   │   │   ├── index.styl
│   │   │   └── palette.styl
│   │   ├── templates (可选的, 谨慎配置)
│   │   │   ├── dev.html
│   │   │   └── ssr.html
│   │   ├── config.js (可选的)
│   │   └── enhanceApp.js (可选的)
│   │ 
│   ├── README.md
│   ├── guide
│   │   └── README.md
│   └── config.md
│ 
└── package.json
  • docs/.vuepress: 用于存放全局的配置、组件、静态资源等。
  • docs/.vuepress/components: 该目录中的 Vue 组件将会被自动注册为全局组件。
  • docs/.vuepress/theme: 用于存放本地主题。
  • docs/.vuepress/styles: 用于存放样式相关的文件。
  • docs/.vuepress/styles/index.styl: 将会被自动应用的全局样式文件,会生成在最终的 CSS 文件结尾,具有比默认样式更高的优先级。
  • docs/.vuepress/styles/palette.styl: 用于重写默认颜色常量,或者设置新的 stylus 颜色常量。
  • docs/.vuepress/public: 静态资源目录。
  • docs/.vuepress/templates: 存储 HTML 模板文件。
  • docs/.vuepress/templates/dev.html: 用于开发环境的 HTML 模板文件。
  • docs/.vuepress/templates/ssr.html: 构建时基于 Vue SSR 的 HTML 模板文件。
  • docs/.vuepress/config.js: 配置文件的入口文件,也可以是 YML 或 toml。
  • docs/.vuepress/enhanceApp.js: 客户端应用的增强。

首页docs/README.md

该页为项目的首页,支持配置:

---
home: true // 是否
actionText: 快速上手 →
actionLink: /guide/
features:
- title: 简洁至上
  details: 以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。
- title: Vue驱动
  details: 享受 Vue + webpack 的开发体验,在 Markdown 中使用 Vue 组件,同时可以使用 Vue 来开发自定义主题。
- title: 高性能
  details: VuePress 为每个页面预渲染生成静态的 HTML,同时在页面被加载的时候,将作为 SPA 运行。
footer: MIT Licensed | Copyright © 2018-present xxxxxx
---

配置config.js

结构:

  module.exports = {
    title: '组件库文档',
    description: '组件库使用方法说明',
  }

官方文档地址配置参考

这里介绍部分常用属性:

  1. title标题:

    配置当前文档标题(显示在文档左上角和首页位置)

  2. description描述:

    配置当前文档描述部分(显示在文档首页标题之下)

  3. base网站将在其部署的基本 URL。(Default: '/')

    当你的文档默认需要部署在根目录时无需配置,当需要放在doc子路径下时,请配置base: '/doc/', 请注意:这里前后都需要/

  4. port端口号: (Default: 8080)

    运行时的端口号

  5. theme自定义主题:(Default: undefined)

    指定此选项来使用自定义主题。

  6. themeConfig: (Default: {})

    为使用的主题提供配置选项。这些选项将根据你使用的主题而有所不同。具体使用参见默认主题配置(default theme config)

  7. plugins: 插件扩展

    • 直接引入js:

        module.exports = {
          plugins: [
            require('./my-plugin.js')
          ]
        }
    • 使用npm上的插件:

        module.exports = {
          plugins: [ 'vuepress-plugin-xx' ]
        }

      更多属性请参照官方文档

palette.styl样式变量修改项:

// 颜色
$accentColor = #283eb2
$textColor = #2c3e50
$borderColor = #eaecef
$codeBgColor = #282c34
$arrowBgColor = #ccc
$badgeTipColor = #42b983
$badgeWarningColor = darken(#ffe564, 35%)
$badgeErrorColor = #DA5961

// 布局
$navbarHeight = 3.6rem
$sidebarWidth = 20rem
$contentWidth = 740px
$homePageWidth = 960px

// 响应式变化点
$MQNarrow = 959px
$MQMobile = 719px
$MQMobileNarrow = 419px

enhanceApp.js应用增强

类似vue中的mian.js的作用,用于增强应用的功能,如element-ui将在此处进行注册引入。

结构:

import Element from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
 export default ({
   Vue, // the version of Vue being used in the VuePress app
   options, // the options for the root Vue instance
   router // the router instance for the app
 }) => {
   // ...apply enhancements to the app
   Vue.use(Element);
 }

注意:引入某些库时会出现运行时没任何问题,而打包时报window is not defined或者document is not defined导致打包时失败的话,这是由于vuepress采用的是服务端渲染 所以此时找不到对应的window,请修改为

 import ElementUI from 'element-ui';
 import XXX from "XXX";
 
 
 export default ({
   Vue, // VuePress 正在使用的 Vue 构造函数
 }) => {
   // ...做一些其他的应用级别的优化
   Vue.use(ElementUI);
   Vue.mixin({
     mounted(){
       Vue.component(XXX.name, XXX);
     }
   })
 };

或者改为

 // 扩展写这里
 import Element from 'element-ui';
 import 'element-ui/lib/theme-chalk/index.css';
 export default async ({
   Vue,
   options,
   router,
   isServer
 }) => {
   const components = await import('XXX')
   Vue.use(Element);
   Vue.use(components.default)
 };
点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
4年前
Centos7下安装包方式安装MySQL
安装包下载地址:https://cdn.mysql.com//Downloads/MySQL5.7/mysql5.7.271.el7.x86\_64.rpmbundle.tar第一步:在/home目录下创建一个mysql文件夹并将安装包放在该文件下!(https://oscimg.oschina.net/oscnet/0b2845df
Wesley13 Wesley13
4年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
4年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Stella981 Stella981
4年前
Linux ReviewBoard安装与配置
目录0\.引言1\.安装步骤2\.配置站点2.1创建数据库2.2开始安装2.3修改文件访问权限2.4Web服务器配置2.5修改django相关配置正文回到顶部(https://www.oschi
Wesley13 Wesley13
4年前
mysql之索引
一.索引:索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。对于索引,会保存在额外的文件中1.1.创建一个索引:mysqlcreateindexix_classontb3(class_id);QueryOK,0rowsaffected(0.02sec)
Wesley13 Wesley13
4年前
mysql8.0安装
之前写过低版本的安装,现在需要用到8.0以上版本做个解压版本安装记录1、解压安装包!(https://oscimg.oschina.net/oscnet/up8342f5a8ac1cd1017202feaa464bd40102c.png)2、创建选项文件在解压目录里面创建my.ini文件!(https://oscimg.osch
Stella981 Stella981
4年前
Docker harbor 安装和基础操作
目录简介离线安装配置文件安装查看访问测试及简单操作创建一个用户创建一个测试仓库创建测试仓库测试上传和下载镜像上传下载镜像测试简介Docker容器应用的开
Java小王子
Java小王子
Lv1
谁没喝过酒尝过孤独,但却忘不了你
文章
3
粉丝
0
获赞
0