VuePress介绍及使用指南

news2024/11/16 11:25:29

VuePress是一个基于Vue.js的静态网站生成工具,它专注于以Markdown为中心的项目文档。VuePress具有简单易用的特性,同时提供了强大的自定义和扩展性。在本文中,我们将介绍VuePress的基本概念,并提供一个简单的使用指南。

vuepress.jpg

什么是VuePress?

官方文档地址: https://vuepress.vuejs.org/zh/

github地址:https://github.com/vuejs/vuepress

VuePress是一个由Vue.js提供支持的静态网站生成器。它的主要特点包括:

  • 基于Markdown: VuePress以Markdown为中心,使得编写文档变得简单而直观。

  • Vue驱动: VuePress使用Vue.js进行开发,允许用户在Markdown中嵌入Vue组件,从而提供更强大的定制和交互性。

  • 默认主题: VuePress提供了一个现代化、响应式的默认主题,适用于各种文档项目。

  • 插件系统: VuePress具有灵活的插件系统,允许用户通过插件来扩展和定制网站的功能。

快速使用

虽然VuePress已经发布了v2.0的beta 版本,但是v2.0版本依赖的node版本必须大于 v18.16.0+,在linux上build的时候GLIBC_2.28版本也要2.28,会有一系列问题,所以我们选用的是相对稳定的v1.0版本。v1.0版本依赖的 Node.js (opens new window)>= 8.6。

  1. 创建一个vuepress的文件夹
mkdir vuepress

cd vuepress
  1. 使用你喜欢的包管理器进行初始化(建议使用yarn)

如果本地没用yarn 可先使用以下命令安转yarn

npm install -g yarn

初始化

yarn init  # npm init
  1. 将 VuePress 安装为本地依赖
yarn add -D vuepress # npm install -D vuepress

注意: 如果你的现有项目依赖了 webpack 3.x,推荐使用 Yarn (opens new window)而不是 npm 来安装 VuePress。因为在这种情形下,npm 会生成错误的依赖树。

  1. 创建文档
mkdir docs && echo '# Hello VuePress' > docs/README.md

此处可以使用其它工具编辑README.md文件

  1. 在 package.json 中添加scripts
{
  "scripts": {
    "docs:dev": "vuepress dev docs",
    "docs:build": "vuepress build docs"
  }
}
  1. 添加config.js配置

在docs下的.vuepress文件夹下添加config.js文件

module.exports = {
    title: '修己xj',// 设置网站标题
    description: '修己xj',
    base: '/',   // 设置站点根路径
    dist: './docs/.vuepress/dist',  // 设置输出目录
    port: 8012,
    head: [
        ['link', { rel: 'icon', href: '/logo.jpg' }] // 增加一个自定义的 favicon
    ],
    plugins: [],
    themeConfig: {
        logo: '/logo.jpg',
        // 添加导航栏
        nav: [
            { text: '主页', link: '/' },
            { text: '博客',
                 items: [
                     { text: 'csdn', link: 'https://blog.csdn.net/weixin_44002151?type=blog' },
                     { text: '掘金', link: 'https://juejin.cn/user/2641475936724142' },
                     { text: '知乎', link: 'https://www.zhihu.com/people/xiuji_lew' },
                     { text: '51cto', link: 'https://blog.51cto.com/xiuji' }
                 ]
             }
        ]
    }
}

图片的默认地址是docs/.vuepress/public

  1. 在本地启动服务

使用以下命令启动服务

yarn docs:dev # npm run docs:dev

默认端口是8080,在config.js中可以自己定义,我们此处使用的是8012,启动好之后访问localhost:8012就可以访问到我们的服务了

_20231113232708.jpg

  1. nginx部署

我们使用以下命令打包服务

yarn docs:build  # npm run docs:build

构建好之后的静态文件在 docs/.vuepress/dist目录下,我们只需将dist文件夹下的文件及文件夹复制到我们部署的nginx服务的html文件夹下即可,docker部署nginx可以参考博主之前的文章Nginx简介与Docker Compose部署指南

结语

VuePress是一个强大而灵活的静态网站生成工具,特别适合构建文档和博客。通过简单的安装和初始化步骤,你就可以轻松开始使用VuePress构建自己的网站。希望这篇介绍和指南对你了解和使用VuePress有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1205750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言】

C语言 1. C语言基础1.1 数据类型和占位符1.2 异或1.3 关键字1.4 const1.5 extern1.6 typedef1.7 static1.8 左值和右值1.9 位进行操作赋值 2. C指针3. 二维数组和指针4. 函数传递二维数组4.1 形参给出第二维的长度。4.2 形参声明为指向数组的指针。4.3 形参声明为指针的指针。 …

快速掌握队列的基础知识

目录 队列的特点基于链表实现队列用栈实现队列用队列实现栈 队列是一种线性数据结构,它只允许在一边进行插入操作(队尾),另一边进行删除操作(队头)。插入操作称为入队,删除操作称为出队。队列遵…

【网络奇缘】我和英特网再续前缘

🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 目录 计算机网络的概念 计算机网络的功能 ⭐1.数据通信 ⭐2.资源共享 ⭐3.分布式处理 ⭐4.提高可靠性 ⭐…

Java17新增特性

前言 前面的文章,我们对Java9、Java10、Java11、Java12 、Java13、Java14、Java15、Java16 的特性进行了介绍,对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 Java14新增特性 Java15新增特性 Java16新增特…

Eclipse打包Springboot项目

首先&#xff0c;在pom.xml文件中添加配置&#xff0c;修改mainClass主函数&#xff1a; <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configurat…

【电路笔记】-戴维南定理(Thevenin‘s Theorem)

