应用GitHub Pages创建属于自己的个人博客,GitHub将提供免费的空间。GitHub提供的域名(用户名+github+io),在Repository name对应处填写资源名,其需要使用自己的用户名,每个用户名下面只能建立一个,并且资源命名必须符合这样的规则username/username.github.io,之后勾选下面的”Initialize this repository with a README”
安装准备
环境搭建:
- Node.js:下载地址
- Git:下载地址
#GitHub注册与配置 - 注册地址
- 具体配置及使用请参照:使用Github Pages搭建独立博客
- 配置并添加SSH KEY到Github
- 测试
可以输入下面的命令,看看设置是否成功,git@github.com的部分不要修改:
$ ssh -T git@github.com
如果是下面的反馈:
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
不要紧张,输入yes就好,然后会看到:
Hi cnfeat! You’ve successfully authenticated,
but GitHub does not provide shell access.设置用户信息:
现在你已经可以通过SSH链接到GitHub了,还有一些个人信息需要完善的。
Git会根据用户的名字和邮箱来记录提交。
$ git config –global user.name “cnfeat”//用户名
$ git config –global user.email “cnfeat@gmail.com”//填写自己的邮箱
SSH Key配置成功,本机已成功连接到github.
Hexo
Hexo是一个简单、快速、强大的博客发布工具,支持Markdown格式。
安装
新建一个文档 当作博客根目录(尽量不要有中文),在此目录下打开Git Bash(前提确保Node.js已经安装,环境配置OK)
$ npm install -g hexo
$ hexo init
$ hexo generate
$ hexo server
打开本地http://localhost:4000/
你就可以看到hexo网站了。
注:
hexo server
启动之后无法访问:使用-p参数改端口npm
命令找不到:使用npm.cmd,或者卸载重装git
命令找不到:git init
先初始化部署到GitHub
编辑hexo目录下的_config.yml(此文件为你网站的配置文件)
修改代码如下:
然后执行:
hexo g 编译生成静态文件
hexo d 发布到Github
访问:http://username.github.io/
即可看到网站。
如果需要使用别的域名,在根目录下创建文件CNAME
内容为你的域名即可(关于A记录和CNAME,请参考:域名解析的区别)
clone主题
选择一个主题
使用命令
git clone http://example.com
下载zip包
在把下载的主题拷贝到hexo/themes目录下,配置_config.yml
theme: yelee
部署主题
$ hexo g #生成
$ hexo s #启动本地服务,进行文章预览调试
实例example
以我的网站的配置,如下:
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/
# Site
title: Joy_nick
subtitle: No pains, No gains!
description: No pains, No gains!
author: Joy_nick
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: http://byd.dropsec.xyz
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
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:
# 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: 8
pagination_dir: page
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: yelee
feed: #之后配置rss会用,使用如下配置即可
type: atom
path: atom.xml
limit: 20
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: http://github.com/drops123456/drops123456.github.io.git
branch: master
发布新的文章
cd到网站根目录下
$ hexo new “My New Post”
[info] File created at d:\Hexo\source_posts\My-New-Post.md
编译生成静态文件
hexo g
部署到Github
hexo d
也可以使用命令:hexo g -d
注:建议每次部署前,先本地查看
命令总结
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub
hexo help # 查看帮助
hexo version #查看Hexo的版本