热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

最近有几位同学在公众号后台留言问我的博客站是怎么建站的,思来想去,还是写一篇从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 快很多。



推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 1. 设置用户密码:使用 `slappasswd` 工具生成加密密码,确保账户安全。具体步骤如下:输入命令 `slappasswd -s NewPassword`,系统将提示重新输入新密码,并生成加密后的哈希值 {SSHA}xxxxxxxxxxxxxxxxx。2. 编写配置文件:编辑 `vildapus` 配置文件,添加必要的用户账户信息,以确保新用户能够顺利登录系统。 ... [详细]
  • LDAP服务器配置与管理
    本文介绍如何通过安装和配置SSSD服务来统一管理用户账户信息,并实现其他系统的登录调用。通过图形化交互界面配置LDAP服务器,确保用户账户信息的集中管理和安全访问。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 解决Win10下MySQL连接问题:Navicat 2003无法连接到本地MySQL服务器(10061)
    本文介绍如何在Windows 10环境下解决Navicat 2003无法连接到本地MySQL服务器的问题,包括启动MySQL服务和检查配置文件的方法。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 数字资产量化交易通过大数据分析,以客观的方式制定交易决策,有效减少人为的主观判断和情绪影响。本文介绍了几种常见的数字资产量化交易策略,包括搬砖套利和趋势交易,并探讨了量化交易软件的开发前景。 ... [详细]
  • 自定义滚动条美化页面内容
    当页面内容超出显示范围时,为了提升用户体验和页面美观,通常会添加滚动条。如果默认的浏览器滚动条无法满足设计需求,我们可以自定义一个符合要求的滚动条。本文将详细介绍自定义滚动条的实现过程。 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
author-avatar
浐灞半岛商业_318
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有