Welcome to orangejuice's blog
之前的 hexo-next 是几年前配的,npm 一大堆 warning,跑的时候还会爆 error。
于是最近重新配了一次,发现这两年 next 很多东西都自带集成方案了,版本也好很多,至少弄完不太会爆一车 error 的。
配置方案大约如下:
1 | $ node -v |
in _config.yml
:
打开 search
1 | search: |
in themes/next/_config.yml
:
修改 scheme 为 Gemini
在 menu 栏取消注释 about, tags, categories
取消注释 avatar 的 url,并改为 images/avatar.jpg,并在 ./source/images/avatar.jpg 放置头像文件
打开 mathjax 选项
调整 codeblock 设置
1 | codeblock: |
package 信息:
1 | "name": "hexo-site", |
关于 bg 的修改:
themes/next/source/css/_variables/base.styl
修改为:
1 | $content-bg-color = rgba(255, 255, 255, 0.8); |
修改:
themes/next/layout/_layout.njk
增加 script:
以下部分是原文:
这是一个悲惨的蒟蒻ZJOIer的博客,目前正在打Cu的边缘努力挣扎
不善口胡,擅长套简单的模板题~~
写过一点点多项式板板题,然鹅并没有任何用处
没看过concrete 数学
没有语文功底
很少打CodeForces,CodeChef,Topcoder,AtCoder
代码环境:
Dev-Cpp × Emacs × VSCode ×
vim √ gvim √
Windows √ Linux √
文章书写的时间跨度非常长,所以前面的可能不像是一个人写的
如果有出现很sb的错误,请@评论区 or qq 2946316707
板子问题:
rep/drep是两端闭区间的循环,reg是register,erep是前向星遍历
ll:long long
ull:unsigned long long
u64:uint64_t=unsigned long long
u32:uint32_t=unsigned
i64:int64_t=long long
i32:int32_t=int
Pii: pair <int,int>
Mod1,Mod2是加减法取模
cmin,cmax=checkmin,checkmax
由于本人变量名比较随意,经常出现::,这个是访问主函数外(也就是空命名空间)的变量
代码中可能出现的[..](..){}
是C++11的lambda语句
代码中可能出现的模板在这里
for(.. : ..)
是容器完全遍历,需要C++11
模板用到了default template,以及可能出现别的问题,因此编译需要C++11
1 |
|
阅读帮助
常用的,阅读帮助
\(\forall,\exists\)任意,存在
\(\oplus\) oplus 异或
\([\text{Logical Expression}]\)艾弗森括号,根据其中逻辑表达式的真伪,值为1/0
\(\overline{x}\underline{x}\)上升幂下降幂
\(\lfloor x\rfloor\) 向下取整
\(\lceil x\rceil\) 向上取整
\(|S|\) 集合大小,或者是矩阵行列式
\([x^i]f(x)\) 多项式\(f(x)\)的\(x^i\)一项的系数
\(f^{(i)}(x)\) 对\(f(x)\)求\(i\)阶导
组合数的几种形式\(\begin{aligned}C(n,m),C_n^m,\binom{n}{m}\end{aligned}\)
第一类斯特林数\(\begin{bmatrix}n\\m\end{bmatrix}\)
第二类斯特林数\(\begin{Bmatrix}n\\m\end{Bmatrix}\)
博客配置日志
采用Github Page + Hexo 静态博客的简单模式
环境
Ubuntu20.04 LTS + Win10 dual boot (64bit)
dependences
1 | # git & npm |
如果网络不好你可能会连不上nodesource,甚至导致一些奇怪的bug
可以尝试用curl -XDELETE https://deb.nodesource.com/setup_14.x-
删除库
然后等网络好了重新来
初始化Hexo博客
1 | mkdir hexo |
浏览器打开localhost:4000预览
安装next主题
1 | git clone https://github.com/theme-next/hexo-theme-next themes/next |
将themes: landscape 修改为 themes: next 注意yml格式: 后的空格
一些常用的配置 1.schemes的四种自带可选 2.darkmode 3.copy button 4.
启用mathjax
1 | npm uninstall hexo-renderer-marked --save |
node_modules/hexo-renderer-kramed/lib/renderer.js
1 | function formatText(text) { |
修改为 1
2
3function formatText(text) {
return text;
}
node_modules/hexo-renderer-mathjax/mathjax.html
最后一行<script>
改为
1 | <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"> </script> |
node_modules/kramed/lib/rules/inline.js
修改为
1 | escape: /^\\([`*\[\]()#$+\-.!_>])/, |
在 主config和主题config都加上 1
2mathjax:
enable: true
这个math引擎存在很多问题
修正1.
如果有多个大括号连用(包括转义的\{
,建议加空格防止暴毙
但是实测,有时候用begin{aligned} end{aligned}
还是死
修正2.
公式可以用
1 | {%raw%}$...${%endraw%} |
强制解决一部分
但是可能会产生一些新的bug(所以谨慎用)
合理调配,似乎可以搞定一些问题
以及\empty
\sub
\and
\or
之类的不统一语法永远搞不定。。
所以改成\emptyset
\subset
\vee
\wedge
为此写了一个垃圾的批处理,顺便加了一个垃圾的autotag功能
太长了就不放了...
配置Deploy (git)
1 | git config --global user.name "你的git用户名" |
密码设置为空,即按三下回车 1
cat ~/.ssh/id_rsa.pub
1
ssh -T git@github.com
安装deploy插件
1 | npm install hexo-deployer-git --save |
修改主config 1
2
3
4deploy:
type: git
repository: git@github.com:用户名/用户名.github.io.git
branch: master
url优化 (abbrlink)
1 | npm install hexo-abbrlink --save |
然后就可以在permalink 里修改 1
2# permalink: :year/:month/:day/:title/
permalink: :year/:month/:day/:abbrlink.html
文章置顶
1 | npm uninstall hexo-generator-index --save |
然后用 1
2
3
4
5
6
top: true
打开主题layout中,找到post.swig
,找到<div class="post-meta">
如果没有找到,尝试去某个带macro作为名字的文件夹里找
然后在<div class="post-meta">
下面插入
1 | {% if post.top %} |
增加搜索功能
1 | npm install hexo-generator-searchdb --save |
主config增加 1
2
3
4
5search:
path: search.xml
field: post
format: html
limit: 10000
主题config直接enable local_search即可
插入网易云
在/themes/next/layout/_macro/sidebar.swig
中选择自己要的地方插入网易云的外链
修改字体
修改 1
2font:
global: xxx
补充menu
1 | hexo new page "categories" |
然后在每个新生成的index.md头上的yml中添加type,比如
1
2
3
4
type: categories
添加代码块折叠
咕着先
增加统计功能
主题config
1.找到busuanzi_count:
设置enable: true
2.在footer
下添加
counter: true
在themes/next/layout/_partials/foot.swig
加入
1 |
|
收录百度搜索
好麻烦的说
在成功双线配置到coding之前,百度是没有办法爬到的
进入用户中心|站点管理添加网站,然后一项项填
最后验证网站选择HTML标签验证(第二个),把给你的
<meta name="baidu-site-verification" content=" **** " />
把content 复制到主题config
的baidu_site_verification:
即可
站点地图
1 | npm install hexo-generator-sitemap --save |
在主config加入 1
2
3
4sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
手动提交baidu的链接就是xx.github.io/baidusitemap.xml
百度自动推送
(这东西百度好像不太久之前关停了,但是没事先放着)
将主题 config 里面的 baidu_push
enable
然后在themes/next/layout/_third_party/baidu-push.swig
中插入
1 | <script> |
百度统计
去官网注册
然后登记网站,在它给你的源码里找到hm.src = "https://hm.baidu.com/hm.js?
把hm.js?
后面的东西拿出来放到主题config里的baidu_analytics:
google 搜索收录
去这里,选择网页前缀,然后选择 HTML标记验证
然后放到主题config的google_site_verification:
即可
修改字体大小
在themes/next/source/css/_variables/base.styl
里
有这么个玩意儿,直接改就是了,直接修改上面那个是全局修改
1 | // Font size |
修改背景图片,以及透明度
新的hexo
博客移除了一些东西,不如themes\next\source\css_custom\custom.styl
但是主题config里有这么个东西
1 | # Define custom file paths. |
直接去掉注释会覆盖main.styl
,导致解析暴毙
于是在main.styl
下面加入
1 | @import "../_data/styles.styl"; |
然后在source/_data/styles.styl
加入
1 | // background settings: |
修改tabsize
读取mathjax渲染的html会发现
代码框都是<pre></pre>
包住的
所以在上面的style.styl
文件里加入
1 | pre{ |
修改侧边距
找死我了原来在css/_schemes
我用的是Gemini,它引用了Pisces
于是在Pisces/_layout.styl
里改
不是很好调(不是很了解怎么调),于是抄了别人的改了一点
把下面放在
css/_schemes/Pisces/_layout.styl
1 | // 以下为新增代码!! |
修改行间距
source\css\_common\scaffolding\base.styl
,修改
1 | p{ |
背景图自动切换
css太难了奥
于是写了一个js
先在source/js/
中新建一个userbj.js
在layout/_layout.swig
中导入,在</body>
上面加入
1 | <script type="text/javascript" src="/js/userbg.js"> </script> |
然后自己写js
1 | /* change background */ |
2021-6-11
虽然不知道为什么,但是网易云外链炸了
于是暂时撤下
1 | <iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width="100%" height="330" |
2021-7-7
日子好像不太吉利
增加了music page,采用hexo-tag-aplayer | MetingJs
1 | $ npm install --save hexo-tag-aplayer |
有待完善,会添加别的东西