自定义头部链接

这通常是真的,CSS 不是隐藏任何内容的安全方法,因为精明的人可能会因为任何原因查看页面源代码……但我们确实会为爬虫提供一个无 JavaScript 的视图,所以在这种情况下,主题添加的内容通常不会被索引。

3 个赞

预览不起作用

3 个赞

我已经更新了预览链接,现在应该可以正常工作了!

3 个赞

是否可以使用此组件调用 javascript,例如使用 javascript:script('function'); 而不是实际的 URL?

(它似乎几乎可以工作,但我遇到了 CSP 违规。)


已编辑添加:
我成功了。如果以后有人遇到同样的问题,我使用了组件 UI 中的 # 来代替 URL,然后使用事件监听器调用 javascript 函数。

其他人可能知道更好的方法,如果他们知道,我希望他们能分享这些知识!

2 个赞

您好,我想调整标题链接的字体样式和大小。谁能帮我指出正确的 CSS 来实现这个功能?谢谢!

2 个赞

@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);
}
2 个赞

您好,能否将链接样式设置为居中而不是仅靠左/右对齐?

1 个赞

这真的很酷。我想知道允许每个组有不同的页眉链接列表需要多少额外的工作?我们的网站上有员工和学生,我们希望能够为每个组在页眉中提供不同的主要链接。

3 个赞

您可以让每个组使用不同的主题,每个主题使用其自身的主题组件副本。

如果您的两个组之一相当静态(或至少较小)——您的员工组似乎非常适合——或者您只有一个动态组,那么这样做效果会很好。

然后,您可以将学生链接设置为站点的默认主题,并让您的员工手动设置员工链接(通过用户界面或通过 Rails 控制台)。

6 个赞

我正要来问这个问题,因为我终于注意到它们出现在登录屏幕上

在我的例子中,其中一个链接每个月都会更改(而标题名称保持不变)。是否可以使用代码隐藏标题而不必编辑以隐藏链接?例如,使用您的示例,我将有

Customer Support
我的链接是 2022-customer-support/26903,然后是 customer-support-july 等。

所以,正如您所见,隐藏 customer-support-june 可以正常工作,但它必须每月更新一次,而不是像我只是隐藏“FAQ”那样(而且我也无法将 /26903 从主题添加到 CSS 代码中,因此我无法隐藏此特定链接,尽管我可以通过发布页面来解决此问题?)。如果没有其他方法,这根本不是什么大问题,也不是什么费力的事情,而是我保证会忘记。

2 个赞

你好,我想知道是否可以获得文本的翻译?也许通过包含翻译键,如果组件包含它们 :slight_smile:

2 个赞

**为什么默认情况下它不显示给未登录用户?

忽略,不知何故,当我将组件应用于主题时,它没有出现。我必须将组件添加到主题中。

1 个赞

使用 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);
}

它会做类似这样的事情:

image

image

1 个赞

我刚安装了这个组件并添加了一些链接,但它们没有显示出来。

我发现输入语言会阻止链接显示在我的网站上。最初,我添加了“blank”以求完整,即使它不是必需的。当我将 blank 改为“en”时,它们仍然没有显示。在这种情况下,完全删除该值可以解决问题。我不知道为什么,但我想我应该提到这一点,以防其他人遇到类似的问题。

2 个赞

我前几天也遇到了同样的问题:

看看我们是否可以更改默认示例,使其更直观。

2 个赞

我已经从这里的默认设置中移除了 locale:UX: remove locale from default settings by awesomerobot · Pull Request #38 · discourse/discourse-custom-header-links · GitHub

因此,无论网站设置为哪种 locale,默认设置都应该会出现。感谢 @packman@JammyDodger

2 个赞

上次升级后我的链接消失了(PC、Ubuntu、Brave)
请检查一下?

@cmdntd – 请参阅 分拆主题。您可能在“管理 | 升级”下有可用的 Discourse 升级,这将解决此问题。

1 个赞

最近我的自定义链接被三个默认链接替换了。在预览中,它可以正常工作。

这是一个托管网站,我刚刚意识到主题可能已更改,因此自定义标题链接无法识别它。我将对此进行检查并回复。

嘎!我在不同的主题中预览了该插件,它们都运行正常。我注销了,它也运行正常。我切换了浏览器,它也运行正常。这里有薛定谔的猫的强烈既视感。

1 个赞