前言:本文记录了本博客的进化史.
将next主题更新至6.0.6
2018/03/24: 将主题升级至6.0.6, 并在主题配置文件界面开启了访问统计(不蒜子统计)及站内搜索功能, 主要参考了Next主题文档.
用mathjax引擎渲染latex公式
2018/03/24: 在主题配置文件开启了latex公式支持功能, 但没法用宏包, 主要参考了Next主题文档. 它的使用方法很简答,只需分三步:
- 将主题配置文件中mathjax引擎的开关打开
1
2
3
4
5
6
7
8
9
10
11# Math Equations Render Support
math:
enable: true
# Default(true) will load mathjax/katex script on demand
# That is it only render those page who has 'mathjax: true' in Front Matter.
# If you set it to false, it will load mathjax/katex srcipt EVERY PAGE.
per_page: true
engine: mathjax
#engine: katex - hexo的配置文件最后加入一行:
1
mathjax: true
- 使用前记得在front-matter中将开关打开,如:
1
2
3
4
5
6
7---
title: 凸优化学习笔记
date: 2018-02-23 15:05:49
tags: [凸优化]
categories: 凸优化
mathjax: true
---
数学公式相关问题
2018/03/24: 输入latex公式时发现不少问题,如想输入大括号没法显示: 1
$\{x|a'x=b\}$
或是想输入下标却被hexo渲染为<em>
标签: 1
$C_{1}$
原因是 _ , { , } 等比较特殊,它们会被渲染成其他标签. 一个有效的方案是把它们的特殊性手动去掉. 找到hexo根目录下面的node_modules\marked\lib\marked.js
,查找将其中第451行escape
和459行em
做如下修改,修改前如下: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15var inline = {
escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
url: noop,
tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
link: /^!?\[(inside)\]\(href\)/,
reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
br: /^ {2,}\n(?!\s*$)/,
del: noop,
text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
};1
2
3
4
5
6
7
8
9
10
11
12
13
14
15var inline = {
escape: /^\\([\\`*\[\]()#+\-.!_>])/,
autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
url: noop,
tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
link: /^!?\[(inside)\]\(href\)/,
reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
br: /^ {2,}\n(?!\s*$)/,
del: noop,
text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
};
latex多行公式对齐
2018/06/14: 解决了latex多行公式对齐问题. 1
2
3
4
5
6
7$$
\begin{aligned} \mathop{\mathbb{E}}_{S\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}}\left|L_{S}(h)-L_{\mathcal{D}}(h)\right|\right] & = \mathop{\mathbb{E}}_{S\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}}\left|\mathop{\mathbb{E}}_{S'\sim\mathcal{D}^{m}}L_{S'}(h)-L_{S}(h)\right|\right] \\
& \le \mathop{\mathbb{E}}_{S\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}}\mathop{\mathbb{E}}_{S'\sim\mathcal{D}^{m}}\left|L_{S'}(h)-L_{S}(h)\right|\right]\\
& \le \mathop{\mathbb{E}}_{S\sim\mathcal{D}^{m}}\left[ \mathop{\mathbb{E}}_{S'\sim\mathcal{D}^{m}}\sup_{h\in\mathcal{H}}\left|L_{S'}(h)-L_{S}(h)\right|\right]\\
& = \mathop{\mathbb{E}}_{S,S'\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}}\left|L_{S'}(h)-L_{S}(h)\right|\right]\\
& = \mathop{\mathbb{E}}_{S,S'\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}} \frac{1}{m}\left|\sum_{i=1}^{m}\left(l(h,x_{i}')-l(h,x_{i})\right)\right|\right] \end{aligned}
$$\\\
,正确的latex代码如下,特此记录 1
2
3
4
5
6
7$$
\begin{aligned} \mathop{\mathbb{E}}_{S\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}}\left|L_{S}(h)-L_{\mathcal{D}}(h)\right|\right] & = \mathop{\mathbb{E}}_{S\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}}\left|\mathop{\mathbb{E}}_{S'\sim\mathcal{D}^{m}}L_{S'}(h)-L_{S}(h)\right|\right] \\\
& \le \mathop{\mathbb{E}}_{S\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}}\mathop{\mathbb{E}}_{S'\sim\mathcal{D}^{m}}\left|L_{S'}(h)-L_{S}(h)\right|\right]\\\
& \le \mathop{\mathbb{E}}_{S\sim\mathcal{D}^{m}}\left[ \mathop{\mathbb{E}}_{S'\sim\mathcal{D}^{m}}\sup_{h\in\mathcal{H}}\left|L_{S'}(h)-L_{S}(h)\right|\right]\\\
& = \mathop{\mathbb{E}}_{S,S'\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}}\left|L_{S'}(h)-L_{S}(h)\right|\right]\\\
& = \mathop{\mathbb{E}}_{S,S'\sim\mathcal{D}^{m}}\left[ \sup_{h\in\mathcal{H}} \frac{1}{m}\left|\sum_{i=1}^{m}\left(l(h,x_{i}')-l(h,x_{i})\right)\right|\right] \end{aligned}
$$
将博客部署到coding.net上及被谷歌收录
2018/09/04: 此次升级将博客部署到了coding.net上, 主要参考了这篇博文也就是说:
- http://msgsxj.cn/
- http://msgsxj.coding.me/
- http://msgsxj.github.io/
这三个url均能到达本站. 另外被谷歌收录(百度已经收录过了), 也就是说能在google中搜到本站, 之前不行.
阅读统计量清零
2018/09/15: 从18年3月开始用不蒜子统计来统计每篇文章阅读量及站点访问量, 但此次一不小心把统计结果清零了, 特此记录
为自己的博客加上小锁
2018/09/22: 为了给个人博客加上小锁, 主要做了以下三件事情:
- 按照chrome浏览器的控制台的error与warning, 在主题配置文件中关闭了一些功能, 包括自动推送url到百度
- 在主题配置文件关闭了livere评论功能
- 最后申请coding.net的三个月一期的免费证书(过三个月得续一次), 成功加上小锁
把图片从图床搬到本地
2018/11/08: 七牛云开始收费了, 于是手动把图片般到本地路径, 正好把小锁配齐.
博客写作平台迁移至mac
2020/01/01: 前些日子入了台mac, 这里简单记录一下将hexo从windows迁移至mac的过程.
terminal下安装git,node以及hexo, 参考了这篇博客
安装node过程中会在系统用户目录下生成一个[install hexo] 1
2
3brew install git
brew install node
npm install hexo gnode_modules
文件夹并抛出warning后生成一个package-lock.json
文件, 这只是警告系统用户目录下没有package.json
文件.初始化hexo,继续使用next主题
接着就是source文件的覆盖,hexo配置,next主题文件的配置.[use next theme] 1
2
3
4mkdir hexo
cd hexo
hexo init
git clone https://github.com/theme-next/hexo-theme-next themes/next仍然在hexo目录下将hexo的markdown引擎从默认的
marked
更换为pandoc
以更好的支持latex,参考了next主题中的一篇doc[pandoc] 1
2npm uninstall hexo-renderer-marked
npm install hexo-renderer-pandocmarkdown-it
与pandoc
最大的区别就是需要更多的空行, 所以遇到显示不正常不妨试着加空行.