10分钟部署一个个人博客

关于vuepress这里没必要过多介绍,感兴趣的可以直接去官网了解,下面是官网首页地址截图 :https://v2.vuepress.vuejs.org/zh/

image-20240615160422538

透过这张图,我们也可以大致的对这个框架的特点有一定的认识,这就够了。其他的东西我们在使用过程中用到了会介绍。

本文就是基于他来进行的博客搭建以及部署。从搭建到部署10分钟绰绰有余了。


安装搭建

1. 环境依赖

安装之前务必先检测自己的环境:

image-20240615162007868

这一步很重要,他自己决定了你搭建的速度和舒适度,不管是做前端还是后端环境出错都是非常痛苦的事情,为了不必要的返工,请保证这一步顺利。


2. 项目创建

根据官方文档的描述,创建一个vuepress项目的方式不唯一,这里推荐使用懒人式一键创建,看下面命令:

npm init vuepress vuepress-starter

vuepress-starter就是你博客项目的项目文件夹名称,自己想怎么写就怎么写。

创建完之后,你的项目大致的目录结构差不多是下面这样的:

├─ docs
│  ├─ .vuepress
│  │  └─ config.js
│  └─ README.md
└─ package.json

docs/.vuepress 目录,即源文件目录下的 .vuepress 目录,是放置所有和 VuePress 相关的文件的地方。当前这里只有一个配置文件。默认还会在该目录下生成临时文件、缓存文件和构建输出文件。建议你把它们添加到 .gitignore 文件中。

# VuePress 默认临时文件目录
.vuepress/.temp
# VuePress 默认缓存目录
.vuepress/.cache
# VuePress 默认构建生成的静态文件目录
.vuepress/dist

pacjage.json中添加下面的script:

{
  "scripts": {
    "docs:dev": "vuepress dev docs",
    "docs:build": "vuepress build docs"
  }
}
  • dev:本地运行
npm run docs:dev

下面的命令类似,但在本文中并不会用到,就不再赘述。

  • build: 部署打包

自定义博客信息

确保到这一步之前,你的项目可以通过npm run docs:dev命令成功跑起来。

首先,自定义我们能看到的首页一切,比如:下面是我自己博客的截图示例

image-20240615163231242

  • 修改主页按钮信息

找到项目中的那个README文件,修改其中的内容,效果如下,根据自己的需求修改之后,再次运行项目查看效果,你就知道具体改动了哪些东西。

image-20240615164601883

  • 修改主页logo和名称

找到项目中一个名为config.js的文件,这里可以修改右上角的功能导航栏、主页名称和座右铭;

image-20240615164804978


写博客

核心内容来了,这些外在的东西打理好之后,我们如何书写并上传自己的博文内容呢?

其实,在项目中有一个posts的文件夹,里面存放的就是我们的博客文章,他对应博客中右上角的Article路由;比如这样:

image-20240615165313620

需要注意的是,文章支持markdown语法,因此如果你了解一些他的语法基础,那将会如虎添翼,其中有一些写法格式是相对固定的。看下图,这是每一篇文章开头必须要写的,他将决定你的文章如何展示。

image-20240615165832850


其他个性化

如果你有其他自定义的需求,请参考下面的修改建议:

  1. 新增主题和插件

config.js中进行调整。

  1. 自定义文章列表的样式

请在docs>components>ArticleList.vue进行修改;

  1. 其他…

不懂就问.


自动部署

节约成本,一切从简,这里直接部署在GitHub上,通过强大的Actions,借助脚本一键自动部署,你要做的就是更新完博客记得git push更新你的项目即可,其他的构建流程由脚本完成,无需干预。

看下面的目录:

如果没有自行创建一个dedploy-docs.yml;

image-20240615170745806

workflows脚本内容如下:

name: 部署文档

on:
  push:
    branches:
      # 确保这是你正在使用的分支名称
      - master

permissions:
  contents: write

jobs:
  deploy-gh-pages:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with:
          fetch-depth: 0
          # 如果你文档需要 Git 子模块,取消注释下一行
          # submodules: true



      - name: 设置 Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 20
          cache: npm

      - name: 安装依赖
        run: npm ci

      - name: 构建文档
        env:
          NODE_OPTIONS: --max_old_space_size=8192
        run: |-
          npm run docs:build
          > docs/.vuepress/dist/.nojekyll

      - name: 部署文档
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          # 这是文档部署到的分支名称
          branch: gh-pages
          folder: docs/.vuepress/dist

项目上传到github之后,等待一段时间,脚本会创建一个名为gh-page的分支,我们在settings中找到Pages,选择该分支作为部署分支,并且如果你有自定义域名的需求,也可以在这里进行设置;

image-20240615171454324

image-20240615171740944


流程大致就是这样,下面列两个需要注意的问题:

  • 部署完成之后,你可以通过你的项目地址直接访问博客首页,如果没有自定义域名的情况下,此时你可能会遇到首页CSS样式没有加载的情况;

我们就需要在config.js中新增一个base字段,内容为/vblog/这里的vblog指的是你github上的那个项目名称;

  • 如果你使用了自定义域名,访问时就将该字段留空字串即可,如下:

image-20240615172042617


本文到此结束,有问题欢迎留言讨论。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM框架的电影院售票网站

开头语: 你好呀,我是计算机学长猫哥!如果您对我们的电影院售票网站感兴趣或者有相关需求,欢迎通过文末的联系方式与我联系。 开发语言:Java 数据库:MySQL 技术:SSM框架 工具:ID…

m4s转mp3——B站缓存视频提取音频

前言 しかのこのこのここしたんたん(鹿乃子乃子虎视眈眈)非常之好,很适合当闹钟,于是缓存了视频,想提取音频为mp3 直接改后缀可乎?格式转换工具? 好久之前有记录过转MP4的: m4s转为…

Linux中文件查找相关命令比较

Linux中与文件定位的命令有find、locate、whereis、which,type。 一、find find命令最强,能搜索各种场景下的文件,需要配合相关参数,搜索速度慢。在文件系统中递归查找文件。 find /path/to/search -name "filename"…

数字孪生灌区信息化管理系统是如何实现水资源节水的?

在当今日益严峻的水资源形势下,如何实现水资源的节水利用已成为灌区管理的重中之重。幸运的是,随着信息化技术的快速发展,灌区信息化正成为推动水资源节水利用的有力工具。那么,数字孪生灌区信息化hua系统xit究竟如何实现水资源节…

Java环境安装

下载JDK https://www.oracle.com/cn/java/technologies/downloads/#jdk22-windows 点开那个下载都可以但是要记住下载的路径因为下一步要添加环境变量 选择编辑系统环境变量 点击环境变量 点击新建 新建环境变量JAVA_HOME 并输入JDK在计算机保存的路径 打开cmd 输入java -…

OSPF协议详解(二)

OSPF邻接关系建立流程 路由器在开启OSPF协议后先进入Down状态,此时路由器还未收到网络中其他路由器发送的Hello报文。 当路由器收到了其他路由器发送的Hello报文时,状态转发Init,当发来的Hello报文中有自己的Router ID时,状态转…

FPGA学习最好的2个网站?

自学FPGA最好的两个网站: Xilinx官方网站: ​网址链接: https://www.amd.com/zh-cn.html Xilinx Wiki - Confluence (http://atlassian.net) Xilinx GitHub(https://github.com/Xilinx) 电子创新网赛灵思社区 | 电子创新网 (http://eet…

Excel 常用技巧(五)

Microsoft Excel 是微软为 Windows、macOS、Android 和 iOS 开发的电子表格软件,可以用来制作电子表格、完成许多复杂的数据运算,进行数据的分析和预测,并且具有强大的制作图表的功能。由于 Excel 具有十分友好的人机界面和强大的计算功能&am…

