在徽标旁边的标题中添加文本

我刚为主题做了这个。我正在使用网站的标题和简短描述,但您也可以插入主题设置或本地化文本中的值。

components/header-logo-title.gjs 中添加一个 glimmer 组件

import Component from "@glimmer/component";
import { service } from "@ember/service";

export default class HeaderLogoTitle extends Component {
  @service siteSettings;

  <template>
    {{#unless @outletArgs.minimized}}
      <div class="header-logo-title">
        <span
          class="header-logo-title__title"
        >{{this.siteSettings.title}}</span>
        {{#if this.siteSettings.short_site_description}}
          <span
            class="header-logo-title__description"
          >{{this.siteSettings.short_site_description}}</span>
        {{/if}}
      </div>
    {{/unless}}
  </template>
}

/api-initializers/my-theme.js 中将其附加到 outlet

import { apiInitializer } from "discourse/lib/api";
import HeaderLogoTitle from "../components/header-logo-title";

export default apiInitializer("1.26.0", (api) => {
  api.renderAfterWrapperOutlet("home-logo", HeaderLogoTitle);
});

#unless 助手会检查 logo 的最小化状态,并且仅在完整 logo 可见时添加文本。如果您想始终显示它,则需要删除该条件。

4 个赞