手把手教你从0开始搭建个人博客,东半球最详细的保姆级博客搭建部署教程 | 程序员人手必备个人博客网站

简介: 手把手教你从0开始搭建个人博客,东半球最详细的保姆级博客搭建部署教程 | 程序员人手必备个人博客网站

环境准备


安装 node.js

进入 nodejs 官网下载安装包:

https://nodejs.org/en/download/


下载和安装步骤省略一万字……

image.png

安装好了之后可以测试一下:

npm -v
回显:
7.5.0

出现版本说明安装成功!


安装 docsify-cli

下一步通过 npm 命令安装 docsify-cli 工具

npm i docsify-cli -g

测试一下是否安装成功:

docsify -v
回显:
docsify-cli version:
  4.4.3

至此环境工具都已经安装完毕,下面正式开始搭建工作。


初始化工程目录


比如说我们想做一个 Java 项目,可以通过 IDEA 创建一个工程,那我们想搭建一个博客,这里可以直接用 docsify 命令行工具初始化一个功能即可。


执行 docsify init 命令(后面的目录大家可以根据情况自行更换)

docsify init ./leixiaoshuai-blog

初始化成功后回显:

Initialization succeeded! Please run docsify serve ./leixiaoshuai-blog

可以看到 ./leixiaoshuai-blog 目录下已经创建好了3个文件。

image.png

  • index.html 入口文件
  • README.md 会做为主页内容渲染
  • .nojekyll 用于阻止 GitHub Pages 会忽略掉下划线开头的文件


小芝士:

Github Pages 默认是基于 Jekyll 构建,Jekyll 是一个将纯文本转换为静态网站的工具,它构建的网站下各种目录都是特定的以下划线开头命名的文件夹,例如 _layouts、_posts ,它会忽略掉其它的以下划线开头的文件夹和文件。


.nojekyll 就是告诉 Github Pages 当前网站不是基于 Jekyll 构建的,不要忽略掉下划线开头的文件和文件夹。


可见 .nojekyll 主要就是用于 Github Pages 这种有默认规则的网站部署平台,如果是部署在自己的服务器上,可以把它删掉。


反之,如果你的网站不是 Jekyll 构建的,要部署到 Github Pages ,并且包含下划线开头的文件或文件夹,那么你就需要在根目录添加一个 .nojekyll 空文件。


本地预览博客网站


在正式发布博客网站前我们可以在本地预览一下,类似于写代码的时候在本地调试。

docsify serve leixiaoshuai-blog

效果如下:

image.png

哈哈,好激动,博客的 hello world 已经出来啦~

但好像有点丑,没关系,我们一步一步优化,往下看。


定制化


多页文档

如果需要创建多个页面,或者需要多级路由的网站,在 docsify 里也能很容易的实现。

假设你的目录结构如下:

└── leixiaoshuai-blog
    ├── README.md
    ├── Java
        ├── README.md
    └── Go
        └── README.md

.那么对应的访问页面将是

leixiaoshuai-blog/README.md        => http://xxx.com
leixiaoshuai-blog/Java/README.md   => http://xxx.com/Java/
leixiaoshuai-blog/Go/README.md   => http://xxx.com/Go/

有了多个页面,你肯定需要一个侧边栏,点击不同的链接可以跳到不同的页面,配置方法如下:


步骤一:配置 loadSidebar 选项,开始侧边栏

<!-- index.html -->
<script>
  window.$docsify = {
    loadSidebar: true
  }
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>

步骤二:在项目根目录下创建 _sidebar.md 文件,内容如下

<!-- leixiaoshuai-demo/_sidebar.md -->
* [Java 学习](Java/)
* [Go 学习](Go/)

需要在 ./leixiaoshuai-blog 目录创建 .nojekyll 命名的空文件,阻止 GitHub Pages 忽略命名是下划线开头的文件。如果已存在该文件,这里可以忽略。


效果预览:

image.png


添加封面

docsify 还支持在博客的首页加一个欢迎封面,我们试着加一下。


步骤一:打开配置开关

