Hexo+Yilia搭建github Pages个人博客_hexo+yilia点击随笔出现错误cannot get /tags/%e9%9a%8f%e7%ac-程序员宅基地

技术标签: 博客  node.js  git  hexo  前端  

作为一个前端攻城狮,总有一个博客梦,想做一个好看的,有特色的博客,又不想从头开始造轮子,偶然的一天看到了别人用github pages搭的个人博客页,十分简洁大气,遂问了搭建方法,自己开始尝试,中途踩了不少的坑,花了半天的时间,看了这篇博客的亲们,肯定不会超过一个小时。

1.配置环境

  • node.js:安装Hexo需要使用node.js环境

  • git:提交你的本地仓库

  • github账号:创建仓库,配置github pages域名等

    一般来搭建github pages的亲们这些都已经很熟悉了吧,就不在这里啰嗦了,确实有需求,百度上也有很多经验贴。

2.安装Hexo

全局安装hexo

$ npm install -g hexo

进入本地项目路径,初始化hexo

$ hexo init

安装启动服务,并更新package.json文件中的依赖

$ npm install hexo-server --save

好了,可以启动服务预览一下

$ hexo s

Tips1: 默认是4000的端口,可能有不少人运行了之后发现无法访问,通常这种情况是4000端口被占用,比如电脑上安装了福析阅读器的人。

可以更改端口

$ hexo s -p 5000

如果不想每次都更改这个文件这么麻烦的话,可以在hexo的配置文件_config.yml中修改或增加这段代码

# Server
server:
  port: 4000
  compress: true
  header: true

3.使用Yilia模板

Hexo有很多模板,可以去官网上看,这里挑一种模板感觉比较简洁明了的模板给大家讲解

官方效果如下

Markdown

Markdown

感觉比较简洁明了,有搜索、标签等功能。

1.安装

进入项目路径,执行以下代码

git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia

2.运行

hexo g
hexo s

会看到初始效果,即上图中没有头像、只有一篇已发文章、标签文章列表不能使用、博主名和签名默认值、文章没有评论功能的样子。

3.配置

接下来,我们来配置一些个人信息,并说明如何发布文章,部署博客到自己的github pages。

一共有两个配置文件,一个是根目录下的_config.yml这个文件,一个是主题目录下的 _config.yml文件。下文中称根目录下的为config1文件,主题目录下的为config2文件。需要注意的是,所有配置冒号后面都需要有一个空格。

侧边栏
博主名、昵称

在config1文件中,我们在# Site区块中更改title、subtitle、author、email、keywords等值即可。

其他社交

左侧栏中还有知乎、微博等分享链接,在config2文件中,配置# Subnav区块

subnav:
  github: "https://github.com/Kate605690919"
  zhihu: "http://www.zhihu.com/people/shu-zhen-49"
头像

在config2文件中,我们配置avatar属性,模仿默认值写上自己的相对路径,此处相对路径定位到根目录的source文件夹中,或是写图片外链。

导航

在config2文件中,我们配置#Menu区块

menu:
    主页: /
    相册: /photos

主页和相册两个key值就是导航中显示的名字,对应的value即为路径,此处相对路径对应的定位也是根目录的source文件夹中,与头像的位置定位相同。

智能菜单

左侧栏中的所有文章,关于我,友链等选项,在config2中设置smart_menu属性对应的项,具体配置,这个文件中有注释说明。其中,如使用友链,需配置friends属性;如使用关于我,需配置aboutme属性,所有文章需要另外配置,配置方法参见 运行之后,点击所有文章,上面写的方法,照做即可。

smart_menu:
  innerArchive: '所有文章'
  friends: '友链'
  aboutme: '关于我'

friends:
  友情链接1: http://localhost:4000/
  友情链接2: http://localhost:4000/
  友情链接3: http://localhost:4000/
  友情链接4: http://localhost:4000/
  友情链接5: http://localhost:4000/
  友情链接6: http://localhost:4000/

