Selaa lähdekoodia

Enable RTL layout by providing 'rtl = true' in the config (#72)

Khosrow Moossavi 7 vuotta sitten
vanhempi
commit
42d75aefe4

+ 3 - 0
README.md

@@ -53,6 +53,9 @@ disqusShortname = "yourdiscussshortname" # Enable or disable Disqus.
     hideCredits = false
     hideCopyright = false
 
+    # to switch bewteen LTR and RTL layout
+    rtl = false
+
     # Custom CSS
     custom_css = []
 

+ 23 - 0
assets/scss/_base_rtl.scss

@@ -0,0 +1,23 @@
+body.rtl {
+  direction: rtl;
+
+  pre {
+    direction: ltr;
+  }
+
+  blockquote {
+    border-left: none;
+    border-right: 2px solid $alt-bg-color;
+    padding-left: 0;
+    padding-right: 1.6rem;
+  }
+
+  table tr td:first-child,
+  table tr th:first-child {
+    border-right: 0;
+  }
+  table tr td:last-child,
+  table tr th:last-child {
+    border-left: 0;
+  }
+}

+ 6 - 0
assets/scss/_colors.scss

@@ -0,0 +1,6 @@
+// Colors
+$bg-color: #fefefe !default;
+$fg-color: #323232 !default;
+$alt-bg-color: #dcdcdc !default;
+$alt-fg-color: #000 !default;
+$link-color: #3366CC !default;

+ 0 - 2
assets/scss/_content.scss

@@ -46,8 +46,6 @@
         width: 20.0rem;
         text-align: right;
         margin-right: 3.0rem;
-        text-align: right;
-        margin-right: 3.0rem;
         @media only screen and (max-device-width : 768px) {
           display: block;
           text-align: left;

+ 16 - 0
assets/scss/_content_rtl.scss

@@ -0,0 +1,16 @@
+body.rtl {
+  .list {
+    ul {
+      li {
+        span {
+          text-align: left;
+          margin-left: 3.0rem;
+          margin-right: 0;
+          @media only screen and (max-device-width : 768px) {
+            text-align: right;
+          }
+        }
+      }
+    }
+  }
+}

+ 13 - 0
assets/scss/_navigation_rtl.scss

@@ -0,0 +1,13 @@
+body.rtl {
+  .navigation-list {
+    float: left;
+    @media only screen and (max-device-width : 768px) {
+      left: 0;
+      right: auto;
+    }
+  }
+
+  .navigation-item {
+    float: right;
+  }
+}

+ 4 - 0
assets/scss/coder-rtl.scss

@@ -0,0 +1,4 @@
+@import "_colors";
+@import "_base_rtl";
+@import "_content_rtl";
+@import "_navigation_rtl";

+ 1 - 7
assets/scss/coder.scss

@@ -1,10 +1,4 @@
-// Colors
-$bg-color: #fefefe !default;
-$fg-color: #323232 !default;
-$alt-bg-color: #dcdcdc !default;
-$alt-fg-color: #000 !default;
-$link-color: #3366CC !default;
-
+@import "_colors";
 @import "_base";
 @import "_content";
 @import "_navigation";

+ 2 - 0
exampleSite/config.toml

@@ -25,6 +25,8 @@ disqusShortname = "yourdiscussshortname"
     hideCredits = false
     hideCopyright = false
 
+    rtl = false
+
     # Custom CSS
     custom_css = []
 

+ 13 - 1
layouts/_default/baseof.html

@@ -28,6 +28,18 @@
       <link rel="stylesheet" href="{{ $styles.Permalink }}" integrity="{{ $styles.Data.Integrity }}" media="screen">
     {{ end }}
 
+    {{ if .Site.Params.rtl }}
+      {{ if .Site.IsServer }}
+        {{ $cssOpts := (dict "targetPath" "css/coder-rtl.css" "enableSourceMap" true ) }}
+        {{ $styles := resources.Get "scss/coder-rtl.scss" | resources.ExecuteAsTemplate "style.coder-rtl.css" . | toCSS $cssOpts }}
+        <link rel="stylesheet" href="{{ $styles.Permalink }}" media="screen">
+      {{ else }}
+        {{ $cssOpts := (dict "targetPath" "css/coder-rtl.css" ) }}
+        {{ $styles := resources.Get "scss/coder-rtl.scss" | resources.ExecuteAsTemplate "style.coder-rtl.css" . | toCSS $cssOpts | minify | fingerprint }}
+        <link rel="stylesheet" href="{{ $styles.Permalink }}" integrity="{{ $styles.Data.Integrity }}" media="screen">
+      {{ end }}
+    {{ end }}
+
     {{ range .Site.Params.custom_css }}
       <link rel="stylesheet" href="{{ . | absURL }}">
     {{ end }}
@@ -43,7 +55,7 @@
     {{ .Hugo.Generator }}
   </head>
 
-  <body>
+  <body class="{{ if .Site.Params.rtl }}rtl{{ end }}">
     <main class="wrapper">
       {{ partial "header.html" . }}