¿Cómo agregar breadcrumb?

Investigando un poco más, se añadió un componente de migas de pan a Discourse a principios de este año: FEATURE: Introduce DBreadcrumbs components (#27049) · discourse/discourse@1239178 · GitHub. Actualmente solo se muestra en páginas seleccionadas de Administración.

Así que hice un componente de prueba para mostrar las migas de pan: Manuel Kostka / Discourse / Components / Breadcrumbs · GitLab. La plantilla actual es:

  <template>
    {{#if this.currentPage}}
      {{bodyClass "has-breadcrumbs"}}
      <ul class="breadcrumbs {{concat '--' settings.plugin_outlet}}">
        <li class="breadcrumbs__item --home">
          {{#if this.homePage}}
            {{i18n "js.home"}}
          {{else}}
            <a href="/">{{i18n "js.home"}}</a>
          {{/if}}
        </li>
        {{#if this.parentCategory}}
          <li class="breadcrumbs__item --parent">
            <a href="/c/{{this.parentCategoryLink}}">
              {{this.parentCategoryName}}</a>
          </li>
        {{/if}}
        {{#unless this.homePage}}
          <li class="breadcrumbs__item --current">
            {{this.currentPage}}
          </li>
        {{/unless}}
      </ul>
    {{/if}}
  </template>

Ahora hice una rama que usa el nuevo componente dbreadcrumbs: Files · dbreadcrumbs · Manuel Kostka / Discourse / Components / Breadcrumbs · GitLab. Eso haría la plantilla más concisa y, supongo, proporcionaría una mejor consistencia y accesibilidad:

  <template>
    {{#if this.currentPage}}
      {{bodyClass "has-breadcrumbs"}}
      <DBreadcrumbsContainer class="{{concat '--' settings.plugin_outlet}}" />
      <DBreadcrumbsItem @path="/" @label={{i18n "js.home"}} />
      {{#if this.parentCategory}}
        <DBreadcrumbsItem
          @path="/c/{{this.parentCategoryLink}}"
          @label={{this.parentCategoryName}}
        />
      {{/if}}
      {{#unless this.homePage}}
        <DBreadcrumbsItem @path="" @label={{this.currentPage}} />
      {{/unless}}
    {{/if}}
  </template>

Sin embargo, al usar DBreadcrumbsItem, el orden de la categoría padre y la subcategoría se mezclan en el componente renderizado. La categoría actual se inserta primero:

Me pregunto si se debe a ese comportamiento, indicado en el mensaje del commit?

  • DBreadcrumbsItem - El componente que registra un LinkTo
    para la ruta de las migas de pan. La ruta de las migas de pan
    se mostrará según el orden en que se rendericen estos elementos en la página.