使用 VuePress 搭建一个自己的知识文档

简介: 最近准备对前端知识做一个梳理,将自己的平时遇到的问题和解决方案形成一个知识文档。 本文记录了搭建 VuePress 的主要过程,同时也提供了部分自定义的配置,示例地址:http://doc.i-fanr.com

最近准备对前端知识做一个梳理,将自己的平时遇到的问题和解决方案形成一个知识文档。 本文记录了搭建 VuePress 的主要过程,同时也提供了部分自定义的配置,示例地址:http://doc.i-fanr.com


环境搭建


VuePress 有着比较完善的中文文档,我们可以直接参照文档搭建,首先确保电脑上已经安装了 Node.js 并且版本号不小于 8.6

# 检查 Node.js 版本号
node -v

建立一个文件夹用来搭建 VuePress, 例如我的 VuePress 搭建在 spacexcode目录 下

mkdir spacexcode && cd spacexcode

将 VuePress 安装为本地依赖

yarn add -D vuepress # npm install -D vuepress

创建你的第一篇文档

mkdir docs && echo '# Hello VuePress' > docs/README.md

package.json 中添加一些 scripts

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

在本地启动服务器

yarn docs:dev # npm run docs:dev


添加主题


环境添加完毕后接下来就是装修完善了,VuePress 的原始样式更适合制作文档,因此我们需要自定义样式。VuePress 提供了自定义主题与样式的方法,为了简单我们可以直接使用别人制作好的博客主题

这里推荐一个我正在使用的主题 vuepress-theme-reco

主题的使用方法文档中已经介绍的很详细了,这里分享几个我自己的自定义设置


修改页面样式


原始主题的页面内容宽度最大值是固定的,在我的大屏幕上显得有些窄了,因此我将文本宽度改为了页面宽度的 50%,这个设置与 Hexo 的设置一致,每个人可以根据自己的爱好修改。在 .vuepress/styles/palette.styl 文件中添加如下样式

// 首页内容宽度更改为页面的 75%
.home-blog
  .home-blog-wrapper
    width :75%
 // 文章页内容宽度更改为页面的 50%  
.page
  .page-title
    max-width :50%
  .content__default:not(.custom)
    max-width :50%
  .page-nav
    max-width :50%
.comments-wrapper
  max-width :50% !important


添加插件


安装插件,以  vuepress-plugin-image插件为例

yarn add vuepress-plugin-image

然后在 config.js 中添加插件

plugins: [
    '@vuepress/plugin-back-to-top',
    '@vuepress/plugin-medium-zoom',
    'image'
  ]

添加主题中未包含的插件,这里介绍几个我使用的插件

vuepress-plugin-viewer 一个图片查看插件

vuepress-plugin-pangu 自动在文章中英文与汉字之间添加空格

vuepress-plugin-tabs 增加一个带有 tab 标签的容器

vuepress-plugin-click 鼠标点击时增加特殊效果

vuepress-plugin-demo-block 添加 H5 代码预览区块


部署


博客搭建完成后需要部署,我们可以创建一个 shell 文件来打包部署,我的部署到 github.io 下面,这是我的 shell 文件

#!/usr/bin/env sh
# 确保脚本抛出遇到的错误
set -e
# 生成静态文件
yarn docs:build
# 进入生成的文件夹
cd docs/.vuepress/dist
git init
git add -A
git commit -m 'deploy'
git push -f git@github.com:fantingsheng/spacexcode.git master




目录
相关文章
|
C语言
【数据结构】栈和队列(c语言实现)(附源码)
本文介绍了栈和队列两种数据结构。栈是一种只能在一端进行插入和删除操作的线性表,遵循“先进后出”原则;队列则在一端插入、另一端删除,遵循“先进先出”原则。文章详细讲解了栈和队列的结构定义、方法声明及实现,并提供了完整的代码示例。栈和队列在实际应用中非常广泛,如二叉树的层序遍历和快速排序的非递归实现等。
1037 9
|
编译器 数据处理 C#
C#中的异步流:使用IAsyncEnumerable<T>和await foreach实现异步数据迭代
【1月更文挑战第10天】本文介绍了C#中异步流的概念,并通过使用IAsyncEnumerable<T>接口和await foreach语句,详细阐述了如何异步地迭代数据流。异步流为处理大量数据或需要流式处理数据的场景提供了一种高效且非阻塞性的方法,使得开发者能够更优雅地处理并发和数据流问题。
|
jenkins 开发工具 数据库
Git高级篇(1.3w字)(上)
Git高级篇(1.3w字)(上)
300 0
|
IDE Java 数据库连接
IntelliJ IDEA安装使用教程——社区免费版——附中文插件安装
IntelliJ IDEA安装使用教程——社区免费版——附中文插件安装
3185 0
|
9月前
|
运维 Linux 虚拟化
Linux 查看 CPU 使用情况
在 Linux 系统中,查看 CPU 使用情况是性能分析和故障排查的重要环节。查看 CPU 使用情况,使用 top 命令或者 htop 命令来查看。
|
9月前
|
存储 前端开发 JavaScript
35.2K star!双链笔记+知识图谱+本地优先,这款开源知识管理神器绝了!
嗨,大家好,我是小华同学。Logseq是一款融合「双链笔记+知识图谱+本地优先」理念的开源知识管理工具,支持Markdown/Org-mode格式,助力打造你的第二大脑。它采用Clojure语言开发,注重隐私,数据完全存储在用户本地设备,提供双向链接、块级引用、PDF标注等功能,适用于程序员、学者和个人目标管理等多种场景
804 1
|
图形学 开发者 异构计算
《黑神话:悟空》中的性能优化与调试技术
【8月更文第26天】在游戏开发过程中,性能优化和调试是保证游戏流畅运行的关键环节。《黑神话:悟空》作为一款追求高质量画面和流畅体验的游戏,其背后的性能优化与调试技术尤为重要。本文将详细介绍游戏开发过程中所采用的各种性能优化技术和调试手段。
329 3
|
12月前
|
人工智能 机器人 Android开发
ChatGPT拓展PC/Mac应用集成,迈向电脑操控新时代
ChatGPT拓展PC/Mac应用集成,迈向电脑操控新时代
|
12月前
|
存储 NoSQL 网络协议
Redis性能攻略:Redis-benchmark工具与实用性能优化技巧
Redis 是一种高性能的内存数据库,广泛应用于各种业务场景。随着业务规模扩大和数据量增长,性能问题逐渐凸显。本文深入探讨 Redis 性能优化方案,包括硬件配置(网络、内存优化)、参数配置(maxmemory、timeout 等)、数据结构选择、过期策略、持久化机制(RDB、AOF)及集群方案(主从复制、哨兵模式、集群模式),帮助提升 Redis 的整体性能表现。
555 0
|
存储 安全 5G
让你的相册变成私有云!Synology Photos 的公网访问功能指南
让你的相册变成私有云!Synology Photos 的公网访问功能指南