Files
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

75 lines
4.1 KiB
YAML

# Tips: remove sourceMappingURL of local libraries to avoid source map 404 error.
# See https://github.com/hugo-fixit/FixIt/issues/67
prefix:
libFiles: https://unpkg.com/
# simple-icons@16.24.1 https://github.com/simple-icons/simple-icons
simpleIcons: https://unpkg.com/simple-icons@16.24.1/icons/
libFiles:
# algoliasearch@5.55.1 https://github.com/algolia/algoliasearch-client-javascript
algoliasearchJS: algoliasearch@5.55.1/dist/lite/builds/browser.umd.js
# animate.css@4.1.1 https://github.com/daneden/animate.css
animateCSS: animate.css@4.1.1/animate.min.css
# aplayer@1.10.1 https://github.com/MoePlayer/APlayer
aplayerCSS: aplayer@1.10.1/dist/APlayer.min.css
aplayerJS: aplayer@1.10.1/dist/APlayer.min.js
# artalk@latest https://github.com/ArtalkJS/Artalk
artalkCSS: artalk@latest/dist/Artalk.css
artalkJS: artalk@latest/dist/Artalk.js
# @algolia/autocomplete-js@1.19.9 https://github.com/algolia/autocomplete
autocompleteJS: '@algolia/autocomplete-js@1.19.9/dist/umd/index.production.js'
# cell-tooltip@0.3.1 https://github.com/Lruihao/cell-tooltip
cellTooltipJS: cell-tooltip@0.3.1/dist/cell-tooltip.umd.js
# cell-watermark@1.0.4 https://github.com/Lruihao/watermark
cellWatermarkJS: cell-watermark@1.0.4/src/watermark.js
# cookieconsent@3.1.1 https://github.com/osano/cookieconsent
cookieconsentCSS: cookieconsent@3.1.1/build/cookieconsent.min.css
cookieconsentJS: cookieconsent@3.1.1/build/cookieconsent.min.js
# echarts@6.1.0 https://github.com/apache/echarts
echartsJS: echarts@6.1.0/dist/echarts.min.js
# @fortawesome/fontawesome-free@7.3.0 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@7.3.0/css/all.min.css'
# gitalk@1.8.0 https://github.com/gitalk/gitalk
gitalkCSS: gitalk@1.8.0/dist/gitalk.min.css
gitalkJS: gitalk@1.8.0/dist/gitalk.min.js
# instant.page@5.2.0 https://github.com/instantpage/instant.page
instantPage: instant.page@5.2.0/instantpage.js
# json-viewer-element@1.0.6 https://github.com/Lruihao/json-viewer-element
jsonViewerElementJS: json-viewer-element@1.0.6/dist/json-viewer-element.umd.js
# katex@0.17.0 https://github.com/KaTeX/KaTeX
katexCopyTexJS: katex@0.17.0/dist/contrib/copy-tex.min.js
katexCSS: katex@0.17.0/dist/katex.min.css
# lightgallery@2.9.0 https://github.com/sachinchoolur/lightgallery
lightgalleryCSS: lightgallery@2.9.0/css/lightgallery-bundle.min.css
lightgalleryJS: lightgallery@2.9.0/lightgallery.min.js
lightgalleryThumbnailJS: lightgallery@2.9.0/plugins/thumbnail/lg-thumbnail.min.js
lightgalleryZoomJS: lightgallery@2.9.0/plugins/zoom/lg-zoom.min.js
# mapbox-gl@3.25.0 https://docs.mapbox.com/mapbox-gl-js
mapboxGLCSS: mapbox-gl@3.25.0/dist/mapbox-gl.css
mapboxGLJS: mapbox-gl@3.25.0/dist/mapbox-gl.js
# meting@2.0.2 https://github.com/metowolf/MetingJS
metingJS: meting@2.0.2/dist/Meting.min.js
# object-fit-images@3.2.4 https://github.com/fregante/object-fit-images
objectFitImagesJS: object-fit-images@3.2.4/dist/ofi.min.js
# pace-js@1.2.4 https://github.com/CodeByZach/pace
paceJS: pace-js@1.2.4
# pangu@7.2.1 https://github.com/vinta/pangu.js
panguJS: pangu@7.2.1/dist/browser/pangu.min.js
# @panzoom/panzoom@4.6.2 https://github.com/timmywil/panzoom
panzoomJS: '@panzoom/panzoom@4.6.2/dist/panzoom.min.js'
# sharer.js@0.5.4 https://github.com/ellisonleao/sharer.js
sharerJS: sharer.js@0.5.4/sharer.min.js
# @github/tab-container-element@4.8.2 https://github.com/github/tab-container-element
tabContainerElementJS: '@github/tab-container-element@4.8.2/dist/bundle.min.js'
# twemoji@14.0.2 https://github.com/twitter/twemoji
twemojiJS: twemoji@14.0.2/dist/twemoji.min.js
# twikoo@1.7.13 https://github.com/imaegoo/twikoo
twikooJS: twikoo@1.7.13/dist/twikoo.all.min.js
# typeit@8.8.7 https://github.com/alexmacarthur/typeit
typeitJS: typeit@8.8.7/dist/index.umd.js
# valine@1.5.3 https://github.com/xCss/Valine
valineJS: valine@1.5.3/dist/Valine.min.js
# @waline/client@3.15.2 https://github.com/walinejs/waline
walineCSS: '@waline/client@3.15.2/dist/waline.css'
walineJS: '@waline/client@3.15.2/dist/waline.umd.js'