aboutme: 谢谢大佬打赏~<br><br>博主大人很漂亮<br>大家常来逛~
文章区域

要发布的文章,请用markdown编写,放在根目录的source文件夹的_post子文件夹中,只这么做的话,会发现不显示标题,列表页也会将所有内容截断显示出来,需要在md文件的开头加上以下配置内容。

---
title: React报错汇总(持续更新中...)
tags:
  - React
  - JavaScript
toc: true
comment: true
---
标题

title就是文章的标题。

标签

tags就是这篇文章的所属标签,除了列表页,点击左侧导航栏的所有文章处,也可以用tags来进行索引。

目录

toc表明是否显示目录,除了此处外,还需配置config2文件中toc相关部分,具体内容config2文件中有注释。

快速回顶部按钮

快速回顶部按钮是config2中的top属性,设置为true即会出现。

评论

设置comment属性为true,即为此页需显示评论,初次之外还应配置config2文件中评论部分,犹豫多说、网易云跟帖相继关闭,disqus又觉得样式丑,配置麻烦,此处使用gitment。

gitment需要配置一下属性

#5、Gitment
gitment_owner: Kate605690919      #你的 GitHub ID
gitment_repo: 'Kate605690919.github.io'          #存储评论的 repo
gitment_oauth:
  client_id: ''           #client ID
  client_secret: ''       #client secret

前两个都很容易填写,gitment_oauth是github第三方接口授权,在浏览器中打开github,登录之后步骤如下:

Markdown

Markdown

Markdown

Markdown

上图的表单填写,除最后一项需要填写你博客网站的网址之外,均可随意填写,提交之后就可以看到这个Application对应的client_id和 client_secret。

列表页文章只显示部分内容,显示更多按钮

在文章适当的位置插入<!-- more-->即可在此处截断,替代的显示更多按钮。

4.发布文章

添加进去的文章如何显示出来呢,还是只需要这两个命令

hexo g
hexo s

即可看到你添加进去的文章了。

5.部署到github pages

设置config1中的deploy属性

deploy:
  type: git
  repository: https://github.com/Kate605690919/Kate605690919.github.io.git
  branch: master

repository就是着这个博客所在仓库的地址

然后在终端里运行下列命令即可。

hexo clean
hexo g
hexo deploy

恭喜你,达成成就~。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/KateCateCake/article/details/78713104

智能推荐

SpringBoot文件上传同时,接收复杂参数_springboot上传文件带参数-程序员宅基地

文章浏览阅读7.5k次,点赞5次,收藏10次。SpringBoot上传文件,如果需要复杂参数(自定义对象接收前端参数),那么需要自定义消息转换器(如AbstractJackson2HttpMessageConverter),来支持contentType值是'application/octet-stream'类型的参数,并将其转换成目标格式;如果不需要复杂参数,只是String等类型,那么不需要自定义消息转换器;消息转换器是SpringBoot处理前端传输的数据,并转换成接口参数的类型的转换器,转换前、转换后还支持自定义插件处理。_springboot上传文件带参数

【多线程】Java中多线程的几种实现方式_多线程处理java-程序员宅基地

文章浏览阅读1.3k次,点赞33次,收藏24次。多线程(multithreading)是指在一个程序中同时执行多个不同的线程(thread),每个线程都是程序的一部分,是独立的执行路径。相比于单线程程序,多线程程序可以更充分地利用计算机的多核心或多处理器资源,提高程序的运行效率和用户体验。在多线程编程中需要注意线程同步、锁、死锁等问题。_多线程处理java

CSS拾遗篇之定位体系和包含块 & html,body 的探究_绝对定位初始包含块-程序员宅基地

