又重新搭了个个人博客

哈喽大家好,我是咸鱼。

前段时间看到一个学弟写了篇用 Hexo 搭建博客的教程,心中沉寂已久的激情重新被点燃起来。(以前搞过一个个人网站,但是因为种种原因最后不了了之)

于是花了一天时间参考教程搭了个博客网站,我的博客网址是:https://xxxsalted.github.io/

下面是相关教程。

环境准备

俗话说:“工欲善其事必先利其器”,在搭建个人博客之前我们先要把环境准备好。

  • Github 准备

作为全球最大的程序员同性交友网站(不是),我们首先创建一个 Github 账号,官网地址:https://github.com

然后我们下载并安装 Git,官网地址: https://git-scm.com/downloads

毕竟是国外地址,我们访问起来可能比较慢,这时候我们可以访问下面的地址来下载

https://registry.npmmirror.com/binary.html?path=git-for-windows/v2.42.0.windows.2/

  • Node.js 准备

Node.js 简单来讲是一个 JavaScript 的运行环境,让我们的 JavaScript 代码不需要在浏览器上也能运行。

下载安装 Nodejs:http://nodejs.cn/download/

  • 环境配置

下载安装好 Git 和 Node.js 之后,我们在键盘上按下 win+R 键,输入 cmd

然后在弹出的 cmd 窗口中输入下面的命令,来检验是否安装成功

git --version

npm version
  • 下载 cnpm

npm 是 Node.js 的安装包管理器,但是由于限制我们有时候通过 npm 下载东西会特别的慢,这时候我们就需要换一个国内的下载源并且使用 cnpm 来管理 Node.js。

npm install -g cnpm --registry=https://registry.npmmirror.com

初始化博客

  • 安装 Hexo

接下来我们要安装 Hexo ,还是在刚刚弹出的 cmd 窗口中输入:

cnpm install -g hexo
  • 创建新文件夹

我们在电脑任意位置创建一个新文件夹(最好别放在 C 盘下且文件名是英文),这个文件夹将用于储存你网站的静态文件。

比如说我的新建文件夹路径如下:

E:\myblog

然后右键鼠标,打开Git Bash Here,并依次输入以下命令:


# 初始化 hexo
hexo init

# 生成网页文件
hexo generate

# 部署到本地上
hexo server

