Repository navigation
Releases: scientificmaniac/dsh-code-highlight
Releases · scientificmaniac/dsh-code-highlight
Release list
v1.1.0
SyntaxHighlighter 经典主题(codeinword.com 同款)、高亮 HTML 导入导出、Word 友好的表格版式输出。
新增
- 导入 codeinword.com 导出的 SyntaxHighlighter 高亮 HTML:直接把它作为
code传入
(默认自动识别,或input_format: "sh-html"强制),解析回 token 后可重渲为行内样式 HTML、SVG、PNG、LaTeX 等
任意格式,theme可顺手换肤; 缩进、HTML 实体、元素间空格、numberN起始行号与 brush 语言名都会被正确还原。 - 新增
sh-html输出格式:导出 SyntaxHighlighter 3 的 class 标记(div.line+code.<语言>,颜色由消费方页面的
shTheme 样式表决定),与 codeinword.com 的产物同构。 - 新增 8 套 SyntaxHighlighter 3.0.83 经典主题(codeinword.com 演示的同款高亮方式):
sh-default、sh-django、sh-eclipse、sh-emacs、sh-fadetogrey、sh-mdultra、sh-midnight、sh-rdark,
色值取自官方shTheme*.css;另支持django、eclipse、emacs、midnight、rdark、codeinword等别名。 - HTML 输出还原 SyntaxHighlighter 的标志性外观:行号列右侧彩色竖条(
gutterEdge)、
强调行整行底色(highlightLine)与强调行行号底色(gutterHighlight);旧主题输出不变。 npm test现在先跑编码守卫(tests/encoding.mjs):仓库文本文件必须是合法 UTF-8、不带 BOM、且不含乱码特征字。
修复
format: latex(listings 后端)的标题改走caption={…}选项:此前\caption位于\end{lstlisting}
之后的浮动体外部,单独编译会报 "Caption outside float"。format: text配合output_file时不再返回空反馈:文件照写,同时返回头部与落盘提示
(此前文件写入成功但调用方拿不到任何文本)。format: html改为表格版式(每行一个tr,行号与代码各占一格,title 在代码格外且不可选中)。
原<span style="display:block">的分行只对浏览器成立,Word / LibreOffice 会把整块挤成一段连续文字;
行号原为行内 span,栏宽不足折行时错位。表格版式已验证 LibreOffice 逐行渲染正常(SyntaxHighlighter 原版即此形态,真 Word 未实测)。- 代码以换行结尾时不再多渲染一行:工具入口剥掉单个尾换行(此前 27 行代码报 28 行、PNG 底部多一条空带)。
剥在入口而非分词器,分词保持往返无损。 title不再进入代码内容:此前文件名 span 位于<code>内且可选中,复制代码首行会带上文件名。- 行首缩进输出为
,防止粘贴到 Word / 富文本时被折叠。 - 等宽字体栈首项从 CSS 系统关键字
ui-monospace改为具体字体Consolas:Word、邮件、PDF 打印器不认系统关键字,会回退到非等宽字体导致缩进错位。 - 写文件的格式(
png、svg-png以及带output_file的其他格式)返回的content为空,
与输出 schema 声明的字符串类型冲突,导致工具结果被判为无效输出。现在content返回空串,
rasterizer字段只在真正发生栅格化时出现。