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学习笔记(七)利用javascript来创建和存储cookie
Apr 08 Javascript
jQuery+ajax实现无刷新级联菜单示例
May 21 Javascript
javascript 应用小技巧方法汇总
Jul 05 Javascript
jQuery实现宽屏图片轮播实例教程
Nov 24 Javascript
jQuery根据name属性进行查找的用法分析
Jun 23 Javascript
jQuery动态改变多行文本框高度的方法
Sep 07 Javascript
原生JS实现图片轮播效果
Dec 26 Javascript
ES6学习之变量的两种命名方法示例
Jul 18 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
Feb 23 Javascript
bootstrap模态框关闭后清除模态框的数据方法
Aug 10 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
Sep 18 Javascript
layui 实现自动选择radio单选框(checked)的方法
Sep 03 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
JAVA/JSP学习系列之六
2006/10/09 PHP
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
php cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
WAF的正确bypass
2017/01/05 PHP
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
2016/12/12 Javascript
Javascript 对cookie操作详解及实例
2016/12/29 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
python实现门限回归方式
2020/02/29 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
纯CSS3实现圆圈动态发光特效动画的示例代码
2021/03/08 HTML / CSS
女儿十岁生日答谢词
2014/01/27 职场文书
股指期货心得体会
2014/09/13 职场文书
关于运动会广播稿300字
2014/10/05 职场文书
银行授权委托书样本
2014/10/13 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang