mirror of
https://github.com/hugo-fixit/FixIt.git
synced 2026-08-24 15:28:57 +00:00
5f1e79f49c
* 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
79 lines
3.5 KiB
HTML
79 lines
3.5 KiB
HTML
<article class="single summary" itemscope itemtype="http://schema.org/Article">
|
|
{{- /* Featured image */ -}}
|
|
{{- if ne .Site.Params.home.posts.image_preview false -}}
|
|
{{- $cover := dict "Page" . "Preview" true | partial "function/get-cover.html" -}}
|
|
{{- if $cover.Source | or (gt (len $cover.Matches) 0) -}}
|
|
<div class="featured-image-preview">
|
|
<a href="{{ $.RelPermalink }}" aria-label="{{ $.Title }}">
|
|
{{- $optim := slice
|
|
(dict "Process" "fill 800x336 Center webp" "descriptor" "800w")
|
|
(dict "Process" "fill 1200x504 Center webp" "descriptor" "1200w")
|
|
(dict "Process" "fill 1600x672 Center webp" "descriptor" "1600w")
|
|
-}}
|
|
{{- dict "Src" $cover.Source "Title" $.Title "Resources" $.Resources "Matches" $cover.Matches "Loading" "eager" "Width" "800" "Height" "336" "Sizes" "(max-width: 679.9px) 100vw, (max-width: 959.9px) 80vw, (max-width: 1439.9px) 56vw, 800px" "OptimConfig" $optim "Alt" (printf "Featured image for %v" $.Title) | partial "plugin/image.html" -}}
|
|
</a>
|
|
</div>
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- /* Title */ -}}
|
|
<h2 class="single-title" itemprop="name headline">
|
|
{{- with .Params.weight -}}
|
|
{{- $icon := dict "Class" "fa-solid fa-thumbtack" -}}
|
|
<span title="{{ T `single.pin` }}" class="icon-pin">{{- $icon | partial "plugin/icon.html" -}}</span>
|
|
{{- end -}}
|
|
{{- $repost := .Params.repost | default dict -}}
|
|
{{- with $repost -}}
|
|
{{- if eq .Enable true -}}
|
|
{{- $icon := dict "Class" "fa-solid fa-retweet" -}}
|
|
{{- $title := cond (hasPrefix .Url "http") (printf "%v -> %v" (T "single.repost") .Url ) (T "single.repost") -}}
|
|
<span title="{{ $title }}" class="icon-repost">{{- $icon | partial "plugin/icon.html" -}}</span>
|
|
{{- end -}}
|
|
{{- end -}}
|
|
<a href="{{ .RelPermalink }}">{{ cond (.Param "capitalize_titles") (title .Title) .Title }}</a>
|
|
</h2>
|
|
|
|
{{- /* Meta */ -}}
|
|
<div class="post-meta">
|
|
{{- partial "single/post-author.html" . -}}
|
|
|
|
{{- with .PublishDate | dateFormat (.Site.Params.date_format | default "2006-01-02") -}}
|
|
<span class="post-publish" title='{{ "2006-01-02 15:04:05" | $.PublishDate.Format }}'>
|
|
{{- printf `<time datetime="%v">%v</time>` . . | dict "Date" | T "single.publishedOnDate" | safeHTML -}}
|
|
</span>
|
|
{{- end -}}
|
|
|
|
{{- partial "single/post-included-in.html" . -}}
|
|
</div>
|
|
|
|
{{- /* Summary content */ -}}
|
|
<div class="content">
|
|
{{- if .Summary -}}
|
|
{{- $plainify := .Param "summary_plainify" | default false -}}
|
|
{{- with .Markup "home" -}}
|
|
{{- with .Render -}}
|
|
{{- $summary := dict "Content" .Summary.Text "Ruby" ($.Param "ruby") "Fraction" ($.Param "fraction") "Fontawesome" ($.Param "fontawesome") | partial "function/content.html" | safeHTML -}}
|
|
{{- cond $plainify ($summary | plainify) $summary -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- else -}}
|
|
{{- .Description | safeHTML -}}
|
|
{{- end -}}
|
|
</div>
|
|
|
|
{{- /* Footer */ -}}
|
|
<div class="post-footer">
|
|
<a href="{{ .RelPermalink }}">{{ T "single.readMore" }}</a>
|
|
{{- $tagTerms := .GetTerms "tags" -}}
|
|
{{- if $tagTerms -}}
|
|
<div class="post-tags">
|
|
{{- dict "Class" "fa-solid fa-tags me-1" | partial "plugin/icon.html" -}}
|
|
{{- range $tagTerms -}}
|
|
<a href='{{ partial "function/escapeurl.html" .RelPermalink }}' class="post-tag">{{ .LinkTitle }}</a>
|
|
{{- end -}}
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
</article>
|
|
{{- /* EOF */ -}}
|