个人博客学术化及接口权限改造

博主对个人博客进行了学术化改造,包括引入MathJax支持LaTeX公式,实现多级标签系统,升级评论功能至Utterence,并通过ELK(Elasticsearch、Logstash、Kibana)进行接口权限管理。改造旨在提升阅读体验和内容组织,同时加强了安全性。

博客传送门

说实话又一年没写博客了,不过终于毕业了,也许以后可以有更多的时间写写博客(tao。

趁着还没入职的间隙,做了一些博客改造的开发工作,其中运维:JavaScript:Python:Java 工作量占比大概 5 : 3 : 2 : 1 5:3:2:1 5:3:2:1,总共间断的开发了两周多。

🤹 Motivations

想必各位 NLPer 看苏神博客的时候一定被其丰富的知识量和阅读体验极佳的公式震撼过。

出于这点考虑,本期的学术化改造的一个目的就是提供良好的公式编译能力,增强对 LaTeX \LaTeX LATEX 的支持。

其二,作为学术类博客,需要提升评论及引用能力,提供相应的 B i b TeX Bib\TeX BibTEX

其三,更清晰的 Tag 维护策略,Tag 之间存在层级关系。

除此之外,放开静态文件爬取限制,收紧 API 接口权限,实现动态管理,(其实这个一直想做的,只是没想到做起来那么花时间。

🕹 Developing

前三条,都是 JavaScript 的工作。
由于历史原因,本博客用的还是 Vuepress@0.16,看了一下 v1 版本 lib 代码改动不大,等 v2 发 beta 版了有空再改吧(能用就将就用着。

MathJax

有别于苏神使用 php 开发的博客,Vuepress 是一个基于 markdown-it 的框架。
而 Markdown 天生就和$\LaTeX$不搭,比如说_在 Markdown 中表示 $x_i + y_i$ 会被编译为x<em>i + y</em>i

而我们的目标是支持 MathJax 而不是 katex 这种阉割版本。
参考 Yihui Xie 在The Best Way to Support LaTeX Math in Markdown with MathJax提供的思路,
利用<code>标签提供一个不会被 markdown-it 侵入的环境,再对 markdown-it 编译好的 body 做 code 标签解除,以便 MathJax 的 JavaScript 代码能够渲染相应公式区域。

replaceLatexCode(){
   
   
    var i, text, code, codes = document.getElementsByTagName('code');
    for 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值