前言

Hexo 作为一款静态博客网站框架,是新手搭建属于自己的博客网站的不二之选。但是如果你只是按照相关教程快速地完成了一个网站的搭建,搭建完成时获得的成就感很快就会消散。了解搭建过程中的相关知识和原理,并用于提升自己的知识储备,才能让这种获得感长久,这篇文章的意义就在于此。

本文首发于 正切橙的博客,更多详细信息请点击 这里,转载请注明出处。


一、Hexo 是什么

Hexo 是一款基于 Node.js 的静态博客网站框架,依赖少且易于安装使用,可以很方便并且快速地生成静态网页,然后托管在 GitHub PagesNetlifyVercel 等上搭建个人博客网站。Hexo 的作者来自台湾,对于中文的支持很好,阅读相关文档也很方便。

Hexo 中文官网

1.什么是静态网站

既然有静态网站,与之相对的也有动态网站。静态网站往往没有数据库和后台,网站代码一经发布到网站服务器上后内容便不可修改,只能通过重新长传更改后的网站代码来更新网站。而动态网站不同,它可以根据用户的要求和选择而动态地改变网页内容,并且自动更新网站,还能通过后台实时监控网站的情况并作出响应。

2.为什么选择静态网站

动态网站的交互性和功能都很强大,但是搭建的过程很复杂,需要有一定的代码基础,还要了解数据库等相关知识,它往往是一些公司和企业的官网。对于只想搭建博客网站的个人来说,学习成本太高,所以选择静态网站,它上手简单,对于个人网站来说绰绰有余,同时维护成本也很低。

3.为什么选择 Hexo

虽然搭建静态网站相对于动态网站已经简单很多,但是还是要有 htmlcssjs 等前端开发的基础,而 Hexo 的出现又降低门槛,它可以把写好的 Markdown 文档渲染生成网页,你要做的只是配置好 Hexo 就行了。

Hexo 类似的工具还有 JekyllHugojekyll 是 GitHub 的亲儿子,而 Hugo 是采用 Go 语言编写的,但是从使用人数和博客主题数量来看,Hexo 更胜一筹,网上关于 Hexo 的介绍也更多,遇到问题也更好解决。

二、Markdown 是什么

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或 HTML)文档,简单来说,就是以 Markdown 格式编写的文档(.md 结尾)可以在特定工具下转换为 XHTML(或 HTML,即 .html 结尾)的文档,从而简化写复杂的 XHTML(或 HTML) 代码过程。

1.为什么要学 Markdown

你在 Hexo 上写的所有文章都是 Markdown 格式的,Hexo 可以把你写的这些 Markdown 文档(.md 结尾)批量转换成 XHTML(或 HTML,即 .html 结尾)的文档,然后渲染组成页面,再把页面组织构成网站。

2.怎么学 Markdown

Markdown 作为轻量级标记语言,学习起来难度较小,了解 Markdown 基本语法后多写写就能熟练掌握,可以查看 菜鸟教程 或者 马克飞象 的例子,网上其他的相关教程也很多,就不一一列举了。当你熟悉之后,进阶的话可以在 Markdown 文档中插入 HTML 语句实现更多功能和样式。

Markdown 编辑器的话使用 VSCode 或者 TyporaMarkText 等都行,甚至记事本也行(不过无法预览)。

三、如何使用 Hexo

1.前期准备

  • Node.js
  • npm
  • Git

以前 js 只能运行在浏览器中,Node.js 出现之后,不管是服务器上,还是我们自己的的笔记本上,只要安装了 Node.js 就可以运行 js 代码。

Node.js 中文官网

npm 的全称是 Node Package Manager,是一个 Node.js 的包管理和分发工具,可以使用它安装和管理官方以及别人开发好的模块,并应用到你的项目中。

npm 官网

Git 是一个分布式的版本控制软件,用于记录某个项目中各种文件内容的变动。 而 GitHub 是一个基于 Git 的远程文件托管平台,你可以在上面建立仓库存储你的项目,并且通过 Git 记录你的项目内容变动。

Git 官网

2.安装 Node.js

打开 Node.js 官网,找到 下载,选择 长期维护版 下载,下载完成后双击下载的 .msi 文件进行安装,可以更改安装位置到其他盘,其他选项默认即可,Node.js 安装完成后自带 npm

安装完成后,在 cmdpowershell 或者 Windows Terminal 等终端中输入

node -v

如果输出版本号即为安装成功

也可以查看 npm 版本

npm -v

3.安装 Git

打开 Git 官网,找到 Latest source Release,点击 Download for Windows,下载 64-bit 的版本,下载完成后,双击进行安装,安装时的勾选默认即可(Git 老玩家的话按自己需求选择)。

Git 在记录项目内容修改时,可以附加修改者的姓名和邮箱信息,这需要自己设定。安装完成后,在桌面右键呼出菜单,选择 Git Bash Here,输入

git config --global user.name "yourname"
git config --global user.email "youremail@xxx.com"

查看修改后的用户信息

git config --list

4.安装 Hexo

查看 Hexo 中文官网 发现,只需要一个命令就可以安装 Hexo,它是通过 npm 安装的

由于 npm 的源服务器在国外,速度慢,可以使用 阿里云 npm 镜像站,终端输入

npm config set registry https://registry.npmmirror.com

查看换源是否成功

npm config get registry

镜像源配置好就可以安装 Hexo 了,输入

npm install hexo-cli -g

-g 表示全局安装某模块,会写入环境变量,可以在终端直接输入该模块的指令进行相应操作,不加则会安装在终端打开文件夹的 node_modules 目录中,只在当前项目中使用

