这通常是真的,CSS 不是隐藏任何内容的安全方法,因为精明的人可能会因为任何原因查看页面源代码……但我们确实会为爬虫提供一个无 JavaScript 的视图,所以在这种情况下,主题添加的内容通常不会被索引。
我已经更新了预览链接,现在应该可以正常工作了!
是否可以使用此组件调用 javascript,例如使用 javascript:script('function'); 而不是实际的 URL?
(它似乎几乎可以工作,但我遇到了 CSP 违规。)
已编辑添加:
我成功了。如果以后有人遇到同样的问题,我使用了组件 UI 中的 # 来代替 URL,然后使用事件监听器调用 javascript 函数。
其他人可能知道更好的方法,如果他们知道,我希望他们能分享这些知识!
您好,我想调整标题链接的字体样式和大小。谁能帮我指出正确的 CSS 来实现这个功能?谢谢!
嘿 @brentoshiro,属性将根据您需要设置的样式而有所不同,但选择链接的方式如下:
设置所有标题链接的样式:
.custom-header-links .headerLink a {
font-size: 1rem; // 替换为您选择的字体大小
color: #96b67b; // 也可以使用变量,例如 var(--tertiary);
font-style: italic; // 选项:normal, italic, oblique
}
设置特定链接的样式
您可以使用链接标题(用连字符分隔且小写)来访问链接,例如“Privacy”:
.custom-header-links .headerLink.privacy-custom-header-links a:hover {
color: red;
}
或使用 title 属性并输入链接标题:
.custom-header-links .headerLink a[title='Our Privacy Policy'] {
color: purple;
}
添加悬停样式,只需在 a 标签后添加 :hover:
.custom-header-links .headerLink a:hover {
color: var(--primary-low);
}
您好,能否将链接样式设置为居中而不是仅靠左/右对齐?
这真的很酷。我想知道允许每个组有不同的页眉链接列表需要多少额外的工作?我们的网站上有员工和学生,我们希望能够为每个组在页眉中提供不同的主要链接。
您可以让每个组使用不同的主题,每个主题使用其自身的主题组件副本。
如果您的两个组之一相当静态(或至少较小)——您的员工组似乎非常适合——或者您只有一个动态组,那么这样做效果会很好。
然后,您可以将学生链接设置为站点的默认主题,并让您的员工手动设置员工链接(通过用户界面或通过 Rails 控制台)。
我正要来问这个问题,因为我终于注意到它们出现在登录屏幕上
在我的例子中,其中一个链接每个月都会更改(而标题名称保持不变)。是否可以使用代码隐藏标题而不必编辑以隐藏链接?例如,使用您的示例,我将有
Customer Support
我的链接是 2022-customer-support/26903,然后是 customer-support-july 等。
所以,正如您所见,隐藏 customer-support-june 可以正常工作,但它必须每月更新一次,而不是像我只是隐藏“FAQ”那样(而且我也无法将 /26903 从主题添加到 CSS 代码中,因此我无法隐藏此特定链接,尽管我可以通过发布页面来解决此问题?)。如果没有其他方法,这根本不是什么大问题,也不是什么费力的事情,而是我保证会忘记。
你好,我想知道是否可以获得文本的翻译?也许通过包含翻译键,如果组件包含它们 ![]()
**为什么默认情况下它不显示给未登录用户?
忽略,不知何故,当我将组件应用于主题时,它没有出现。我必须将组件添加到主题中。
使用 UTF-8 图标
请注意,您可以使用 UTF-8 图标作为链接锚点。
在这种情况下,您可能希望尝试使用此 CSS 来匹配其他标题下拉图标:
.custom-header-links .headerLink {
margin-top: -1px;
}
.custom-header-links .headerLink a {
padding: 3px 10px;
color: var(--primary-low-mid);
font-size: var(--font-up-5);
font-weight: bold;
}
.custom-header-links .headerLink:hover {
background-color: var(--primary-low);
}
.custom-header-links .headerLink:hover a {
color: var(--primary-medium);
}
它会做类似这样的事情:


我刚安装了这个组件并添加了一些链接,但它们没有显示出来。
我发现输入语言会阻止链接显示在我的网站上。最初,我添加了“blank”以求完整,即使它不是必需的。当我将 blank 改为“en”时,它们仍然没有显示。在这种情况下,完全删除该值可以解决问题。我不知道为什么,但我想我应该提到这一点,以防其他人遇到类似的问题。
我前几天也遇到了同样的问题:
看看我们是否可以更改默认示例,使其更直观。
我已经从这里的默认设置中移除了 locale:UX: remove locale from default settings by awesomerobot · Pull Request #38 · discourse/discourse-custom-header-links · GitHub
因此,无论网站设置为哪种 locale,默认设置都应该会出现。感谢 @packman 和 @JammyDodger!
最近我的自定义链接被三个默认链接替换了。在预览中,它可以正常工作。
这是一个托管网站,我刚刚意识到主题可能已更改,因此自定义标题链接无法识别它。我将对此进行检查并回复。
嘎!我在不同的主题中预览了该插件,它们都运行正常。我注销了,它也运行正常。我切换了浏览器,它也运行正常。这里有薛定谔的猫的强烈既视感。
