GitHub+Hexo搭建自己的Blog之-主题配置

前言

前两章我们已经把Blog的环境全部搭建完毕了,但是还没有内容,而且hexo默认的主题是不是感觉挺丑的,其实hexo给我们提供了很多主题模板,总有一款是你喜欢的,本篇文章将继续说一说如何配置主题,怎么创建博文,写好后又如何发布,一起来看吧!


点我进入hexo官网挑选模板
Loding...

文章总览

Hexo主目录作用

Loding...
如图是我们myblog文件的主目录,由上往下文件的作用

  1. node_modules:是我们这个hexo整个项目的环境依赖,自动生成的,不用理会。
  2. public:存放的是整个项目的页面,样式,及逻辑代码。
  3. scaffolds:scaffolds是脚手架的意思,当你新建一篇文章(hexo new page 'title')的时候,hexo是根据这个目录下的文件进行构建的。不用关心。
  4. source:这个目录很重要,新建的文章都是在保存在这个目录下的_posts 。_posts 目录下是一个个 markdown 文件。初始里面有一个 hello-world.md 的文件,文章就在这个文件中编辑。_posts 目录下的md文件,会被编译成html文件,放到 public 文件夹下。
  5. themes:是网站的主题目录,Hexo有很好的主题扩展能力,开源主题也很丰富,该目录下每一个子目录就是一个主题。
  6. _config.yml:全局配置文件,我们Blog站点的很多信息都是在这个文件中配置的,比如网站的名字,副标题,网站描述信息,作者等等。
  7. package.json:这个文件里我们可以看到hexo所依赖的插件。

接下来详细说一说 _config.yml 文件的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/# Site
title: 刘旺学长的技术专栏 #网站标题
subtitle:   #网站副标题
description:  #网站描述
author: RoseSnow  #作者
language:    #语言
timezone:    #网站时区。Hexo 默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和 UTC 。# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://Liuwang0330.com  #你的站点Url
root: /                       #站点的根目录
permalink: :year/:month/:day/:title/   #文章的 永久链接 格式   
permalink_defaults:    #永久链接中各部分的默认值# Directory   
source_dir: source   #资源文件夹,这个文件夹用来存放内容
public_dir: public     #公共文件夹,这个文件夹用于存放生成的站点文件。
tag_dir: tags         # 标签文件夹     
archive_dir: archives    #归档文件夹
category_dir: categories      #分类文件夹
code_dir: downloads/code     #Include code 文件夹
i18n_dir: :lang                #国际化(i18n)文件夹
skip_render:                #跳过指定文件的渲染    # Writing
new_post_name: :title.md # 新文章的文件名称
default_layout: post     #预设布局
titlecase: false # 把标题转换为 title case
external_link: true # 在新标签中打开链接
filename_case: 0     #把文件名称转换为 (1) 小写或 (2) 大写
render_drafts: false  #是否显示草稿
post_asset_folder: false  #是否启动 Asset 文件夹
relative_link: false      #把链接改为与根目录的相对位址    
future: true                #显示未来的文章
highlight:                    #内容中代码块的设置    enable: trueline_number: trueauto_detect: falsetab_replace:# Category & Tag
default_category: uncategorized
category_map:          #分类别名
tag_map:            #标签别名# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD         #日期格式
time_format: HH:mm:ss        #时间格式    # Pagination
## Set per_page to 0 to disable pagination
per_page: 10    #分页数量
pagination_dir: page  # Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape   #主题名称 # Deployment
## Docs: https://hexo.io/docs/deployment.html
#  部署部分的设置
deploy:type: gitrepo: git@github.com:Liuwang0330/Liuwang0330.github.io.git #这里我们之前部署到github时配置过的baranch: master

更换Next主题

本文介绍Next主题的配置用法,其他的主题用法大体步骤是类似的。
更多详情:点我了解更多

  1. 主题下载:进入到myblog文件目录下,打开powershell终端,键入命令:git clone https://github.com/theme-next/hexo-theme-next themes / next 下载完毕,我们打开themes文件夹,会发现多出一个next的文件夹。
  2. 应用主题:打开根myblog目录下的 _config.yml 文件,修改themes的值为 next 如图Loding...
  3. 预览:进入终端在根目录 myblog 下依次键入如下命令:
  • hexo clean 先清理一下hexo的缓存
  • hexo s 本地启动服务
  • 打开浏览器:在地址栏键入 http://localhost:4000 预览,如图Loding...

