搭建自己的Hexo博客,不深度的个性化next主题,搭建一个属于自己的小窝。
博客搭建
安装git
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Hexo的搭建与要用到工具,并且有了它以后就不用打开控制台啦!
Windows系统进入Git官网点击Download进行下载
廖雪峰老师有Git教程可以供大家学习。
安装node.js
windows系统进入nodejs官网下载node.js,安装完成后在Git中输入以下命令:
1 | node -v |
查看node.js与NPM是否安装成功。
NPM是随同Nodejs一起安装的包管理工具,能解决Node.js代码部署上的很多问题,允许用户从NPM服务器下载别人编写的第三方包到本地使用。
安装Hexo
先创建一个文件夹Blog,然后用cd
到这个文件夹下,或者在这个文件夹下直接右键git bash打开。输入以下命令:
npm install -g hexo-cli
等待安装完成后,在Git中输入代码hexo -v
查看Hexo是否按章成功,也可以检查当前版本。
安装 Hexo 完成后,在Git下执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
1 | hexo init <文件夹> |
你可以将<文件夹>
更改成其他名字,你的Hexo将创建在该文件夹下。
输入命令:
1 | hexo generate // 或者输入hexo g |
生成并开启Hexo服务,在浏览器输入 localhost:4000 就可以看到你的博客了。更多的Hexo命令可以去Hexo官方网站查看。
博客配置
Hexo的基本配置
Hexo的基本配置文件都在根目录下Blog\XXX\_config.yml
文件中。不要根据官方文档胡乱改动,只改有用的。
打开_config.yml
文件,用查找快捷键Ctrl+F查找Site
字段找到以下词条:
1 | title: <博客的标题> |
可以根据自己的需要进行更改。(注意:
后面应有一个空格)
其他配置文件可以查看官方文档,但是不要根据官方文档胡乱改动,只改有用的。
安装Next主题
Hexo有很多主题,比自带的landscape好看多了。这里推荐Next主题,因为Next十分成熟,可以个性化配置的程度很高,网上也有大把大把的个性化教程。
可以查看Next官方文档自行学习Next的安装与初步设定,上面写的很详细。(如果选用Next主题,基本配置上面的language:
字段参数设置成zh-Hans
)。
Next个性化设置
Next有很多个性化的设置,下面列举几个我觉着不错的,其中参考了Morrez与Simon96两位前辈,大家可以参考一下,挑几个感兴趣的试一试。
文字大小设置
默认的字有点小,可以自己进行设置,让字大一圈。
在themes/next/source/css/_variables/base.styl
中查找Font size
字段
1 | // Font size |
菜单字号设置
默认的字才13px,有点小,可以自己进行设置.
在themes/next/source/css/_common/components/header/menu.styl
中修改
1 | a { |
博客字体设置
我觉着黑体挺好的,但是看了reuixi前辈的博客,感觉思源宋体看着更舒服。
具体设置可以参考在他的博文中福利标题下的设置方法,其中 3) external-fonts.swig
文件的写入代码如下:
1 | <link href="https://fonts.loli.net/css?family=Noto+Serif+SC:400,500,700&display=swap&subset=cyrillic,vietnamese" rel="stylesheet"> |
Logo字体设置
如果想把Logo字体换成与众不同的话,在 themes/next/source/css/_custom/custom.styl
中添加如下代码:
1 | @font-face { |
将你需要的字体文件放在在 themes/next/source/fonts
目录下,将<字体名>
改成自己下载的字体名,具体的文件可以去字体官网和下载。
博文标题设置
如果想修改博文标题字体大小和粗细,需要在 themes/next/source/css/_custom/custom.styl
中添加如下代码:
1 | .posts-expand .post-title { |
感谢北宸的帮助🎈
在博文中插入本地图片
在你的Hexo目录中打开控制台,安装大佬已经写好的hexo-asset-image插件:
1 | npm install https://github.com/7ym0n/hexo-asset-image --save |
设置Hexo的配置文件_config.yml
里面的post_asset_folder:false
这个选项设置为true
。顺便更改URL字段中的url: http://frozenwu.github.io
, 把它改成自己的网站名字,这样会解决你的网站不显示外链图片的问题。
这样,在你新创建博客的时候,Hexo也会在_posts文件夹下创建一个同名的资源文件夹,你可以把你用的图片放到这个文件夹中。
万事俱备!在Typora菜单栏中格式-图像-设置图片根目录,设置为资源文件夹,这样你的Front-matter就会多处一行
1 | typora-root-url: python_note |
这个python_note就是我的博文名字啦,也是这篇博文资源文件夹的名字。当你插入图片的时候直接输入你放在资源文件夹中的图片名,像
这样,就可以在Typora以及你deploy之后的Blog中显示自己的图片了!
正确显示Mathjax公式
参考zhengyujie的博客,不修改的话公式很多会显示异常。
设置置顶标签
参考hwhong的博客,手动设置Hexo的置顶功能。
之后打开themes/next/layout/_macro
目录下的post.swig
文件,在<div class="post-meta">
标签下,紧跟着标签屁股后面,插入如下代码设置置顶标签:
{% if post.top %}
置顶
{% endif %}
去掉图片边上的灰框
参考Neo的博客,去掉碍眼的框框。
打开 themes/next/source/css/_common/components/post
目录下的post-expand.styl
文件,将
1 | img { |
改为
1 | img { |
设置右上角的Github小猫
将下列代码中的<你的Github主页>
更改为自己的Github主页,并将该段代码粘贴在hemes/next/layout/_layout.swig
文件中<div class="headband"></div>
的下面。(其他样式&位置可以参考Morrez)
1 | <a href="<你的Github主页>" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style> |
新建博客
cd
至安装博客文件夹下,执行下列命令来创建一篇新文章或者新的页面。
1 | hexo new [layout] <标题> // 可以简写成 hexo n <标题> |
您可以在命令中指定文章的布局(layout),默认为 post
,可以通过修改 _config.yml
中的 default_layout
参数来指定默认布局。生成的文章都是Markdown格式。
布局(Layout)
Hexo 有三种默认布局:post
、page
和 draft
。在创建者三种不同类型的文件时,它们将会被保存到不同的路径;而您自定义的其他布局和 post
相同,都将储存到 source/_posts
文件夹。
布局 | 路径 |
---|---|
post |
source/_posts |
page |
source |
draft |
source/_drafts |
Front-matter
Front-matter 是文件最上方以 —- 分隔的区域,用于指定个别文件的变量,例如
1 |
|
可以设设置如下参数:
参数 | 描述 |
---|---|
layout | 布局 |
title | 标题 |
date | 建立日期 |
updated | 更新日期(尽量不写,会自己更新哒) |
comments | 开启文章的评论功能 |
tags | 标签(不适用于分页) |
categories | 分类(不适用于分页) |
permalink | 覆盖文章网址 |
mathjax | 公式 |
typora-root-url | Typora的文章根目录,设置一下可以让博文本地上传图片 |
部署至Github
在配置好了你的博客之后,我们可以将博客部署到Github上进行托管,当然也可以自己购买一个属于自己的专属域名。
创建Github个人仓库(repository)
先申请一个Github账户,记住自己的Github用户名。
注册完登录后,在GitHub.com右上角有一个绿色加号,弹出的菜单中看到一个New repository
(新建仓库),创建一个和你用户名相同的仓库,后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是XXX.github.io,其中XXX就是你注册GitHub的用户名。之后点击Create repository确认创建。
生成SSH添加到GitHub(添加过的话可以跳过)
SSH为建立在应用层基础上的安全协议,可以理解为一套密钥。
在Git bash中输入以下命令,这样GitHub才能知道对应账户。
1 | git config --global user.name "<Github用户名>" |
检查一下你有没有录入错误:
1 | git config user.name |
然后输入指令创建SSH
1 | ssh-keygen -t rsa -C "<Github邮箱>" |
而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key
,把你的在此电脑/C:/用户/.ssh/
中找到id_rsa.pub
文件,并把里面的信息复制进去。
在Git bash中输入以下命令,检查一下是否成功:
1 | ssh -T git@github.com |
部署至Github
这一步,我们就可以将Hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件 Blog\XXX\_config.yml
,翻到最后,修改为
1 | deploy: |
这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。
1 | npm install hexo-deployer-git --save |
然后在你博客文件夹下在Git bash中输入以下命令:
1 | hexo clean // 清除缓存 |
deploy时可能要你输入username和password,过一会儿就可以在http://<Github用户名>.github.io
这个网站看到你的博客了。
致谢
- https://blog.csdn.net/sinat_37781304/article/details/82729029
- https://www.simon96.online/2018/10/12/hexo-tutorial/
- http://shenzekun.cn/hexo%E7%9A%84next%E4%B8%BB%E9%A2%98%E4%B8%AA%E6%80%A7%E5%8C%96%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B.html
- https://io-oi.me/tech/hexo-next-optimization/
- https://www.jianshu.com/p/3a05351a37dc
- https://www.bilibili.com/video/av17653359?from=search&seid=7698157865993190940
- https://www.bilibili.com/video/av62373078