JstTan
(jsttan)
1
您好,Discourse 社区!
我计划在自托管的 Discourse 实例之上构建一个平台,其中将包含各种自定义功能,如搜索引擎、文档资源、维基百科等。这些功能主要使用 HTML、CSS 和 JavaScript 作为静态页面进行开发。
我的目标是将这些自定义页面直接集成到 Discourse 论坛中,使它们显示为原生页面,而不是帖子,从而创造一种无缝的用户体验,让它们感觉像是论坛不可或缺的一部分。我希望论坛用户能够访问这些静态页面,并确保所有 JavaScript 功能都能按预期运行。
有人能就此方法在 Discourse 中是否可行,或者我应该研究哪些特定的插件、最佳实践或配置提供建议吗?任何关于嵌入和显示自定义 HTML/JS 页面而不使其看起来像帖子的指导都将不胜感激!
提前感谢您的任何见解!
Jagster
(Jakke Lehtonen)
2
我不知道(但你可以嵌入),但出于猫杀好奇心:你说的动态应用的静态页面是什么意思?
JstTan
(jsttan)
3
我计划实现的所有功能,如上所述,都是静态代码,这意味着所有功能都是通过 HTML、CSS 和原生 JS 构建的。我想知道是否可以创建一个静态页面,并将提到的功能的自定义代码添加到我自己的 Discourse 实例中。
Jagster
(Jakke Lehtonen)
4
抱歉继续说这个,但是 Discourse 不是静态的。它是动态的。大多数 JS 解决方案或 PHP 解决方案也是如此。
那么,这现在是术语问题吗?您只是想将 Discourse 论坛本身嵌入到一个网页中,与其他所有内容放在一起?您可以显示主题,但据我所知,您将错过 Discourse 的几乎所有其他功能。
2 个赞
JstTan
(jsttan)
6
不,我计划实现的这个代码,就像我想添加到我的 Discourse 论坛的页面一样,是一个静态页面,所以不会有任何服务器端渲染等。\n\n不,我想将网页添加到我的 Discourse 论坛实例中。实际上与你说的相反。
JstTan
(jsttan)
7
这很酷,但我实际上在考虑另一件事,比如在 Discourse 中添加和创建静态页面。该页面还需要添加自定义 HTML、CSS 和 JavaScript。
JstTan
(jsttan)
9
嗯,我注意到我的问题可能非常令人困惑,所以我已经编辑了问题,并用 ChatGPT 重新生成的消息进行了更新。这是编辑后的问题:
您好,Discourse 社区!
我计划在自托管的 Discourse 实例之上构建一个平台,其中将包含各种自定义功能,如搜索引擎、文档资源、维基百科等。这些功能主要以静态页面的形式使用 HTML、CSS 和 JavaScript 开发。
我的目标是将这些自定义页面直接集成到 Discourse 论坛中,使它们显示为原生页面,而不是帖子,从而创造无缝的用户体验,让它们感觉像是论坛不可或缺的一部分。我希望论坛用户能够访问这些静态页面,并确保所有 JavaScript 功能都能按预期运行。
有人能就此方法在 Discourse 中是否可行,或者是否有特定的插件、最佳实践或配置需要我研究,给出建议吗?任何关于嵌入和显示自定义 HTML/JS 页面而不使其看起来像帖子的指导都将不胜感激!
提前感谢您的任何见解!
pfaffman
(Jay Pfaffman)
11
这些听起来都是 Discourse 已经具备的功能。
最简单的方法就是将它们托管在别处,然后通过一个主题组件添加链接,并让该网站看起来与你的 Discourse 网站相同。用户不会注意到 URL,所以如果你在其他网站上保持导航,让用户能够返回 Discourse,那么它就能正常工作,不需要什么花哨的东西。
我不确定那是什么意思,但如果你真的想在 Discourse 中添加任何自定义功能,那么你需要将它们创建为插件或主题组件。
不清楚你的目标是什么。
2 个赞
如果您使用 Landing Pages 插件的 Home Pages 扩展,它就能做到这一点。
参见:
3 个赞
JstTan
(jsttan)
14
您好,
抱歉回复晚了。我列出的功能是我想要实现的一些功能示例,总共有大约 20 个。它们都是用原生 JS、HTML 和 CSS 编写的,不需要任何服务器端渲染。
我希望直接将其集成到 Discourse 中,例如在 Discourse 中创建一个页面,然后编辑该页面以添加所有自定义代码,并与 Discourse 一起部署。这样对我来说更容易维护,因为所有东西都在一个地方,而我的用户可以直接通过 Discourse 论坛访问内容,而无需离开。这可以通过 Discourse 实现吗?如果可以,如何实现?
我想在我要托管的 Discourse 论坛中添加自定义功能。这些自定义功能是直接通过 HTML、CSS 和原生 JS 构建的。我想知道是否可以直接实现,而无需创建插件。
JstTan
(jsttan)
15
我想将功能代码(JavaScript、HTML、CSS)直接实现到单个页面的源代码中,每个功能都有自己的页面。
我认为上面链接的“着陆页插件”是 Discourse 中已有的、最接近您所描述的方法。
1 个赞
我使用的另一种方法(我认为?)您在此描述的是使用 Ghost Blog/CMS 来创建和托管我想要显示自定义页面的单个页面或帖子。Ghost 非常适合此目的,因为它在每个页面上灵活地包含和插入所有三种代码(JS、CSS 和 HTML),以及/或通过“页眉代码注入”、“页脚代码注入”和页面/帖子编辑器中的内联代码/脚本包含来按部分/标签特定和/或全站范围包含。
然后,您可以在 Discourse 中有多种选项来嵌入或以其他方式无缝包含这些外部页面到您的 Discourse 站点中。然后,您可以使用 RSS、嵌入式评论、iframe、链接页面或其他方法。
我认为 Discourse 和 Ghost 的这种组合/配对可以为需要“即时”编码和任意 JavaScript 注入灵活性的特定用例提供理想的平台。
一旦我理解了这两个平台(Ghost 和 Discourse)截然相反又互补的自然优势和局限性,以及如何将它们结合和集成,我就再也没有找到更好的解决方案。
这样,您就可以获得 Discourse 极其强大的完整内容组织和社区平台功能,以及 Ghost 即时内联代码编辑方法的简单性,以及在单个页面上包含 JS、CSS 和 HTML(甚至 Markdown)的灵活性。
一个真正的优势是,这两个平台都是开源的,并且都基于 GitHub,它们拥有同样强大、活跃、友好和支持性的社区,您可以在其中参与、获得支持并快速无休止地学习。
1 个赞