Welcome to R Square

网页里一些有趣的功能增强演示

楚新元 / 2026-06-17


以下介绍的几个功能增强点基本上是基于谢益辉开发的 JS 实现,有兴趣可以去翻他的博客,所有的 JS 文件都在 lite.js 仓库。我在这里一方面是简单介绍下我用到的几个惊艳的功能增强,另一方面是方便我观察每次优化完博客后功能是否都正常。

生成目录

本文标题下面的目录是基于文章的章节标题自动生成的,如果你也想整一个,toc.js 值得你拥有。

代码块增强

print("Hello world!")
#> [1] "Hello world!"

语法高亮

益辉推荐的是 Prism.js,这个很轻量,默认的效果就很舒服,推荐下。

复制按钮

这个按钮设计非常巧妙,动画效果也非常棒。益辉博客原文:Add a Copy Button to Any Element on a Web Page 一文。

代码折叠

益辉博客原文:Code Folding with 6 Lines of Vanilla JavaScript 一文。

数学公式

益辉推荐的是 KaTeX,效果几乎和 MathJX 一样,只是很少一部分语法不兼容,需要微调,但是它的轻量打动了我,果断换了 MathJX,文章里的公式渲染速度肉眼可见的快了。

行内公式示例

`$E=mc^2$` 是著名的质能方程。

$E=mc^2$ 是著名的质能方程。

独立公式示例

$$
f(x)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{(x-\mu)^2}{2 \sigma^2}\right)
$$

$$ f(x)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{(x-\mu)^2}{2 \sigma^2}\right) $$

字段集

Title

:   Content

效果如下:

Title

Content

当然还可以更复杂点,你可以在里面嵌入代码,例如:

Title

:   Content
    ```r
    print("Hello world!")
    ```

显示效果如下:

Title

Content

print("Hello world!")

益辉博客原文:Convert Definition Lists (<dl>) to Frames (<fieldset>) 一文。

右对齐引用脚注

> UNIX was not designed to stop its users from doing stupid things,
> as that would also stop them from doing clever things.
>
> --- Doug Gwyn

显示效果如下:

UNIX was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things.

— Doug Gwyn

益辉博客原文:Some of My JS Tricks to Enhance the HTML Output of Markdown

键盘键效果

<code>Ctrl + C</code>
<kbd>Ctrl</kbd> + <kbd>V</kbd>
`Enter`

显示效果如下:

Ctrl + C

Ctrl + V

Enter

我推荐你用 <kbd>Key</kbd> 这种写法。

益辉博客原文:Style Keyboard Keys and Shortcuts on Web Pages

搜索功能

可以点击本博客的搜索菜单体验。

益辉博客原文:Add Client-side Searching via Fuse.js to Static Sites

图片居中

用到的 JS 是 center-img.js,按照仓库里的介绍除了图片还可以居中视频和其它对象,目前我只用到图片居中。例如:

tux企鹅