hexo 环境变量_小白使用 Github + Hexo 从 0 搭建一个博客

877d7da2a711b0083c8c9afcbaaf1f4d.png

最近有几位同学在公众号后台留言问我的博客站是怎么建站的,思来想去,还是写一篇从 0 开始吧。

前置准备

我们先聊一下前置准备,可能很多同学一听说要自己搭一个博客系统,直接就望而却步。不得有台服务器么,不得搞个数据库么,不需要域名备案么?当然,这些确实是建立一个博客站点需要的东西,如果都没有,问题倒是也不大。

首先,Github 为我们做出了巨大的贡献,直接帮我们解决服务器和域名问题,当然,在国内访问 Github 可能会有些慢,但是国内有 Gitee 啊,完全不逊色 Github 的好不好。

博客站的建立,这时我们需要用到 Hexo ,这个博客框架没有那么的重量级,它是使用 Markdown 直接来写文章,然后可以将文章编译成静态页面,编译完成后,我们只需要将编译好的页面放在 Github 或者 Gitee 上,就可以直接被访问到。这样,我们就省去了一台数据库和服务器,文章的内容、标题、标签等信息就无需放在数据库中了,可以直接在静态页面上访问到。

那么,接下来,需要的就是一个 Github 或者 Gitee 的账号了,这个我就不多讲,大家自行准备吧。

225a12b8abea634c6dc76d39acdce092.png

环境安装

Node.js

Hexo 的编译环境是使用 Node.js 的,需要在自己的电脑上安装 Node.js ,下载地址我直接贴出来:头条外链发不出来,大家可以访问原文看我个人博客站。各位直接选择自己对应系统的 Stable 版本安装就好。

windows 环境下载后一路 next 即可,无需额外选择什么。安装完成后环境变量如未自动配置,还需配置下环境变量,配置完成后可以使用如下命令验证是否安装成功:

博主安装的时间比较早,版本比较老了,各位领会精神。

Hexo

接下来我们安装 Hexo ,这是一个博客框架,Hexo 官方还提供了一个命令行工具,用于快速创建项目、页面、编译、部署 Hexo 博客,所以在这之前我们需要先安装 Hexo 的命令行工具。

安装完成之后,可以使用如下命令验证安装是否成功:

博主这边的输出如下:

5ba1c765f2c51de09c28a8658170d0b4.png

创建项目

接下来到了重头戏的时间,开始创建一个博客项目。

接下来,我们使用 Hexo 在本地创建一个项目,并在本地将这个项目整体跑通看看。

在一个自己喜欢的目录下创建项目,使用以下命令:

这里的 是项目名称,使用自己喜欢的名称,我这里使用 firstblog 。

静静等待进度条走完,这样我们在 firstblog 这个文件夹中就有了 Hexo 初始化的相关文件。如图:

77c87e675ecd0f7077b8bc2cc1c9a3eb.png

进入这个文件夹中,安装相关 node 依赖:

接下来,我们可以使用 generate 命令将刚刚生成的文件编译成静态 HTML 代码了。

可以看到输出结果里面包含了 js、css、font 等内容,并发现他们都处在了项目根目录下的 public 文件夹下面了。

然后我们使用 Hexo 提供的 server 命令,让博客在本地运行起来,如下:

服务默认会在 4000 端口,直接在浏览器中访问, 我们看下结果:

1737ba6a9bd939e4e6eae29abaa2de7c.png

到这里,整个博客的架子就好了,我们只使用了 3 个命令。

部署

接下来,我们要将这个建好的博客部署到 Github Page 上验证一下可用。成功之后我们再进行一些其他的骚操作,比如更换主题,修改配置等等。

这里需要我们先在 Github 上创建一个仓库。

b95cd4df5fa3c67de9149d87781b5fc9.png

这里有一点需要注意,GitHub Pages 允许每个账户创建一个名为 {username}.github.io 的仓库,另外它还会自动为这个仓库分配一个 github.io 的二级域名。各位同学创建命名规则可以跟参照博主的命名方式。

