洛谷编辑器帮助手册

洛谷编辑器帮助手册

洛谷编辑器帮助手册

离散小波变换°

·

2024-10-09 21:32:12

·

个人记录

因为编辑器尚处于热开发阶段,还有很多功能没有完善,因此帮助手册暂时放在这里,方便进行热更新。

有一些需要反馈的 bug 可以直接发在本专栏评论区(但不保证一定会处理)。

排版格式

洛谷文章的排版基于 Markdown,而为了支持数学公式使用了基于 \KaTeX 渲染的 \LaTeX 作为插件内嵌在 Markdown 之中。关于这两者的语法信息可以参考以下两个链接:

Markdown 使用帮助:https://help.luogu.com.cn/rules/academic/handbook/markdown;

LaTeX 使用帮助:https://help.luogu.com.cn/rules/academic/handbook/latex。

另附一些可能有用的资料:

Github Flavord Markdown,简称 GFM,https://github.github.com/gfm/,是一个得到广泛共识的 Markdown 语法规范。洛谷使用的 Markdown 语法基本基于 GFM;

KaTeX 官方语法手册 https://katex.org/docs/supported,是最全面最准确的描述基于 KaTeX 实现的 LaTeX 功能的文档,适用于有意了解 LaTeX 更进一步语法的同学。

本文主要介绍编辑器的相关功能以及期望的行为。

编辑区

编辑区部分使用 Codemirror6 实现,加了一些插件。比如行数显示,搜索功能(使用 Ctrl+F 打开),多行选择(按住 Alt 选择可以同时选中多行内容,但是中文环境 bug 多,慎用)。左侧箭头可以对代码进行折叠。

使用了 Markdown Language,编辑高亮基本遵循 Github Flavord Markdown 语法。但为了适配洛谷环境,进行了如下修改:禁用 HTML 语法高亮;对数学公式进行高亮( TODO:插件写完了,但是还没实装 )。

作为较为先进的开源编辑器,Codemirror 的可靠性得到了普遍检验。拥有性能表现高、扩展能力好、兼容能力强等特点。

预览区

预览区使用 Rehype+Remark 的组合将 Markdown 源码翻译成 HTML 并在右侧展示。同样加了一些插件,比如数学公式插件、Bilibili 视频插入插件、@ 插件(P.S:还在开发)。

未来可能会加入一些新的插件,但是需要进行进一步讨论。

Remark 和 Rehype 是最新的开源 HTML & Markdown 生态,有很大发展潜力。

编辑器功能介绍

工具栏

最上面一排是工具栏,主要由操作按钮组成,方便用户对文本进行编辑。

显示设置

右侧可以对编辑区、预览区进行显示/隐藏,也可以进入全屏编辑模式。一般来说由于预览对性能的损耗较大,尽管我们使用了防抖来降低预览区刷新的频率,但当文章较长时建议关闭预览。

自动保存

编辑器自带定时保存功能,主要用来防止用户误关闭页面忘记对编辑内容进行保存。处于活跃状态的编辑器每分钟会进行一次保存,最多缓存最后十次自动保存的结果。可以点击右上角的自动保存按钮调取内容。

滚动同步

当滚动同步处于开启状态时,滚动编辑区文本会使预览区同步滚动至相同高度;滚动预览区会使编辑区文本同步滚动至相同高度。

特别地,当滚动的那一侧到达底部时,另一侧也会跟着到达底部。

值得注意的是,编辑器以用户光标位置(编辑区/预览区)作为焦点,如果用户在编辑区的末尾编辑文字,而此时光标处于预览区,可能会导致底部位置的同步功能处于失效状态;如果文章中插入了较长的图片,由于编辑器优先将编辑区顶部和预览区顶部进行对齐,可能会导致下半部分差距较大。

用户可以在右下角设置滚动同步状态。

杂项

左下角有字数统计功能,统计编辑区的字符数量。每个英文字母、汉字、标点、空格均算作一个字符。仅供参考。

帮助手册

引导用户查阅资料获取帮助。

相关数据