From b2727be8ceca447433c7af2f368cd828cc44556b Mon Sep 17 00:00:00 2001 From: Jean-Michel Tremblay Date: Fri, 3 Apr 2026 16:30:38 -0400 Subject: [PATCH] Initial commit: Hugo site with Terminal theme Scripts: setup.sh, build.sh, serve.sh (Docker-based) Content: about, config, software, posts sections Custom: CSS overrides, HTML sitemap layout, extended_head partial Theme: hugo-theme-terminal via Hugo modules (go.mod) --- .gitignore | 3 + scripts/build.sh | 29 +++++ scripts/serve.sh | 29 +++++ scripts/setup.sh | 104 +++++++++++++++ site/archetypes/default.md | 6 + site/assets/css/custom.css | 10 ++ site/content/about/_index.md | 4 + site/content/about/now.md | 13 ++ site/content/about/tools.md | 20 +++ site/content/about/whoami.md | 9 ++ site/content/config/_index.md | 4 + site/content/config/git-dates.md | 42 ++++++ site/content/config/site-organization.md | 120 ++++++++++++++++++ site/content/config/taxonomies.md | 48 +++++++ site/content/posts/hello.md | 10 ++ site/content/sitemap.md | 7 + site/content/software/_index.md | 4 + site/content/software/chromadb.md | 26 ++++ .../software/hugo-setup/architecture.svg | 12 ++ site/content/software/hugo-setup/index.md | 46 +++++++ site/content/software/hugo-setup/notes.txt | 3 + site/content/software/ollama.md | 26 ++++ site/content/software/python-uv.md | 28 ++++ site/go.mod | 5 + site/go.sum | 2 + site/hugo.toml | 68 ++++++++++ site/layouts/_default/sitemap.html | 17 +++ site/layouts/partials/extended_head.html | 2 + 28 files changed, 697 insertions(+) create mode 100644 .gitignore create mode 100755 scripts/build.sh create mode 100755 scripts/serve.sh create mode 100755 scripts/setup.sh create mode 100644 site/archetypes/default.md create mode 100644 site/assets/css/custom.css create mode 100644 site/content/about/_index.md create mode 100644 site/content/about/now.md create mode 100644 site/content/about/tools.md create mode 100644 site/content/about/whoami.md create mode 100644 site/content/config/_index.md create mode 100644 site/content/config/git-dates.md create mode 100644 site/content/config/site-organization.md create mode 100644 site/content/config/taxonomies.md create mode 100644 site/content/posts/hello.md create mode 100644 site/content/sitemap.md create mode 100644 site/content/software/_index.md create mode 100644 site/content/software/chromadb.md create mode 100644 site/content/software/hugo-setup/architecture.svg create mode 100644 site/content/software/hugo-setup/index.md create mode 100644 site/content/software/hugo-setup/notes.txt create mode 100644 site/content/software/ollama.md create mode 100644 site/content/software/python-uv.md create mode 100644 site/go.mod create mode 100644 site/go.sum create mode 100644 site/hugo.toml create mode 100644 site/layouts/_default/sitemap.html create mode 100644 site/layouts/partials/extended_head.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ec6d36f --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +site/public/ +site/resources/ +site/.hugo_build.lock diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..393e909 --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Build and serve the Hugo site locally using Docker. +# Usage: ./scripts/build.sh + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" +SITE_DIR="${PROJECT_ROOT}/site" +HUGO_IMAGE="ghcr.io/gohugoio/hugo:latest" +PORT="${1:-1313}" + +if [[ ! -d "${SITE_DIR}" ]]; then + echo "[build] Site directory not found: ${SITE_DIR}" + echo "[build] Run ./scripts/setup.sh first." + exit 1 +fi + +echo "[build] Serving site at http://localhost:${PORT}/" +echo "[build] Press Ctrl+C to stop." + +docker run --rm \ + -v "${SITE_DIR}:/src" \ + -w /src \ + -p "${PORT}:1313" \ + "${HUGO_IMAGE}" server \ + --bind 0.0.0.0 \ + --baseURL "http://localhost:${PORT}/" \ + --appendPort=false diff --git a/scripts/serve.sh b/scripts/serve.sh new file mode 100755 index 0000000..33a4a38 --- /dev/null +++ b/scripts/serve.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Serve the Hugo site locally using Docker. +# Usage: ./scripts/serve.sh + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" +SITE_DIR="${PROJECT_ROOT}/site" +HUGO_IMAGE="ghcr.io/gohugoio/hugo:latest" +PORT="${1:-1313}" + +if [[ ! -d "${SITE_DIR}" ]]; then + echo "[serve] Site directory not found: ${SITE_DIR}" + echo "[serve] Run ./scripts/setup.sh first." + exit 1 +fi + +echo "[serve] Serving site at http://localhost:${PORT}/" +echo "[serve] Press Ctrl+C to stop." + +docker run --rm \ + -v "${SITE_DIR}:/src" \ + -w /src \ + -p "${PORT}:1313" \ + "${HUGO_IMAGE}" server \ + --bind 0.0.0.0 \ + --baseURL "http://localhost:${PORT}/" \ + --appendPort=false diff --git a/scripts/setup.sh b/scripts/setup.sh new file mode 100755 index 0000000..a13830e --- /dev/null +++ b/scripts/setup.sh @@ -0,0 +1,104 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Initialize a Hugo site with the Terminal theme using Docker. +# Usage: ./scripts/setup.sh + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" +SITE_DIR="${PROJECT_ROOT}/site" +HUGO_IMAGE="ghcr.io/gohugoio/hugo:latest" + +hugo() { + docker run --rm \ + -v "${SITE_DIR}:/src" \ + -w /src \ + "${HUGO_IMAGE}" "$@" +} + +if [[ -d "${SITE_DIR}" ]]; then + echo "[setup] Site directory already exists: ${SITE_DIR}" + echo "[setup] Delete it first if you want a fresh start." + exit 1 +fi + +echo "[setup] Creating new Hugo site in ${SITE_DIR}" +mkdir -p "${SITE_DIR}" +docker run --rm \ + -v "${PROJECT_ROOT}:/src" \ + -w /src \ + "${HUGO_IMAGE}" new site site + +echo "[setup] Initializing Hugo module" +hugo mod init gohugo-jm + +echo "[setup] Writing hugo.toml" +cat > "${SITE_DIR}/hugo.toml" << 'EOF' +baseURL = "http://localhost:1313/" +languageCode = "en-us" +title = "JM's Site" +pagination.pagerSize = 5 + +[markup.highlight] + noClasses = false + +[params] + contentTypeName = "posts" + showMenuItems = 2 + fullWidthTheme = false + centerTheme = true + +[languages] + [languages.en] + languageName = "English" + title = "JM's Site" + + [languages.en.params] + subtitle = "hello, it's JM" + owner = "JM" + keywords = "" + copyright = "" + menuMore = "Show more" + readMore = "Read more" + readOtherPosts = "Read other posts" + newerPosts = "Newer posts" + olderPosts = "Older posts" + missingContentMessage = "Page not found..." + missingBackButtonLabel = "Back to home page" + minuteReadingTime = "min read" + words = "words" + + [languages.en.params.logo] + logoText = "JM's Terminal" + logoHomeLink = "/" + + [languages.en.menu] + [[languages.en.menu.main]] + identifier = "about" + name = "About" + url = "/about" + +[module] + [[module.imports]] + path = 'github.com/panr/hugo-theme-terminal/v4' +EOF + +echo "[setup] Fetching theme module" +hugo mod get github.com/panr/hugo-theme-terminal/v4 + +echo "[setup] Creating first post" +mkdir -p "${SITE_DIR}/content/posts" +cat > "${SITE_DIR}/content/posts/hello.md" << 'EOF' +--- +title: "Hello, it's JM" +date: 2026-04-03 +draft: false +--- + +Hello, it's JM. Welcome to my site. + +This is my first post, built with [Hugo](https://gohugo.io/) and the +[Terminal](https://github.com/panr/hugo-theme-terminal) theme. +EOF + +echo "[setup] Done. Run ./scripts/build.sh to serve the site." diff --git a/site/archetypes/default.md b/site/archetypes/default.md new file mode 100644 index 0000000..70b176e --- /dev/null +++ b/site/archetypes/default.md @@ -0,0 +1,6 @@ ++++ +date = '{{ .Date }}' +draft = true +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +tags = [] ++++ diff --git a/site/assets/css/custom.css b/site/assets/css/custom.css new file mode 100644 index 0000000..d5ae459 --- /dev/null +++ b/site/assets/css/custom.css @@ -0,0 +1,10 @@ +/* Highlight the first two menu items (About, Sitemap) */ +.navigation-menu__inner li:nth-child(-n+2) a, +.menu__dropdown li:nth-child(-n+2) a { + text-transform: uppercase; + letter-spacing: 0.08em; + border-bottom: 2px solid currentColor; + padding-bottom: 2px; + font-weight: bold; + font-size: 1.1em; +} diff --git a/site/content/about/_index.md b/site/content/about/_index.md new file mode 100644 index 0000000..6cd2042 --- /dev/null +++ b/site/content/about/_index.md @@ -0,0 +1,4 @@ +--- +title: "About" +description: "Who I am, what I use, and what I'm up to." +--- diff --git a/site/content/about/now.md b/site/content/about/now.md new file mode 100644 index 0000000..85f666d --- /dev/null +++ b/site/content/about/now.md @@ -0,0 +1,13 @@ +--- +title: "What I'm Doing Now" +date: 2026-04-03 +draft: false +tags: ['personal', 'workflow'] +--- + +A [/now page](https://nownownow.com/about). Update this periodically with +what you're currently focused on. + +- Building a Hugo site +- Experimenting with local LLMs via Ollama +- Indexing documentation with ChromaDB diff --git a/site/content/about/tools.md b/site/content/about/tools.md new file mode 100644 index 0000000..02a4e0a --- /dev/null +++ b/site/content/about/tools.md @@ -0,0 +1,20 @@ +--- +title: "Tools I Use" +date: 2026-04-02 +draft: false +tags: ['tools', 'linux', 'workflow'] +--- + +A list of the hardware, software, and services I rely on daily. + +## Editor + +VS Code with GitHub Copilot. + +## Terminal + +Bash on Linux. + +## Languages + +Python (via uv), Go, shell scripts. diff --git a/site/content/about/whoami.md b/site/content/about/whoami.md new file mode 100644 index 0000000..8a0c041 --- /dev/null +++ b/site/content/about/whoami.md @@ -0,0 +1,9 @@ +--- +title: "Who is JM" +date: 2026-04-01 +draft: false +tags: ['intro', 'personal'] +--- + +This is a short bio page. Replace this with a few paragraphs about yourself — +background, interests, what you do for work, whatever feels right. diff --git a/site/content/config/_index.md b/site/content/config/_index.md new file mode 100644 index 0000000..513ef24 --- /dev/null +++ b/site/content/config/_index.md @@ -0,0 +1,4 @@ +--- +title: "Config" +description: "Site configuration, conventions, and how things are set up." +--- diff --git a/site/content/config/git-dates.md b/site/content/config/git-dates.md new file mode 100644 index 0000000..cf82fea --- /dev/null +++ b/site/content/config/git-dates.md @@ -0,0 +1,42 @@ +--- +title: "Automatic Dating with Git" +date: 2026-04-02 +draft: false +tags: ['hugo', 'git', 'workflow'] +--- + +Hugo can pull dates from Git history so you never have to update `lastmod` +by hand. + +## Enable Git info + +```toml +# hugo.toml +enableGitInfo = true +``` + +## Configure front matter date resolution + +```toml +[frontmatter] + date = [':filename', ':default'] + publishDate = [':filename', ':default'] + lastmod = [':git', ':fileModTime'] +``` + +## How it works + +- `.Date` — tries the filename first (`2026-04-03-post.md`), then the + `date` field in front matter. +- `.Lastmod` — uses the Git author date of the last commit that touched + the file, falling back to filesystem mtime. +- `.PublishDate` — same resolution chain as `.Date`. + +## Filename date formats + +Hugo recognizes these patterns: + +``` +2026-04-03-my-post.md → date: 2026-04-03, slug: my-post +2026-04-03T14-30-00-post.md → date: 2026-04-03T14:30:00 +``` diff --git a/site/content/config/site-organization.md b/site/content/config/site-organization.md new file mode 100644 index 0000000..16fde90 --- /dev/null +++ b/site/content/config/site-organization.md @@ -0,0 +1,120 @@ +--- +title: "Organizing This Site" +date: 2026-04-03 +draft: false +tags: ['hugo', 'workflow', 'meta'] +--- + +A reference for how this Hugo site is organized and what configuration +options are available. + +## Sections + +Sections are created automatically from the directory tree under `content/`. +Any directory with an `_index.md` file becomes a section with its own list +page. + +``` +content/ +├── _index.md ← home page +├── about/ +│ ├── _index.md ← /about/ list page +│ ├── whoami.md +│ └── now.md +├── software/ +│ ├── _index.md ← /software/ list page +│ ├── ollama.md +│ └── hugo-setup/ ← page bundle (leaf) +│ ├── index.md +│ └── architecture.svg +└── config/ + ├── _index.md ← /config/ list page + └── this-file.md +``` + +No config changes are needed — Hugo derives sections from the filesystem. + +## Taxonomies + +Tags and categories are enabled by default. Assign them in front matter: + +```yaml +tags: ['hugo', 'docker', 'tools'] +``` + +Hugo auto-generates pages at `/tags/`, `/tags/hugo/`, etc. + +To define custom taxonomies beyond tags/categories: + +```toml +# hugo.toml +[taxonomies] + tag = "tags" + category = "categories" + series = "series" # custom +``` + +## Page bundles + +A **leaf bundle** is a directory with `index.md` (not `_index.md`). All +sibling files become page resources — images, data files, etc. — that +travel with the article. + +A **branch bundle** uses `_index.md` and represents a section (it can have +children). + +| File | Type | Has children? | +|---|---|---| +| `index.md` | leaf bundle | No | +| `_index.md` | branch bundle | Yes | + +## Automatic dating + +Three mechanisms, configured in `hugo.toml`: + +```toml +enableGitInfo = true + +[frontmatter] + date = [':filename', ':default'] + lastmod = [':git', ':fileModTime'] +``` + +- **`:filename`** — extracts date from `2026-04-03-my-post.md`. +- **`:default`** — falls back to the `date` field in front matter. +- **`:git`** — uses the Git author date of the last commit. +- **`:fileModTime`** — uses the file's mtime on disk. + +## Automatic tagging + +Hugo does **not** auto-tag content. Tags must be set manually in front +matter. The closest workaround is `cascade` in a section `_index.md`, +which pushes shared parameters to descendants — but it only works for +custom `.Params` fields, not real taxonomy terms. + +For true auto-tagging, use an external script or LLM to populate front +matter before building. + +## Menu + +The Terminal theme reads `showMenuItems` from config. To add sections to +the nav menu: + +```toml +[languages.en.menu] + [[languages.en.menu.main]] + identifier = "about" + name = "About" + url = "/about" + [[languages.en.menu.main]] + identifier = "software" + name = "Software" + url = "/software" + [[languages.en.menu.main]] + identifier = "config" + name = "Config" + url = "/config" +``` + +Set `showMenuItems = 3` (or more) to display them all without a "Show +more" toggle. diff --git a/site/content/config/taxonomies.md b/site/content/config/taxonomies.md new file mode 100644 index 0000000..a0eab21 --- /dev/null +++ b/site/content/config/taxonomies.md @@ -0,0 +1,48 @@ +--- +title: "Using Tags and Categories" +date: 2026-04-01 +draft: false +tags: ['hugo', 'meta'] +--- + +Hugo ships with two default taxonomies: **tags** and **categories**. + +## Assigning terms + +Add them to any article's front matter: + +```yaml +--- +title: "My Article" +tags: ['python', 'tools'] +categories: ['tutorials'] +--- +``` + +## What Hugo generates + +For each taxonomy, Hugo creates: + +- A **taxonomy list** page: `/tags/` — shows all terms. +- A **term** page per value: `/tags/python/` — lists all articles with + that tag. + +## Custom taxonomies + +Define additional taxonomies in `hugo.toml`: + +```toml +[taxonomies] + tag = "tags" + category = "categories" + series = "series" +``` + +Then use `series: ['my-series']` in front matter. Hugo generates `/series/` +and `/series/my-series/` automatically. + +## Tag overlap + +Tags are meant to cross-cut sections. An article in `software/` and one in +`config/` can share the tag `hugo` — the term page at `/tags/hugo/` will +list both. diff --git a/site/content/posts/hello.md b/site/content/posts/hello.md new file mode 100644 index 0000000..ec34c19 --- /dev/null +++ b/site/content/posts/hello.md @@ -0,0 +1,10 @@ +--- +title: "Hello, it's JM" +date: 2026-04-03 +draft: false +--- + +Hello, it's JM. Welcome to my site. + +This is my first post, built with [Hugo](https://gohugo.io/) and the +[Terminal](https://github.com/panr/hugo-theme-terminal) theme. diff --git a/site/content/sitemap.md b/site/content/sitemap.md new file mode 100644 index 0000000..c884674 --- /dev/null +++ b/site/content/sitemap.md @@ -0,0 +1,7 @@ +--- +title: "Sitemap" +date: 2026-04-03 +draft: false +layout: "sitemap" +tags: [] +--- diff --git a/site/content/software/_index.md b/site/content/software/_index.md new file mode 100644 index 0000000..69f4b55 --- /dev/null +++ b/site/content/software/_index.md @@ -0,0 +1,4 @@ +--- +title: "Software" +description: "Tools, setups, and projects I work with." +--- diff --git a/site/content/software/chromadb.md b/site/content/software/chromadb.md new file mode 100644 index 0000000..46f5d6f --- /dev/null +++ b/site/content/software/chromadb.md @@ -0,0 +1,26 @@ +--- +title: "Vector Search with ChromaDB" +date: 2026-04-02 +draft: false +tags: ['chromadb', 'python', 'llm', 'tools'] +--- + +ChromaDB is an embedding database for building search and retrieval systems. + +## How I use it + +I chunk documentation (VyOS, Hugo) into paragraphs, embed them with +`nomic-embed-text` via Ollama, and store the vectors in ChromaDB for +semantic search. + +## Stack + +``` +Documents → Chunker → Ollama embeddings → ChromaDB → Query API +``` + +## Key concepts + +- **Collection**: a named group of embeddings (like a table). +- **Document**: the raw text stored alongside the vector. +- **Metadata**: key-value pairs for filtering results. diff --git a/site/content/software/hugo-setup/architecture.svg b/site/content/software/hugo-setup/architecture.svg new file mode 100644 index 0000000..c455b95 --- /dev/null +++ b/site/content/software/hugo-setup/architecture.svg @@ -0,0 +1,12 @@ + + + content/ + + Hugo build + + public/ + + + + + diff --git a/site/content/software/hugo-setup/index.md b/site/content/software/hugo-setup/index.md new file mode 100644 index 0000000..08b4ac1 --- /dev/null +++ b/site/content/software/hugo-setup/index.md @@ -0,0 +1,46 @@ +--- +title: "Setting Up Hugo with Docker" +date: 2026-04-01 +draft: false +tags: ['hugo', 'docker', 'tools'] +--- + +This article is a **page bundle** (leaf bundle). Notice it lives at +`software/hugo-setup/index.md` — not `hugo-setup.md`. + +## What makes this a page bundle? + +The directory structure looks like this: + +``` +content/software/hugo-setup/ +├── index.md ← this file (the page content) +├── architecture.svg ← co-located resource (image) +└── notes.txt ← co-located resource (data) +``` + +Everything in this folder **belongs to this page**. Hugo treats the sibling +files as *page resources* accessible via `.Resources` in templates. + +## Why use bundles? + +- **Co-location**: images and files live next to the article that uses them, + not in a global `static/` folder. +- **Resource processing**: Hugo can resize, crop, and fingerprint bundled + images at build time. +- **Portability**: move or delete the folder and everything travels together. + +## Using a bundled image + +In a template you'd access it with: + +```go-html-template +{{ $img := .Resources.GetMatch "architecture.svg" }} +{{ with $img }} + Architecture diagram +{{ end }} +``` + +Or reference it directly in Markdown: + +![Architecture](architecture.svg) diff --git a/site/content/software/hugo-setup/notes.txt b/site/content/software/hugo-setup/notes.txt new file mode 100644 index 0000000..a039740 --- /dev/null +++ b/site/content/software/hugo-setup/notes.txt @@ -0,0 +1,3 @@ +This is a co-located resource file. +Hugo treats it as a page resource of the hugo-setup article. +It won't appear as its own page — it's just data attached to the bundle. diff --git a/site/content/software/ollama.md b/site/content/software/ollama.md new file mode 100644 index 0000000..66f2b5a --- /dev/null +++ b/site/content/software/ollama.md @@ -0,0 +1,26 @@ +--- +title: "Running Local LLMs with Ollama" +date: 2026-04-02 +draft: false +tags: ['ollama', 'llm', 'tools', 'linux'] +--- + +Ollama lets you run large language models locally with a single command. + +## Quick start + +```bash +ollama run llama3 +``` + +## Why local? + +- No API keys or rate limits. +- Data stays on your machine. +- Works offline. + +## Models I use + +- `llama3` — general purpose +- `codellama` — code generation +- `nomic-embed-text` — embeddings for vector search diff --git a/site/content/software/python-uv.md b/site/content/software/python-uv.md new file mode 100644 index 0000000..ba62da6 --- /dev/null +++ b/site/content/software/python-uv.md @@ -0,0 +1,28 @@ +--- +title: "Python Packaging with uv" +date: 2026-04-03 +draft: false +tags: ['python', 'tools', 'workflow'] +--- + +`uv` is a fast Python package manager and project tool written in Rust. + +## Why uv over pip/poetry/pipenv? + +- 10–100x faster dependency resolution. +- Single tool: replaces pip, pip-tools, virtualenv, and pyenv. +- Lockfile support via `uv.lock`. + +## Common commands + +```bash +uv init myproject # scaffold a new project +uv add requests # add a dependency +uv sync # install from lockfile +uv run pytest # run inside the managed venv +``` + +## Project convention + +All Python projects in this workspace use `uv` exclusively — no raw +`pip install` or `python -m pytest`. diff --git a/site/go.mod b/site/go.mod new file mode 100644 index 0000000..49b8a5e --- /dev/null +++ b/site/go.mod @@ -0,0 +1,5 @@ +module gohugo-jm + +go 1.26.1 + +require github.com/panr/hugo-theme-terminal/v4 v4.2.3 // indirect diff --git a/site/go.sum b/site/go.sum new file mode 100644 index 0000000..1223c5d --- /dev/null +++ b/site/go.sum @@ -0,0 +1,2 @@ +github.com/panr/hugo-theme-terminal/v4 v4.2.3 h1:BU4x0qPDTZao6kzT4hWrOwGVaYgo5GesQZr+ATMsQoM= +github.com/panr/hugo-theme-terminal/v4 v4.2.3/go.mod h1:W0sFodm5ipL5gjRqOFjg4zD+euoQ8hCtyDDtqSpihxM= diff --git a/site/hugo.toml b/site/hugo.toml new file mode 100644 index 0000000..0627205 --- /dev/null +++ b/site/hugo.toml @@ -0,0 +1,68 @@ +baseURL = "http://localhost:1313/" +languageCode = "en-us" +title = "JM's Site" +pagination.pagerSize = 5 +enableGitInfo = true + +[frontmatter] + date = [':filename', ':default'] + lastmod = [':git', ':fileModTime'] + +[markup.highlight] + noClasses = false + +[params] + contentTypeName = "posts" + showMenuItems = 5 + fullWidthTheme = false + centerTheme = true + +[languages] + [languages.en] + languageName = "English" + title = "JM's Site" + + [languages.en.params] + subtitle = "hello, it's JM" + owner = "JM" + keywords = "" + copyright = "" + menuMore = "Show more" + readMore = "Read more" + readOtherPosts = "Read other posts" + newerPosts = "Newer posts" + olderPosts = "Older posts" + missingContentMessage = "Page not found..." + missingBackButtonLabel = "Back to home page" + minuteReadingTime = "min read" + words = "words" + + [languages.en.params.logo] + logoText = "JM's Terminal" + logoHomeLink = "/" + + [languages.en.menu] + [[languages.en.menu.main]] + identifier = "about" + name = "About" + url = "/about" + weight = 1 + [[languages.en.menu.main]] + identifier = "sitemap" + name = "Sitemap" + url = "/sitemap" + weight = 2 + [[languages.en.menu.main]] + identifier = "software" + name = "Software" + url = "/software" + weight = 10 + [[languages.en.menu.main]] + identifier = "config" + name = "Config" + url = "/config" + weight = 11 + +[module] + [[module.imports]] + path = 'github.com/panr/hugo-theme-terminal/v4' diff --git a/site/layouts/_default/sitemap.html b/site/layouts/_default/sitemap.html new file mode 100644 index 0000000..63bbcdc --- /dev/null +++ b/site/layouts/_default/sitemap.html @@ -0,0 +1,17 @@ +{{ define "main" }} +

{{ .Title }}

+ +{{ range .Site.Sections }} +

{{ .Title }}

+ +{{ end }} + +{{ end }} diff --git a/site/layouts/partials/extended_head.html b/site/layouts/partials/extended_head.html new file mode 100644 index 0000000..ea8bb07 --- /dev/null +++ b/site/layouts/partials/extended_head.html @@ -0,0 +1,2 @@ +{{ $custom := resources.Get "css/custom.css" | minify | fingerprint }} +