-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature]: Supports internal nested use components such as txt, and supports parsing the content within the component #1362
Comments
Please provide some demo codes or repo. |
稍后,明天提供 |
1. 支持md语法内嵌套使用组件,并且组件内容被md渲染这样做是有实际场景的,例如我有一个Text的组件,他的作用很简单,就是对于一些特定的词进行span标签包裹起来,然后重点标记。 例如,我在md写一行文本,会最终会p标签包裹起来,大概这样 <p>hello<p> 但是如果我在正文内使用 2. 支持 ``` 嵌套使用组件我很喜欢press的配色,我在使用 ``` txt包裹一段文本,看起来很舒服,但是如果我在里面嵌套使用组件不回被解析,所以希望可以支持这个功能。 或者如果不支持上述功能,因为你渲染自动给p标签添加了一些class,我有什么办法,能直接用你的内置组件呢? |
你说的包括你之前的 issue #1361 都在试图在 mdx 编译层面,对于 mdx 以及 mdx 插件解析的语法,试图应用 react 组件动态化的结果,这是两个阶段的事情。 比如你的源码是
经过
然后去应用 https://github.com/web-infra-dev/rspress/tree/main/packages/theme-default/src/layout/DocLayout/docComponents 的样式最终生成 html 文件 |
老哥看你说的这段话我大概明白意思,不过我比较困惑的是,对于静态文档资源,react组件基本上是固定的内容,经过mdx解析之后被处理是有什么其他问题吗。 |
没太理解你的意思,什么叫「固定的内容」,「之后被处理」是啥意思,你觉得应该怎么做呢 |
就是类似于next说的ssg,它允许你有服务器组件和客户端组件,对于服务器组件默认情况下是不可不变的,这块应该你们也是支持的。 之前说的# 如果能在运行的时候直接运行组件得到一个结果值,对于变化的也无所谓直接当成客户端组件,运行时候变化也没啥。 说的可能有点不够清晰,没有深入解除过这块,只是我觉得对于我使用的tsx组件,在build的时候都可以得到一个固定化的内容,那在mdx解析阶段应该也是可以做到吧。 = = |
你的需求本身我是理解的,但是你说的「在mdx解析阶段应该也是可以做到」非常难实现,你应该是把动态化的组件使用 mdx 文件去引入片段,tsx 肯定是做不到的。 |
是的,其实我在编写一个学习的文档地址,例如对于标题,如果是本课新词我想让他高亮显示。 |
PR is welcome. |
@Timeless0911 老哥我去问了下gpt,它给了一个回答,不过我对mdx的生态不太了解,你帮忙瞅瞅可行否 |
You can try it yourself. |
这个功能解决了什么问题?
txt使用组件,可以跟md更好结合,考虑一个场景,我用组件写了三个li,但是我希望它被
sh包裹起来,但是目前的实现,就直接不会解析组件内的组件。你期望的 API 是什么样子的?
暂无
The text was updated successfully, but these errors were encountered: