使用自定义 SVG 图像为 Discourse 启动画面添加品牌标识

此功能在 Meta Personal branding for the splash screen 上被高度请求。

我们现在添加了添加静态或动画 SVG 作为启动画面图像的选项,以替换默认的加载点指示器:

如果使用静态 SVG,它会出现在加载点动画的上方:

否则,如果使用动画 SVG,它会完全替换这些点:

请注意,出于性能原因,动画 SVG 应仅使用 CSS transform 或 opacity 动画。[^\text{1}]

您可以通过我们的“即将进行的更改”系统(/admin/config/upcoming-changes)启用此功能:

splash screen image(启动画面图像)站点设置用于此目的。您可以在 SVG 中使用 var(--primary)var(--secondary)var(--tertiary) CSS 变量来引用主题的颜色并适应深色模式。

需要注意的是,启用此功能可能会影响您的 LCP 分数,因此最好的尝试方法是进行更改,等待一段时间,然后检查它是否对 LCP 或 Google Search Console 中的索引有任何影响。

27 个赞

hmmmmm Discourse Logo with Throbber

1 个赞

如何替换这些点?对我来说只显示放置我的 svg 标志

1 个赞

你好 :waving_hand:

所以如果你使用动画 SVG,它将被替换。

2 个赞

我应用了一个 SVG 动画,但它看起来非常小。

有没有办法把它放大?

2 个赞

我们目前没有添加自定义 CSS 的方法,因为此屏幕在应用程序的大部分内容加载之前加载,并且存在更多限制。您能在这里分享您正在使用的 SVG 图像(或私信我)吗?我可以进行一些测试,看看我们的默认设置是否可以提供更多兼容性。

3 个赞


在这里

2 个赞

感谢您的参考!

我正在添加一个更改,它将允许稍大一点的尺寸,并更好地居中带有静态标志的屏幕:UX: better centering and slightly larger experimental splash by awesomerobot · Pull Request #37574 · discourse/discourse · GitHub

我还注意到您的 SVG 顶部有很大的空白,这影响了居中,不确定这是否是故意的,但这个版本将其移除了

かい鯖グループフォーラムのsvgにしたいけど、penguinmode_cleaned (3) (1)

1 个赞

非常感谢!

1 个赞

请注意,我们在允许的 SVG 动画方面有了一个细微的改动(我已经更新了 OP 以反映这一点)。最初我们允许 SVG 中的 SMIL 动画,但事实证明这些动画会卡顿,因为浏览器在 JavaScript 执行时会暂停此类动画。

因此,现在的建议是只在 SVG 中使用 CSS transformopacity 动画,因为这些不会被 JS 阻塞。

如果您看一下上面 @ばこん 的 SVG……它提供了一个可允许的动画的好例子:

@keyframes unique-slide {
  0% { transform: translateX(-80px); }
  100% { transform: translateX(260px); }
}

另外,请注意为您的动画指定唯一的名称,以免与 Discourse 中的其他动画冲突(“blink”、“rotate”、“fade”等名称可能过于通用)。使用像 unique- 这样的前缀是避免这种情况的好方法。

6 个赞

Google 刚刚发布了 Gemini Pro 3.1,他们对该模型的第一项重点介绍是动画 SVG。很自然地,我尝试为 https://discourse-on-a-pi5.falco.dev/ 制作一个加载器,仅用 2 个提示就得到了这个结果

与此新功能搭配得非常好!

14 个赞

那太棒了,法尔科 :exploding_head:

我需要看看 Gemini 能用 Discourse 标志做什么 :star_struck:

2 个赞

是的,我对结果非常满意!我用模型尝试这个很久了,这是第一个能很好处理的。

这是提示:

生成一个 SVG 动画,用作关于树莓派迷你板电脑论坛的加载动画。动画必须使用 SVG 内联 CSS 完成。

生成了:

然后我接着说:

太棒了!你能改变树莓派本身,红色的六边形,动画吗?它们从左上角向右下角对角移动,但不在中心,看起来很奇怪。也许我们可以让它们保持静态和居中,并使用更微妙的动画?

然后生成了我分享的版本:

唯一有争议的是 SVG 代码中有很多 CSS 注释,例如:

/* Base Animation & Board Styles */

当您将其保存为 SVG 文件时,这些注释是无效的,所以我手动删除了包含这些注释的 7 行。

3 个赞

你的结果比我好多了。

只迭代了几次就放弃了,这是我得到的最好的结果 :stuck_out_tongue:


抱歉,各位,把话题带偏了 :sweat_smile: 让我们回到欣赏 Falco 的作品和讨论启动画面吧!

6 个赞

恐怕 Discourse 的标志限制可能太严格了。

我试过

生成一个将在讨论论坛上用作加载动画的动画 SVG。该论坛运行在 Discourse 上,因此它可以在 SVG 中使用它的一些主题,比如彩虹色的对话气泡?动画必须使用 SVG 内联 CSS 完成。

得到了

6 个赞

我们应该举办一个动画的 Discourse 启动页设计大赛!

6 个赞

你有没有想过将 Gemini 设置为“专业”模式?它可能不是默认设置。

2 个赞

我尝试根据新的品牌风格制作了一个

splash|24x24,%

6 个赞

嗯……看来我也要加入这股潮流了 :laughing:

提示

将此转换为动画 SVG。

规则:

  • 它必须是动画 SVG
  • 它将充当页面之间的加载图标,因此需要微妙和最小化。

想法:

  • 我想保持整体形状不变,不失真
  • 我认为我们可以对 3 个内部形状做一些处理——某种旋转,类似于你用手柄在手中旋转乒乓球拍时会得到的效果

必须保持品牌标识,并且不要破坏其整体设计——这对品牌来说是至关重要的。

输出(3 次修改后):

7 个赞