Procházet zdrojové kódy

Taxonomies list as a tag cloud (#557)

* Taxonomies list as a tag cloud

* Generate resources for demo preview
Codruț Constantin Gușoi před 4 roky
rodič
revize
af7360e89a

+ 17 - 0
assets/scss/_content.scss

@@ -65,6 +65,23 @@
           margin-right: 1.5rem;
         }
       }
+
+      .tags {
+        .tag {
+          display: inline-block;
+          padding: 0.3rem 0.6rem;
+          background-color: $alt-bg-color;
+          border-radius: 0.6rem;
+          line-height: 1.4em;
+
+          a {
+            color: $fg-color;
+          }
+          a:active {
+            color: $fg-color;
+          }
+        }
+      }
     }
   }
 

+ 14 - 0
assets/scss/_content_dark.scss

@@ -1,5 +1,19 @@
 @mixin content_dark {
   .content {
+    .post {
+      .tags {
+        .tag {
+          background-color: $alt-bg-color-dark;
+
+          a {
+            color: $fg-color-dark;
+          }
+          a:active {
+            color: $fg-color-dark;
+          }
+        }
+      }
+    }
     .list {
       ul {
         li {

+ 20 - 0
assets/scss/_taxonomies.scss

@@ -0,0 +1,20 @@
+.taxonomy {
+  li {
+    display: inline-block;
+    margin: 0.9rem;
+  }
+
+  .taxonomy-element  {
+    display: block;
+    padding: 0.3rem 0.9rem;
+    background-color: $alt-bg-color;
+    border-radius: 0.6rem;
+
+    a {
+      color: $fg-color;
+    }
+    a:active {
+      color: $fg-color;
+    }
+  }
+}

+ 12 - 0
assets/scss/_taxonomies_dark.scss

@@ -0,0 +1,12 @@
+.taxonomy {
+  .taxonomy-element {
+    background-color: $alt-bg-color-dark;
+
+    a {
+      color: $fg-color-dark;
+    }
+    a:active {
+      color: $fg-color-dark;
+    }
+  }
+}

+ 1 - 0
assets/scss/coder-dark.scss

@@ -3,5 +3,6 @@
 @import "content_dark";
 @import "notices_dark";
 @import "navigation_dark";
+@import "taxonomies_dark";
 @import "footer_dark";
 @import "float_dark";

+ 1 - 0
assets/scss/coder.scss

@@ -5,5 +5,6 @@
 @import "notices";
 @import "navigation";
 @import "pagination";
+@import "taxonomies";
 @import "footer";
 @import "float";

+ 11 - 0
layouts/_default/terms.html

@@ -0,0 +1,11 @@
+{{ define "title" }}
+  {{- if eq .Kind "term" -}}
+    {{- i18n .Data.Singular | title -}}
+    {{- print ": " -}}
+  {{- end -}}
+
+  {{- .Title }} · {{ .Site.Title -}}
+{{ end }}
+{{ define "content" }}
+  {{ partial "terms.html" . }}
+{{ end }}

+ 3 - 1
layouts/partials/taxonomy/tags.html

@@ -4,6 +4,8 @@
     {{- if gt $index 0 }}
       <span class="separator">•</span>
     {{- end }}
-    <a href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a>
+    <span class="tag">
+      <a href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a>
+    </span>
   {{- end -}}
 </div>

+ 28 - 0
layouts/partials/terms.html

@@ -0,0 +1,28 @@
+<section class="container taxonomy">
+  <h1 class="title">
+    <a class="title-link" href="{{ .Permalink | safeURL }}">
+      {{- if eq .Kind "term" -}}
+      {{- i18n .Data.Singular | title -}}
+      {{- print ": " -}}
+      {{- end -}}
+
+      {{- i18n (lower .Title) | default .Title | title -}}
+    </a>
+  </h1>
+  {{ .Content }}
+  <ul>
+    {{ $type := .Type }}
+    {{ range $key, $value := .Data.Terms.Alphabetical }}
+      {{ $name := .Name }}
+      {{ $count := .Count }}
+      {{ with $.Site.GetPage (printf "/%s/%s" $type $name) }}
+        <li>
+          <span class="taxonomy-element">
+            <a href="{{ .Permalink }}">{{ .Name }}</a>
+            <sup>{{ $count }}</sup>
+          </span>
+        </li>
+      {{ end }}
+    {{ end }}
+  </ul>
+</section>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
resources/_gen/assets/scss/scss/coder-dark.scss_1fcd9040f1144c65015c77e7b93bc5ac.content


+ 1 - 1
resources/_gen/assets/scss/scss/coder-dark.scss_1fcd9040f1144c65015c77e7b93bc5ac.json

@@ -1 +1 @@
-{"Target":"css/coder-dark.min.dde8a61eb31a32353b4baf3d9113f03c4ea2a8ca9bb736f59ca2d2b2cb664f0b.css","MediaType":"text/css","Data":{"Integrity":"sha256-3eimHrMaMjU7S689kRPwPE6iqMqbtzb1nKLSsstmTws="}}
+{"Target":"css/coder-dark.min.f37febc669ce189201c1918fac1948a254686c8d366a312c2d72b2bb71ad97d1.css","MediaType":"text/css","Data":{"Integrity":"sha256-83/rxmnOGJIBwZGPrBlIolRobI02ajEsLXKyu3Gtl9E="}}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
resources/_gen/assets/scss/scss/coder.scss_5e1eb8e37c42cdfb6215b61e44dcfa5f.content


+ 1 - 1
resources/_gen/assets/scss/scss/coder.scss_5e1eb8e37c42cdfb6215b61e44dcfa5f.json

@@ -1 +1 @@
-{"Target":"css/coder.min.eb7743f94930acfd17146aecc1f80e86fe35b3e451f2ec0c98485f9c4d962f34.css","MediaType":"text/css","Data":{"Integrity":"sha256-63dD+UkwrP0XFGrswfgOhv41s+RR8uwMmEhfnE2WLzQ="}}
+{"Target":"css/coder.min.6eb8a4b05d07103972815bdff1a2f4316a597e727e92f3eea14edff80a8451b5.css","MediaType":"text/css","Data":{"Integrity":"sha256-briksF0HEDlygVvf8aL0MWpZfnJ+kvPuoU7f+AqEUbU="}}

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů