利用GitHub Pages搭建Hexo靜態博客教程css
Written By Tomy Stark.
E-mail: ro7enkranz@qq.comhtml原文連接:apex.linn.top/2019-09-28-…node
Note: 轉載請註明本文出處連接、做者git
Hexo 是一個快速、簡潔且高效的博客框架。Hexo 使用 Markdown(或其餘渲染引擎)解析文章,在幾秒內,便可利用靚麗的主題生成靜態網頁。github
下載完成後安裝便可,沒有特別須要注意的地方(
安裝目錄可本身手動指定
)npm建議安裝完成後,在 VS Code 中安裝如下擴展插件:json
- Chinese (Simplified) Language Pack for VS Code
- changeEncode
- GBKtoUTF8
- markdownlint
- Markdown All in One
Node.js瀏覽器
按照默認設置一直 Next 安裝便可(
安裝目錄可本身手動指定
)服務器
注意其中一步選擇 VS Code 做爲 Git 的默認編輯器,其它默認(
安裝目錄可本身手動指定
)
注意:請在註冊完成後驗證郵箱
+
號,選擇 New repository
<你的 GitHub 用戶名>.github.io
域名訪問,你的 repository 應該直接命名爲 <你的 GitHub 用戶名>.github.io
。例如,個人用戶名爲 SummerFalls
,那麼該倉庫名就應該爲 SummerFalls.github.io
,詳見下圖:VS Code
,按下 Ctrl + ` 打開內部集成的終端Node.js
是否被可以被 VS Code
的終端所調用
VS Code
的終端中輸入命令 npm -v
6.9.0
npm : 沒法將「npm」項識別爲 cmdlet、函數、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,若是包括路徑,請確保路徑正確, 而後再試一次。
這時,請關閉 VS Code
,而後將其設置爲 以管理員身份運行此程序
,以後從新運行 VS Code
,如圖所示:cd C:\
npm install hexo-cli -g
blog
的文件夾)
hexo init blog
blog
文件夾
cd blog
blog
目錄下的 package.json
進一步安裝依賴,以後會產生一個 node_modules
文件夾
npm install
hexo s
按住 Ctrl + 鼠標左鍵單擊
該連接便可打開
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.
VS Code
,切換到終端,按下 Ctrl + C
,以後輸入 Y
以中止 Hexo 服務器VS Code
中按下快捷鍵 Ctrl + K + O
,打開你的博客源文件夾,如圖:打開左側 側邊欄
中的 _config.yml
文件進行修改,以下所示,請認真閱讀註釋說明
:
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/
# Site
title: Tomy Stark's Blog # 你的博客名
subtitle: 四海茫茫 # 子標題
description: STM32, TI C2000, S32K # 博客描述,SEO相關
keywords: C, C++ # 關鍵詞
author: Tomy # 博主名字
language: zh-CN # 語言,**關係到主題所顯示的語言**
timezone: # 時區,默認留空
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: 'https://SummerFalls.github.io' # 域名設置,若是沒有本身的域名,則地址應爲 https://<你的 GitHub 用戶名>.github.io 例如個人爲: https://SummerFalls.github.io
root: /
permalink: :year-:month-:day-:title.html # 建議將永久連接改爲如此
permalink_defaults:
# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:
# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
enable: true
line_number: true
auto_detect: false
tab_replace:
# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
path: ''
per_page: 5 # 設置主頁中每頁顯示幾篇文章
order_by: -date
# 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 # 設置歸檔(archives)頁面每頁顯示文章數
pagination_dir: page
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape # 設置所用的主題,默認爲 landscape
# Deployment
## Docs: https://hexo.io/docs/deployment.html
## repository 以後的連接應爲你以前建立的倉庫的連接,後面跟上 .git 後綴,以下圖,可直接複製倉庫連接
## 類型爲 git
## 分支爲 master
deploy:
type: git
repository: https://github.com/SummerFalls/SummerFalls.github.io.git
branch: master
複製代碼
npm install hexo-browsersync --save
npm install hexo-deployer-git --save
npm install hexo-generator-sitemap --save
生成 Hexo 靜態博客網頁文件
hexo g
部署 Hexo 博客到 GitHub
hexo d
GitHub 賬號
如圖所示:注意這一次網頁地址爲
_config.yml
文件中url:
字段後跟隨的網頁地址(實際上就是你的 GitHub Pages 倉庫名),在這裏,個人地址就應該爲:SummerFalls.github.io
[可選]
設置 Hexo 博客域名解析
在設置自定義域名以前,請自行在域名服務商購買域名
這裏以在阿里雲購買的萬網域名爲例
雲解析 DNS
,如圖所示:解析設置
頁面添加記錄
按鈕,設置如圖所示:
這裏你能夠改成本身喜歡的名稱
記錄值改成你的 GitHub Pages 倉庫名稱
肯定
,以後解析添加成功博客根目錄
下的 _config.yml
文件url: 'https://apex.linn.top'
複製代碼
VS Code
在 博客根目錄
下的 source
目錄下新建一個不帶任何後綴名的 CNAME
文件CNAME
文件,文件內容爲你的自定義博客網址apex.linn.top
複製代碼
hexo clean
hexo g
hexo d
[可選]
更換 Hexo 博客主題這裏推薦
Icarus
主題GitHub 地址:github.com/ppoffice/he…
效果如圖:
在終端中,確保爲 博客根目錄
的狀況下,輸入如下 git
命令,回車後等待安裝完畢
git clone github.com/ppoffice/he… themes/icarus
修改 博客根目錄
下的 _config.yml
文件
theme: icarus
複製代碼
清理以後從新生成並部署 Hexo 博客
hexo clean
hexo g
hexo d
部署完畢後再刷新博客頁面,發現主題更換成功,如圖所示:
_config.yml
文件在
Icarus
主題的根目錄下,找到_config.yml
文件,用VS Code
修改注意:關於文章末尾的打賞,也在本文件設置,同時須要指定
支付寶
和微信
的收款碼
所處的地址,能夠在source
目錄下新建一個images
文件夾,在其中存放收款碼
圖片,引用圖片的方法以下所示:
# Version of the Icarus theme that is currently used
version: 2.6.0
# Path or URL to the website's icon
favicon: /images/favicon.svg
# Additional HTML meta tags in an array.
meta:
# Path or URL to RSS atom.xml
rss:
# Path or URL to the website's logo to be shown on the left of the navigation bar or footer
logo: /images/logo.svg
# Open Graph metadata
# https://hexo.io/docs/helpers.html#open-graph
open_graph:
# Facebook App ID
fb_app_id:
# Facebook Admin ID
fb_admins:
# Twitter ID
twitter_id:
# Twitter site
twitter_site:
# Google+ profile link
google_plus:
# Navigation bar link settings
navbar:
# Navigation bar menu links
menu:
主頁: /
歸檔: /archives
分類: /categories
標籤: /tags
關於: /about
# Navigation bar links to be shown on the right
links:
# GitHub:
# icon: fab fa-github
# url: 'https://github.com/SummerFalls'
# Footer section link settings
footer:
# Links to be shown on the right of the footer section
links:
# Creative Commons:
# icon: fab fa-creative-commons
# url: 'https://creativecommons.org/'
# Attribution 4.0 International:
# icon: fab fa-creative-commons-by
# url: 'https://creativecommons.org/licenses/by/4.0/'
# Download on GitHub:
# icon: fab fa-github
# url: 'https://github.com/ppoffice/hexo-theme-icarus'
# Article display settings
article:
# Code highlight settings
highlight:
# Code highlight themes
# https://github.com/highlightjs/highlight.js/tree/master/src/styles
# https://highlightjs.org/static/demo/
theme: vs2015
# Show code copying button
clipboard: true
# Default folding status of the code blocks. Can be "", "folded", "unfolded"
fold: unfolded
# Whether to show article thumbnail images
thumbnail: true
# Whether to show estimate article reading time
readtime: true
# Search plugin settings
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Search
search:
# Name of the search plugin
type: insight
# Comment plugin settings
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Comment
comment:
# Name of the comment plugin
type:
# Donation entries
# https://ppoffice.github.io/hexo-theme-icarus/categories/Donation/
donate:
-
# Donation entry name
type: alipay
# Qrcode image URL
qrcode: /images/Alipay.jpg
-
# Donation entry name
type: wechat
# Qrcode image URL
qrcode: /images/Wechat.jpg
# Share plugin settings
# https://ppoffice.github.io/hexo-theme-icarus/categories/Plugins/Share
share:
# Share plugin name
type:
# Sidebar settings.
# Please be noted that a sidebar is only visible when it has at least one widget
sidebar:
# left sidebar settings
left:
# Whether the left sidebar is sticky when page scrolls
# https://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/make-a-sidebar-sticky-when-page-scrolls/
sticky: true
# right sidebar settings
right:
# Whether the right sidebar is sticky when page scrolls
# https://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/make-a-sidebar-sticky-when-page-scrolls/
sticky: true
# Sidebar widget settings
# https://ppoffice.github.io/hexo-theme-icarus/categories/Widgets/
widgets:
-
# Widget name
type: profile
# Where should the widget be placed, left or right
position: left
# Author name to be shown in the profile widget
author: Tomy Stark
# Title of the author to be shown in the profile widget
author_title: 四海茫茫
# Author's current location to be shown in the profile widget
location: Earth, Solar System.
# Path or URL to the avatar to be shown in the profile widget
avatar: /images/avatar.jpg
# Email address for the Gravatar to be shown in the profile widget
gravatar:
# Whether to show avatar image rounded or square
avatar_rounded: true
# Path or URL for the follow button
follow_link: 'https://github.com/SummerFalls'
# Links to be shown on the bottom of the profile widget
social_links:
Github:
icon: fab fa-github
url: 'https://github.com/SummerFalls'
知乎:
icon: fab fa-zhihu
url: 'https://www.zhihu.com/people/TomyStark'
微博:
icon: fab fa-weibo
url: 'https://weibo.com/tomystark'
-
# Widget name
type: toc
# Where should the widget be placed, left or right
position: right
-
# Widget name
type: links
# Where should the widget be placed, left or right
position: left
# Links to be shown in the links widget
links:
博客 - 吳川斌: 'https://www.mr-wu.cn/'
博客 - 芯跳不止: 'http://www.mazirong.com/'
工做室 - Muse Lab: 'https://www.muselab-tech.com/'
工做室 - 屋脊雀: 'http://www.wujique.com/'
-
# Widget name
type: category
# Where should the widget be placed, left or right
position: right
-
# Widget name
type: tagcloud
# Where should the widget be placed, left or right
position: right
-
# Widget name
type: recent_posts
# Where should the widget be placed, left or right
position: left
-
# Widget name
type: archive
# Where should the widget be placed, left or right
position: right
-
# Widget name
type: tag
# Where should the widget be placed, left or right
position: right
# Other plugin settings
plugins:
# Enable page animations
animejs: true
# Enable the lightGallery and Justified Gallery plugins
# https://ppoffice.github.io/hexo-theme-icarus/Plugins/General/gallery-plugin/
gallery: true
# Enable the Outdated Browser plugin
# http://outdatedbrowser.com/
outdated-browser: false
# Enable the MathJax plugin
# https://ppoffice.github.io/hexo-theme-icarus/Plugins/General/mathjax-plugin/
mathjax: true
# Show the back to top button on mobile devices
back-to-top: true
# Google Analytics plugin settings
# https://ppoffice.github.io/hexo-theme-icarus/Plugins/General/site-analytics-plugin/#Google-Analytics
google-analytics:
# Google Analytics tracking id
tracking_id:
# Baidu Analytics plugin settings
# https://ppoffice.github.io/hexo-theme-icarus/Plugins/General/site-analytics-plugin/#Baidu-Analytics
baidu-analytics:
# Baidu Analytics tracking id
tracking_id:
# Hotjar user feedback plugin
# https://ppoffice.github.io/hexo-theme-icarus/Plugins/General/site-analytics-plugin/#Hotjar
hotjar:
# Hotjar site id
site_id:
# Show a loading progress bar at top of the page
progressbar: true
# BuSuanZi site/page view counter
# https://busuanzi.ibruce.info
busuanzi: true
# CDN provider settings
# https://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/speed-up-your-site-with-custom-cdn/
providers:
# Name or URL of the JavaScript and/or stylesheet CDN provider
cdn: jsdelivr
# Name or URL of the webfont CDN provider
fontcdn: google
# Name or URL of the webfont Icon CDN provider
iconcdn: fontawesome
複製代碼
hexo clean
hexo g
hexo d
在終端中執行如下命令,建立一個 404
的 page
頁面
hexo new page "404"
用 VS Code
編輯 \source\404\
目錄下的 index.md
文件
其中字段 "thumbnail: "
後的圖片須要自行存放在對應目錄並改成對應名稱,後綴名稱大小寫敏感
文件內容以下所示(可自定義添加更豐富的內容)
---
title: 404 Not Found 該頁面不存在
date: 2019-09-23 15:40:38
thumbnail: /images/IMG_6274.JPG
toc: false
permalink: /404
---
<div style = "text-align: center; margin: auto; width: 100%;">
## **很抱歉,您所訪問的地址並不存在。**
</div>
複製代碼
清理以後從新生成並部署 Hexo 博客
hexo clean
hexo g
hexo d
部署完畢後再次訪問博客,地址後跟上不存在的文章,會自動跳轉到剛剛自定義的 404 頁面,如圖:
在終端中執行如下命令,建立一個 about
的 page
頁面
hexo new page "about"
用 VS Code
編輯 \source\about\
目錄下的 index.md
文件
其中字段 "thumbnail: "
後的圖片須要自行存放在對應目錄並改成對應名稱,後綴名稱大小寫敏感
文件內容以下所示(可自定義添加更豐富的內容)
---
title: 關於我 About Me
date: 2019-09-19 15:59:10
thumbnail: /images/Car.jpg
---
- <i class="fab fa-fort-awesome-alt"></i> 職業: 複製粘貼工程師
- <i class="fas fa-at"></i> 郵箱: xxxxx@qq.com
- <i class="fab fa-qq"></i> QQ: 123456789
- <i class="fab fa-weixin"></i> WeChat: XXXXXX
- <i class="fab fa-playstation"></i> PSN ID: XXXXXX
- 星座: 天蠍座
- 語言: C/C++/Java/HTML/CSS
- IDE: [VS Code](https://code.visualstudio.com/), [Vivado Design Suite HLx](https://china.xilinx.com/products/design-tools/vivado.html)
- EDA: [Altium Designer](https://www.altium.com.cn/), [EasyEDA](https://lceda.cn/)
- 興趣: 開源硬件, 開源軟件, HiFi, 美食, 音樂
- 遊戲平臺: <i class="fab fa-playstation"></i> Play Station 4, Nintendo Switch
- 運動: 游泳, 騎行
- 正在學習中的: Altium Designer, TouchGFX
複製代碼
清理以後從新生成並部署 Hexo 博客
hexo clean
hexo g
hexo d
部署完畢後再次訪問博客,關於
頁面已經能夠正常訪問,如圖:
Icarus
主題小問題修改footer 頁腳高度太高的問題
用
VS Code
編輯主題目錄下的style.styl
文件路徑:
\themes\icarus\source\css\style.styl
爲文件中的
.footer
類添加一行屬性,以下所示:
padding-bottom: 3rem
複製代碼
添加屬性後的
.footer
類以下所示:
.footer
background: white
padding-bottom: 3rem
.field
.button
background: transparent
複製代碼
\scaffolds
目錄下的 3 個文件分別爲草稿模板
、頁面模板
、文章模板
,修改其內容以在每次新建文章或頁面時,可以自動添加部分模板內容。
page.md
---
title: {{ title }}
date: {{ date }}
thumbnail: /images/flower.jpg
toc: false
---
複製代碼
post.md
---
title: {{ title }}
date: {{ date }}
thumbnail: /images/flower.jpg
toc: true
categories:
- uncategorized
tags:
---
<!--more-->
<div style = "text-align: center; margin: auto; width: 100%;">
![Car](../images/Car.jpg)
</div>
複製代碼
注意:關於文章圖片,若尚未建立
images
文件夾,能夠在source
目錄下新建一個images
文件夾,在其中存放圖片文件。這裏以建立一篇標題名稱爲
Hello Hexo
的文章爲例:
在終端中執行如下命令,建立一篇文章
hexo new "Hello Hexo"
用 VS Code
編輯 \source\_posts
目錄下的 Hello-Hexo.md
文件
其中字段 "thumbnail: "
後的圖片須要自行存放在對應目錄並改成對應名稱,後綴名稱大小寫敏感
文件內容以下所示:
---
title: Hello-Hexo
date: 2019-09-19 15:59:10
thumbnail: /images/flower.jpg
toc: true
categories:
- Blog
- Hexo
tags:
- Hexo
---
## <i class="fab fa-fort-awesome-alt"></i> 你好 Hexo
正文...
<!--more-->
這裏是在主頁被隱藏的內容...
<div style = "text-align: center; margin: auto; width: 100%;">
![Car](../images/Car.jpg)
</div>
複製代碼
清理以後從新生成並部署 Hexo 博客
hexo clean
hexo g
hexo d
部署完畢後再次訪問博客,剛剛發佈的文章已經出如今主頁上,如圖: