费里基
漂亮的代码。 优化,交付. 您的船被抛光的代码示例 文档,CMS或站点建设. 费里基负责经营 本地 Rust 引擎上的 TextMate 语法目录并保持熟悉 Shiki-形状的 HTML 调用节点.js. 将示例编写为静态 HTML,或保留 一个突出显示器准备好 一条小溪块.
编译一回. 开始优化.
您的下一个进程可以接收已完成的 regex 工作 。 由费罗尼提供动力 2.7,Ferriki提供预编译的regex程序并优化了静态扫描仪 具有标准语法的自定义。 他们来自CDN,经过核实 并缓存在磁盘上,从第一次静态扫描中恢复 Eager 优化.
将缓存保存在建筑之间,以重复使用整个重建中相同的下载和 部署。 每个新进程都恢复已准备的自定义,而不是 从源头重建它们。 这是预过滤的默认值; 无法获取的软件包回归源头,动态模式依然为局部.
嵌入式语言在主机中重复使用他们自己准备的软件包. 马克下 准备下载从 25.9甲基溴改为1.9甲基溴 语法覆盖面相同; 阿斯特罗从 6.5 甲基溴改为0.52 甲基溴与主机的依赖性负载, 而可选的密码栅语言仍然是可选的。 见 软件包共享证据。 。 。 .
第一个负载还缓存了已打包. 后继进程跳过 解压和 SHA-256 本地文件不变,然后恢复缓存 数据通过小指数显示。 只有请求的程序和组记录 被读入自有缓冲器。 文件状态检查检测到变化和触发 再次核查.
在我们本地的七语法诊断中, C++ 活化剂启动从 约144至68米,与普通 Eager 类似. 启动包括恢复和第一个文档;网络、文件 I/O,以及 完整的建筑在计时器外。 见 测量和限制。 。 。 .
10月25日的完整节点比较测量了源出、自动、 Eager 和 单独编制。 先准备使用 时间比源代码少39% 在 macOS 上显示,与 Linux 上的时间多5%源代码 Off的启动速度仍然最快. 见 单独模式结果 所有政策和历史记忆的测量.
要求和安装
Ferriki只采用无害环境管理,需要22.13.0节点或更新。 npm 安装 您平台的可选本地软件包: Linux x64/arm64 有 glibc 或 musl, 苹果硅上的macOS,和Windows x64/arm64. 保持可选的依赖性 在生产安装中启用.
npm install @ferriki/core
语法和主题有效载荷从 assets.ferriki.dev 首个
被装入、被绑在放行上 由SHA -256核验
内 node_modules/.cache/ferriki。对于离线使用,请先填入缓存
构建或点 FERRIKI_ASSETS_BASE_URL 在一面镜子。 设定
FERRIKI_ASSETS_REMOTE=0 只使用缓存。 见 资产装载
用于缓存、代理和证书设置.
见突出显示的页面
保存此完整的无害环境管理文件为 highlight.mjs数字 :
import { writeFile } from "node:fs/promises";
import { codeToHtml } from "@ferriki/core";
const html = await codeToHtml("const answer = 42;", {
lang: "javascript",
theme: "github-dark",
});
await writeFile("highlighted.html", html);
console.log("Saved highlighted.html. Open it in a browser to preview your code.");
运行 node highlight.mjs,然后打开 highlighted.html。单发API 负载
第一次使用和再利用的语言和主题
后来的电话.
史基比较
10月25日的"铁匠捕捉"使用与"费罗尼"一起建造的寄存器 2.7.2 和准备的标准正版包装。 在14个档案中 重新使用过 高亮显示器与 Shiki/ WASM 生成相同的 HTML 并运行 3.7× 开快 Linux x86-64 (英语) 财务报告和审定财务报表 4.3× 更快的 macOS ARM64。用解码缓存 已经有人居住,首先使用 2.0× / 4.4× 速度快于Shiki/ WASM 打开 Linux/macOS. (原始内容存档于2018-09-29). 见 基准报告 为宿主, 第一使用时间、原始结果和计量限度.
记忆取决于所装入的语言. 在10月24日早些时候 在加载12种语言的600个文件之后 整个过程的RSS是 比Shiki/WASM高51-137%。由于仅是 TypeScript 的大量工作量,所以 降低33-55%。 。 。 . Ferriki 载入所请求的语言及其依赖性; 它们是独立的 工作量,而不是对整个语法目录的测量. 见 内存细节。 。 。 .
重用高亮显示器
对于CMS的工人或站点建设,加载你一次需要的语言和主题. 装入资产进行同步渲染. 每个工人创建一个亮点 当工人停业时,予以处置.
import { createHighlighter } from "@ferriki/core";
const highlighter = await createHighlighter({
langs: ["javascript", "typescript"],
themes: ["github-light", "github-dark"],
});
try {
const html = highlighter.codeToHtml("const answer: number = 42;", {
lang: "typescript",
theme: "github-dark",
});
console.log(html);
} finally {
highlighter.dispose();
}
getSingletonHighlighter() 每个进程共享一个亮点, 和一发
函数使用它。 自定义语言和主题使用Shiki的 TextMate 注册
形状在 langs 财务报告和审定财务报表 themes 在他们到达本地之前
发动机。 语言被语法负载所嵌入; 懒惰地嵌入负载
在明确之后 loadLanguage。 。 。 .
调制重复的工作和短寿命亮点,见 前过滤向导。 。 。 .
语文和主题
Ferriki维持着自己的 标准TextMate语法目录,
包括嵌入式依赖,以及65个主题。 使用 bundledLanguages 财务报告和审定财务报表
bundledLanguagesAlias 以发现可用的身份和别名。 这个
语法指南
涵盖目录覆盖范围和外部进口。 对于本地语法,运行:
npm exec -- ferriki grammar fetch ./grammar.tmLanguage.json \
--name example --output ./example.ferriki.json
进口商还接受URL和被承诺支持的GitHub源. 审查a 重新分配前的语法许可.
基于类的产出和主题地图
使用 styleMode: "classes" 用于嵌入式 TextMate 范围类,或
codeToHtmlWithCss() 以匹配的 CSS 返回 HTML。 一个
订购 themes 映射可以在已准备好的标记上切换调色板而不突出显示
再来一次 这个 基于类的突出显示指南
显示自定义类和主题的完整 HTML 和样式表示例
切换.
变形器
在 JavaScript 中运行并接收打入的令牌的变形器和装饰回调
和HAST数据。 本地引擎处理装饰范围,符号边界,
和包装。 师基的 @shikijs/transformers 焦点标记助手,
突出, diffs, 和文字突出 与他们的工作.
构建时间宏
@ferriki/vite
转弯 code() 反应 <Code /> 在 Vite 中调用突出显示的输出
8号楼。 显示器在构建期间运行, 而默认的反射组件
使用一个小的无框架显示模块来显示已准备好的输出.
这个 虚拟指南
拥有一个完整的反应设置和先进的SSR细节.
锈
同样的本地引擎可以提供 ferriki 条框。 。 。 .
见 Rust API 向导。 。 。 .
兼容性
费里基跟随史克v4.4.3. 志树的检测结果没有改变
从被钉住的镜面上添加,每个被归类为支持、推迟或退出
范围; 将对照完整的 vscode- textmate v9.3.2 标记符检查
预言家 节点的公用输出为 HTML; 变压器调回可以检查令牌
和HAST数据。 拒绝终端 ANSI 输入 ShikiError 改为
正在执行。 见 兼容政策
财务报告和审定财务报表 Shiki移民指南。 。 。 .
文档
许可证
根据其中任何一项颁发的许可证 麻省理工学院 或者说 阿帕奇 - 2.0 随便你.
费里基 属于 费拉门塔 家庭——鲁斯特工具家庭.
兄弟姐妹们: 铁 - Oniguruma相容Regex引擎 铁印 ——标记为 HTML,默认已消毒.. 铁 - 文字和代码的拼写检查 铁猫 翻译目录引擎 费拉尔克 — Glob 匹配和平行文件系统行走.. 费鲁戈 ——未信任文件的 PDF 预览 平板电脑 – 类型脚本应用程序的国际化 - 达罗 你的团队的特工设定, 版本像代码.. 阿尔多 ——用React建成的文件站点.