Переглянути джерело

feat(docs): Show blog table of contents

Michael Bromley 5 роки тому
батько
коміт
52d92716d3

+ 16 - 0
docs/assets/styles/_blog.scss

@@ -1,5 +1,16 @@
 @import "variables";
 
+.blog {
+    display: flex;
+    @media screen and (max-width: $md-breakpoint) {
+        display: block;
+    }
+
+    .book-toc {
+        flex: 1;
+    }
+}
+
 .posts-list {
     min-height: 50vh;
     padding: $padding-16 * 1.6;
@@ -23,8 +34,13 @@
     }
 }
 
+.left-gutter {
+    flex: 1;
+}
+
 .blog-post {
     max-width: $md-breakpoint;
+    flex: 2;
     margin: auto;
     padding: $padding-16 * 1.6;
 

+ 1 - 0
docs/assets/styles/_shortcodes.scss

@@ -132,6 +132,7 @@
     border-left: 2px solid $gray-200;
     padding-left: 6px;
     margin-left: -8px;
+    margin-bottom: 32px;
     .tab-controls {
         button.tab-control {
             color: $gray-600;

+ 1 - 1
docs/assets/styles/_syntax.scss

@@ -23,7 +23,7 @@ $name: #86e6ff;
 /* Error */ .chroma .err { color: #ef6155 }
 /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
 /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }
-/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc }
+/* LineHighlight */ .chroma .hl { width: 100%;background-color: #26a9135c }
 /* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
 /* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
 /* Keyword */ .chroma .k { color: $keyword }

+ 6 - 0
docs/assets/styles/main.scss

@@ -134,6 +134,8 @@ ul.contents-list {
     display: none;
 }
 
+
+
 .book-toc {
     flex: 0 0 $toc-width;
     font-size: $font-size-12;
@@ -201,6 +203,7 @@ ul.contents-list {
     padding: 30px 10px;
     margin-top: 120px;
     color: $gray-600;
+    position: relative;
 
     .gh-link {
         margin-left: 12px;
@@ -257,6 +260,9 @@ aside nav,
     .book-toc {
         display: none;
     }
+    .left-gutter {
+        display: none;
+    }
 }
 
 @media screen and (max-width: $sm-breakpoint) {

+ 4 - 2
docs/layouts/blog/baseof.html

@@ -9,8 +9,10 @@
 </head>
 
 <body>
-<main class="container">
-        {{ template "main" . }}
+<main class="container blog">
+    <div class="left-gutter"></div>
+    {{ template "main" . }}
+    {{ partial "blog/toc" . }}
 </main>
 
 {{ partial "top-bar" }}

+ 15 - 18
docs/layouts/blog/single.html

@@ -1,22 +1,19 @@
 {{ define "main" }}
-<div class="blog-post">
-    <header>
+    <div class="blog-post">
+        <header>
+            {{ partial "breadcrumbs" . }}
 
-        {{ partial "breadcrumbs" . }}
-
-        <h1>{{ .Title }}</h1>
-        <div class="date-author">
-            {{ $author := index $.Site.Data.authors .Params.author | default $.Site.Data.authors.unknown }}
-            <img alt="Author avatar" class="avatar" src='{{ $author.avatar }}'>
-            <div class="details">
-                <div class="name">{{ .Params.Author }}</div>
-                <div class="date">{{ .Date.Format "January 2, 2006" }}</div>
+            <h1>{{ .Title }}</h1>
+            <div class="date-author">
+                {{ $author := index $.Site.Data.authors .Params.author | default $.Site.Data.authors.unknown }}
+                <img alt="Author avatar" class="avatar" src="{{ $author.avatar }}" />
+                <div class="details">
+                    <div class="name">{{ .Params.Author }}</div>
+                    <div class="date">{{ .Date.Format "January 2, 2006" }}</div>
+                </div>
             </div>
-        </div>
-    </header>
-    <article class="markdown">
-        {{- .Content -}}
-    </article>
-    {{ partial "author-bio" . }}
-</div>
+        </header>
+        <article class="markdown">{{- .Content -}}</article>
+        {{ partial "author-bio" . }}
+    </div>
 {{ end }}

+ 6 - 0
docs/layouts/partials/blog/toc.html

@@ -0,0 +1,6 @@
+{{ $showToC := default (default true .Site.Params.BookShowToC) .Params.showtoc }}
+  {{ if and ($showToC) (.Page.TableOfContents) }}
+  <aside class="book-toc blog-toc fixed">
+    {{ .Page.TableOfContents }}
+  </aside>
+{{ end }}