<!-- index.html -->
<script>
  window.$docsify = {
    coverpage: true
  }
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>


步骤二:在项目的根目录下新创建一个 _coverpage.md 文件,文件命名不要漏了下划线。

image.png

源码参考如下:

<!-- _coverpage.md -->
# 欢迎来到程序员雷小帅的博客
- 公众号:爱笑的架构师
- B站: 程序员雷小帅
[Gitee](http://coderleixiaoshuai.gitee.io/java-eight-part/#/)
[Get Started](#leixiaoshuai-blog)

效果预览:

image.png


更换主题

docsify 官方默认提供了5 套主题,默认是 vue 风格的,大家可以根据喜好自行更换。

<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/vue.css">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/buble.css"> 
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/dark.css"> 
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/pure.css"> 
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/dolphin.css">

我们选择一个暗黑风格的进行演示,在 index.htm 头部中引用以下的 css 文件,记得把老的注释掉。

<!-- index.html -->
<!-- Theme: Dark -->
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/dark.css">

本地预览看一下效果:

image.png


自定义插件

搜索框

全文搜索插件会根据当前页面上的超链接获取文档内容,在 localStorage 内建立文档索引。默认过期时间为一天,当然我们可以自己指定需要缓存的文件列表或者配置过期时间。


配置代码如下:

<!-- index.html -->
search: {
        maxAge: 86400000, // 过期时间,单位毫秒,默认一天
        paths: [], // or 'auto'
        placeholder: '请输入关键字搜索',
        noData: '找不到结果!',
        // 搜索标题的最大层级, 1 - 6
        depth: 2
      }

效果展示:

image.png


字数统计

这是一款为docsify提供文字统计的插件。

它提供了统计中文汉字和英文单词的功能,并且排除了一些markdown语法的特殊字符例如*、-等。


步骤一:添加 js

<!-- index.html -->
<script src="//unpkg.com/docsify-count/dist/countable.js"></script>


步骤二:添加配置

<!-- index.html -->
window.$docsify = {
  count:{
    countable:true,
    fontsize:'0.9em',
    color:'rgb(90,90,90)',
    language:'chinese'
  }
}


效果展示

右上角会出现字数统计和预估阅读时间。

image.png


部署到 Gitee


好了,个人博客网站已经配置差不多了,本地也能预览看到效果了。


但是问题来了,如何把网站部署到外网上去供其他技术小伙伴看呢?买阿里云服务器?好像有点费钱。


那有没有免费可以白嫖的方式?当然有了,答案就是 Gitee Pages 。我们可以把博客代码推送到 Gitee 仓库中,然后开启 Pages 配置就可以通过外网访问啦~


开干吧……


创建 Gitee 仓库

Gitee 中文名是码云,可以理解为中国版的 Github,没用过的小伙伴先自行注册一个账号吧。

https://gitee.com/

新建代码仓:

dda9cbd7e4e279c9a9bcf2f17cd0d859.png


推送本地博客项目代码

我们先将本地的工程初始化为一个 Git 仓库。

cd leixiaoshuai-blog
git init
git add .
git commit -m "first commit"

Git 仓库初始化完毕,开始推送代码至远端。

git remote add origin https://gitee.com/CoderLeixiaoshuai/leixiaoshuai-blog.git
git push -u origin master

这一步可能需要输入用户名和密码,或者大家百度搜一下如何配置公钥私钥。


开启 pages

代码推送成功后,我们就可以正式开始部署项目了。

进入代码仓,点击 Gitee Pages

45575fd0aabf9507b0afb86b8eef0a84.png

点击部署,部署成功后会显示访问地址

d4f28581b9d4495a87c1e72a63de74da.png


注意:

首次部署可能需要实名认证,大家安装要求提供身份证照片和手持身份证照片,一般 24 小时之内就可以审核通过了,大家耐心等待一下吧。


参考文档:

(1)更多玩法可以参考官网的教程文档:

https://docsify.js.org/#/zh-cn/

(2)如果还有不熟悉的可以参考视频教程

https://www.bilibili.com/video/BV1AQ4y1q7eB/


总结


不花一分钱,全靠白嫖就可以搭建属于自己的个人博客,真是太香了。

大家可以参考我已经搭建好的个人技术博客:

个人技术博客网站

Description

http://coderleixiaoshuai.gitee.io/java-eight-part/#/

还愣着干啥,赶紧动手吧。

后面还会给大家分享如何绑定个人域名,想看的小伙伴三连支持一下吧。


相关文章
|
安全 Java 关系型数据库
💖10分钟阿里云搭建个人网站(保姆级新手向)💖
我通常都会说自己搭建一个网站,利用阿里云/腾讯云/华为云/七牛云等等各种云服务器来快速搭建一个属于自己的装x小网站,虽然不是很牛x,但是对于说找实习、做毕业设计加分,这种纯粹是绰绰有余,别人会觉得你很有动手能力,话不多说,马上开始,给我十分钟,带你学会一个装x的小知识点。
2296 0
💖10分钟阿里云搭建个人网站(保姆级新手向)💖
|
网络安全 数据库
【保姆级教程】基于阿里云搭建网站,看这篇就够了!
本文演示了三种网站的搭建,分别是:博客、论坛、个人作品。从域名选择,到阿里云服务器的购买,到最后的网站搭建。
【保姆级教程】基于阿里云搭建网站,看这篇就够了!
|
Java Spring 容器
解决Spring的UnsatisfiedDependencyException异常的方法
在Spring开发中,UnsatisfiedDependencyException异常意味着依赖注入失败,影响应用稳定性。该异常由Spring容器在无法满足bean依赖时抛出,常见原因包括bean定义错误、循环依赖、多个候选bean等。解决方法包括:检查bean定义和注入的正确性、解决循环依赖、确认依赖包的兼容性、使用@Qualifier或@Primary注解。通过日志、调试工具和异常对比来定位问题。持续学习Spring框架有助于更好地解决此类异常。
8802 1
|
10月前
WordPress小白傻瓜式一键搭建博客个人网站详细教程
用宝塔功能来一键搭建WordPress博客网站。 最详细教程! 整个过程简单、易用,即使是零基础用户也能轻松上手。
871 1
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
8748 3
linux centos上安装python3.11.x详细完整教程
|
9月前
|
人工智能 内存技术
Gemini 2.0 Flash Thinking:谷歌推出实验性多模态推理模型,在快速生成的同时展示详细的思考过程
谷歌推出的实验性推理模型Gemini 2.0 Flash Thinking,展示了详细的思考过程,能够在多个领域快速解决问题,并提供推理路径。本文将详细介绍该模型的功能、技术原理及使用限制。
448 26
Gemini 2.0 Flash Thinking:谷歌推出实验性多模态推理模型,在快速生成的同时展示详细的思考过程
|
Java 开发者 Spring
【SpringBoot 异步魔法】@Async 注解:揭秘 SpringBoot 中异步方法的终极奥秘!
【8月更文挑战第25天】异步编程对于提升软件应用的性能至关重要,尤其是在高并发环境下。Spring Boot 通过 `@Async` 注解简化了异步方法的实现。本文详细介绍了 `@Async` 的基本用法及配置步骤,并提供了示例代码展示如何在 Spring Boot 项目中创建与管理异步任务,包括自定义线程池、使用 `CompletableFuture` 处理结果及异常情况,帮助开发者更好地理解和运用这一关键特性。
1578 1
|
11月前
|
缓存 资源调度 前端开发
Yarn学习,Yarn安装,Yarn常用命令。这一篇即可(有需要再补充)
Yarn 是一个快速、可靠、安全的 JavaScript 包管理工具,旨在解决 npm 的一些不足之处。
1984 5
|
NoSQL 前端开发 Redis
Windows 下安装和配置 Redis (图文教程)
Windows 下安装和配置 Redis (图文教程)
|
监控 安全 测试技术
现在公司都在用的CI/CD框架到底是什么?
现在公司都在用的CI/CD框架到底是什么?
5163 1