Я хотел написать статью о Vuepress до мая день. В результате друга Wedd.
Не забудьте прочитать меры предосторожности в конце!
Введение в Vuepress
Официальный сайт:vuepress.vuejs.org/
Подобно hexo, минималистичному генератору статических веб-сайтов, писать техническую документацию не круто. Конечно, создать блог не проблема.
Особенности Vuepress
- Отзывчивый, вы также можете настроить тему, похожую на hexo
- Встроенная установка (с добавлением некоторых расширений), и вы можете использовать компоненты Vue в нем
- Интеграция с Google Аналитикой
- PWA автоматически генерирует Service Worker
Начать быстро
Установить
Инициализировать проект
yarn init -y
# 或者 npm init -y
Установить vuepress
yarn add -D vuepress
# 或者 npm install -D vuepress
Установите vuepress глобально
yarn global add vuepress
# 或者 npm install -g vuepress
Создайте новую папку Docs
mkdir docs
Настройте package.json
{
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
}
}
пишу
yarn docs:dev # 或者:npm run docs:dev
То есть для запуска среды разработки достаточно зайти в файл docs для написания статьи, открыть http://localhost:8080/ для предварительного просмотра
Построить
build генерирует статические файлы HTML, которые по умолчанию будут генерироваться в.vuepress/dist
в папке
yarn docs:build # 或者:npm run docs:build
базовая конфигурация
существует.vuepress
Создайте новый в каталогеconfig.js
, который выводит объект
Некоторые конфигурации могут относиться кофициальная документация, здесь я настраиваю обычно используемый и должен настроить
Информация о сайте
module.exports = {
title: '游魂的文档',
description: 'Document library',
head: [
['link', { rel: 'icon', href: `/favicon.ico` }],
],
}
Конфигурация панели навигации
module.exports = {
themeConfig: {
nav: [
{ text: '主页', link: '/' },
{ text: '前端规范', link: '/frontEnd/' },
{ text: '开发环境', link: '/development/' },
{ text: '学习文档', link: '/notes/' },
{ text: '游魂博客', link: 'https://www.iyouhun.com' },
// 下拉列表的配置
{
text: 'Languages',
items: [
{ text: 'Chinese', link: '/language/chinese' },
{ text: 'English', link: '/language/English' }
]
}
]
}
}
Как показано на рисунке:
конфигурация боковой панели
можно опустить.md
расширение, с/
конечные пути будут рассматриваться как*/README.md
module.exports = {
themeConfig: {
sidebar: {
'/frontEnd/': genSidebarConfig('前端开发规范'),
}
}
}
упакован вышеgenSidebarConfig
функция
function genSidebarConfig(title) {
return [{
title,
collapsable: false,
children: [
'',
'html-standard',
'css-standard',
'js-standard',
'git-standard'
]
}]
}
Поддержка группировки боковой панели (можно использовать для классификации статей в блогах), сворачиваемость в зависимости от того, расширена ли текущая группировка.
module.exports = {
themeConfig: {
sidebar: {
'/note': [
{
title:'前端',
collapsable: true,
children:[
'/notes/frontEnd/VueJS组件编码规范',
'/notes/frontEnd/vue-cli脚手架快速搭建项目',
'/notes/frontEnd/深入理解vue中的slot与slot-scope',
'/notes/frontEnd/webpack入门',
'/notes/frontEnd/PWA介绍及快速上手搭建一个PWA应用',
]
},
{
title:'后端',
collapsable: true,
children:[
'notes/backEnd/nginx入门',
'notes/backEnd/CentOS如何挂载磁盘',
]
},
]
}
}
}
Как показано на рисунке:
Модификация темы по умолчанию
Изменение цвета темы
существует.vuepress
создать каталогoverride.styl
документ
$accentColor = #3eaf7c // 主题色
$textColor = #2c3e50 // 文字颜色
$borderColor = #eaecef // 边框颜色
$codeBgColor = #282c34 // 代码背景颜色
пользовательский класс страницы
Иногда вам нужно применить разные css на разных страницах, вы можете сначала объявить на странице
---
pageClass: custom-page-class
---
затем вoverride.styl
написано на
.theme-container.custom-page-class {
/* 特定页面的 CSS */
}
Настройки ПВА
Установите для serviceWorker значение true, затем предоставьте манифест и значки, вы можете обратиться к моему предыдущему "Знакомство с PWA и быстрое начало создания приложения PWA》
module.exports = {
head: [
['link', { rel: 'icon', href: `/favicon.ico` }],
//增加manifest.json
['link', { rel: 'manifest', href: '/manifest.json' }],
],
serviceWorker: true,
}
Развертывание запущено
установить базовый путь
существуетconfig.js
установить базу
Например: вы хотите развернуть на https://foo.github.io, затем установите для базы значение/
, базовые значения по умолчанию/
так что не нужно устанавливать
Хотите развернуть в https://foo.github.io/bar/, тоbase
Это должно быть установлено"/bar/"
module.exports = {
base: '/documents/',
}
base
будет автоматически вставляться как префикс ко всем/
Начните ссылку для других параметров, поэтому вам нужно указать ее только один раз.
Сборка и автоматическое развертывание
использоватьgitHubстраницы илиcodingСтраницы могут быть или могут быть построены на вашем собственном сервере.
Будуdist
Просто отправьте содержимое папки в git или загрузите на сервер
yarn docs:build # 或者:npm run docs:build
Также можно получить скрипт, настроить непрерывную интеграцию, автоматически запускать скрипт при каждом PUSH-коде
deploy.sh
#!/usr/bin/env sh
# 确保脚本抛出遇到的错误
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:<USERNAME>/<REPO>.git master:gh-pages
cd -
Меры предосторожности (яма)
- Поместите все ресурсы, на которые вы хотите сослаться
.vuepress
в каталогеpublic
папка - После привязки независимого доменного имени к репозиторию git не забудьте изменить его
base
дорожка - После настройки группировки боковой панели предыдущая/следующая ссылка будет автоматически сгенерирована по умолчанию.
- Настройка автоматически сгенерированной боковой панели будет охватывать группировку боковой панели.
- Не забудьте включить SSL при настройке PWA