戴维南定理&#xff08;Thevenin’s Theorem&#xff09; 文章目录 戴维南定理&#xff08;Thevenins Theorem&#xff09;1、概述与定义2、戴维南模型确定3、一些线性电路的戴维南模型3.1 单电压源3.2 单电流源3.3 多电流/电压源 4、结论 在本文中&#xff0c;我们将介绍一种强…

LLaMA模型之中文词表的蜕变

在目前的开源模型中&#xff0c;LLaMA模型无疑是一颗闪亮的⭐️&#xff0c;但是相对于ChatGLM、BaiChuan等国产大模型&#xff0c;其对于中文的支持能力不是很理想。原版LLaMA模型的词表大小是32K&#xff0c;中文所占token是几百个左右&#xff0c;这将会导致中文的编解码效率…

Python---综合案例:通讯录管理系统---涉及点:列表、字典、死循环

需求&#xff1a; 开个一个通讯录的管理系统&#xff0c;主要用于实现存储班级中同学的信息&#xff08;姓名、年龄、电话&#xff09; 涉及点&#xff1a;列表、字典、死循环 相关链接&#xff1a;Python--列表及其应用场景---增、删、改、查。-CSDN博客 Python---字典---…

ip数据包

数据报文格式 首部 版本&#xff08;Version&#xff09; 版本字段占4bit&#xff0c;通信双方使用的版本必须一致。对于IPv4&#xff0c;字段的值是4。 首部长度&#xff08;Internet Header Length&#xff0c; IHL&#xff09; 占4bit&#xff0c;首部长度说明首部有多少…

ubutun上编译出现undefined reference to symbol ‘dladdr@@GLIBC_2.2.5‘的错误

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> ubutun上编译一段C程序&#xff0c;出现错误&#xff1a; /usr/bin/ld: /tmp/ccghh3FJ.o: undefined reference to symbol ‘dladdrGLIBC_2.2.5’ //lib/…

前端---CSS的盒模型

文章目录 什么是盒模型&#xff1f;设置边框设置内边距设置外边距块级元素水平居中 什么是盒模型&#xff1f; 页面上的每个HTML元素都是一个一个的“盒子”&#xff0c;这些盒子由&#xff1a;内容、内边距、边框、外边距组成。 我们可以和住的房子联系起来&#xff0c;更好…

HarmonyOS开发(二):TypeScript入门

1、编程语言介绍 ArkTS是HarmonyOS主推的应用开发语言&#xff0c;它是在TypeScript语言的基础之上&#xff0c;匹配ArkUI框架&#xff0c;扩展了声明式UI、状态管理等相应的能力&#xff0c;让开发者以更简洁、更自然的方式开发跨端应用。 ArkTS、TypeScript和JavaScript之间…

打开 Chrome 的 「内存节省程序」开关和关闭硬件加速

不知道从什么时候开始&#xff0c;应该是最近1个月&#xff0c;感觉 Mac 浏览器总是占用很高的 CPU&#xff0c;多开一些标签页&#xff0c;或者浏览器窗口&#xff0c;相互切换时系统就会变得无响应&#xff0c;从 Chrome 浏览器里找到一个「内存节省程序」的配置&#xff0c;…

数据校验:Spring Validation

Spring Validation概述 在开发中&#xff0c;我们经常遇到参数校验的需求&#xff0c;比如用户注册的时候&#xff0c;要校验用户名不能为空、用户名长度不超过20个字符、手机号是合法的手机号格式等等。如果使用普通方式&#xff0c;我们会把校验的代码和真正的业务处理逻辑耦…

二维码智慧门牌管理系统升级解决方案:运营可视化之道

文章目录 前言一、系统概述二、数据可视化与运营决策 前言 随着科技的飞速发展和人们生活水平的提高&#xff0c;传统的门牌管理系统已经无法满足现代社会的需求。在这个信息化、智能化的时代&#xff0c;一款升级版的二维码智慧门牌管理系统应运而生&#xff0c;它将以全新的…

手机能做静态二维码吗?用手机做二维码的教程

现在手机上有很多的功能&#xff0c;能够帮助我们应对日常生活中的各种问题&#xff0c;那么如果我们想要在手机上生成一个静态二维码&#xff0c;大家知道该怎么来操作吗&#xff1f;一般制作二维码需要专业的二维码生成工具才可以完成制作&#xff0c;那么下面小编来给大家分…

properties文件乱码

出现如下乱码&#xff1a; 按照步骤修改编码方式就可以解决啦 修改之后结果就是下面这样~

【LabVIEW学习】1.对labview的初步使用,控制数据流动

一。初步使用labview 1.程序图标 2.打开之后继续点击新建VI 原因&#xff1a;最后的程序后缀就是 .vi 3.新建之后&#xff0c;会有三个界面&#xff08;没有不要紧&#xff0c;找找肯定有&#xff09; 4.程序操作方法 1.拖动控件到前面板 2.此时程序框图会出现对应的控件 拖动…

利用Python群组分析方法剖析客户行为

大家好&#xff0c;如今的企业有能力收集大量的数据&#xff0c;这些数据可以帮助企业制定更好的策略并了解其客户的行为。Cohort分析可以在其中发挥作用&#xff0c;Cohort分析是一种了解客户行为或用户互动的强大工具&#xff0c;并为企业提供有价值的见解&#xff0c;本文中…

优雅的Java编程:将接口对象作为方法参数

theme: smartblue 目录 概述 在Java编程中&#xff0c;方法的参数传递方式通常是通过基本类型、对象引用或者集合等方式。然而&#xff0c;一种更加优雅且灵活的设计模式是将接口对象作为方法的参数。这种方式为我们带来了许多好处&#xff0c;包括降低耦合性、实现多态性和可…