个人免费静态博客网站搭建步骤记录——Git+hexo

因为个人原因,用git+hexo搭建了个人博客网站,考虑到功能简单但还算实用,写个博客记录一下过程,把问题也记录一下。
网站效果如果下:
在这里插入图片描述
下面开始

什么是静态网站

静态网站是指全部由HTML(标准通用标记语言的子集)代码格式页面组成的网站,所有的内容包含在网页文件中。网页上也可以出现各种视觉动态效果,如GIF动画、FLASH动画、滚动字幕等,而网站主要是静态化的页面和代码组成,一般文件名均以htm、html、shtml等为后缀。
简单来说,与动态网页相比,静态网站的网页全由固定的html写成,内容稳定固定,没有接口与时间限制,如果网站创建者不进行修改,静态网页的内容与网址一般不会发生改变。

为什么选择静态网站

如前文所说,静态网站内容稳定,非常适合作为如博客这种以文字、图片内容为主的网站,而且静态网站更为稳定、安全、易于维护且成本极低,唯一的缺陷在于与用户交互很差,不过,对于更想构造自己小世界的人来说,这反而正是优点。

静态博客网站工具

静态网站生成工具能从简单的纯文本文件生成一个网站/博客。常用文本格式有reStructuredText和Markdown。
有许多静态网站生成的工具,通过这些工具,你可以轻松的将博客上传至你的网站中,无需过多的布局。
常用的静态网站生成工具有:Jekyll、Octopress、Hexo等等,不同的网站具有一些的不同的特性,可根据自身需求选择,常用的博客静态网站可以看其他博客的介绍11个最流行的静态(博客)网站生成工具

网站搭建步骤

首先我们应当思考,一个网站需要有什么?
首先是网址,帮助别人通过网址进入你的网站。
然后是布局、主题,你的博客网站长什么样子,第一眼给人什么印象?
随后是内容,如何将你的博客内容,发布到网站的特定位置?
思考过这些以后,我们便可以清楚的明白想要搭建网站的步骤:
1、首先,我们需要有一个可以托管我们静态页面的网址,这个网址可以购买,比如购买一个域名,也可以托管到一个站点上。这个我们托管的站点,就是GIThub page,我们可以在 GitHub 仓库里托管和发布自己的静态网站页面。
2、生成你的静态网页,这就是前面所说的静态网页工具的用处了,它可以根据不同主题,快速的搭建一个整洁好看的网站页面。
3、撰写并发布内容,通过撰写Markdown,写好你要发布的内容。
4、提交到托管站点,这样,你的内容就可以通过你的托管仓库网址直接访问啦。
流程图大致如下:
在这里插入图片描述

环境准备

Git环境

创建git-page

注册github账号,点击Create a new repository,repository name选择用你的用户名相同。如下图:
在这里插入图片描述
只有这样生成的 repository才可以生成一个你所专用的git-page网址。

Git-hub远程连接

前面说过,我们主要是将网页部署到我们自己用的git-page上,这就需要远程连接你的Github,**并将你的网页部署上去。**这就需要用到Gitbash来连接上传。
gitbash安装非常简单,直接去官网装,找对应的系统版本就行,然后一路next,什么都不用改,傻瓜式安装。
安装后,主要Git Bash进行命令行开始操作,简单理解成带了特定功能的CMD就好,相应有Linux基础的人不会对这部分有疑问。
进入git-bash后,我们先把连接上自己的github:

git config --global user.name "lxxxxdy"  #github用户名
git config --global user.email "xxx83@qq.com"   #邮箱

# 生成SSH公钥并,实现免密码登录
# 1、生成公钥
ssh-keygen -t rsa
cat ./~ ssh rsa.pub #查找密钥,会显示你的公钥内容

将生成的rsa.pub内容全部复制下来,进入你的git-hub账户,Settings→SSH and GPG keys→New SSH key,将复制的rsa.pub粘贴,Add SSH key。
随后打开Git bash,输入Git Bash,输入 ssh -T git@github.com ,出现 “Are you sure……”,输入 yes 回车确认,如果有:Hi xxx! You've successfully……表示成功。

Hexo环境

Hexo是基于Node-JS写的,因此 要搭建Hexo环境,需要先安装Node-JS,直接去官网下载就好nodejs下载,同样的傻瓜式安装。
安装好nodejs后,进入Node,js command prompt,输入node -v npm-v检查是否成功与版本。
成功后,创建一个文件夹,比如我的在D盘下建了个myblog文件夹,进入,右击Git bash here,或者在此处打开命令行或者其他命令行都行。输入npm install-g hexo-cli安装hexo。
使用hexo -v查看版本与是否完成安装。
随后,我们需要对hexo初始化,才能进行之后一系列的博客与网站部署:

