Hexo体验

2019/11/04

Categories: 笔记 Tags: Hexo

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

Markdown常用语法

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。

标题

通过#来设置,不同数量的#代表不同等级的标题

例:

# 一级标题
## 二级标题
### 三级标题

字体

例:

**hello world**
*hello world*
~~hello world~~

效果:

hello world
hello world
hello world

引用

在被引语句前加>即可

例:

>我一直急速前行,穿梭于人人之间,试图借应接不暇的风景让我褪去对你的思念

我一直急速前行,穿梭于人人之间,试图借应接不暇的风景让我褪去对你的思念

分割线

三个或三个以上的-或*就行

例:

---
***************


图片

语法:

![图片alt](url)

例:

![紫色韵味](https://i.loli.net/2019/11/04/gR9Xdwo2JLETxIn.jpg)

紫色韵味

注意:所要插入图片的地址来源,建议采用图床方式(下文介绍)。

超链接

语法:

[title](url)
title可加可不加

例:

[百度](https://www.baidu.com/)

效果:

百度

列表

  1. 无序列表,- 空格内容
  2. 有序列表,数字. 空格 内容

例:

- 嗯
- 啊
1.嗯
2.啊

效果:

表格

表格语法不再介绍,利用Typora编辑器书写,直接插入表格

代码

语法:

  1. 单行
`helle world`

效果:

hello world

  1. 代码块
​```java
public class Demo {
    public static void main(String[] args) {
        System.out.println("hello world!");
    }
}
​```

效果:

public class Demo {
    public static void main(String[] args) {
        System.out.println("hello world!");
    }
}

基本语法介绍完毕,更多操作用到的时候再上网查找即可

SM.MS图床的使用

为什么使用图床?因为自己电脑上保存的图片是无法被线上读取的。

图床一般是指储存图片的服务器。就是专门用来存放图片,同时允许你把图片对外连接的网上空间,不少图床都是免费的。

商家在选择图床的时候,请慎重选择免费图床,毕竟众多免费图床网站注册条款里有禁止商用这一条,哪天关闭了图片外链或者商用,势必给用户带来很大的麻烦,很多免费图床总是好景不长,为什么呢?其实很简单,做相册站是要投入的,比如服务器、带宽、人员、技术投资、市场宣传等等!完全免费了,这些小站可能自己都难存活,所以总是不能长久使用!

换句话说,哪天厂家跑路了,就gg了。

国内推荐较多的是七牛云(www.qiniu.com),但因为绑定域名需要进行ICP备案,为了图方便,就选择SM.MS。毕竟只是用作个人博客的图床,仅作学习记录等,不必要求太多。

一款在线图床工具。

SM.MS提供免费图床,但是保留随时删除图片的权力

因为仅作学习之用,并且图片在本地电脑都有备份,所以并不担心厂家跑路。

步骤

  1. 打开SM.MS官网

SM.MS官网

  1. 导入本地图片并Upload

选择Markdown语句

  1. 复制上图红框语句

  2. 直接粘贴在Typora编辑器里即可

关于博客首页添加音乐的问题

操作步骤

要支持音乐播放,就必须开启音乐的播放配置和音乐数据的文件。

  1. 在博客的source目录(初试模板没有)中新建 musics.json 文件,文件内容如下所示:
[{
    "name": "Black Black Heart",
    "artist": "David Usher / Jeff Pearce",
    "url": "http://music.163.com/song/media/outer/url?id=22215518.mp3",
    "cover": "http://p2.music.126.net/JXTWCR3HBkIPtK6DvRQ3oQ==/109951163878956443.jpg"
}, {
    "name": "玛丽(Mary)",
    "artist": "赵雷",
    "url": "http://music.163.com/song/media/outer/url?id=447925058.mp3",
    "cover": "http://p1.music.126.net/BJgUd9aD9gpougZFASRTTw==/18548761162235571.jpg"
}, {
    "name": "雪人",
    "artist": "范晓萱 / 王力宏",
    "url": "http://music.163.com/song/media/outer/url?id=5257150.mp3",
    "cover": "http://p2.music.126.net/0bI3ZYeUuj0HpWCqaTQNkg==/879609302221060.jpg"
}]

:以上 JSON 中的属性:nameartisturlcover 分别表示音乐的名称、作者、音乐文件地址、音乐封面。

然后,在主题的 _config.yml 配置文件中激活配置即可:

# 是否在首页显示音乐.
music:
  enable: true
  showTitle: false
  title: 听听音乐
  fixed: false # 是否开启吸底模式
  autoplay: false # 是否自动播放
  theme: '#42b983'
  loop: 'all' # 音频循环播放, 可选值: 'all', 'one', 'none'
  order: 'list' # 音频循环顺序, 可选值: 'list', 'random'
  preload: 'auto' # 预加载,可选值: 'none', 'metadata', 'auto'
  volume: 0.7 # 默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效
  listFolded: false # 列表默认折叠
  listMaxHeight: # 列表最大高度

问题1

音乐栏界面出现中文乱码

解:

中文乱码属于低级错误,统一设置编码一般就解决问题。不建议用win自带的记事本打开,非要打开也行,但要保存编码为为utf-8格式。

另存为类型为所有文件,编码为UTF-8

对配置文件(.yml)均设置统一编码,包括主配置和主题配置文件。

问题2

怎么获取音乐url

就拿网易云音乐来说,网易云提供了生成外链播放器功能,许多教程也以此为例。但可惜现在此法不好使了。
看来得另辟蹊径

解:

  1. 获取单曲主页链接的id
    只需要复制id值

  2. 得到MP3链接

公式:    http://music.163.com/song/media/outer/url?id=xxx.mp3

粘贴id值皆可获得单曲url

问题 3

怎么获取封面图片

解:

如图所示:
玛丽这首歌还是不错的

我多想和时光一样潇洒的离开

​ ——《玛丽》

文章 Front-matter 介绍

Front-matter 是文件最上方以 --- 分隔的区域,用于指定个别文件的变量

文章标题,强烈建议填写此选项

文件创建时的日期时间,强烈建议填写此选项,且最好保证全局唯一

根据 _config.yml 中的 author,文章作者

featureImages 中的某个值。文章特征图,推荐使用图床(腾讯云、七牛云、又拍云等)来做图片的路径.如: http://xxx.com/xxx.jpg

推荐文章(文章是否置顶),如果 top 值为 true,则会作为首页推荐文章

v1.0.2版本新增,表示该文章是否需要加入到首页轮播封面中

v1.0.2版本新增,表示该文章在首页轮播封面需要显示的图片路径,如果没有,则默认使用文章的特色图片

文章阅读密码,如果要对文章设置阅读验证密码的话,就可以设置 password 的值,该值必须是用 SHA256 加密后的密码,防止被他人识破。前提是在主题的 config.yml 中激活了 verifyPassword 选项

是否开启 TOC,可以针对某篇文章单独关闭 TOC 的功能。前提是在主题的 config.yml 中激活了 toc 选项

是否开启数学公式支持 ,本文章是否开启 mathjax,且需要在主题的 _config.yml 文件中也需要开启才行

文章摘要,自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要

文章分类,本主题的分类表示宏观上大的分类,只建议一篇文章一个分类

文章标签,一篇文章可以多个标签

注意:

  1. 如果 img 属性不填写的话,文章特色图会根据文章标题的 hashcode 的值取余,然后选取主题中对应的特色图片,从而达到让所有文章都的特色图各有特色
  2. date 的值尽量保证每篇文章是唯一的,因为本主题中 GitalkGitment 识别 id 是通过 date 的值来作为唯一标识的。
  3. 如果要对文章设置阅读验证密码的功能,不仅要在 Front-matter 中设置采用了 SHA256 加密的 password 的值,还需要在主题的 _config.yml 中激活了配置。有些在线的 SHA256 加密的地址,可供你使用:开源中国在线工具chahuo站长工具

例:

---
title: typora-vue-theme主题介绍
date: 2019-11-04 17:19:19
author: 一位不愿透露身份的小猫猫
img: /source/images/xxx.jpg
top: true
cover: true
coverImg: /images/1.jpg
password: 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
toc: false
mathjax: false
summary: 自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要
categories: Markdown
tags:
  - Typora
  - Markdown
---

hexo常用命令

hexo是一个个人网站生成器,基于node.js,可快速、简单、强大的生成静态博客框架。

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

生成静态文件。

-d, --deploy

文件生成后立即部署网站

-w, --watch

监视文件变动

-b, --bail

生成过程中如果发生任何未处理的异常则抛出异常

-f, --force

强制重新生成文件 Hexo 引入了差分机制,如果 public 目录存在,那么 hexo g 只会重新生成改动的文件。 使用该参数的效果接近 hexo clean && hexo generate

-c, --concurrency

最大同时生成文件的数量,默认无限制

该命令可以简写为

$ hexo g

server

$ hexo server

启动服务器。默认情况下,访问网址为: http://localhost:4000/

-p, --port

重设端口

-s, --static

只使用静态文件

-l, --log

启动日记记录,使用覆盖记录格式

deploy

$ hexo deploy

部署网站。

-g, --generate

部署之前预先生成静态文件

该命令可以简写为:

$ hexo d

clean

$ hexo clean

清除缓存文件 (db.json) 和已生成的静态文件 (public)。

在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。


更多详情参考Hexo官方文档(https://hexo.io/zh-cn/docs/

关于部署博客404的问题

$ hexo d 成功,但仍无法访问个人博客

就很烦

出现404的原因非常多,在假设配置没有问题的情况下,考虑个人仓库能否正常访问GaoXinLXL.github.io

如果,个人仓库访问成功,且有刚刚部署的文章,则说明个人域名与GaoXinLXL.github.io关联失败。

解:

选择GaoXinLXL.github.io的Settings

嗯。。。

完事儿,“妹妹说紫色很有韵味”

>> Home