web-infra-dev / rspress

🦀💨 A fast Rspack-based static site generator.
https://rspress.dev
MIT License
1.34k stars 118 forks source link

[Feature]: 能支持下图 docute 工具的引入方式吗 #417

Open godkun opened 9 months ago

godkun commented 9 months ago

这个功能解决了什么问题?

下图是 docute 的一种引入方式:

image

我希望 rspress 也可以支持这种方式:

1、只需要渲染,不需要去下载依赖

你期望的 API 是什么样子的?

类似下面写法:

<!DOCTYPE>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Components</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/rspress.css">
  </head>
  <body>
    <div id="docute"></div>
    <script src="https://cdn.jsdelivr.net/npm/rspress.js"></script>
    <script>
      new Rspress({})
    </script>
  </body>
</html>
sanyuan0704 commented 9 months ago

很好的提议!目前来看,Rspress 架构中实现这个能力比较困难,主要是因为「主题」和「 mdx 编译插件」依赖了编译时信息,但确实是一个很好的开发方式,对一些比较简单的站点中开发成本会更低,未来的长期规划(Rspress 2.0)中我们会考虑将 Rspress 的渲染能力进行抽象,实现浏览器运行时输入配置 + 渲染文档的能力。

godkun commented 9 months ago

是滴,这是一个非常棒的功能,我只需要实现下图这样的文档结构,就可以使用 image

这可以让我不再需要安装依赖,避免和现有项目存在的潜在依赖冲突问题,也可以实现运行时渲染文档能力,还可以做一些其他有趣的事情