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 相关文章推荐
[原创]后缀就扩展名为js的文件是什么文件
Dec 06 Javascript
jQuery中unwrap()方法用法实例
Jan 16 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
Mar 04 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
Nov 04 Javascript
js格式化时间的方法
Dec 18 Javascript
基于jquery编写分页插件
Mar 07 Javascript
简单掌握JavaScript中const声明常量与变量的用法
May 21 Javascript
JS定时器实现数值从0到10来回变化
Dec 09 Javascript
使用ionic切换页面卡顿的解决方法
Dec 16 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
May 29 Javascript
详解vue 项目白屏解决方案
Oct 31 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
Jan 08 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中调用SVN命令更新网站方法
2015/01/07 PHP
繁简字转换功能
2006/07/19 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
2016/09/27 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
详解Python的Django框架中的中间件
2015/07/24 Python
python 爬取微信文章
2016/01/30 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
如何基于Python实现自动扫雷
2020/01/06 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
Python接口开发实现步骤详解
2020/04/26 Python
python识别验证码的思路及解决方案
2020/09/13 Python
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
行政专员工作职责
2013/12/22 职场文书
保密承诺书范文
2014/03/27 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书
导游词之凤凰古城
2019/10/22 职场文书
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers
讲解MySQL增删改操作
2022/05/06 MySQL