页面发布

我想用“页面发布”功能替换 procourse-static-pages。是否有可能为“已发布页面”添加默认的 Discourse 页头?我的意思是,在左侧显示标志,在右侧显示搜索框、汉堡菜单图标、用户头像以及这些按钮的相关功能。这样就能完全替代 procourse-static-pages。

此外,如果能将 DiscoTOC 也用于已发布页面,那就太好了。

7 个赞

非常感谢这个功能!它让我们能够创建独立于首页的优秀落地页。因此,如果能提供适用于社交媒体分享、SEO 或 Google Discover 的相应元数据就更好了(据我观察,在过去几个月里,就流量而言,Google Discover 在我所在国家似乎比 Google 搜索变得更加重要)。请问是否有计划提供自定义的元标题/描述以及针对各大社交网络的自定义元标签,甚至允许用户编辑这些内容?

8 个赞

关于在已发布页面上包含 Discourse 标题的功能,有任何更新吗?

6 个赞

是否有可能在已发布的页面中渲染 LaTeX?如果能用 LaTeX 撰写数学文章就太棒了。

2 个赞

请问,是否有一个URL可以列出管理员发布的所有页面?这样管理员就能轻松查看他们发布的所有页面。
类似WordPress的功能?
如果没有,如果能在URL example.com/pub/ 下列出所有已发布的页面,那就太好了。

6 个赞

是否有任何计划允许在正常的 Discourse Ember 布局中渲染这些已发布的页面?看起来无法像其他应用部分那样直接将它们嵌入布局中,实在有些遗憾。我在这个讨论串中看到不少人提出过这个问题,但似乎还没有人给出直接的答复。

在我调研过的其他静态页面插件中,它们似乎也都是在自己的 Rails 布局中渲染静态内容的。这是 Discourse 平台的限制,还是仅仅因为还没有人实现这一功能?

如果不存在将已发布页面在正常应用布局(含头部)中渲染的硬性限制,那么我该如何着手推动这一功能的实现呢?

谢谢 :smiley:

3 个赞

您可以按照原始帖子的说明修改样式:Page Publishing

2 个赞

感谢 @hellekin。不过,这并没有解决我回复中的核心问题。我询问的是:是否可以将已发布的页面渲染在正常的 Ember.js 应用布局中(包含标志、搜索栏、汉堡菜单导航和用户导航),而不是如何自定义独立的已发布页面布局。

我希望静态内容能够像分类页面或主题详情页那样,在正常的应用布局中渲染。我想使用所有现有的插件和主题组件,它们都能与主 Ember 应用布局进行交互。

4 个赞

我认为已发布页面的目的是移除 Discourse 的用户界面。

虽然我也认为拥有一些功能(例如来自主题组件或插件的功能)会很好,但在我看来,链接到话题会是更适合你情况的方案。或许你可以考虑探索一下为已关闭话题设置样式?

3 个赞

已发布的页面能否保持网站标题不变?还是我漏掉了什么技巧?

6 个赞

页面发布功能非常棒——话题作为独立页面展示效果很好。但我未能如愿使用它:

  1. 我原本认为一个很酷的应用场景是将页面发布设置为论坛的着陆页——这样用户在登录前就能看到我已发布并经过样式设计的话题。这是否可行?

  2. 原始帖子中提到可以对该页面进行样式设计。有没有办法在该页面中添加 jQuery 或 JavaScript?(编辑:我看到之前的讨论中提到,有人曾提出希望在页面中添加 jQuery 和 JavaScript 的需求,但截至去年尚未实现——基本上,人们似乎一直希望拥有一个静态页面,同时具备与正常话题相同的自定义可能性,这也是我所期望的。)

3 个赞

有的,尽管这一点并不显而易见。

5 个赞

从已发布的页面链接回原始帖子是否有首选方式?

我发现自己经常需要这样做,以鼓励读者回复,同时又能控制只读的已发布页面的样式。我尝试了几种方法,包括在显眼位置链接到主题或仅使用“讨论”链接。

也许可以添加一个始终可见(但仍可通过 CSS 修改)的“讨论”按钮。是否有人已经实现了这样的 CSS 技巧?

6 个赞

2 篇帖子已拆分为新主题:已发布的页面能否与关于/常见问题解答/服务条款/隐私一起显示?

根据页面的性质,我会在合适的地方放置一个链接。有些在顶部,就像这里:

有些在底部,就像这里:

你可以通过为特定标签编写 CSS 来“模拟”一个按钮,就像我为这个类别的标题所做的那样:

https://foro.enunionylibertad.com/c/uni2-cordoba/6

