Files
FixIt/layouts/_partials/single/collection-list.html
T
Cell 5f1e79f49c feat(i18n): add RTL support for Arabic, Persian and Urdu (#831)
* feat(i18n): add RTL support and Arabic/Persian translations

- Add `dir` attribute to `<html>` via `.Site.Language.Direction`
- Convert physical CSS properties to logical properties across ~30 SCSS files
- Add `[dir="rtl"]` overrides for elements that need physical direction (code blocks, translate, icons)
- Add `logical-direction.html` template function for config value normalization
- Add RTL-aware deprecation warnings for old "left"/"right" config values
- Rename github corner, TOC position, reading progress config values from "left"/"right" to "start"/"end"
- Add Arabic (ar.toml) and Persian (fa.toml) i18n translation files
- Update multilingual documentation with RTL language configuration guide

* feat(shortcodes): add RTL support for tabs and refactor border-radius mixin

- Rename tabs placement values from "left"/"right" to "start"/"end" with deprecation warnings
- Convert all physical directional properties in tabs SCSS to logical properties
- Add RTL overrides for translate and box-shadow in tabs
- Add "start"/"end" support to border-radius mixin using CSS logical properties
- Refactor fixit-decryptor to use border-radius(start/end) mixin

* feat(assets): add RTL support for toc-dialog slide animation

The mobile toc-dialog always slid in from the right (100vw). In RTL
mode it should slide from the left (-100vw), matching the
border-inline-start/margin-inline-end anchoring.

* feat(assets): add RTL support for post-tag comma separator

* refactor(assets): extract RTL styles into dedicated _rtl.scss

* feat(assets): add RTL support for theme-switch and directional icons

* feat(i18n): add RTL support and improve i18n

- Add RTL typography corrections for Arabic-script languages (:lang(ar/fa/ur))
- Remove fa-list-ol from RTL flip list (numbers get mirrored)
- Add Urdu translation file (i18n/ur.toml)
- Rename noMoretTranslations to noTranslations and simplify all translations
- Update json-viewer-element from 1.0.4 to 1.0.6
- Add RTL test posts (index.en.md, index.ar.md)
- Fix layout partials for RTL support

See https://fixit.lruihao.cn/docs/content-management/introduction/#rtl-language-support
2026-08-24 00:22:34 +08:00

59 lines
3.0 KiB
HTML

{{- /* Collection List */ -}}
{{- if .Params.collections | and (.Param "collection_list") -}}
{{- $collectionTerms := .GetTerms "collections" -}}
{{- range $collectionTerms -}}
{{- $pages := (where .Pages "Params.Weight" "!=" nil) | append (where .Pages "Params.Weight" "eq" nil).ByDate -}}
{{- $open := eq (index $collectionTerms 0) . -}}
{{- $currentKey := 0 -}}
{{- if lt $pages.Len 2 -}}
{{- continue -}}
{{- end -}}
<div class="details collection-details{{ if $open }} open{{ end }}">
<div class="details-summary collection-summary">
{{ dict "Class" "fa-solid fa-layer-group" | partial "plugin/icon.html" }}
<span class="collection-name" title="{{ T "collections" }}">{{ .LinkTitle }}</span>
<span class="collection-count">{{ $pages.Len }}</span>
{{- dict "Class" "details-icon fa-solid fa-angle-right" | partial "plugin/icon.html" -}}
</div>
<div class="details-content collection-content">
<nav>
<ul class="collection-list">
{{- range $key, $page := $pages -}}
{{- $capitalizeTitles := $page.Param "capitalize_titles" -}}
{{- $title := $page.Params.shortTitle | default $page.LinkTitle -}}
{{- $title = cond $capitalizeTitles (title $title) $title -}}
<li class="collection-item">
{{- if $.Eq $page -}}
{{- $currentKey = $key -}}
<span class="active" title="{{ $title }}">{{ $title }}</span>
{{- else -}}
<a href="{{ $page.RelPermalink }}" title="{{ $title }}">{{ $title }}</a>
{{- end -}}
</li>
{{- end -}}
</ul>
<div class="collection-nav-simple">
{{- with $pages.Next $ -}}
{{- $capitalizeTitles := .Param "capitalize_titles" -}}
<a href="{{ .RelPermalink }}" class="collection-nav-item" rel="prev" title="{{ cond $capitalizeTitles (title .LinkTitle) .LinkTitle }}">
{{- dict "Class" "fa-solid fa-angle-left" | partial "plugin/icon.html" -}}
</a>
{{- else -}}
{{- dict "Class" "fa-solid fa-angle-left collection-nav-item text-secondary" | partial "plugin/icon.html" -}}
{{- end -}}
<span class="text-secondary">{{ add $currentKey 1 }}/{{ $pages.Len }}</span>
{{- with $pages.Prev $ -}}
{{- $capitalizeTitles := .Param "capitalize_titles" -}}
<a href="{{ .RelPermalink }}" class="collection-nav-item" rel="next" title="{{ cond $capitalizeTitles (title .LinkTitle) .LinkTitle }}">
{{- dict "Class" "fa-solid fa-angle-right" | partial "plugin/icon.html" -}}
</a>
{{- else -}}
{{- dict "Class" "fa-solid fa-angle-right collection-nav-item text-secondary" | partial "plugin/icon.html" -}}
{{- end -}}
</div>
</nav>
</div>
</div>
{{- end -}}
{{- end -}}