仓库创建完成后,接下来可以开始进行部署了, Hexo 的部署命令:

在部署前需要先安装一个插件:

然后我们还需要配置一下本地项目的配置文件 _config.yml ,这个文件在本地项目目录的跟目录下,打开修改最下面的部署的部分:

# Deploymentdeploy: type: git repo: {git repo ssh address} branch: master

博主这边修改结果如下:

# Deploymentdeploy: type: git repo: git@github.com:meteor1993/meteor1993.github.io.git branch: master

然后执行 hexo deploy 命令,看到以下差不多的内容说明部署成功:

这时,我们就可以访问一下我们 Github Page 为我们分配的域名了,比如我的仓库名称为 meteor1993.github.io ,那我这里就要访问,头条外链发不出来,大家可以访问原文看我个人博客站。

4535259c8ab36c53dc4f2231809df618.png

这时我们可以去 Github 仓库看下具体上传了什么内容:

e47d6929e2ee5cf1c13be985c82584b2.png

可以看到,这里就是将我们 public 目录下的所有文件上传了,Hexo 把编译之后的静态页面内容上传到 GitHub 的 master 分支上面去了。

7427c5fbad05d287d9c0fa3eabb3862d.png

站点配置

我们上面仅仅只是将初始化的页面部署成功了,博客里还有一些站点的信息尚未配置,这些站点信息是为了让搜索引擎知道我们的站点是做什么的。

同样是需要配置项目根目录的 _config.yml 文件,打开这个文件,找到 site 相关的配置信息。

小编这里的工程仅是做演示使用,并无什么其他的作用,就随便写写了,各位同学可以根据自己的需要做配置:

小编这里主要将语言设置成了中文,我们看下修改后的博客长什么样:

aa08f185ea6d60c3be23c9153e52be54.png

可以看到其中的时间日期格式变成了中文。这样我们就完成了博客的站点配置。

修改主题

0af80f2ca0748041dc73dcd862c5f5d9.png

目前默认的样式风格并不是那么好看,如果想要换一下的话,就涉及到了主题的修改。目前 Hexo 使用最多的一定是 Next 主题。当然,小编的站点并不是使用的 Next 的主题。

接下来,我们来看下如何在 Hexo 中使用 Next 主题。

首先我们需要将 Next 从 Github 上克隆下来,命令如下:

我们直接将这个主题克隆至项目的 themes 目录下。

克隆完成后, Next 的源码就会出现在 themes 目录下。我们需要修改根目录下的 _config.yml 文件中的主题配置,这样我们就可以使用刚才我们克隆好的 Next 主题了:

# Extensionstheme: landscape

修改为:

重启本地服务,我们看下效果:

0658ecc43867873d4bfacba2581583b9.png

主题配置

Next 主题同样为我们提供了丰富的配置,供我们自定义自己的博客站点使用。

在目录 themesext 中,找到 _config.yml 文件并打开。

Next 同样为我们准备了几种样式可供选择:

这些样式同样都是黑白配色,仅布局风格不同,各位同学可以选择自己喜欢的布局风格。

关于 Next 的更多配置小编这里就不一一列举了,属实有些多,这里提供 Next 主题的官方文档,是中文版的,有需要修改的同学可自行参考。官方文档,头条外链发不出来,大家可以访问原文看我个人博客站。

添加文章

添加文章 Hexo 也为我们提供了相关的命令,比如我们要添加一个名为 test 的文章,如下:

我们可以看到,在 source_posts 的目录下,创建了一个 test.md 的 Markdown 的文档。打开看下里面的内容:

这些内容仅是自动创建的,我们还可以添加其他的内容进去,可以给各位同学看下我平时的文章头:

开头下方撰写正文,MarkDown 格式书写即可。

这样在下次编译的时候就会自动识别标题、时间、类别等等,另外还有其他的一些参数设置,可以参考官方文档,头条外链发不出来,大家可以访问原文看我个人博客站。