Google Earth Engine(GEE)——导出影像video到自己的Google硬盘当中

函数: Export.video.toDrive(collection, description, folder, fileNamePrefix, framesPerSecond, dimensions, region, scale, crs, crsTransform, maxPixels, maxFrames) Creates a batch task to export an ImageCollection as a video to Drive. The collection must on…

idea-Spring框架与ioc容器

Sping是轻量级的开源J2EE框架,可以解决企业应用开发的复杂性 Spring有两个核心部分为Ioc和AOP Ioc:控制反转,吧创建对象过程交给Sping进行管理 AOP:面向切面,不修改代码进行功能增强 创建Maven项目 IDEA-2024 就直接创建java项目即可 创…

CD4069做陶瓷和晶体振荡器的试验初步

在面包板上面,供电5v。尝试用4069做晶体振荡器 465K,1M陶瓷,不起振 4M陶瓷,不起振,在1脚加上68pf电容后起振,但幅度没有后面写的10M陶瓷和17.6的晶振的幅度大 10M陶瓷,起振ok 16M陶瓷&#…

微信分销商城小程序源码系统在线搭建 前后端分离 带完整的安装代码包以及搭建教程

系统概述 本微信分销商城小程序源码系统采用先进的前后端分离架构设计,前端使用Vue.js框架开发,后端则基于Spring Boot构建,确保了系统的高可维护性、扩展性和性能。系统集商品展示、在线交易、会员管理、分销推广、订单处理、数据统计等功能…

分析网页请求参数

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 既然是爬票,那么一定需要一个爬取的对象,本节实战将通过12306中国铁路客户服务中心所提供的查票请求地址获取火车票的相关信息…

vim 的 map+noremap

经常在 vim 的配置文件中,看到对于改键的设置。 他们的区别主要有两种 1 用于哪种模式。 2 是否用于递归。

从WWDC 2023看苹果的未来:操作系统升级与AI技术的融合

引言 在2024年的WWDC(苹果全球开发者大会)上,苹果公司展示了一系列创新技术和产品,其中最引人注目的莫过于操作系统的升级与AI技术的深度融合。作为一个备受期待的发布会,WWDC不仅向我们展示了苹果在技术上的前瞻性布…

第二十一章 访问者模式

目录 1 访问者模式介绍 2 访问者模式原理 3 访问者模式实现 4 访问者模式总结 1 访问者模式介绍 访问者模式(Visitor Pattern) 的原始定义是:允许在运行时将一个或多个操作应用于一组对象,将操作与对象结构分离 2 访问者模式原理 抽象访问者&#xf…

PHP7 数组的实现

前提 PHP版本:php7.0.29使用到的文件 php-src/Zend/zend_types.hphp-src/Zend/zend_hash.hphp-src/Zend/zend_hash.cphp-src/Zend/zend_string.h 本文 是《PHP7底层设计和源码实现》第5章 数组的实现,学习笔记 功能分析 整体结构 bucket 里面增加h字段…

mac安装高版本git(更新git)

问题 问题:新下载的idea,此idea的版本较高,但是在工作发现这个版本的git存在一定漏洞会导致一些信息泄露问题。 1.安装Homebrew 对于Mac更新git,最简单的就是使用brew命令。所以我们首先下载homebrew。已下载的同学忽略直接下一…

SN65HVD485EDR封装SOIC-8 半双工RS-485/RS-422收发器芯片 VP485

SN65HVD485EDR 主要的应用场景包括但不限于以下几个方面: 1. 工业自动化:在工业控制系统中,RS-485接口常用来连接传感器、执行器和其他现场设备到中央控制系统。由于SN65HVD485EDR 的高ESD保护和抗噪能力,它特别适合于工厂车间等…

SpringCloud:Feign远程调用

程序员老茶 🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 P   S : 点赞是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈&#…