在执行命令的时候出现权限相关问题(npm ERR! { Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_cache\_locks'),可以参考下面这篇文章来解决:

https://www.cnblogs.com/yinxiangzhenlihai/p/15936518.html

然后你会发现你的目录下面多了很多文件:

接着打开下面网址验证一下:

http://localhost:4000/

如果你想停止运行,可以在上面的 bash 命令窗口中执行 Ctrl+C 命令。

到现在我们的个人博客就完成了一半了!

托管至 GitHub

  • 仓库创建

我们登录自己的 Github ,然后在 Github 中新建一个仓库。

注意: Repository name一定要按照图片上的格式填写,其他的默认即可。

  • 设置免密登录

为了方便我们本地与 Github 互相通信,我们需要设置 SSH 免密登录。

首先找到你的 Github 邮箱和用户名,然后在你个人博客的文件夹下右键鼠标,打开Git Bash Here,并依次输入以下命令:

git config --global user.name "github 用户名"

git config --global user.email "github 邮箱"

然后我们检验一下:

git config user.name
git config user.email

接着我们在键盘上按下 win+R 键,输入 cmd,在 cmd 窗口里面输入下面的命令:

# 检查本机是否已经存在 SSH 密钥
cd ~/.ssh

如果提示:No such file or directory 则输入如下代码,生成 SSH 文件:

ssh-keygen -t rsa -C "github 邮箱地址"

然后连续敲 3 次回车,最终会生成一个文件在“用户”目录下,打开 “用户” 目录(C:\用户\用户名.ssh)并找到id_rsa.p ub文件。

用“记事本”打开并复制里面的内容,在 Github 主页的右上角进入 Setting -> 左侧菜单栏 “SSH and GPG keys” -> New SSH Key -> 填写你获得的 SSH Key

部署博客

到了这一步,我们就可以正式地把博客部署到 Git 上了,进入我们前面创建的博客文件夹,然后找到配置文件 _config.yml

下面是我的配置文件的部分内容,大家可以参考一下

部署路径部分:

deploy:
  type: git
  repo: 你的 git 仓库地址
  branch: master

网站相关部分:

# Site
title: Amoon's blog
subtitle: ''
description: ''
keywords:
author: Ammon
language: zh-CN
timezone: 'Asia/shanghai'


## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url:https://xxxsalted.github.io 
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
  trailing_html: true # Set to false to remove trailing '.html' from permalinks

我们还需要安装一个插件,打开 Git bash 窗口

# 安装自动部署工具
cnpm install hexo-deployer-git --save 

然后依次执行下面的命令

# 清除 public 缓存文件
hexo clean 

# 生成新的网站静态文件到默认设置的 public 文件夹,也可以用 hexo g 命令
hexo generate 

# 部署到 github,也可以用 hexo d 命令
hexo deploy 

当然,在生成静态文件之后你可以使用 hexo s 命令生成一个本地的 hexo 网站来做相关检验和测试,如果没什么问题就使用 hexo d 命令将其部署到 git 上

最后我们的博客就搭建成功啦!

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

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

相关文章

广工电工与电子技术实验报告-8路彩灯循环控制电路

实验代码 module LED_water (clk,led); input clk; output [7:0] led; reg [7:0] led; integer p; reg clk_1Hz; reg [7:0] current_state, next_state; always (posedge clk) begin if(p25000000-1)begin …

JVM(Jvm如何管理空间?对象如何存储、管理?)

Jvm如何管理空间(Java运行时数据区域与分配空间的方式) ⭐运行时数据区域 程序计数器 程序计数器(PC),是一块较小的内存空。它可以看作是当前线程所执行的字节码的行号指示器。Java虚拟机的多线程是通过时间片轮转调…

Flutter 从 Assets 中读取 JSON 文件:指南 [2024]

在本教程中,我们将探讨如何从 Flutter 项目中的 asset 中读取 JSON 文件。您将找到详细的解释、实际示例和最佳实践,使您的 JSON 文件处理顺利高效。那么,让我们深入了解 Flutter 和 JSON 的世界吧! 从 asset 中读取 JSON 文件 …

RTK负载(4K可见光+高分热成像+超广角+激光测距)四光AI智能识别跟踪吊舱技术详解

无人机光电吊舱的RTK负载(4K可见光高分热成像超广角激光测距)AI智能识别跟踪吊舱技术是一种高度集成和先进的无人机观测系统。系统结合了无人机的飞行能力和光电吊舱的多功能传感器,通过集成RTK(实时动态差分定位)技术…

WebGL开发框架比较

WebGL开发框架提供了一套丰富的工具和API,使得在Web浏览器中创建和操作3D图形变得更加容易。以下是一些流行的WebGL开发框架及其各自的优缺点。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Three.js 优点&#xff1a…

WoodMart主题下载:为您的电商网站带来自然而优雅的购物体验

在电子商务的激烈竞争中,一个设计精良、用户友好的在线商店是吸引和保留客户的关键。WoodMart主题,作为一款专为Shopify平台设计的高级主题,以其自然美学和强大的功能,帮助您的商店在众多竞争对手中脱颖而出。 [WoodMart主题的核…

运行游戏提示dll文件丢失,分享多种有效的解决方法

在我们日常频繁地利用电脑进行娱乐活动,特别是畅玩各类精彩纷呈的电子游戏时,常常会遭遇一个令人困扰的问题。当我们满怀期待地双击图标启动心仪的游戏程序,准备全身心投入虚拟世界时,屏幕上却赫然弹出一条醒目的错误提示信息&…

【书生浦语第二期实战营学习作业笔记(二)】

书生浦语第二期实战营学习作业&笔记(二) 操作文档:https://github.com/InternLM/Tutorial/blob/camp2/helloworld/hello_world.md 基础作业 : 使用 InternLM2-Chat-1.8B 模型生成 300 字的小故事: 八戒部署(笔记&#xff0…

基于灰狼算法的综合能源系统多时间尺度优化调度(附matlab程序)

0.代码链接 基于灰狼算法的综合能源系统多时间尺度优化调度(MATLAB程序)资源-CSDN文库 1.简述 对于冷、热、电联供综合能源系统优化问题,为了提高可再生能源利用率,故以弃风、弃光量最小和综合能源系统运行经济性为优化目标&…

mac配置maven

在 macOS 上配置 Maven 也相对简单。以下是一种常用的方法: 1. 安装maven **下载 Maven:**首先,你需要从 Maven 官网(https://maven.apache.org/download.cgi)下载最新版本的 Maven。你可以选择二进制压缩包&#xf…

redis常用数据结构

redis常用数据结构 Redis 底层在实现下面数据结构的时候,会进行特定的优化,来达到节省时间/空间的效果。 内部结构 String raw(最基本的字符串),int(实现计数功能,当value为整数的时候会用整…

JPEG图像常用加密算法简介

JPEG图像加密算法 目前,JPEG图像加密算法可以分成异或加密、置乱加密和置乱与异或组合加密。下面对这三种加密方式进行阐述。 (1) 异或加密 文献[1]提出了一种基于异或加密的JPEG图像的RDH-EI方案。该算法通过对AC系数的ACA和图像的量化表进行流密码异或&#xf…

Feign功能详解、使用步骤、代码案例

简介:Feign是Netflix开发的声明式,模板化的HTTP客户端,简化了HTTP的远程服务的开发。Feign是在RestTemplate和Ribbon的基础上进一步封装,使用RestTemplate实现Http调用,使用Ribbon实现负载均衡。我们可以看成 Feign R…

经典的免费wordpress模板

这款经典的免费WordPress模板以鲜艳的红色为主调,充满了活力与热情。设计简洁而现代,适合各种类型的项目网站。模板采用响应式设计,确保在不同设备和屏幕尺寸上都能呈现出完美的视觉效果。 红色象征着激情、活力和自信,这款模板…

ubuntu子系统密码忘记了,怎么办?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

18种WEB常见漏洞:揭秘网络安全的薄弱点

输入验证漏洞: 认证和会话管理漏洞: 安全配置错误: 其他漏洞: 防范措施: Web 应用程序是现代互联网的核心,但它们也容易受到各种安全漏洞的影响。了解常见的 Web 漏洞类型,对于开发人员、安全测试人员和普通用户都至关重要。以下将介绍 18 种常见的 …

HttpClient工具类编写

HttpClient 介绍 HttpClient是Apache Jakarta Common下的一个子项目,它提供了一个高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包。它支持HTTP协议最新的版本和建议,并实现了Http1.0和Http1.1协议。 HttpClient具有可扩展的面向对象的结构…

电脑壁纸怎么设置?简单3步,让你的电脑桌面变得更合心意

电脑壁纸是我们每天在电脑上工作和娱乐时不可或缺的一部分。一张精美的电脑壁纸,既能提升我们的工作效率,也能为我们带来愉悦的心情。无论是静谧的自然风光、抽象的艺术设计,还是心动的明星照片,都可以在电脑壁纸的世界里找到自己…

HF区块链链码基础

链码生命周期 一 . 链码准备 准备文件 . 在测试目录下创建chaincode,拷贝测试链码进 chaincode目录,拷贝 set-env.sh 脚本进 scripts 目录 二. 打包链码 打包测试链码 export FABRIC_CFG_PATH${PWD}/config peer lifecycle chaincode package ./chaincode/chaincode_basic.…

Springboot 中RedisTemplate使用scan来获取所有的key底层做了哪些事情

直接上代码&#xff0c;围绕着代码来讨论 redisTemplate.execute((RedisCallback<Object>) (connection) -> {Cursor<byte[]> scan connection.scan(ScanOptions.scanOptions().count(2).match("*").build());scan.forEachRemaining((bytes) -> {…