Next配置

next主题应用成功之后,也是需要友好的配置一下,打开themes文件夹下的next文件会看到也有一个 _config.yml 的文件,有了之前的经验,我们知道这个就是next主题的全局配置文件了

_config.yml配置

截取了一部分,这里基本上是需要配置的,其他的基本是默认,更多的配置,可看这篇教程点我查看更多炫酷设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
favicon: # 这里配置站点的站标# small: /images/favicon-16x16-next.pngmedium: /images/favicon-16x16-next.pngapple_touch_icon: /images/apple-touch-icon-next.pngsafari_pinned_tab: /images/logo.svg#android_manifest: /images/manifest.json#ms_browserconfig: /images/browserconfig.xml# Set default keywords (Use a comma to separate)
keywords: # 这里放置站点的关键字 "前端, HTML, CSS, javascript, Vue.js, Node.js, MySQL, 微信小程序"# Set rss to false to disable feed link.
# Leave rss as empty to use site's feed link.
# Set rss to specific value if you have burned your feed already.
rss:footer: # 网站的页脚设置# Specify the date when the site was setup.# If not defined, current year will be used.since: # 网站的开始运行时间 比如设置2017 则网站底部显示 2017-2018# Icon between year and copyright info.icon: user # If not defined, will be used `author` from Hexo main config.# copyright:# -------------------------------------------------------------# Hexo link (Powered by Hexo).# powered: true# theme:#   Theme & scheme info link (Theme - NexT.scheme).#   enable: false#   Version info of NexT after scheme info (vX.X.X).#   version false# -------------------------------------------------------------# Any custom text can be defined here.#custom_text: Hosted by <a target="_blank" href="https://pages.github.com">GitHub Pages</a># ---------------------------------------------------------------
# SEO Settings
# ---------------------------------------------------------------# Canonical, set a canonical link tag in your hexo, you could use it for your SEO of blog.
# See: https://support.google.com/webmasters/answer/139066
# Tips: Before you open this tag, remember set up your URL in hexo _config.yml ( ex. url: http://yourdomain.com )
canonical: true# Change headers hierarchy on site-subtitle (will be main site description) and on all post/pages titles for better SEO-optimization.
seo: false# If true, will add site-subtitle to index page, added in main hexo config.
# subtitle: Subtitle
index_with_subtitle: false# ---------------------------------------------------------------
# Menu Settings
# ---------------------------------------------------------------# When running the site in a subdirectory (e.g. domain.tld/blog), remove the leading slash from link value (/archives -> archives).
# Usage: `Key: /link/ || icon`
# Key is the name of menu item. If translate for this menu will find in languages - this translate will be loaded; if not - Key name will be used. Key is case-senstive.
# Value before `||` delimeter is the target link.
# Value after `||` delimeter is the name of FontAwesome icon. If icon (with or without delimeter) is not specified, question icon will be loaded.
menu: # 菜单路径 注意:下边的 || 不能去掉 后边表示的是 对应的图标home: / || home # 表示主页tags: /tags/ || tags # 表示标签categories: /categories/ || th # 表示分类archives: /archives/ || archive #表示归档about: /about/ || user 表示关于我life: /life/ || heart#schedule: /schedule/ || calendar #sitemap: /sitemap.xml || sitemap#commonweal: /404/ || heartbeat # 公益活动# Enable/Disable menu icons.
menu_icons: # 这里是图标设置 和上边的 || 后面的一致 enable: truehome: hometags: tagscategories: tharchives: archiveabout: userlife: heart# ---------------------------------------------------------------
# Scheme Settings 这里是next主题的样式排版设置
# ---------------------------------------------------------------# Schemes next给提供了如下四个页面布局方式 只能选择其中的一个使用,具体样式,可自己动手试试,我这里选择的是Mist
# scheme: Muse
scheme: Mist
# scheme: Pisces
# scheme: Gemini# ---------------------------------------------------------------
# Sidebar Settings 社交设置
# ---------------------------------------------------------------# Social Links. 
# Usage: `Key: permalink || icon`
# Key is the link label showing to end users.
# Value before `||` delimeter is the target permalink.
# Value after `||` delimeter is the name of FontAwesome icon. If icon (with or without delimeter) is not specified, globe icon will be loaded.
social: # 自己的社交链接 比如这里我设置了 Github  和  邮箱,下面还可以设置 微博之类的 自己动手设置试试GitHub: https://github.com/Liuwang0330|| githubE-Mail: number_nine@126.com || envelope#Google: https://plus.google.com/yourname || google#Twitter: https://twitter.com/yourname || twitter#FB Page: https://www.facebook.com/yourname || facebook#VK Group: https://vk.com/yourname || vk#StackOverflow: https://stackoverflow.com/yourname || stack-overflow#YouTube: https://youtube.com/yourname || youtube#Instagram: https://instagram.com/yourname || instagram#Skype: skype:yourname?call|chat || skypesocial_icons: # 这里是设置上面社交链接 的对应图标的 对应的设为 true 即可enable: trueGithub: githubicons_only: falsetransition: false# Blog rolls  # 这里是设置一些相关链接 我这里设置了一些推荐阅读的网站,可自行设置
links_icon: link
links_title: 推荐阅读
# links_layout: block
links_layout: inline
links:w3school: http://www.w3school.com.cn/菜鸟教程: http://www.runoob.com/廖雪峰官网: https://www.liaoxuefeng.com/# Sidebar Avatar
# in theme directory(source/images): /images/avatar.gif
# in site  directory(source/uploads): /uploads/avatar.gif
avatar: /images/avatar.jpg  # 这里设置自己的头像# Table Of Contents in the Sidebar # 文章自动显示的目录
toc:enable: true# Automatically add list number to toc. 文章是否显示序号,显示则设置为truenumber: false# If true, all words will placed on next lines if header width longer then sidebar width.wrap: false# Creative Commons 4.0 International License.
# http://creativecommons.org/
# Available: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | zero
#creative_commons: by-nc-sa
#creative_commons:sidebar:# Sidebar Position, available value: left | right (only for Pisces | Gemini).position: left#position: right# Sidebar Display, available value (only for Muse | Mist):#  - post    expand on posts automatically. Default.#  - always  expand for all pages automatically#  - hide    expand only when click on the sidebar toggle icon.#  - remove  Totally remove sidebar including sidebar toggle.display: post#display: always#display: hide#display: remove# Sidebar offset from top menubar in pixels (only for Pisces | Gemini).offset: 12# Back to top in sidebar (only for Pisces | Gemini).b2t: false# Scroll percent label in b2t button.scrollpercent: false# Enable sidebar on narrow view (only for Muse | Mist).onmobile: false# ---------------------------------------------------------------
# Post Settings
# ---------------------------------------------------------------# Automatically scroll page to section which is under <!-- more --> mark.
scroll_to_more: true# Automatically saving scroll position on each post/page in cookies.
save_scroll: false# Automatically excerpt description in homepage as preamble text.
excerpt_description: true# Automatically Excerpt. Not recommend.
# Please use <!-- more --> in the post to control excerpt accurately.
auto_excerpt:enable: truelength: 120# Post meta display settings
post_meta:item_text: truecreated_at: trueupdated_at: falsecategories: true# Post wordcount display settings
# Dependencies: https://github.com/willin/hexo-wordcount
post_wordcount:item_text: truewordcount: truemin2read: truetotalcount: trueseparated_meta: true# Wechat Subscriber 设置微信添加方式
wechat_subscriber:enabled: trueqcode: /images/mywechat.jpgdescription: 扫一扫添加微信好友# Reward  # 设置打赏方式
reward_comment: 如果觉得文章不错,请我吃根辣条吧~~
wechatpay: /images/wxpay.png
alipay: /images/alipay.png
# bitcoin: /images/bitcoin.png# Declare license on posts
post_copyright:enable: falselicense: CC BY-NC-SA 3.0license_url: https://creativecommons.org/licenses/by-nc-sa/3.0/# ---------------------------------------------------------------
# Misc Theme Settings
# ---------------------------------------------------------------# Reduce padding / margin indents on devices with narrow width.
mobile_layout_economy: false# Android Chrome header panel color ($black-deep).
android_chrome_color: "#222"# Custom Logo.
# !!Only available for Default Scheme currently.
# Options:
#   enabled: [true/false] - Replace with specific image
#   image: url-of-image   - Images's url
custom_logo:enabled: falseimage:# Code Highlight theme
# Available value:
#    normal | night | night eighties | night blue | night bright
# https://github.com/chriskempson/tomorrow-theme
highlight_theme: night eighties

 