文本:

Ciudadanos con la convicción de que la República Argentina puede, debe, y va a ser un lugar mejor, si trabajamos todos Unidos en pos de la Libertad.
    [**Afiliación**](https://foro.enunionylibertad.com/t/formulario-de-pre-afiliacion/92)

(重要的是 <mark> 标签)

用于上述 <mark> 标签的 CSS:

/* Code to CHANGE "mark" tag render to something that looks like a "menu bar" */
mark {
  display: inline-block;
  background-color: #E1E1E1 !important;
  color: black;
  border-radius: 20px !important;
  padding-top: 5px;
  padding-bottom: 5px;
}
3 个赞

页面发布的一种替代方法是使用 CSS 来删除常规主题帖子中不需要的元素,同时保留所有功能(例如,已安装主题组件中的 Javascript 和 CSS 样式等)。

作曲家中的标签可用于有选择地将格式应用于特定的主题帖子。

例如,在我的网站上,我通过将以下 CSS 粘贴到我的主题 CSS 的通用选项卡中来实现这一点:

/********************** 使用标签从布局中删除内容 **********************/

.tag-no-header {
    .d-header {
        display: none !important;
    }
    #post_1 nav.post-controls .actions button.edit {
    top: 0px !important;
    }
    .topic-body h1 {
        padding-top: 0 !important;
    }
}

.tag-no-sidebars {
    aside.sidebar {
        display: none !important;
    }
}

.tag-no-category {
    .topic-category {
        display: none !important;
    }
}

.tag-no-timeline {
    .topic-navigation {
        display:none !important;
    }
    .container.posts {
        grid-template-columns: 100% !important;
    }
    .topic-body {
    width: 100% !important;
    }
}

.tag-no-post-links {
    .post-links-container {
        display:none !important;
    }
}

.tag-no-box-shadow {
    .topic-body {
        width: 100% !important;
        border-top: none !important;
        box-shadow: none !important;
        background-color: unset !important;
    }
}

.tag-no-topic-meta-data {
    .topic-meta-data {
        display:none !important;
    }
}

.tag-no-side-margins {
    .wrap {
        max-width: unset !important;
        padding: 0 10px !important;
    }
    .content-wrapper {
        display: block !important;
    }
    #main-outlet-wrapper {
        width: 100% !important;
    }
    .topic-body {
        width: 100% !important;
    }
}

.tag-no-footer-buttons {
    #topic-footer-buttons {
        display: none !important;
    }
}

然后我创建标签,我可以有选择地应用于主题帖子,以匹配以上代码中的 CSS 选择器…

no-header
no-sidebars
no-category
no-timeline
no-post-links
no-box-shadow
no-topic-meta-data
no-side-margins
no-footer-buttons


所以这里是同一主题帖子的两个不同版本…

之前(未应用标签):

之后(应用所有标签)- 我也可以将其作为 iframe 嵌入到我网站上的其他帖子中 :nerd_face::

25 个赞

:star_struck:

这真是太酷了,打破常规的思维 :smiley:

4 个赞

非常感谢您,@Richie!!“开箱即用”就是我的整个世界!

2 个赞

您的代码中有一个拼写错误,多了一个分号:

    .topic-body h1 {
        padding-top: 0 !important;
    }

还有,

您是不是忘了上传图片?除非您页面的“之后”版本只是音乐 :smile:


我稍微玩了一下您的代码,简直 :sparkles: 太棒了!:sparkles:

我们可以根据您的需要,为使用此技巧添加一些建议。

  • 您的主题可以被关闭,以防止人们绕过 CSS 规则并回复它们。

  • 您的主题可以被设为不公开,以免在主题列表中增加干扰或出现在搜索结果中。

  • 标签可以放在一个普通用户不可见的标签组中,以减少标签列表中的干扰。

  • 您可以隐藏一些只有普通用户(而不是管理员)才能看到的元素(例如帖子菜单)。

这些是我很快想到的,但我想还有其他事情可以考虑。

4 个赞

感谢 @Canapin :sparkling_heart: 我已修复代码中的拼写错误。

类别和子类别也可以通过使用 category- 在 CSS 中使用

例如…

.category-books .main-content,
.category-my-great-book .main-content {
    width:100% !important;
}

我还在我的网站上广泛使用了这个技巧,用于在编辑器中即时设置内容和嵌入内容的样式…

我的网站有一个部分记录我的开发(主要是为了让我未来的自己能够回忆起并找到我已经完成的工作,这样我就不必继续重复发明轮子了!)但欢迎任何人访问或订阅该类别,如果你愿意…

3 个赞