news 2026/10/15 20:23:31

快速上手 Enriched Markdown:安装配置、平台要求与你的第一个 Markdown 屏幕

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
快速上手 Enriched Markdown:安装配置、平台要求与你的第一个 Markdown 屏幕

【免费下载链接】enriched-markdown

Multiplatform Markdown-Based Rich Text Solution

项目地址:https://gitcode.com/gh_mirrors/re/enriched-markdown
点击查看免费下载

Enriched Markdown是一款跨平台的 Markdown 富文本解决方案,它把 Markdown 渲染为原生文本(不依赖 WebView),既能高性能地"显示"Markdown 富文本,也能提供一个"输入输出 Markdown"的富文本编辑器,支持 React Native(iOS、Android、macOS、Web)以及独立的 iOS(Swift)和 Android(Kotlin)SDK。无论你是第一次接触富文本开发,还是想替换掉 WebView 方案,这篇指南都能带你从零搭好环境,跑通你的第一个 Markdown 屏幕 🚀

它有哪些核心组件?

Enriched Markdown 围绕两个组件展开,理解它们就理解了整个库:

  • EnrichedMarkdownText:只读展示组件。给它一个 Markdown 字符串,它就渲染成完全原生的富文本——标题、列表、代码块、表格、LaTeX 公式、语法高亮一应俱全。
  • EnrichedMarkdownTextInput:富文本编辑器。用户看到的是格式化后的文字,而它产出的始终是纯 Markdown 文本。

二者的关系可以用一句话概括:Markdown 是共享的"事实来源"——编辑器产出 Markdown,展示组件消费 Markdown,内容在两端之间流转无需任何格式转换。更多原理见 docs/docs/introduction/core-concepts.md。

平台要求与兼容性清单

安装前请先对照以下平台最低版本要求,全部满足才能顺利集成:

平台最低要求
React Native0.83 或更新版本(需启用 New Architecture / Fabric,默认已开启)
AndroidminSdk 24(Android 7.0)
iOSReact Native 的最低部署目标;contextMenuItems等部分功能需 iOS 16+
macOS14.0(通过 react-native-macos)
Web任意支持 WebAssembly 的浏览器;MathML 公式渲染需 Chrome 109+、Firefox 或 Safari

💡 其他注意事项:

  • 包本身没有运行时依赖,唯一的可选 peer 依赖是katex(Web 端排版 LaTeX 用,不用 Web 数学功能可以忽略缺失警告)。
  • 完整版本对照表见 docs/docs/misc/compatibility.mdx。

一键安装步骤(npm / yarn / pnpm)

在你的 React Native 项目根目录执行以下任一命令:

npm install react-native-enriched-markdown
yarn add react-native-enriched-markdown
pnpm add react-native-enriched-markdown

由于库包含原生代码,安装后需要重新构建 App。iOS 端先安装 pods:

cd ios && bundle exec pod install

两个容易踩的坑:

  1. 原生资源下载:安装时会运行postinstall脚本,下载代码高亮 grammar 和 iOS 端 LaTeX 框架(约 200 MB)。该脚本只警告、不报错,网络受限或被跳过时会得到一个"静默缺功能"的构建。可用npm rebuild react-native-enriched-markdown手动补跑,且建议在pod install或 Android 构建之前执行。
  2. pnpm 用户:pnpm 默认拦截依赖的生命周期脚本,需把该包加入onlyBuiltDependencies,否则postinstall不会执行。

使用 Expo 的项目用npx expo install react-native-enriched-markdown安装(会自动匹配 SDK 版本),并注意库含原生代码、不能运行在 Expo Go,请使用 development build。

想要浏览源码?克隆仓库:git clone https://gitcode.com/gh_mirrors/re/enriched-markdown,React Native 包位于 packages/react-native-enriched-markdown/,安装细节可参考 packages/react-native-enriched-markdown/README.md。

渲染你的第一个 Markdown 屏幕

打开项目,写一个最小示例:

import { EnrichedMarkdownText } from 'react-native-enriched-markdown'; import { Linking } from 'react-native'; <EnrichedMarkdownText markdown={"# Hello\n\nThis is **enriched** [markdown](https://commonmark.org)."} onLinkPress={({ url }) => Linking.openURL(url)} />

就这么多。markdown属性传入字符串,onLinkPress在读者点击链接时触发(这里交给系统浏览器打开)。

每个元素(标题、引用、列表、表格……)都可以通过markdownStyle属性定制样式,完整属性列表见官方文档 docs/docs/react-native/api-reference/style-properties.md。

📌 小提示:库支持两种语法方言——CommonMark(默认)和GitHub Flavored Markdown(GFM,额外提供表格、任务列表、删除线)。传入flavor="github"即可启用 GFM。

