My New Hugo Site

  1. Bash
    1. Filters
      1. grep
      2. Sed
      3. jq
    2. Shellspec
  2. Design
  3. Architectural Patterns
    1. Systemd
    2. Message Broker
    3. JSON-RPC
  4. Go
    1. Concurrency
    2. Web Applications
    3. Compound Data
    4. Json
    5. Go vs Erlang
  5. Prolog Cookbook
  6. Documentation
    1. Hugo
      1. Go Html Template
      2. Table of Contents
    2. HTML
    3. CSS
      1. Color
      2. Style Guides
      3. Layout
    4. Mathjax
  7. Visualization
    1. D3
      1. Venn Diagrams
    2. SVG
    3. Visjs
      1. Network
  8. Data
    1. Yaml
    2. Events
      1. JSON-LD
    3. JSON
      1. jCal
    4. SQL
  9. JavaScript

Table of Contents

Something that tripped me up here is that Hugo’s Table of Contents, done via goldmark, refers to that page, not the site.

How to program a recursive directory listing

Since Hugo’s parameter name is Sections, I may as well use HTML’s section as the name of the partial.

{{ template "filepath" (dict "path" "/content") }}
  
{{ define "filepath" }}
  {{ $path := .path }}
<ol>
  {{ range readDir $path }}
    {{ if .IsDir }}
       {{ template "filepath" (dict "path" (printf "%s/%s" $path .Name)) }}
    {{ else }}
      <li>{{ .Name }}</li>
    {{ end }}
  {{ end }}
</ol>
{{ end }}

partials/pagination.html

partials/menu/open-menu.html

partials/menu/slide-menu.html

hugo-theme-techdoc/layouts/partials/table-of-contents.html

{{ if .Params.TableOfContents }}
<aside class="table_of_contents">
<h5>Table of Contents</h5>
{{- .TableOfContents -}}
</aside>
{{ end }}