验证安装是否成功

hexo -v

输出版本号和其他基本信息即表明安装成功

5.初始化网站

可以查看 Hexo 官方文档 或者看我下面的介绍

任选位置新建一个空文件夹,初始化该文件夹

hexo init

按住 Shift 不放并右击此文件夹,选择 在此处打开 Powershell 窗口 可以打开 powershell,或者进入这个空文件夹,在地址栏输入 cmd 可以打开 cmd

等待完成,然后更新 npm 包的依赖

npm install

6.本地测试

Hexo 初始化完成后会有一个默认主题 landscape

依次输入以下指令,在本地运行

hexo clean
# 清除缓存,可用简略写法 hexo cl
hexo generate
# 生成静态页面,可用简略写法 hexo g
hexo server
# 本地运行,可用简略写法 hexo s

按住 Ctrl 并点击终端输出的 http://localhost:4000 链接可以跳转浏览器打开测试页面,或者在浏览器地址栏输入 http://localhost:4000 也可以打开测试页面

4000 表示本地端口号为 4000,也可以使用 -p 参数指定端口,例如:hexo s -p 8080 表示在 8080 端口测试

在终端按 CtrlC 可以中止运行

如果已经熟练 Hexo 的话,可以只使用一条测试运行指令

  • cmd
hexo cl && hexo g && hexo s
  • powershell
hexo cl ; hexo g ; hexo s

从零开始的 Hexo 生活(二)主题配置篇

更新中 ······


从零开始的 Hexo 生活(一)入门安装篇的更多相关文章

  1. docker入门-安装篇

    一.docker介绍 1:docker官网 www.docker.com 2:github  https://github.com/docker/docker.github.io 3:开源的容器引擎, ...

  2. Percona XtraDB Cluster简易入门 - 安装篇

    说明 Percona XtraDB Cluster(简称PXC),是由percona公司推出的mysql集群解决方案.特点是每个节点都能进行读写,且都保存全量的数据.也就是说在任何一个节点进行写入操作 ...

  3. 从零开始学习jQuery (一) 开天辟地入门篇

    一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章是入门第一篇, 主要是简单介绍jQuer ...

  4. k8s入门系列之扩展组件(一)DNS安装篇

    DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统 ...

  5. ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  6. 轻量级HTTP服务器Nginx(入门与安装篇)

    轻量级HTTP服务器Nginx(入门篇)   文章来源于南非蚂蚁   一.什么是Nginx 相信很多读者都对Apache非常熟悉,与Apache类似,Nginx是一款高性能的HTTP和反向代理服务器软 ...

  7. 从零开始制作 Hexo 主题

    原文地址:从零开始制作 Hexo 主题 · Ahonn 写在前面 本文将会从零开始开发一个简单的博客主题.样式主要参考 Hexo theme 中的 Noise 主题. 开始之前你需要了解: 模板引擎  ...

  8. 从零开始的微信小程序入门教程(一)

    之前说要和同事一起开发个微信小程序项目,现在也在界面设计,功能定位等需求上开始实施了.所以在还未正式写项目前,打算在空闲时间学习下小程序.本意是在学习过程中结合实践整理出一个较为入门且不是很厚的教程, ...

  9. JavaMail入门第一篇 邮件简介及API概述

    现如今,电子邮件在我们的生活当中扮演着越来越重要的角色,我们每个人几乎都会与其打交道(至少时不时我们都会接收到莫名其妙的垃圾邮件),在工作中,使用邮件进行交流沟通,可以使我们的工作有迹可循,也显的较为 ...

随机推荐

  1. 同事都说有SQL注入风险,我非说没有

    前言 现在的项目,在操作数据库的时候,我都喜欢用ORM框架,其中EF是一直以来用的比较多的:EF 的封装的确让小伙伴一心注重业务逻辑就行了,不用过多的关注操作数据库的具体细节.但是在某些场景会选择执行 ...

  2. jvm初步理解

    1.什么是运行时数据区? 1.什么是运行时数据区 ​ javac 指令:编译java文件生成class文件 ​ java指令:运行class文件即将数据放到jvm中 ​ class文件运行,后将不同的 ...

  3. springsecurity-01-0511

    springsecurity-01-0511课堂代码 BaseController package com.springsecurity.springsecurity.controller; impo ...

  4. 用注册表清除Office Word文档杀手病毒

    不久前,笔者打开word文件时遇到了一件离奇的怪事,常用的Word文件怎么也打不开,总是出现提示框:"版本冲突:无法打开高版本的word文档".再仔细查看,文件夹里竟然有两个名字一 ...

  5. 6月20日 Django中ORM介绍和字段、字段参数、相关操作

    一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...

  6. Linux系统常用的命令

    1.查看本机IP地址:ifconfig 2.查看当前所在路径:pwd 3.查看指定名称线程:ps -ef | grep tomcat 4.查看当前目录结构:ll 或者 ls 5.杀死指定线程:kill ...

  7. Intellij IDEA实现SpringBoot项目多端口启动的两种方法

    有时候使用springboot项目时遇到这样一种情况,用一个项目需要复制很多遍进行测试,除了端口号不同以外,没有任何不同.遇到这种情况怎么办呢?这时候可以使用Intellij IDEA解决 前言 有时 ...

  8. C++各种输入

    https://blog.csdn.net/qq_29735775/article/details/81165882 1.cin 2.cin.get() 3.cin.getline() 4.getli ...

  9. Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?

    Zookeeper保证了CP(C:一致性,P:分区容错性),Eureka保证了AP(A:高可用) (1)当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的信息,但不能容忍直接down ...

  10. DispatcherServlet?

    Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应.