VuePress 静态网站生成方法步骤


Posted in Javascript onFebruary 14, 2019

使用技术:

VuePress - Vue 驱动的静态网站生成器

仓库地址:https://github.com/yinian-R/vuepress-demo

全局安装

## 安装
yarn global add vuepress # 或者:npm install -g vuepress

现有项目

如果你想在一个现有项目中使用 VuePress,同时想要在该项目中管理文档,则应该将 VuePress 安装为本地依赖。

## 没有项目可以初始化
yarn init

## 将 VuePress 作为一个本地依赖安装
yarn add -D vuepress # 或者:npm install -D vuepress

## 新建一个 docs 文件夹
mkdir docs

## 新建一个 markdown 文件
echo # Hello VuePress! > docs/README.md

## 开始写作
npx vuepress dev docs

接着,在 package.json 里加一些脚本:

{
 "scripts": {
  "docs:dev": "vuepress dev docs",
  "docs:build": "vuepress build docs"
 }
}

基本配置

.
├─ docs
│ ├─ README.md
│ └─ .vuepress
│   └─ config.js

一个 VuePress 网站必要的配置文件是 .vuepress/config.js,它应该导出一个 JavaScript 对象:

module.exports = {
 title: 'Hello VuePress',
 description: 'Just playing around'
}

静态资源

创建public文件夹,主要用于存放静态资源

.
├─ docs
│ └─ .vuepress
│   └─ public
│     └─ image
│        └─ favicon.ico

添加网站 favicon,修改 .vuepress/config.js 内容

module.exports = {
  head:[
    ['link', {rel:'icon', href:'/image/favicon.ico'}]
  ]
};

导航栏

你可以通过 themeConfig.nav 增加一些导航栏链接:

module.exports = {
  themeConfig: {
    nav: [
      { text: '主页', link: '/' },
      { text: '指南', link: '/guide/' },
      {
        text: '语言',
        items: [
          { text: '中文', link: '/language/chinese/' },
          { text: 'English', link: '/language/english/' }
        ]
      },
      { text: 'GitHub', link: 'https://github.com' }
    ]
  }
};

首页

需要在dosc/README.md指定 home: true

---
home: true
heroImage: /image/favicon.ico
heroText: Hero 标题
tagline: Hero 副标题
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 Evan You
---

侧边栏

想要使 侧边栏(Sidebar)生效,需要配置 themeConfig.sidebar,基本的配置,需要一个包含了多个链接的数组:

module.exports = {
  themeConfig: {
    sidebar: [
      '/',
      ['/hello', 'hello page']
    ]
  }
};

部署

设置部署站点的基础路径。

module.exports = {

  base: '/vuepress-demo/',
  
};

在你的项目中,创建一个如下的 deploy.sh 文件

#!/usr/bin/env bash
# 确保脚本抛出遇到的错误
set -e

# 生成静态文件
npm run docs:build

# 进入生成的文件夹
cd docs/.vuepress/dist

# 如果是发布到自定义域名
# echo 'www.example.com' > CNAME

git init
git add -A
git commit -m 'deploy'

# 如果发布到 https://<USERNAME>.github.io
# git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master

# 如果发布到 https://<USERNAME>.github.io/<REPO>
 git push -f git@github.com:yinian-R/vuepress-demo.git master:gh-pages

cd -

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript中的几个运算符
Jun 29 Javascript
js实现Select下拉框具有输入功能的方法
Feb 06 Javascript
第五篇Bootstrap 排版
Jun 21 Javascript
AngularJS之依赖注入模拟实现
Aug 19 Javascript
AngularJs Scope详解及示例代码
Sep 01 Javascript
JS对大量数据进行多重过滤的方法
Nov 04 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
Jan 24 Javascript
vue-cli axios请求方式及跨域处理问题
Mar 28 Javascript
JS实现的JSON序列化操作简单示例
Jul 02 Javascript
微信小程序上传文件到阿里OSS教程
May 20 Javascript
extract-text-webpack-plugin用法详解
Feb 14 #Javascript
JavaScript&quot;模拟事件&quot;的注意要点详解
Feb 13 #Javascript
快速了解Node中的Stream流是什么
Feb 13 #Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
Feb 13 #Javascript
vue实现点击隐藏与显示实例分享
Feb 13 #Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
Feb 13 #Javascript
JavaScript实现的拼图算法分析
Feb 13 #Javascript
You might like
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
关于php curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
php统计数组元素个数的方法
2015/07/02 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
.NET初级开发工程师面试题
2014/04/18 面试题
夏季奶茶店创业计划书
2014/01/16 职场文书
班级活动总结格式
2014/08/30 职场文书
党支部承诺书
2015/01/20 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
担保书怎么写 ?
2019/04/22 职场文书
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
pandas中关于apply+lambda的应用
2022/02/28 Python