github-gitee-coding-hexo搭建部署个人博客
github/gitee/coding+hexo搭建部署个人博客一、安装二、建站1、创建存放博客的文件夹blog2、在该文件夹下,打开 git bash3、初始化hexo,在该文件夹下新建所需文件4、创建一篇新文章布局(Layout)不要处理我的文章文件名称草稿模版(Scaffold)Front-matter分类和标签分类方法的分歧JSON Front-matter三、配置在 _config.ym
github/gitee/coding+hexo搭建部署个人博客
- 一、安装
- 二、建站
- 三、配置
- 四、指令
- init-------------------------->
- new-------------------------->
- generate-------------------------->
- publish-------------------------->
- server-------------------------->
- deploy-------------------------->
- render-------------------------->
- migrate-------------------------->
- clean-------------------------->
- list-------------------------->
- version-------------------------->
- 选项-------------------------->
- 五、关于ssh密钥
附上我的小站:
github
gitee
coding
一、安装
1、安装 node.js
https://nodejs.org/en/ 下载安装
2、安装 git
https://git-scm.com/ 下载安装
3、安装 Hexo
执行安装命令 npm install -g hexo-cli
二、建站
1、创建存放博客的文件夹blog
2、在该文件夹下,打开 git bash
3、初始化hexo,在该文件夹下新建所需文件
执行命令 hexo init
完成后,执行命令 npm install
4、创建一篇新文章
hexo new [layout] <title>
如果文章标题有空格,则需把整个标题用引号包起来
可以在命令中指定文章的布局(layout),默认为 post,可以通过修改 _config.yml 中的 default_layout 参数来指定默认布局
布局(Layout)
Hexo 有三种默认布局:post、page 和 draft,它们分别对应不同的路径,而自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹
布局 路径
post source/_posts
page source
draft source/_drafts
不要处理我的文章
如果你不想你的文章被处理,你可以将 Front-Matter 中的 layout: 设为 false
文件名称
Hexo默认以标题做为文件名称, 但您可编辑 new_post_name 参数来改变默认的文件名称, 举例来说, 设为:
year-:month-:day-:title.md 可让您更方便的通过日期来管理文章
变量 描述
:title 标题(小写, 空格将会被替换为短杠)
:year 建立的年份,比如 2020
:month 建立的月份(有前导零),比如, 04
:i_month 建立的月份(无前导零),比如, 4
:day 建立的日期(有前导零),比如, 07
:i_day 建立的日期(无前导零),比如, 7
草稿
刚刚提到了 Hexo 的一种特殊布局:draft,这种布局在建立时会被保存到 source/_drafts 文件夹,您可通过 publish 命令将草稿移动到 source/_posts 文件夹,该命令的使用方式与 new 十分类似,您也可在命令中指定 layout 来指定布局
hexo publish [layout] <title>
草稿默认不会显示在页面中,您可在执行时加上 --draft 参数,或是把 render_drafts 参数设为 true 来预览草稿
模版(Scaffold)
在新建文章时,Hexo 会根据 scaffolds 文件夹内相对应的文件来建立文件,例如:
hexo new photo "My Gallery"
在执行这行指令时,Hexo 会尝试在 scaffolds 文件夹中寻找 photo.md,并根据其内容建立文章,以下是您可以在模版中使用的变量:
变量 描述
layout 布局
title 标题
date 文件建立日期
Front-matter
Front-matter 是文件最上方以 — 分隔的区域,用于指定个别文件的变量,举例来说:
title: Hello World
date: 2013/7/13 20:46:25
---
以下是预先定义的参数,您可在模板中使用这些参数值并加以利用
参数 描述 默认值
layout 布局
title 标题
date 建立日期 文件建立日期
updated 更新日期 文件更新日期
comments 开启文章的评论功能 true
tags 标签(不适用于分页)
categories 分类(不适用于分页)
permalink 覆盖文章网址
分类和标签
只有文章支持分类和标签,您可以在 Front-matter 中设置。在其他系统中,分类和标签听起来很接近,但是在 Hexo 中两者有着明显的差别:分类具有顺序性和层次性,也就是说 Foo, Bar 不等于 Bar, Foo;而标签没有顺序和层次
categories:
- Diary
tags:
- PS3
- Games
分类方法的分歧
如果有过使用WordPress的经验,就很容易误解Hexo的分类方式。WordPress支持对一篇文章设置多个分类,而且这些分类可以是同级的,也可以是父子分类。但是Hexo不支持指定多个同级分类。下面的指定方法:
categories:
- Diary
- Life
会使分类Life成为Diary的子分类,而不是并列分类。因此,有必要为您的文章选择尽可能准确的分类。
JSON Front-matter
除了 YAML 外,你也可以使用 JSON 来编写 Front-matter,只要将 — 代换成 ;;; 即可
"title": "Hello World",
"date": "2020/5/27 20:46:25"
;;;
三、配置
在 _config.yml 中修改大部份的配置
title 网站标题
subtitle 网站副标题
description 网站描述
author 您的名字
language 网站使用的语言
timezone 网站时区。Hexo 默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和 UTC
其中,description 主要用于SEO,告诉搜索引擎一个关于您站点的简单描述,通常建议在其中包含您网站的关键词。author 参数用于主题显示文章的作者。)
参数 描述 默认值
url 网址
root 网站根目录
permalink 文章的 永久链接 格式 :year/:month/:day/:title/
permalink_defaults 永久链接中各部分的默认值
pretty_urls 改写 permalink 的值来美化 URL
pretty_urls.trailing_index 是否在永久链接中保留尾部的 index.html,设置为 false 时去除 true
pretty_urls.trailing_html 是否在永久链接中保留尾部的 .html, 设置为 false 时去除 (对尾部的 index.html无效) true
比如,一个页面的永久链接是:
http://example.com/foo/bar/index.html
pretty_urls:
trailing_index: false
此时页面的永久链接会变为:
http://example.com/foo/bar/
如果网站存放在子目录中,例如 http://yoursite.com/blog,则将 url 设为 http://yoursite.com/blog 并把 root 设为 /blog/
覆盖主题配置
通常情况下,Hexo 主题是一个独立的项目,并拥有一个独立的 _config.yml 配置文件。
你可以在站点的 _config.yml 配置文件中配置你的主题,这样你就不需要 fork 一份主题并维护主题独立的配置文件。
以下是一个覆盖主题配置的例子:
# _config.yml
theme_config:
bio: "My awesome bio"
# themes/my-theme/_config.yml
bio: "Some generic bio"
logo: "a-cool-image.png"
最终主题配置的输出是:
{
bio: "My awesome bio",
logo: "a-cool-image.png"
}
四、指令
init-------------------------->
hexo init [folder]
新建一个网站。如果没有设置 folder ,Hexo 默认在目前的文件夹建立网站
new-------------------------->
hexo new [layout] <title>
新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来
例如:hexo new "post title with whitespace"
参数 描述
-p, --path 自定义新文章的路径
-r, --replace 如果存在同名文章,将其替换
-s, --slug 文章的 Slug,作为新文章的文件名和发布后的 URL
默认情况下,Hexo 会使用文章的标题来决定文章文件的路径。对于独立页面来说,Hexo 会创建一个以标题为名字的目录,并在目录中放置一个 index.md 文件。你可以使用 --path 参数来覆盖上述行为、自行决定文件的目录:
hexo new page --path about/me "About me"
以上命令会创建一个 source/about/me.md 文件,同时 Front Matter 中的 title 为 "About me"
注意!title 是必须指定的!如果你这么做并不能达到你的目的:
hexo new page --path about/me
此时 Hexo 会创建 source/_posts/about/me.md,同时 me.md 的 Front Matter 中的 title 为 "page"。这是因为在上述命令中,hexo-cli 将 page 视为指定文章的标题、并采用默认的 layout。
generate-------------------------->
hexo generate
生成静态文件
该命令可以简写为: hexo g
选项 描述
-d, --deploy 文件生成后立即部署网站
-w, --watch 监视文件变动
-b, --bail 生成过程中如果发生任何未处理的异常则抛出异常
-f, --force 强制重新生成文件
Hexo 引入了差分机制,如果 public 目录存在,那么 hexo g 只会重新生成改动的文件。
使用该参数的效果接近 hexo clean && hexo generate
-c, --concurrency 最大同时生成文件的数量,默认无限制
publish-------------------------->
hexo publish [layout] <filename>
发表草稿
server-------------------------->
hexo server
启动服务器。默认情况下,访问网址为:http://localhost:4000/
该命令可以简写为: hexo s
选项 描述
-p, --port 重设端口
-s, --static 只使用静态文件
-l, --log 启动日记记录,使用覆盖记录格式
deploy-------------------------->
hexo deploy
部署网站
该命令可以简写为: hexo d
参数 描述
-g, --generate 部署之前预先生成静态文件
render-------------------------->
hexo render <file1> [file2] ...
渲染文件
参数 描述
-o, --output 设置输出路径
migrate-------------------------->
hexo migrate <type>
从其他博客系统 迁移内容
clean-------------------------->
hexo clean
清除缓存文件 db.json 和已生成的静态文件 public
在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令
list-------------------------->
hexo list <type>
列出网站资料
version-------------------------->
hexo version
显示 Hexo 版本
选项-------------------------->
安全模式
hexo --safe
在安全模式下,不会载入插件和脚本。当您在安装新插件遭遇问题时,可以尝试以安全模式重新执行
调试模式
hexo --debug
在终端中显示调试信息并记录到 debug.log。当您碰到问题时,可以尝试用调试模式重新执行一次,并 提交调试信息到 GitHub
简洁模式
hexo --silent
隐藏终端信息
自定义配置文件的路径
使用 custom.yml 代替默认的 _config.yml
hexo server --config custom.yml
使用 custom.yml 和 custom2.json,其中 custom2.json 优先级更高
hexo generate --config custom.yml,custom2.json,custom3.yml
自定义配置文件的路径,指定这个参数后将不再使用默认的 _config.yml。
可以使用一个 YAML 或 JSON 文件的路径,也可以使用逗号分隔(无空格)的多个 YAML 或 JSON 文件的路径。
例如:
使用 custom.yml 代替默认的 _config.yml
hexo server --config custom.yml
使用 custom.yml, custom2.json 和 custom3.yml,其中 custom3.yml 优先级最高,其次是 custom2.json
hexo generate --config custom.yml,custom2.json,custom3.yml
当指定了多个配置文件以后,Hexo 会按顺序将这部分配置文件合并成一个 _multiconfig.yml。如果遇到重复的配置,排在后面的文件的配置会覆盖排在前面的文件的配置。这个原则适用于任意数量、任意深度的 YAML 和 JSON 文件。
显示草稿
hexo --draft
显示 source/_drafts 文件夹中的草稿文章
自定义 CWD
hexo --cwd /path/to/cwd
自定义当前工作目录(Current working directory)的路径
五、关于ssh密钥
1、检查现有密钥
① 打开 Git Bash。
② 输入 ls -al ~/.ssh 以查看是否存在现有 SSH 密钥:
$ ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist
③ 检查目录列表以查看是否已经有 SSH 公钥。 默认情况下,公钥的文件名是以下之一:
id_rsa.pub
id_ecdsa.pub
id_ed25519.pub
2、github
生成新 SSH 密钥
① 打开 Git Bash。
② 粘贴下面的文本(替换为您的 GitHub 电子邮件地址)。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这将创建以所提供的电子邮件地址为标签的新 SSH 密钥。
Generating public/private rsa key pair.
③ 提示“Enter a file in which to save the key(输入要保存密钥的文件)”时,按 Enter 键。 这将接受默认文件位置。
Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
④ 在提示时输入安全密码。
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
3、gitee
生成/添加新 SSH 密钥
码云提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。
可以按如下命令来生成 sshkey:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
# Generating public/private rsa key pair...
按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
添加后,在终端(Terminal)中输入
ssh -T git@gitee.com
首次使用需要确认并添加主机到本机SSH可信列表。若返回:
Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.
则证明添加成功。
4、coding
生成新 SSH 密钥
打开命令行终端输入 ssh-keygen -m PEM -t rsa -b 4096 -C “your.email@example.com”( 邮箱),连续点击 Enter 键即可。
ssh-keygen -t rsa -b 4096 -C "your.email@example.com"
# Creates a new ssh key, using the provided email as a label
# Generating public/private rsa key pair.
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] // 推荐使用默认地址
Enter passphrase (empty for no passphrase): //此处点击 Enter 键即可,也可以填写密码,填写密码后每次使用 SSH 方式推送代码时都会要求输入密码,由于这个 Key 也不是用于军事目的,所以也无需设置密码。
若需要使用多个 SSH 密钥对(您可能同时在多个代码托管平台工作),在提示“Enter file in which to save the key” 时,输入一个新的文件名称就不会覆盖默认的密钥对。
成功之后显示如下信息:
Your identification has been saved in /Users/you/.ssh/id_rsa.
# Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your.email@example.com
添加公钥
CODING 提供账户 SSH 公钥和项目 SSH 公钥设置。本质上账户公钥和部署公钥是一样的,只是关联的方式不同。
一个 SSH 公钥文件,如果和 CODING 账户关联,便称为账户 SSH 公钥,配置后拥有账户下所有项目的读写权限;如果和某一个项目关联,则称为部署公钥,配置后默认拥有该项目的只读权限。
添加账户公钥
① 在终端输入 open ~/.ssh,用文本编辑器打开 id_rsa.pub 文件(此处是生成公钥的默认名称,如果生成公钥时采用了其他名称,打开相对应的文件即可),复制全部内容。
② 登录 CODING ,点击右上角【个人设置】,选择菜单【SSH 公钥】,点击【新增公钥】按钮。
③ 将第一步中复制的内容填写到【公钥内容】一栏,公钥名称按需填写即可。
④ 设定公钥有效期,可选择具体日期或设置永久有效。
⑤ 点击【添加】,然后输入账户密码即可成功添加公钥。
⑥ 完成后在命令行测试,首次建立链接会要求信任主机。命令 :
ssh -T git@e.coding.net
添加部署公钥
① 在终端输入 open ~/.ssh,用文本编辑器打开 id_deploy.pub 文件(此处部署公钥名称为 id_deploy.pub,在生成部署公钥的时候完全可以自定义名称),复制全部内容。
② 登录 CODING,进入目标项目,点击【代码仓库】-> 【仓库设置】-> 【部署公钥】->【新建部署公钥】。
③ 将第一步中复制的内容填写到【公钥内容】一栏,公钥名称自定义。
④ 点击【新建】,然后输入账户密码即可成功添加部署公钥
⑤ 部署公钥默认拥有该项目的只读权限,如果需要获取推送权限,请勾选部署公钥设置里的【授予推送权限】。
更多推荐
所有评论(0)