创建其他页面

首页和归档是默认存在的,不需要我们自己创建,但是其他的几个诸如分类,标签,关于是要我们自己创建的
 

创建分类:终端myblog根目录下键入命令 hexo new page categories 之后我们进入 myblog/source目录下发现多出一个名为 categories 的文件夹, 打开categories下的index.md,可以看到是这样的 如图Loding...

  1. 标签页面和关于页面的创建方法都是和分类的一样,重复上一步即可。

创建第一篇博文

我们一直在配置环境,还没有真正动手写博客,下面我们来创建第一篇博客。

  1. 仍然是用new命令创建:在终端myblog下键入命令 hexo new page "文章标题"

  2. 打开source文件夹下的_posts文件,就可以看到我们刚刚创建的 “文章名称”.md的 文件,用编辑器打开,就可以编写内容了,其中文章可以设置分类和标签,如图Loding...

提交到远程服务

下面把我们的博客提交一下,上一篇我们已经把Blog部署到了GitHub上,所以可以提交到github服务器上。

  1. hexo clean 注意:每次提交前建议都执行一下该命令,清除一下
  2. hexo g 生成本地静态文件
  3. hexo s 启动本地服务,在本地预览
  4. hexo d 本地预览无误后,提交到远仓

下面我们再打开网址 https://Liu0330.github.io (此处更换你自己的io地址)就可以访问我们刚刚创建的博文了

总结

经过这三篇文章,我们已经从0到1搭建起了自己的Blog,想让Blog更个性化,可以参考点我查看更多炫酷设置,接下来还有一篇会写一下怎么绑定个人的域名。

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

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

相关文章

开源app之MyHearts

前言 这个月&#xff0c;说实话&#xff0c;有忙有闲&#xff0c;经历了一次病痛的洗礼&#xff0c;才认识到了只有好好的生活&#xff0c;认真的对待自己的身体&#xff0c;才能更好的去工作&#xff0c;没有了身体的支撑&#xff0c;什么工作都只能是纸老虎&#xff0c;不攻自…

前端那些事之原生 js实现贪吃蛇篇

2019独角兽企业重金招聘Python工程师标准>>> 原生js实现贪吃蛇 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>贪吃蛇游戏</title><style>body, div, img {margin: 0 auto;pa…

整理一些完全免费开放的API接口

前言 在开发测试阶段&#xff0c;或者是在写Demo的时候&#xff0c;难免会用到一些测试数据&#xff0c;有时苦于没有可用的接口&#xff0c;需要自己动手去写&#xff0c;但是这样大大降低了效率&#xff0c;前期我也找了一些开放的接口&#xff0c;这篇文章整理一下&#xff…

如何发现优秀的开源项目?

之前发过一系列有关 GitHub 的文章&#xff0c;有同学问了&#xff0c;GitHub 我大概了解了&#xff0c;Git 也差不多会使用了&#xff0c;但是 还是搞不清 GitHub 如何帮助我的工作&#xff0c;怎么提升我的工作效率&#xff1f; 问到点子上了&#xff0c;GitHub 其中一个最重…

自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器

手机端网页版app在使用下拉列表时&#xff0c;传统的下拉列表使用起来体验非常不好&#xff0c;一般做的稍好一点的交互功能界面都不会直接使用下拉列表&#xff0c;所以app的原生下拉列表都是弹窗列表选择&#xff0c;网页型app从使用体验上来当然也应该做成那样&#xff0c;前…

一个 js 中值传递和引用传递的坑。

今天在调试代码时遇到一个问题&#xff0c;刚开始想不明白&#xff0c;然后分析了一下后&#xff0c;才知道其中的问题&#xff0c;这也是一个基础的问题&#xff0c;&#xff08;所以基础是很重要的&#xff09; 代码如下&#xff1a; var a 3; a a * 2; console.log(a); //…

关于在用异步消息处理机制使用Message.Obtain()方法(而非New Message)获得一个Message对象的好处

类概述 定义一个包含任意类型的描述数据对象&#xff0c;此对象可以发送给Handler。对象包含两个额外的int字段和一个额外的对象字段&#xff0c;这样可以使得在很多情况下不用做分配工作。 尽管Message的构造器是公开的&#xff0c;但是获取Message对象的最好方法是调用Messag…

python编程中的if __name__ == 'main': 的作用和原理

大多数编排得好一点的脚本或者程序里面都有这段if __name__ main: &#xff0c;虽然一直知道他的作用&#xff0c;但是一直比较模糊&#xff0c;收集资料详细理解之后与打架分享。 1、这段代码的功能 一个python的文件有两种使用的方法&#xff0c;第一是直接作为脚本执行&…

自己简单封装的自己项目需要的http请求

2019独角兽企业重金招聘Python工程师标准>>> package www.tydic.com.util;import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Http…

Java基础中按值传递和引用传递详解

下面是我在网上看到的一个帖子&#xff0c;解释的感觉挺全面&#xff0c;就转过来&#xff0c;以供以后学习参考&#xff1a; 1&#xff1a;按值传递是什么 指的是在方法调用时&#xff0c;传递的参数是按值的拷贝传递。示例如下&#xff1a; [java] view plaincopy public cla…

【Foreign】采蘑菇 [点分治]

采蘑菇 Time Limit: 20 Sec Memory Limit: 256 MBDescription Input Output Sample Input 51 2 3 2 31 21 32 42 5Sample Output 10912911HINT Main idea 询问从以每个点为起始点时&#xff0c;各条路径上的颜色种类的和。 Solution 我们看到题目&#xff0c;立马想到了O(n^2)…

c语言程序设计贪吃蛇需求分析,C语言编程新手入门基础进阶学习!贪吃蛇小游戏演示和说明...

C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的设计贪吃蛇游戏的主要目的是让大家夯实C语言基础&#xff0c;训练编程思维&#xff0c;培养解决问题的思路&#xff0c;领略多姿多彩的C语言。游戏开始后&#xff0c;会在中间位置出现一条只有三个节点的…

Strus2中关于ValueStack详解

什么是ValueStack 它是一个接口com.opensymphony.xwork2.util.ValueStack。我们使用它是将其做为一个容器&#xff0c;用于携带action数据到页面。在页面上通过ognl表达式获取数据。 valueStack主要是将action数据携带到页面上&#xff0c;通过ognl获取数据 1.ValueStack有一个…

c语言递归汉诺塔次数,汉诺塔问题(C语言经典递归问题(一))

把A杆上的金盘全部移到C杆上&#xff0c;并仍保持原有顺序叠好。操作规则&#xff1a;每次只能移动一个盘子&#xff0c;并且在移动过程中三根杆上都始终保持大盘在下&#xff0c;小盘在上&#xff0c;操作过程中盘子可以置于A、B、C任一杆上。思路&#xff1a;图解&#xff1a…

理解浏览器是如何加载及渲染网页的

先上图&#xff0c;我们再慢慢解释&#xff0c;这图就是浏览器加载网页的一个过程 当我们在浏览器输入一个地址&#xff08;比如:http://toadw.cn&#xff09;,那么点击回车后&#xff0c;浏览器是如何加载网页的呢&#xff1f; 加载过程 一开始浏览器是不知道你输入的http://t…

CentOS下的Mysql的安装和使用

1.使用安装命令 &#xff1a;yum -y install mysql mysql-server mysql-devel 安装完成却发现Myserver安装缺失&#xff0c;在网上找原因&#xff0c;原来是因为CentOS 7上把MySQL从默认软件列表中移除了&#xff0c;用MariaDB来代替&#xff0c;所以这导致我们必须要去官网上…

Android中创建自己的对话框

Activities提供了一种方便管理的创建、保存、回复的对话框机制&#xff0c;例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法&#xff0c;如果使用这些方法的话&#xff0c;Activity将通过getOwnerActivity()方法返回该Act…

一件很好笑的事情

我是一个比较习惯努力学习的人&#xff0c; 我也会去学习各种可能与我有交集的知识&#xff0c; 就在这几天&#xff0c;我看到以前的一个android网络培训学校开办了C/C的培训&#xff0c;这是挺好的事&#xff0c; 但是看他们的文件&#xff0c;我就奇怪了。 这份文件&#xf…

关于Eclipes的Logcat无法打印消息的解决办法

转自&#xff1a;http://blog.csdn.net/harry211/article/details/8453532 调试程序需要打印一些消息出来&#xff0c;logcat不好用的话就很麻烦了。这个问题折腾了好久&#xff0c;为啥就是不出来呢&#xff1f; 上网找了很多解决办法&#xff1a; 重启eclipse 重启adb 重启…

17:文字排版

17:文字排版 查看提交统计提问总时间限制: 1000ms内存限制: 65536kB描述给一段英文短文&#xff0c;单词之间以空格分隔&#xff08;每个单词包括其前后紧邻的标点符号&#xff09;。请将短文重新排版&#xff0c;要求如下&#xff1a; 每行不超过80个字符&#xff1b;每个单词…