diff options
author | Alex Shpak <alex-shpak@users.noreply.github.com> | 2019-04-22 19:17:39 +0200 |
---|---|---|
committer | Alex Shpak <alex-shpak@users.noreply.github.com> | 2019-04-22 19:17:39 +0200 |
commit | 0b30289d9f3520144bb37caa009d8953cde0e3d6 (patch) | |
tree | 0f9bb8c645db952484ae1d0d98f961142184c894 | |
parent | 0084e069de16a7b6c15f50edd7479e2e49fe0874 (diff) |
#43, Update tree menu rendering to support multiple sections
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | assets/_markdown.scss | 11 | ||||
-rw-r--r-- | assets/book.scss | 13 | ||||
-rw-r--r-- | exampleSite/config.yml | 2 | ||||
-rw-r--r-- | exampleSite/content/docs/_index.md | 4 | ||||
-rw-r--r-- | exampleSite/content/docs/fida-abluere/_index.md | 42 | ||||
-rw-r--r-- | exampleSite/content/docs/fida-abluere/ego-numen.md | 60 | ||||
-rw-r--r-- | exampleSite/content/docs/fida-abluere/natusque.md | 48 | ||||
-rw-r--r-- | exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.content | 2 | ||||
-rw-r--r-- | exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.json | 2 | ||||
-rw-r--r-- | layouts/home.html | 4 | ||||
-rw-r--r-- | layouts/partials/docs/git-footer.html | 2 | ||||
-rw-r--r-- | layouts/partials/docs/menu-bundle.html | 5 | ||||
-rw-r--r-- | layouts/partials/docs/menu-filetree.html | 76 | ||||
-rw-r--r-- | layouts/partials/docs/menu.html | 6 | ||||
-rw-r--r-- | layouts/partials/docs/shared.html | 25 | ||||
-rw-r--r-- | layouts/posts/list.html | 6 | ||||
-rw-r--r-- | layouts/posts/single.html | 4 |
18 files changed, 248 insertions, 68 deletions
@@ -26,7 +26,7 @@ git submodule add https://github.com/alex-shpak/hugo-book themes/book Then run hugo (or set `theme: book` in configuration file) ``` -hugo server --theme book +hugo server --minify --theme book ``` ### Creating site from scratch @@ -38,7 +38,7 @@ git submodule add https://github.com/alex-shpak/hugo-book themes/book cp -R themes/book/exampleSite/content . ``` ```sh -hugo server --theme book +hugo server --minify --theme book ``` ## Menu diff --git a/assets/_markdown.scss b/assets/_markdown.scss index fc8119c..8c4a1fa 100644 --- a/assets/_markdown.scss +++ b/assets/_markdown.scss @@ -5,14 +5,15 @@ $block-border-radius: 0.15rem; .markdown { line-height: 1.7; - > :first-child { - margin-top: 0; - line-height: 1em; - } - h1, h2, h3, h4, h5 { font-weight: 400; line-height: 1.25; + + // remove padding at the beginning of page + &:first-child { + margin-top: 0; + line-height: 1em; + } } b, optgroup, strong { diff --git a/assets/book.scss b/assets/book.scss index 7ba2bfa..83728a0 100644 --- a/assets/book.scss +++ b/assets/book.scss @@ -106,6 +106,18 @@ ul.pagination { @include dark-links; } +.book-section-flat { + margin-bottom: $padding-16 * 2; + + > a, > span { + font-weight: 600 + } + + > ul { + padding-left: 0; + } +} + .book-page { min-width: $body-min-width; flex-grow: 1; @@ -213,6 +225,7 @@ aside nav, // Extra space for big screens @media screen and (min-width: $container-max-width) { .book-page, + .book-posts, .book-menu nav, .book-toc nav { padding: $padding-16 * 2 $padding-16; diff --git a/exampleSite/config.yml b/exampleSite/config.yml index da11e14..b4f1b3c 100644 --- a/exampleSite/config.yml +++ b/exampleSite/config.yml @@ -1,4 +1,4 @@ -# hugo server --themesDir ... --baseURL=http://0.0.0.0:1313/example +# hugo server --minify --themesDir ... --baseURL=http://0.0.0.0:1313/example baseURL: https://example.com/ title: Hugo Book diff --git a/exampleSite/content/docs/_index.md b/exampleSite/content/docs/_index.md new file mode 100644 index 0000000..cb314c0 --- /dev/null +++ b/exampleSite/content/docs/_index.md @@ -0,0 +1,4 @@ +--- +weight: 1 +bookFlatSection: true +--- diff --git a/exampleSite/content/docs/fida-abluere/_index.md b/exampleSite/content/docs/fida-abluere/_index.md new file mode 100644 index 0000000..0255f6d --- /dev/null +++ b/exampleSite/content/docs/fida-abluere/_index.md @@ -0,0 +1,42 @@ +# Fida abluere audiat moram ferarum terram virgae + +## Facere fluidove ab naides ut sic cornu + +Lorem markdownum Lucifer est, ire tangit inposito terram. Ore et pes lavet nuper +longam, longa sub, erat nec Lemnicolae, in. +[Et](http://sumparvi.org/ossaquerecludit) nec tantaque sollicitive cognovi et ut +videbar verso **passis**, Epimethida tutos. Dedecus Desine morae. + +Fervens esse et tenet cinisque per: et vir equus formaque superorum tollit, +vires meae magnum; Latona. Fundamine potitur genialis: imagine gaudet et herba +rura vates horrendum, laborum quis: potero aureus habitantque illos nox? E +factorum breve ad in verum Euboea templis volitat pompa aureus pallebant +videres, replet inque color? Capit et bipennem Finis sonuere magno nec pennis +exhortatur tenebat, ait. + +## Gurgite caede Hippocoon auxilio furit + +Freta amatos. [Saxum](http://horas-pericula.net/inprudens.php) vocanti Iovem sui +quicquam viro linguae minus, ara nec tu ipsa ars miserae, quam tetigit vacet +inque. Fuistis Deucalion, populi invidiae *indicat texere est* Helicon simul. + +1. Hominum quantaque membra duos +2. Domum tela +3. Totus penna +4. Charaxi cogitis Hoc caelo est removit Anubis +5. Simulacra Delo posset insula +6. Infelix et nox fixa adhuc + +## Trabes per coercet mittere toro + +Cerae movit: patria quid, Alpheias **magicaeque** puer! Cum venit quidem, sors +erigor coniunctis sparsa carpe periuria in vultu temperat gradibus. Tutus +fecimus, caput; flamma mentis retia fuit Pallas. + +> Arbore et agitasse partes patrem dumque ab, nec infans, sollemnia summis +> resque, de malles ille? Ultor fugaverat nemus, quaerenti nolle coniugis +> manibus contraque pace. Fuit verba ipse ignavi vulnus. Nam illud *inferius* +> iuvenale iuncta tandem. + +Deus hostia Peneidas ad passu in venerat postes +[nymphae](http://ullo-herbae.org/). Sagittis tabo sibi marmoreum.
\ No newline at end of file diff --git a/exampleSite/content/docs/fida-abluere/ego-numen.md b/exampleSite/content/docs/fida-abluere/ego-numen.md new file mode 100644 index 0000000..a56cee0 --- /dev/null +++ b/exampleSite/content/docs/fida-abluere/ego-numen.md @@ -0,0 +1,60 @@ +# Ego numen obest + +## Mors curru Iove pedibus curva humano salutem + +Lorem markdownum, mole, profugus. Madida ne quantus, pars verba lacrimis +memorique longius cupidi ipse attrahit et. Vota liberiore rector suos fallit +videor iustissimus barbara quod habet. Tantum patriaeque *omnia spectes* inimica +mari nec spemque ululare: nuper quodque, sic, quo. + + var php_wireless = 4; + siteWinsock.switch_inbox += so_control_logic; + if (target_website.bugCopyrightIcs.cms_digital_method(mca_active) > + cloneScrollHttps) { + https_drop_hard(97, sshPayload + autoresponder_bmp_file); + hypertextCommercialBookmark = optical_impact; + } + architecture = userRate.unfriend(petabyteFile(irc, wave, + logic_tag.impact.cookie_favorites(5, 83)), listserv, malware_cad( + disk)); + +Populi annum deprendere suae recumbis in sedem starent! Super non accedat +percepitque negare inconcessisque habitare: puerum: picta. Haec natamque, in +rubentem auctore quantas oetaeas **certamine** levatae sollicitumque mecum vultu +obstructaque. Limina subtemen qui trepidare virgine! Enim rumor paenituit haec +**crimine Melampus** sidus. + +## Partem robora herbae ilice hic exspectatus tepidique + +Heu fugit carne, illo ex Iunonis ut tempora sacrata, adhaesi. Fallunt eque +amnes! + +1. Vile ille res sidera gaudebat felicia auxilium +2. Sacra curam adfusique vasti progenitore omnia nutantem +3. Quod notum spesque extentam fores in voces +4. In qualia aequo +5. Auro commoda +6. Mearum huic volucres locorum formosus + +## Invidiae fidemque cogamque esset potentia Minos + +Sub silicem, semesaque nec, pone pariterque tendentem, in pactae suarum recurvas +et contra tu minister via. Subducere tangeris neque coniunxque utque. Virga +altam, mortemque: **ubi** procul, et vidi committit. Et +[Alpheos](http://nivea-pavens.io/ferroclara.html)! Perfide age magna per aequor +abstulerat, Boeotia sentit succincta ad linquit confugisse certae, de dignatur +et! + +> Sic nacta saxo *crura*, iustis rorantia premens tempora lecte sumpsisse +> nusquam ulvam, apta! Sed sub plumas consueta quae; tibi mihi nec committi +> mundi? + +Ipsa dea serpentum illic; aspicit reticere Aeaciden mitto; est novis exul. +Invidit senior vela, cava sed plumae vident ille ipse domo litus ac fallere +lumina, nisi famem cycno. + +Nunc miserata admisitque [nata](http://mollibus.net/secessitnostrique), cum +loco, **iacerent**, te medullas matres. Fraude tamen, prorumpit puerum primo +polus regalia pampineis iungunt nec, aderis replent carituraque cervus. +Primusque lapides ad inpia pedibus; non fare praeterit penetralia in pedum uror. +Rapitur vivis lacrimis, vena et *dixit*.
\ No newline at end of file diff --git a/exampleSite/content/docs/fida-abluere/natusque.md b/exampleSite/content/docs/fida-abluere/natusque.md new file mode 100644 index 0000000..1416586 --- /dev/null +++ b/exampleSite/content/docs/fida-abluere/natusque.md @@ -0,0 +1,48 @@ +# Natusque putat tu vero + +## Scylaceaque neve coepisse + +Lorem markdownum hostem et addit arbusta iacuit laetissimus medio, quae quoque +faciente. Belli et fuerant fuerat, curas Abas equos sacerdos iactasque videndo +tanto, sub. Et simulasse caedis, est nec acre addiderat, manet Phrygiae +quisquam, ater, aura sua **deique cornua**. Bacchi *dixi* cum tollit, ad +sinistra mirum, non se dis fraudare in decimo vocet. Ducunt **Acrisio sine +ratem**: enim illas venti, ferit nam ora. + +> Crescente cernis ritusque et vertice potui, fugam conferat enim, quin te Iuno, +> Calydonia! Cursum est suo lassant quam cutis virgo urbe illa auras, finem. +> [Trabem est](http://www.tutus.io/) secedere Bybli laudant quercus tribuitque +> relinque et cornua ora, et quoniam maledicere viscera caelobracchia omne hoc. +> Metaque Arcas patet *intraverat tenet*. + +Silvisque primae tulisset sive sonuere, incola visa veniat temptantes spernimur +et dictis se. Sub gerunt. Aqua [tantum templi](http://www.dextra.net/) +peregrinis ut *aevo cuique* falsi, ibat avidae transitus. + +## Modo auctor imbres est + +Clanis cernere monstravit illic quoque, in ignis male una deme? Alta sonanti +relatus Pindo: nisi Pico edidit data tamen rurigenae avoque. Quotiens vela petis +inposuit et parte utque, tempus pars contendere facturus tumidus. Flores +culpavit fera retinens, vita puer publica ferebat positas. + + if (mashupTopologyMnemonic(70) >= domain_correction_schema) { + romTeraflops = log_android; + mms_vrml_alignment(keyboard, oop, computerCodec); + } + retina_samba_arp *= desktop_itunes_mainframe(leopard, 511935) * 88 / + direct_excel(-3, infringement_bespoke_apache, cmyk); + drivePowerPlay.registryAix += dma; + text_data.upsOdbc = error(user(processor_token_forum) * art_ajax_ldap); + +Patriaque volvitur scire Naryciusque iuvenem dixit adfusique bicorni cupido. +Tecumque corpore sublato, mox hostibus et muneris, non. Draconum noscit dapibus +scopulis spondere lupum diro, illo ille victoque cibis; umentia spes. + +Alumno est postquam gracili adnuimusque ore est praemia, ulla patitur: te disce +erat cruribus prosunt. Arboris illis neque, et erubuit Gallicus: iam remisit +adimuntque adsuerat nolit attonitus! Torvamque sensi ut fecundo fortuna bracchia +fuerant, semper de manet inseris. + +Ictibus in cursus in, in isque Polyxena et Solis oris pressa exclamat *in tori* +lactente. [Locoque](http://est.net/et.html) iam fata Stygia lege transire.
\ No newline at end of file diff --git a/exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.content b/exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.content index bb69581..6a1f689 100644 --- a/exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.content +++ b/exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.content @@ -1 +1 @@ -.markdown{line-height:1.7}.markdown>:first-child{margin-top:0;line-height:1em}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5{font-weight:400;line-height:1.25}.markdown b,.markdown optgroup,.markdown strong{font-weight:700}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown code{font-family:oxygen mono,monospace;padding:0 .25rem;background:#f8f9fa;border-radius:.15rem}.markdown pre{padding:1rem;background:#f8f9fa;border-radius:.15rem;font-size:.875rem;overflow-x:auto}.markdown blockquote{border-left:2px solid #dee2e6;margin:0;padding:1px 1rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{border-spacing:0;border-collapse:collapse}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;line-height:1;border:1px solid #e9ecef}.markdown table tr:nth-child(2n){background:#f8f9fa}.flex{display:flex}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.mr-auto{margin-right:auto}.hide{display:none}html{font-size:16px;letter-spacing:.33px;scroll-behavior:smooth}html,body{min-width:20rem;overflow-x:hidden}body{color:#343a40;background:#fff;font-family:oxygen,sans-serif;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:#004ed0}a:visited{color:#8440f1}img{vertical-align:middle}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-left:1rem}ul.pagination{display:flex;justify-content:center}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-brand{margin-top:0}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a{color:#343a40}.book-menu a.active{color:#004ed0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-header{margin-bottom:1rem;display:none}.book-toc{flex:0 0 14rem;font-size:.75rem}.book-toc nav{width:14rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc nav>ul>li{margin:0}.book-git-footer{display:flex;margin-top:1rem;font-size:.875rem;align-items:baseline}.book-git-footer img{width:.875rem;vertical-align:bottom}.book-footer{display:flex;margin-top:1rem;font-size:.875rem;align-items:baseline}.book-footer img{width:.875rem;vertical-align:bottom}.book-posts{min-width:20rem;max-width:41rem;flex-grow:1;padding:1rem}.book-posts article{padding-bottom:1rem}aside nav,.book-page,.book-posts,.markdown{transition:.2s ease-in-out;transition-property:transform,margin-left,opacity;will-change:transform,margin-left}@media screen and (max-width:55rem){.book-toc{display:none}}@media screen and (max-width:41rem){.book-menu{margin-left:-16rem}.book-header{display:flex}#menu-control:checked+main .book-menu nav,#menu-control:checked+main .book-page,#menu-control:checked+main .book-posts{transform:translateX(16rem)}#menu-control:checked+main .book-header label{transform:rotate(90deg)}#menu-control:checked+main .markdown{opacity:.25}}@media screen and (min-width:80rem){.book-page,.book-menu nav,.book-toc nav{padding:2rem 1rem}}
\ No newline at end of file +.markdown{line-height:1.7}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5{font-weight:400;line-height:1.25}.markdown h1:first-child,.markdown h2:first-child,.markdown h3:first-child,.markdown h4:first-child,.markdown h5:first-child{margin-top:0;line-height:1em}.markdown b,.markdown optgroup,.markdown strong{font-weight:700}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown code{font-family:oxygen mono,monospace;padding:0 .25rem;background:#f8f9fa;border-radius:.15rem}.markdown pre{padding:1rem;background:#f8f9fa;border-radius:.15rem;font-size:.875rem;overflow-x:auto}.markdown blockquote{border-left:2px solid #dee2e6;margin:0;padding:1px 1rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{border-spacing:0;border-collapse:collapse}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;line-height:1;border:1px solid #e9ecef}.markdown table tr:nth-child(2n){background:#f8f9fa}.flex{display:flex}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.mr-auto{margin-right:auto}.hide{display:none}html{font-size:16px;letter-spacing:.33px;scroll-behavior:smooth}html,body{min-width:20rem;overflow-x:hidden}body{color:#343a40;background:#fff;font-family:oxygen,sans-serif;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:#004ed0}a:visited{color:#8440f1}img{vertical-align:middle}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-left:1rem}ul.pagination{display:flex;justify-content:center}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-brand{margin-top:0}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a{color:#343a40}.book-menu a.active{color:#004ed0}.book-section-flat{margin-bottom:2rem}.book-section-flat>a,.book-section-flat>span{font-weight:600}.book-section-flat>ul{padding-left:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-header{margin-bottom:1rem;display:none}.book-toc{flex:0 0 14rem;font-size:.75rem}.book-toc nav{width:14rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc nav>ul>li{margin:0}.book-git-footer{display:flex;margin-top:1rem;font-size:.875rem;align-items:baseline}.book-git-footer img{width:.875rem;vertical-align:bottom}.book-footer{display:flex;margin-top:1rem;font-size:.875rem;align-items:baseline}.book-footer img{width:.875rem;vertical-align:bottom}.book-posts{min-width:20rem;max-width:41rem;flex-grow:1;padding:1rem}.book-posts article{padding-bottom:1rem}aside nav,.book-page,.book-posts,.markdown{transition:.2s ease-in-out;transition-property:transform,margin-left,opacity;will-change:transform,margin-left}@media screen and (max-width:55rem){.book-toc{display:none}}@media screen and (max-width:41rem){.book-menu{margin-left:-16rem}.book-header{display:flex}#menu-control:checked+main .book-menu nav,#menu-control:checked+main .book-page,#menu-control:checked+main .book-posts{transform:translateX(16rem)}#menu-control:checked+main .book-header label{transform:rotate(90deg)}#menu-control:checked+main .markdown{opacity:.25}}@media screen and (min-width:80rem){.book-page,.book-posts,.book-menu nav,.book-toc nav{padding:2rem 1rem}}
\ No newline at end of file diff --git a/exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.json b/exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.json index 5b94fca..ebd93db 100644 --- a/exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.json +++ b/exampleSite/resources/_gen/assets/scss/book.scss_48b060fe05b0a273d182ef83c0605941.json @@ -1 +1 @@ -{"Target":"book.min.10fb0ad8a0ad8e88648d3207b12be2833cd3df8a6e3b0955cbe49dc7fba8541c.css","MediaType":"text/css","Data":{"Integrity":"sha256-EPsK2KCtjohkjTIHsSvigzzT34puOwlVy+Sdx/uoVBw="}}
\ No newline at end of file +{"Target":"book.min.fc91edf4e8d8e3b37416a60d5c7b6dea3f9f8385de9de634d1e8b44e9a1eece1.css","MediaType":"text/css","Data":{"Integrity":"sha256-/JHt9OjY47N0FqYNXHtt6j+fg4XeneY00ei0Tpoe7OE="}}
\ No newline at end of file diff --git a/layouts/home.html b/layouts/home.html index d2db819..bf76fc7 100644 --- a/layouts/home.html +++ b/layouts/home.html @@ -6,7 +6,7 @@ {{ partial "docs/html-head" . }} {{ partial "docs/inject/head" . }} </head> -{{- $content := ` +{{ $content := ` # Hugo Book Theme This is a placeholder for home page. @@ -14,7 +14,7 @@ You can override this page in: - `/content/_index.md` - `/layouts/home.html` -` -}} +` }} <body> <main class="flex justify-center"> <div class="book-page markdown"> diff --git a/layouts/partials/docs/git-footer.html b/layouts/partials/docs/git-footer.html index 4b2f44d..001c9ff 100644 --- a/layouts/partials/docs/git-footer.html +++ b/layouts/partials/docs/git-footer.html @@ -2,7 +2,7 @@ <div class="align-center book-git-footer {{ if not .GitInfo }}justify-end{{ else }}justify-between{{ end }}"> {{ with .GitInfo }} <div> - {{- $date := .AuthorDate.Local.Format (default "January 2, 2006" $.Site.Params.BookDateFormat) -}} + {{ $date := .AuthorDate.Local.Format (default "January 2, 2006" $.Site.Params.BookDateFormat) }} <a href="{{ $.Site.Params.BookRepo }}/commit/{{ .Hash }}" title='Last modified {{ $date }} by {{ .AuthorName }}' target="_blank" rel="noopener"> <img src="{{ "svg/code-merge.svg" | relURL }}" /> {{ $date }} </a> diff --git a/layouts/partials/docs/menu-bundle.html b/layouts/partials/docs/menu-bundle.html index 5d90bbf..bfc1650 100644 --- a/layouts/partials/docs/menu-bundle.html +++ b/layouts/partials/docs/menu-bundle.html @@ -1,7 +1,4 @@ -{{- template "hrefhack" . -}} +{{ template "hrefhack" . }} {{ with .Site.GetPage .Site.Params.BookMenuBundle }} {{- .Content -}} {{ end }} -{{ if .Site.Params.BookEnableJS }} - {{- template "jsmenu" . -}} -{{ end }}
\ No newline at end of file diff --git a/layouts/partials/docs/menu-filetree.html b/layouts/partials/docs/menu-filetree.html index 8530656..b0f28c0 100644 --- a/layouts/partials/docs/menu-filetree.html +++ b/layouts/partials/docs/menu-filetree.html @@ -1,47 +1,59 @@ -<!-- Put configured sections list to .Scratch --> -{{ template "book-get-root-section" . }} +{{ $bookSection := default "docs" .Site.Params.BookSection }} +{{ if eq $bookSection "*" }} + {{ .Scratch.Set "BookSections" .Site.Sections }} +{{ else }} + {{ $bookSections := where .Site.Sections "Section" $bookSection }} + {{ .Scratch.Set "BookSections" $bookSections }} +{{ end }} -{{- range .Scratch.Get "BookSections" -}} - {{ template "book-section" (dict "Section" . "CurrentPage" $.Permalink) }} -{{- end -}} -{{ define "book-section" }} <!-- Single section of menu (recursive) --> +{{ $sections := .Scratch.Get "BookSections" }} +{{/* If there is only one section to render then render its children, else render all sections */}} +{{ if eq (len $sections) 1 }} + {{ with index $sections 0 }} + {{ template "book-section-children" (dict "Section" . "CurrentPage" $.Permalink) }} + {{ end }} +{{ else }} <ul> - {{ range .Section.Sections }} - <li {{- if .Params.bookflatsection}} class="flat-section" {{ end }}> - {{- if .Content -}} - {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }} - {{- else -}} - {{- template "title" . -}} - {{- end -}} + {{ range $sections }} + {{ template "book-section" (dict "Section" . "CurrentPage" $.Permalink) }} + {{ end }} + </ul> +{{ end }} - {{ template "book-section" (dict "Section" . "CurrentPage" $.CurrentPage) }} - </li> +{{ define "book-section" }} +{{ with .Section }} + <li {{ if .Params.bookFlatSection}} class="book-section-flat" {{ end }}> + {{ if .Content }} + {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }} + {{ else }} + <span>{{ template "title" . }}</span> {{ end }} - {{ range .Section.Pages }} + {{ template "book-section-children" (dict "Section" . "CurrentPage" $.CurrentPage) }} + </li> +{{ end }} +{{ end }} + +{{ define "book-section-children" }} +{{ with .Section }} + <ul> + {{ range .Sections }} + {{ template "book-section" (dict "Section" . "CurrentPage" $.CurrentPage) }} + {{ end }} + {{ range .Pages }} <li> {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }} </li> {{ end }} </ul> {{ end }} +{{ end }} {{ define "book-page-link" }} -{{- with .Page -}} -<a href="{{ .RelPermalink }}" {{- if eq $.CurrentPage .Permalink }} class="active"{{ end }}> - {{- template "title" . -}} -</a> -{{- end -}} +{{ with .Page }} + <a href="{{ .RelPermalink }}" {{ if eq $.CurrentPage .Permalink }} class="active"{{ end }}> + {{ template "title" . }} + </a> +{{ end }} {{ end }} - -{{ define "book-get-root-section" }} -<!-- Complex logic to guess page title without .Title specified --> - {{ $bookSection := default "docs" .Site.Params.BookSection }} - {{ if eq $bookSection "*" }} - {{ .Scratch.Set "BookSections" .Site.Sections }} - {{ else }} - {{ $bookSections := where .Site.Sections "Section" $bookSection }} - {{ .Scratch.Set "BookSections" $bookSections }} - {{ end }} -{{ end }}
\ No newline at end of file diff --git a/layouts/partials/docs/menu.html b/layouts/partials/docs/menu.html index 0ded211..238f976 100644 --- a/layouts/partials/docs/menu.html +++ b/layouts/partials/docs/menu.html @@ -9,4 +9,8 @@ {{ end }} {{ partial "docs/inject/menu-after" . }} -</nav>
\ No newline at end of file +</nav> + +{{ if .Site.Params.BookEnableJS }} + {{ template "jsmenu" . }} +{{ end }} diff --git a/layouts/partials/docs/shared.html b/layouts/partials/docs/shared.html index 3fbf628..2678840 100644 --- a/layouts/partials/docs/shared.html +++ b/layouts/partials/docs/shared.html @@ -1,16 +1,16 @@ {{/*These templates contains some more complex logic and shared between partials*/}} -{{- define "title" -}} - {{- if and .File .Pages -}} +{{ define "title" }} + {{ if and .File .Pages }} {{ $sections := split (trim .File.Dir "/") "/" }} {{ $title := index ($sections | last 1) 0 | humanize | title }} - {{- default $title .Title -}} - {{- else if .File -}} - {{ $title := .File | humanize | title }} - {{- default $title .Title -}} - {{- end -}} -{{- end -}} + {{ default $title .Title }} + {{ else if .File }} + {{ $title := .File.BaseFileName | humanize | title }} + {{ default $title .Title }} + {{ end }} +{{ end }} -{{- define "hrefhack" -}} +{{ define "hrefhack" }} {{ $attrEq := "$=" }} {{ $attrVal := .RelPermalink }} {{ if eq .RelPermalink "/" }} @@ -23,17 +23,16 @@ color: {{ default "#004ed0" .Site.Params.BookMenuBundleActiveLinkColor }}; } </style> -{{- end -}} +{{ end }} -{{- define "jsmenu" -}} +{{ define "jsmenu" }} <script> (function() { var menu = document.querySelector('aside.book-menu nav') addEventListener('beforeunload', function(event) { localStorage.setItem('menu.scrollTop', menu.scrollTop) }); - menu.scrollTop = localStorage.getItem('menu.scrollTop') })() </script> -{{- end -}}
\ No newline at end of file +{{ end }}
\ No newline at end of file diff --git a/layouts/posts/list.html b/layouts/posts/list.html index 18871f2..13e1ea1 100644 --- a/layouts/posts/list.html +++ b/layouts/posts/list.html @@ -1,15 +1,15 @@ {{ define "main" }} - {{- $dateFormat := default "January 2, 2006" .Site.Params.BookDateFormat -}} + {{ $dateFormat := default "January 2, 2006" .Site.Params.BookDateFormat }} {{ $paginator := .Paginate (where .Pages "Params.hidden" "ne" true) }} {{ range sort .Paginator.Pages }} - <article> + <article class="markdown"> <h2> <a href="{{ .RelPermalink }}">{{ .Title }}</a> </h2> <h5> <strong>{{ .Date.Format $dateFormat }}</strong> </h5> - <p class="markdown"> + <p> {{- .Summary -}} {{ if .Truncated }} <a href="{{ .RelPermalink }}">...</a> diff --git a/layouts/posts/single.html b/layouts/posts/single.html index a7f94ed..9222a59 100644 --- a/layouts/posts/single.html +++ b/layouts/posts/single.html @@ -1,6 +1,6 @@ {{ define "main" }} -{{- $dateFormat := default "January 2, 2006" .Site.Params.BookDateFormat -}} -<header> +{{ $dateFormat := default "January 2, 2006" .Site.Params.BookDateFormat }} +<header class="markdown"> <h1>{{ .Title }}</h1> <h5> <strong>{{ .Date.Format $dateFormat }}</strong> |