另外在创建新的文章的时候也不是一定要通过命令创建,也可以自己在对应的目录下新建一个 .md 的文档,Hexo 在编译的时候也是同样会识别的。

本篇文章在这里就分享结束了,各位感兴趣的同学可以自己动手尝试一下。

954199ed51bc6bd216e456edc2369392.png

题外话

小编自己的个人站点为了保持访问速度和稳定性,部署在腾讯云上并使用了 CDN 加速,并且映射了自己申请的域名,其中比较困难的点是域名的备案和腾讯云是需要产生一定的费用的,如果只是自己使用无需考虑稳定性和访问速度的话,国内可以部署在 Gitee ,经测试是要比 Github 快很多。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android service交互,Android Activity与Service的交互方式

参考: http://blog.csdn.net/gebitan505/article/details/18151203实现更新下载进度的功能1. 通过广播交互Server端将目前的下载进度,通过广播的方式发送出来,Client端注册此广播的监听器,当获取到该广播后,将广播中当前的下载进度…

[转帖]AjaxControlToolkit.TabContainer 自定义样式续

Tabs控件其实是一个容器控件TabContainer和面板控件TabPanel。TabContainer控件用于包含TabPanel。TabPanel控件用于显示。下面来看一个示例:1)在VS2005中新建一个ASP.NET AJAX-Enabled Web Project项目工程,命名为Tabs。2)在Default.aspx页面上添加一个…

c++ using 前置声明_每日优鲜前置仓模式的配货优化方案案例介绍

大渔导读:2019 年零售业供应链最佳实践大奖——银奖 基于每日优鲜前置仓模式的配货优化方案案例;1. 背景介绍: 每日优鲜成立于 2014 年 11 月,是专注于优质生鲜的移动电商,已在北上广深等全国 10 个核心城市建立“城市…

lg gw880 qq2011 android beta4版,LG GW880评测:CMMB天线、细节设计

机身侧面的银色边框与黑色的正面形成了鲜明的对比。不同于大部分的手机,LG GW880把电源/锁机键放到了机身左侧,而且还多了一个返回键,所以机身侧面设置了比较多的按键,设计比较复杂。机身右侧是拍照键、音量键以及数据线接口&…

excel按季度分类汇总_Excel数据分析实战(1)--电商销售记录分析

Excel是市面上最流行的办公软件之一,也是数据分析师入门最好的学习工具。因为其功能强大、操作简单,可以快速对数据进行清洗,建模,可视化,操作者不需要其他计算机基础也能快速上手。所以选择Excel进行数据分析入门的项…

[Silverlight]奇技银巧系列-2

Silverlight奇技银巧系列: 所有该系列中的文章只为介绍一些Silverlight中或隐藏在Silverlight .NET framework鲜为人知的知识和技巧。这些文章并非教程,也是不是什么技术指导,您只需对文章介绍的内容保有印象。这些知识和技巧也许会在不经意间…

好程序员Java分享Java案例_英汉字典

在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用Java基础语言编写的英汉字典案例:   实现功能: …

同事更新几个表_最近计划学习的几个网站资源

在没有明确需要的时候逛知乎,B站什么的随便看教程,发现资源很多,五花八门,但是总也没系统地学习一下。一会儿看一小段,转眼就忘光了,只留下一个刚才我没有在玩耍的错觉。以上是无关紧要的忏悔。接下来主要记…

带有托管代码的InfoPath2007表单模版发布到SharePoint表单库(浏览器方式查看)

在本篇文章中,将与大家分享如何将一个带有托管代码(manage code)的InfoPath2007表单模版发布到SharePoint Server2007的表单库中,并使得最终用户可以通过浏览器方式访问。 1. 创建InfoPath表单模版 在这里,我们使用VSTO2005与InfoPath2007。生成…

cefsharp System.IO.FileNotFoundException: 未能加载文件或程序集“CefSharp.Core.dll”或它的某一个依赖项。...