文章浏览阅读377次。绝对定位元素相对于最近的有定位的(position值为非static)父级,如果不存在满足条件的父元素,则相对于哪个元素定位 ?若无非static祖先,是相对于初始包含块来定位的,而初始包含块并不是以html 或body 进行定位。案例:div绝对定位 bottom:0 ,body,html无定位的效果图如下: document指的是整个文档,是 html 的包含块 document.documentElement指的是 HTML 可以看出div是相对于初始包含块的,而不是 <h._绝对定位初始包含块

Java设计模式_java设计模式笔记-程序员宅基地

文章浏览阅读392次。概述软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是历来 代码设计经验的总结,具有一定的普遍性,可以反复使用。UML类图统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。_java设计模式笔记

在创建2D物体时,在Scene视图可以正常显示在Game视图模糊显示的原因_unity 图片在game看不清楚-程序员宅基地

文章浏览阅读758次。非标准的分辨率(比如10x16)可能导致Unity在默认情况下难以正确显示2D物体。当你将物体的Type类型设置为"Aspect Ratio"时,Unity会尝试通过调整物体的缩放,保持原始纵横比的同时适应不同分辨率的屏幕,从而使物体正确显示。总之,通过将物体的Type类型设置为"Aspect Ratio",Unity会尽力使物体在不同分辨率下保持纵横比,并正确显示。"Fixed Resolution"类型适用于在固定的像素尺寸下显示2D物体,但对于非标准分辨率,它可能导致物体出现错位或无法完全显示。_unity 图片在game看不清楚

Pycharm+PyQt5 报错:no Qt platform plugin could be initialized..._pycharm调用pyqt5报错缺少plugin-程序员宅基地

文章浏览阅读558次。Pycharm运行python脚本时PyQt5报错的解决方法。_pycharm调用pyqt5报错缺少plugin

随便推点

Oracle APEX初体验_oracle apex介绍-程序员宅基地

文章浏览阅读6.3k次。首先从Oracle GitHub上克隆项目:git clone https://github.com/oracle/vagrant-boxes然后进入OracleAPEX目录,下载以下软件,并存入此目录:Oracle Database 18c XE,约2.4G。Oracle APEX,约150M。Oracle Rest Data Services (ORDS),约62M。运行vag..._oracle apex介绍

Python做自动化测试必知必会思维导图_python 自动 画 思维导图-程序员宅基地

文章浏览阅读2.1w次,点赞186次,收藏1.5k次。Python语言语法简单、入门容易,简洁高效,是软件测试领域的首选语言。如果想用Python开展自动化测试,或者已经开始使用Python但是又不知道应该掌握哪些Python知识的同学们,希望本文能够对你有所帮助。我是2014年开始接触Python语言的,当时是在Irdeto上班,那时是给数字视频内容保护系统的后台进行自动化测试,选用的自动化工具是Selenium,因为Selenium的API..._python 自动 画 思维导图

Redis系列(3)- cli常用命令-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏3次。Redis系列(3)- cli常用命令

Netfilter技术_齐行程-程序员宅基地

文章浏览阅读209次。1.齐行程.刘文波基于Netfilter L7-filter过滤系统的研究[期刊论文]-电子科技 2011(3)2.洪阳IPv6网络多宿主技术探讨[期刊论文]-中国新技术新产品 2010(5)3.徐苏磊.梁伟基于Netfilter/Iptables内核扩展的P2P流量管理[期刊论文]-计算机技术与发展 2010(6)4.陈得丰支持IPv6网络访问控制技术的研究[期刊论文]-东北电力技术_齐行程

matlab实现卷积神经网络CNN(二)——代码实现与解析_卷积神经网络matlab代码-程序员宅基地

文章浏览阅读6.8k次,点赞36次,收藏140次。用来随机划分训练集、测试集和验证集,当然你也可以自行划分好后分别导入。总之,train_x、test_x和val_x数据格式应该分别为。_卷积神经网络matlab代码

读十堂极简人工智能课笔记03_遗传算法与进化-程序员宅基地

文章浏览阅读735次,点赞18次,收藏11次。/遗传算法与进化