前言

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. SourceTree代码变更和FoxMail邮件管理(效率小计俩)

    代码变更溯源 工作时,我们经常会想要查看一个类文件的变更历史,最常见的场景是:"卧槽,谁改了我的代码" 新版本的Xcode溯源自我感觉相当难用,所以这里我们介绍一个工具 Sourc ...

  2. 线程的sleep()方法和yield()方法有什么区别?

    sleep()方法和yield()方法的区别: sleep()方法给其他线程运行机会时,不考虑线程的优先级,因此会给低优先级的线程运行机会:yield()方法只会给相同优先级或更高优先级的线程运行机会 ...

  3. Linux下查看端口占用进程号,程序名的方法

    Linux下查看端口占用进程号,程序名的方法,方便我们查找什么进程导致系统变慢等需要.linux下查看端口占用情况: 1. 查看哪个进程占用了819端口: case9-sghfofo:/usr/loc ...

  4. ZYNQ使用ymodem协议传输文件

    SDK: V2014.4 协议: Ymodem 工具: USB转UART转接线.xshell6软件 可实现各种文件传输,大小不限,只是速度很慢 参考原代码如下: /****************** ...

  5. 74CMS 3.0 CSRF漏洞

    一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.0源代码编辑使用GBK编 ...

  6. IC设计基础

    一 前言 这一周连续两场线下面试,紧接着又是微信视频面试,从连续三天的面试中,收获颇丰! 存在的问题: 一是对项目细节模糊: 二是IC基础知识薄弱: 具体表现是,在面试过程中,如被问到DDR3和千兆以 ...

  7. linux安装maven环境

    linux安装maven环境 一. 下载压缩包: 官网地址: http://maven.apache.org/download.cgi 或者百度网盘链接:https://pan.baidu.com/s ...

  8. 详细描述一下 Elasticsearch 搜索的过程?

    想了解 ES 搜索的底层原理,不再只关注业务层面了. 解答: 搜索拆解为"query then fetch" 两个阶段. query 阶段的目的:定位到位置,但不取. 步骤拆解如下 ...

  9. springboot 配置文件的优先级和互补配置

    一.springboot启动时候,配置文件的优先级如下所示由高到低.高优先级会覆盖低优先级相同配置,并且和低优先级形成互补配置. –file:./config/ ###根目录config目录下 –fi ...

  10. phpstorm chrome 添加xdebug扩展

    转:https://blog.csdn.net/ltcm_sakura/article/details/102967859 一.Xdebug helper:php调试插件 http://chromec ...