hexo init
npm install

完成部署后,文件夹会变成这样:
在这里插入图片描述
通过:

hexo-g
hexo-s

这两个命令,在浏览器中localhost:4000可以看到最初的hexo博客。
在这里插入图片描述

网站部署与配置

好了,现在我们已经部署好了所有环境,现在我们开始正式配置部署我们的网站啦。网站的配置可以分为:主题配置与站点配置。
我们可以看到上面生成的网站是默认的hexo主题,我们可以对主题进行更改,如果你不选择其他的主题而不选择其他主题的话,只要进行站点配置即可。

站点配置

打开创建的myblog文件夹,打开其中的_config.yml文件,这个文件用来配置你的网站,如下:

# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: 网站名称
subtitle: ''
description: ''网站描述
keywords:
author: 网站作者
language: zh-CN 语言,eg为英语,此处为中文
timezone: ''

# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: http://ZhangZiLu0831.github.io/ 网站网址,此处选择与你gitpage
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

# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:

# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link:
  enable: true # Open external links in new tab
  field: site # Apply to the whole site
  exclude: ''
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
  enable: true
  line_number: true
  auto_detect: false
  tab_replace: ''
  wrap: true
  hljs: false
prismjs:
  enable: false
  preprocess: true
  line_number: true
  tab_replace: ''

# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
  path: ''
  per_page: 10
  order_by: -date

# Category & Tag
default_category: uncategorized
category_map:
tag_map:

# Metadata elements
## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
meta_generator: true

# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss
## updated_option supports 'mtime', 'date', 'empty'
updated_option: 'mtime'

# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page

# Include / Exclude file(s)
## include:/exclude: options only apply to the 'source/' folder
include:
exclude:
ignore:

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: fluid 网站主题选择,可以默认

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment

关于参数的说明可参见文档;[hexo配置](https://hexo.io/zh-cn/docs/configuration#%E7%BD%91%E5%9D%80),这里,主要修改deploy和url部分。
将url中填入网址为:http://username.github.io/
delopy改为;

```bash
deploy: 网站部署设置
  type: git
  repo: https://github.com/username/username.github.io.git
  branch: main

注意“:”后必须加空格。

主题配置

Hexo提供了多种多样的主题供我们选择,在Github中,搜索hexo theme,便有诸多开源项目可供我们使用,这里我选择的是这个主题:theme-fluid
这个主题开源且有着详尽的用户配置文档,可以根据文档,安装修改对应的_config.fluid.yml文件。hexo-fluid配置文档

博客上传与网页生成

撰写博客与上传

现在我们选好了主题,搭建好了环境,配置好了网站,现在只需要我们上传内容并部署生成网页就好了。

hexo new {文章名}.md

在myblgo文件夹下,就生成了一个md文件,它支持Markdown语法,
关于Markdown语法非常简单,建议直接参考官方教程Markdown官方语法
对于Markdown的编辑,同样有许多软件,我这里没有安装别的,而是用了电脑上已经有的vscode,安装好了插件就好。
在VScide中打开上面的预览,便可以看见你的Markdown预览:

在这里插入图片描述
撰写Markdown我们需要注意的是Front-matter区,即是文件最上方以 — 分隔的区域,用于指定个别文件的变量。
如:

---
title: about
date: 2022-11-08 17:15:30
layout: about
---

它们是你撰写的文章的属性,详细参数可参见:
Front-matter通过Front-matter,可以给你的文章添加标签、分类、文章图片等等。
随后执行三条命令:

hexo clean            # 清除缓存和已生成的静态文件
hexo g                # 生成页面
hexo s                # 本地预览

随后http://localhost:4000,看到生成的网页,如果满意就可以考虑发布到Git-page上了。

发布

输入代码:

# 之后就可以使用 hexo deploy(或简写 hexo d)将项目部署到gitee远程仓库
npm install hexo-deployer-git --save
hexo d                # 部署

如果没有问题的话,进入你的http://username.github.io/网址,就可以看到你的网站。
如果出现git连接问题,重新设置下代码:

git config --global --unset http.proxy

git config --global --unset https.proxy

取消代理,重新执行。
到这一步,就已经完成啦,快来看看你的网站吧。

总结

Hexo 是一种纯静态的博客,这意味着我们必须要在本地完成文章的编辑再部署到 GitHub 上,依赖于本地环境。不能像 WordPress 或 Typecho 那样的动态博客,即使使用WordPress,部署到GitHub也只能选择静态网站方式。
但是作为一个个人的博客网站,这种方法稳定省心,github提供了300M的空间,作为文字图片记录也已经足够。
在网络上有一块自己的小小空间,感觉还是很让人安心的。
也欢迎路过各位来我建立的网站看看:
ZZL的太空垃圾站

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值