diff --git a/assets/language-direction.js b/assets/language-direction.js
new file mode 100644
index 0000000..05698e3
--- /dev/null
+++ b/assets/language-direction.js
@@ -0,0 +1,8 @@
+document.querySelectorAll('.book-article p').forEach(articleElement => {
+ const text = articleElement.textContent.trim();
+ if (/[\u0590-\u05FF]/.test(text)) {
+ articleElement.setAttribute("dir", "rtl");
+ } else {
+ articleElement.setAttribute("dir", "ltr");
+ }
+});
\ No newline at end of file
diff --git a/layouts/partials/docs/html-head.html b/layouts/partials/docs/html-head.html
index 6a6d0ec..39cfb78 100644
--- a/layouts/partials/docs/html-head.html
+++ b/layouts/partials/docs/html-head.html
@@ -6,7 +6,7 @@
{{- with .Page.Params.BookHref -}}
-
+
{{- end -}}
{{- template "_internal/opengraph.html" . -}}
@@ -19,29 +19,39 @@
{{- range .Translations }}
-
+
{{- end -}}
-{{- $styles := resources.Get "book.scss" | resources.ExecuteAsTemplate "book.scss" . | css.Sass | resources.Minify | resources.Fingerprint }}
+{{- $styles := resources.Get "book.scss" | resources.ExecuteAsTemplate "book.scss" . | css.Sass | resources.Minify |
+resources.Fingerprint }}
{{- if default true .Site.Params.BookSearch -}}
- {{- $searchJSFile := printf "%s.search.js" .Language.Lang }}
- {{- $searchJS := resources.Get "search.js" | resources.ExecuteAsTemplate $searchJSFile . | resources.Minify | resources.Fingerprint }}
-
-
+{{- $searchJSFile := printf "%s.search.js" .Language.Lang }}
+{{- $searchJS := resources.Get "search.js" | resources.ExecuteAsTemplate $searchJSFile . | resources.Minify |
+resources.Fingerprint }}
+
+
{{ end -}}
+{{- $directionJSFile := printf "%s.language-direction.js" .Language.Lang }}
+{{- $directionJS := resources.Get "language-direction.js" | resources.ExecuteAsTemplate $directionJSFile . |
+resources.Minify | resources.Fingerprint }}
+
+
{{- if .Site.Params.BookServiceWorker -}}
- {{- $swJS := resources.Get "sw-register.js" | resources.ExecuteAsTemplate "sw.js" . | resources.Minify | resources.Fingerprint }}
-
+{{- $swJS := resources.Get "sw-register.js" | resources.ExecuteAsTemplate "sw.js" . | resources.Minify |
+resources.Fingerprint }}
+
{{ end -}}
{{- template "_internal/google_analytics.html" . -}}
{{- with .OutputFormats.Get "rss" -}}
- {{ printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
+{{ printf `
+` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
{{ "" | safeHTML }}
{{- define "integrity" -}}
- {{- if (urls.Parse .Permalink).Host -}}
- integrity="{{ .Data.Integrity }}" crossorigin="anonymous"
- {{- end -}}
+{{- if (urls.Parse .Permalink).Host -}}
+integrity="{{ .Data.Integrity }}" crossorigin="anonymous"
{{- end -}}
+{{- end -}}
\ No newline at end of file