搭建一个最简 Markdown 编辑器

EnrichedMarkdownTextInput是"写作端"。它是一个非受控输入组件:不在 React state 中持有值,而是直接操作原生文本视图,配合ref以命令式方式控制格式。最小编辑器的两个关键模式:

  1. 通过 ref 调用方法应用格式:例如ref.current?.toggleBold(),对选中文字切换加粗;无选中时则为接下来输入的内容"预加"格式。
  2. 通过onChangeState回调读取格式状态:回调里每个样式(bold、italic等)都有一个isActive标记,这正是工具栏按钮能显示"加粗 / 取消加粗"的依据。

选中文字时,编辑器还自带原生格式工具条,也就是说你还没写任何 UI,基础格式化就已经能用了。完整的 ref 方法与事件见 docs-md/INPUT.md。

常见问题速答

  • 为什么链接不打开?展示组件不会替你打开链接,onLinkPress的 URL 需要交给Linking.openURL或你自己的路由。
  • 数学公式和代码高亮没效果?大概率是安装时postinstall脚本被跳过,原生资源没下载,补跑一次重建脚本即可(详见 docs-md/NATIVE_ASSETS.md)。
  • nightly 版本能上生产吗?@nightly每日自动发布、可能包含破坏性变更,只建议用于预览体验,见 docs-md/BREAKING_CHANGES.md。

下一步学什么

  • 📖 核心理念与 Markdown 语法速览:docs/docs/introduction/core-concepts.md
  • 📖 各平台功能支持总览:docs/docs/introduction/supported-features.md
  • 📖 完整安装文档(含 Expo 与 nightly 说明):docs/docs/react-native/basics/installation.mdx
  • 📖 组件 API 参考:docs/docs/react-native/api-reference/
  • 🧩 功能源码入口:packages/react-native-enriched-markdown/src/

到这里,你已经完成了 Enriched Markdown 的安装配置,并跑通了展示与编辑两个核心屏幕。把EnrichedMarkdownTextInput产出的 Markdown 存下来,再喂给EnrichedMarkdownText渲染,就是官方推荐的"编辑 → 序列化 → 存储 → 渲染"标准工作流,祝你搭建顺利 ✨

【免费下载链接】enriched-markdown

Multiplatform Markdown-Based Rich Text Solution

项目地址:https://gitcode.com/gh_mirrors/re/enriched-markdown
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 20:22:43

图卷积网络GCN在跨境电商商品推荐中的实战

做推荐系统的人应该都有过这种经历&#xff1a;拿到一个推荐需求&#xff0c;先习惯性地想“上协同过滤还是上深度模型”&#xff0c;但真正面对跨境电商这种海量长尾商品、用户交互极度稀疏的场景时&#xff0c;传统套路往往说翻车就翻车。我这次做的这个项目&#xff0c;标题…

作者头像 李华
网站建设 2026/10/15 20:22:23

Git与GitHub多人协作实战:从版本控制原理到团队规范

1. 为什么版本控制是多人协作的命脉1.1 从“最终版_真的最终版”说起如果你经历过团队协作开发&#xff0c;大概率见过这样的文件命名&#xff1a;项目方案_v3_最终版_修改后_真的最终版.docx。这种靠复制粘贴和手动改名来管理版本的方式&#xff0c;在单人短周期任务里勉强能用…

作者头像 李华
网站建设 2026/10/15 20:22:13

AFR源码批量替换工具实战指南:正则回填、混合编码与安全重构

简介&#xff1a;AFR - Advanced Find and Replace 中文绿色正式版是一款面向程序员、开发工程师及技术文档处理人员的轻量级文本批量处理工具&#xff0c;专为解决源码级多文件查找与精准替换难题而设计。它支持正则表达式、通配符匹配、文件类型过滤与替换前预览&#xff0c;…

作者头像 李华
网站建设 2026/10/15 20:20:54

WeChatMsg 使用指南:把微信聊天记录导出为 HTML、Word 和 CSV

WeChatMsg 使用指南&#xff1a;把微信聊天记录导出为 HTML、Word 和 CSV 【免费下载链接】llm-graph-builder Neo4j graph construction from unstructured data using LLMs 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-graph-builder 准备换新手机&#xf…

作者头像 李华
网站建设 2026/10/15 20:19:54

基于深度学习的智能仓储异常检测系统实践

引言在全球化与电商经济的推动下&#xff0c;物流行业正面临效率与安全的双重挑战。传统仓储管理依赖人工巡检和简单传感器监控&#xff0c;不仅效率低&#xff0c;而且难以应对复杂的动态环境。堆叠倾斜、高度超标等看似微小的异常&#xff0c;可能引发货物倒塌、设备损坏甚至…

作者头像 李华