{"id":25806681,"url":"https://github.com/rustydaemon/rusty-poison","last_synced_at":"2026-06-12T11:31:16.939Z","repository":{"id":278804220,"uuid":"933351190","full_name":"RustyDaemon/rusty-poison","owner":"RustyDaemon","description":"Clean, professional, minimalistic theme for Hugo","archived":false,"fork":false,"pushed_at":"2025-02-21T19:30:14.000Z","size":253,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T20:22:10.586Z","etag":null,"topics":["hugo","hugo-blog-theme","hugo-theme"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RustyDaemon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-15T18:42:46.000Z","updated_at":"2025-02-21T19:30:17.000Z","dependencies_parsed_at":"2025-02-21T20:32:13.944Z","dependency_job_id":null,"html_url":"https://github.com/RustyDaemon/rusty-poison","commit_stats":null,"previous_names":["rustydaemon/rusty-poison"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustyDaemon%2Frusty-poison","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustyDaemon%2Frusty-poison/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustyDaemon%2Frusty-poison/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustyDaemon%2Frusty-poison/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RustyDaemon","download_url":"https://codeload.github.com/RustyDaemon/rusty-poison/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241056700,"owners_count":19901837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hugo","hugo-blog-theme","hugo-theme"],"created_at":"2025-02-27T20:28:43.725Z","updated_at":"2026-06-12T11:31:16.926Z","avatar_url":"https://github.com/RustyDaemon.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rusty Poison\n\nA bold, distinctive Hugo theme for software developers. Two-column sidebar layout, dark-first with a polished\nlight mode, vivid rust-orange accent, modern type.\n\n\u003cimg width=\"48%\" src=\"https://github.com/user-attachments/assets/1802e0e8-79fe-489c-b6ae-10d344c5121f\" /\u003e\n\u003cimg width=\"48%\" src=\"https://github.com/user-attachments/assets/02939c8d-f6f9-4082-a236-eef09799aef2\" /\u003e\n\n## Highlights\n\n- **Sticky topbar** - search bar with `/` keyboard shortcut, theme toggle, full-width reading-progress bar on post pages.\n- **Path-style breadcrumbs** - the source-file path is the breadcrumb; each segment links back to its directory.\n- **Code blocks** - labeled header with language, line-wrap toggle, and copy button.\n- **Static client-side search** via Pagefind.\n- **Smart TOC** - sticky collapsible. Scroll-tracked active section highlighted in accent.\n- **Related posts** weighted on tags + series.\n- **Reading-experience extras** - reading progress bar, footnote popovers, image lightbox, GitHub-style callouts.\n- **Rich content** - math passthrough (KaTeX-ready), Mermaid\n  diagrams, image-optimization.\n\n## Requirements\n\n- Hugo extended **≥ 0.128** (uses the built-in `css.TailwindCSS` pipe).\n- Node.js (for the dev dependencies - Tailwind CSS v4 CLI and Pagefind).\n\n## Install\n\n### As a submodule\n\n```sh\ngit submodule add https://github.com/RustyDaemon/rusty-poison.git themes/rusty-poison\n```\n\n### As a clone\n\n```sh\ngit clone https://github.com/RustyDaemon/rusty-poison themes/rusty-poison\n```\n\n### Wire it up\n\nIn `hugo.toml`:\n\n```toml\ntheme = \"rusty-poison\"\n```\n\nAdd the dev dependencies and a couple of npm scripts to your project's\n`package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"dev\": \"hugo server -D\",\n    \"build\": \"hugo --gc --minify \u0026\u0026 pagefind --site public\",\n    \"search\": \"pagefind --site public\"\n  },\n  \"devDependencies\": {\n    \"@tailwindcss/cli\": \"4.2.4\",\n    \"tailwindcss\": \"4.2.4\",\n    \"pagefind\": \"1.5.2\"\n  }\n}\n```\n\nThen `npm install`.\n\n## Usage\n\n- `npm run dev` - `hugo server` with live reload. Search is disabled in dev because the Pagefind index lives under `public/` (regenerated from the built site).\n- `npm run build` - production build + Pagefind index.\n- For full local search testing: `npm run build \u0026\u0026 npx serve public`.\n\n## Configuration\n\nA minimal `hugo.toml`:\n\n```toml\nbaseURL = \"https://example.com/\"\nlocale = \"en-us\"\ntitle = \"Your Site\"\ntheme = \"rusty-poison\"\nenableEmoji = true\npagination.pagerSize = 10\n\n[params]\n  brand = \"Your Site\"\n  brand_image = \"/images/logo.png\"     # optional, lives in /static\n  description = \"Notes from...\"        # default meta description\n  tagline = \"// short tagline\"         # appears under the website name in the sidebar\n  favicon = \"/favicon.png\"\n  showDarkLight = true                 # show topbar theme toggle\n  hideToc = false\n\n  front_page_content = [\"posts\"]       # which sections show on the home page\n\n  menu = [\n    {Name = \"posts\", URL = \"/posts/\", HasChildren = false},\n    {Name = \"series\", URL = \"/series/\", HasChildren = false},\n    {Name = \"tags\",  URL = \"/tags/\", HasChildren = false},\n    # {Name = \"projects\", URL = \"/projects/\", HasChildren = false},\n  ]\n\n  github_url    = \"https://github.com/you\"\n  mastodon_url  = \"https://mastodon.social/@you\"\n  # bluesky_url, x_url, linkedin_url, youtube_url, discord_url, instagram_url,\n  # facebook_url, email_url, twitter_url - all optional\n\n  rss_icon    = true\n  rss_section = \"posts\"\n\n[taxonomies]\n  series = \"series\"\n  tags   = \"tags\"\n\n[related]\n  threshold = 80\n  includeNewer = true\n  toLower = false\n  [[related.indices]]\n    name = \"tags\"\n    weight = 100\n  [[related.indices]]\n    name = \"series\"\n    weight = 80\n  [[related.indices]]\n    name = \"date\"\n    weight = 10\n\n[markup]\n  [markup.tableOfContents]\n    startLevel = 2\n    endLevel = 4\n    ordered = false\n  [markup.highlight]\n    codeFences = true\n    noClasses = false\n    style = \"monokai\"     # cosmetic when noClasses=false; theme ships its own colors\n    tabWidth = 2\n  [markup.goldmark]\n    [markup.goldmark.renderer]\n      unsafe = true\n    [markup.goldmark.extensions]\n      [markup.goldmark.extensions.passthrough]\n        enable = true\n        [markup.goldmark.extensions.passthrough.delimiters]\n          block  = [['\\[', '\\]'], ['$$', '$$']]\n          inline = [['\\(', '\\)']]\n```\n\n### Front-matter knobs\n\n```toml\ntitle = \"Post title\"\ndate  = 2026-05-03\ndescription = \"Optional lede line under the title.\"\ntags = [\"go\", \"systems\"]\nseries = \"Some Series\"          # custom taxonomy, renders the series list\nhideToc = false                  # opt out of the TOC for this post\nfeaturedImage = \"/images/myimage.png\"  # optional hero image\nproject = false                # if true, the post is treated as a project \n```\n\n### Customizing colors\n\nThe accent and surface tokens live in\n[`assets/css/main.css`](assets/css/main.css) under the `@theme` block. Edit them there - they propagate to the entire UI through CSS custom properties.\n\n### Callouts\n\nUse GitHub-style alert syntax inside markdown:\n\n```md\n\u003e [!NOTE]\n\u003e Useful information that the user should know, even when skimming content.\n\n\u003e [!TIP]\n\u003e Helpful advice for doing things better or more easily.\n\n\u003e [!WARNING]\n\u003e Urgent info that needs immediate user attention.\n\n\u003e [!CAUTION]\n\u003e Negative potential consequences of an action.\n\n\u003e [!IMPORTANT]\n\u003e Crucial information necessary for users to succeed.\n```\n\n### Math\n\nGoldmark passthrough is enabled, so `$inline$`, `\\(inline\\)`, `$$display$$`,\nand `\\[display\\]` math is preserved in the output. Add a client-side\nKaTeX/MathJax loader (or render server-side via `transform.ToMath` in a\nshortcode) if you want the math rendered.\n\n### Mermaid diagrams\n\nUse a fenced code block with `mermaid`:\n\n````md\n```mermaid\ngraph LR\n  A --\u003e B\n  B --\u003e C\n```\n````\n\nThe Mermaid runtime is loaded lazily and only when a `pre.mermaid` element\nis present on the page.\n\n### Details shortcode\n\n```hugo\n{{\u003c/* details summary=\"Hidden content\" */\u003e}}\nClick to reveal.\n{{\u003c/* /details */\u003e}}\n```\n\n## License\n\nLicensed under [Apache-2.0](LICENSE.md).\n\nFonts and other packages are licensed separately, see their respective documentation for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustydaemon%2Frusty-poison","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frustydaemon%2Frusty-poison","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustydaemon%2Frusty-poison/lists"}