解决办法 安装vc 2015 Redistributable 64位系统安装x64 如果还报错先装x64版本再装x86版本 https://files.cnblogs.com/files/xuejianxiyang/vc_redist.part1.rarhttps://files.cnblogs.com/files/xuejianxiyang/vc_redist.part2.rarhttps://files.cnblogs.com/files/xuejianx…

7种常用p2p共享协议

一、Napster:第一个大型的;中央集中式;倒闭了;二、Gnutella和Gnutella2:开源的;第一个真正非中心的。Gnutella2是对Gnutella的改进和扩展。三、FastTrack:第一个客户端是KazaA。协议与Gnutella类…

c++中怎么数组内有用元素的个数_前端面试(算法篇) - 数组乱序

一、面试题问:有一个长度为 100 的数组,如何从中随机挑选 50 个元素,组成一个新的数组?答:这个...那个...emmmmmm问:那先不挑 50 个,就挑一个数,知道怎么做吗?答&#xf…

axios+Vant+vue+jq重构jq月经周期计算器源代码(兼容移动端)

我是歌谣 代码重构不易 公众号关注小歌谣 前言 网络上流行了一款jq生成月经计算器的代码 是这样的 实现效果如图所示 本次讲解就是说明如何用VantjqVue实现此代码的重构 先看一眼重构演示的效果 这个是可以直接进行接口调用的 首先我们看一眼目录结构 我们这边贴出我自己手…

html页面高度设为自动,html – CSS:响应式布局中的高度自动问题

没有固定的正确高度.如果我在css中设置固定高度,则在响应式布局中,图像将不会以正确的宽高比调整大小.主要问题是css根据src-attribute设置的图像计算自动高度和宽高比,而不是width-和height-attribute.因此,如果有一个有宽度和高度的真实图像,一切正常.但是如果有一个空白(这只…

MVC Controller与ActionResult的返回值

Action的要求• 必须是一个公有方法• 必须返回ActionResult类型• 必须是实例方法• 不能是范型方法• 没有标注NonActionAttribute• 不能被重载(overload) Controller 提供了众多的方法让我们返回各种类型的 ActionResult。 1. View最常用的一种&…

事务处理

第13章 事务处理 事务处理是包含一个或多个任务的一组关联操作的提交或回滚操作。在事务执行的过程中,保证事务具有基本的ACID属性(原子、一致性、隔离和持久性)。.NET Framework的事务管理支持多种事务处理方式,包括显性事务和隐…

为多孔介质的当量直径_多孔介质流建模简介

拥有一款先进的多孔介质建模工具,是许多行业的刚性需求。COMSOL Multiphysics 软件 5.5 版本新增的附加产品——多孔介质流模块,可以满足众多行业的需求。使用该模块可以定量研究多孔介质中的质量、动量和能量传递。该模块适用于燃料电池、纸浆和纸张干燥…

北航计算机网络 传输层实验,北航研究生计算机网络实验_实验七 传输层实验

** 这个实验我没有约到没有问题的机子(连续三台机子都是坏的...)因此仅供参考1、根据2.6中步骤3回答:TCP的连接和建立采用的是:三次握手方式,PCA是主动打开方(C),PCB是被动打开方(S)。先点击发送再点击接收,会出现什么…

python 竖线 绘图_Python可视化 | Seaborn5分钟入门(二)——barplot countplot

Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,不需要经过大量的调整就能使你的图变得精致。注:所有代码均在IP…

计算机网络工程综合布线目的,弱电工程综合布线系统与计算机网络布线系统有何不同?【网络综合布线】...

弱电工程的综合布线是模块化和灵活的建筑物或建筑物之间的信息传输通道。 综合配电系统可以连接到声音设备、数据设备、开关设备和各种控制设备和信息管理系统。 同时,它还使这些设备与外部通信网络连接起来。弱电工程综合布线系统与计算机网络布线系统有何不同..弱…