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 点击整页变灰的效果(可做退出效果)。
Jan 09 Javascript
关于文本框的一些限制控制总结~~
Apr 15 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 Javascript
JS去除右边逗号的简单方法
Jul 03 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
May 18 Javascript
JS继承与闭包及JS实现继承的三种方式
Oct 15 Javascript
js前端导出Excel的方法
Nov 01 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
Dec 11 Javascript
Vue中this.$router.push参数获取方法
Feb 27 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
Jul 15 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
Dec 16 Javascript
js加减乘除精确运算方法实例代码
Jan 17 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
orm获取关联表里的属性值
2016/04/17 PHP
JS效率个人经验谈(8-15更新),加入range技巧
2007/01/09 Javascript
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
2017/10/12 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
Python中多线程及程序锁浅析
2015/01/21 Python
Python语言实现机器学习的K-近邻算法
2015/06/11 Python
详解Django框架中的视图级缓存
2015/07/23 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
python程序快速缩进多行代码方法总结
2019/06/23 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
python读取word 中指定位置的表格及表格数据
2019/10/23 Python
python实现从wind导入数据
2019/12/03 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
网游商务专员求职信
2013/10/15 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
自我鉴定总结
2014/03/24 职场文书
实习协议书范本
2014/04/22 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
docker compose 部署 golang 的 Athens 私有代理问题
2022/04/28 Servers