{"id":50726384,"url":"https://github.com/sharadcodes/ananta-theme-hugo","last_synced_at":"2026-06-10T04:31:59.009Z","repository":{"id":347229901,"uuid":"1193026089","full_name":"sharadcodes/ananta-theme-hugo","owner":"sharadcodes","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-29T15:05:42.000Z","size":2583,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-05T06:40:09.680Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://sharadcodes.github.io/ananta-theme-hugo/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sharadcodes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-26T19:53:44.000Z","updated_at":"2026-03-29T17:06:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sharadcodes/ananta-theme-hugo","commit_stats":null,"previous_names":["sharadcodes/ananta-theme-hugo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sharadcodes/ananta-theme-hugo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharadcodes%2Fananta-theme-hugo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharadcodes%2Fananta-theme-hugo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharadcodes%2Fananta-theme-hugo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharadcodes%2Fananta-theme-hugo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sharadcodes","download_url":"https://codeload.github.com/sharadcodes/ananta-theme-hugo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharadcodes%2Fananta-theme-hugo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34137570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2026-06-10T04:31:58.903Z","updated_at":"2026-06-10T04:31:58.987Z","avatar_url":"https://github.com/sharadcodes.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ananta Theme Hugo\n\nMinimal, research-oriented Hugo theme with **self-hosted [Alegreya](https://fonts.google.com/specimen/Alegreya)** (WOFF2, latin + latin-ext under `static/fonts/`, loaded from `style.css` to avoid a render-blocking Google Fonts chain) and [Bootstrap Icons](https://icons.getbootstrap.com/) (stylesheet deferred so icon font is not on the critical path). Suited to academics and engineers who want a small, readable portfolio.\n\n[License: MIT](https://opensource.org/licenses/MIT) | [Hugo](https://gohugo.io) | Theme **v1.1.0** — see [CHANGELOG.md](CHANGELOG.md) for release notes.\n\n## [Click to see Live Demo](https://sharadcodes.github.io/ananta-theme-hugo/)\n\n## About the name *Ananta* (Hindi / Sanskrit)\n\nIn **Hindi** and **Sanskrit**, the word is usually written **अनन्त** and read ***anant*** (sometimes spelled *ananta* in Roman type). It is built from a negating prefix and *ant* (\"end\" / \"limit\"), so it literally means **\"without end.\"** Common glosses you will see in dictionaries are **infinite**, **endless**, **boundless**, or **eternal**. This theme uses the name to suggest a site that can keep growing—posts, papers, and projects without a fixed \"stopping point.\"\n\n## Features\n\n- Posts, papers, projects, experience, and a full **About** page\n- Homepage built from partials; **section order** and **nav order** configurable in `config.toml`\n- **Tags** with list/term pages and kind filters (post / paper / project) where relevant\n- **Breadcrumbs** on inner pages (Home → section → page)\n- Optional **profile image** in the header (URL or static path); fit modes `fill`, `contain`, `cover`\n- **Header social icons** (icon-only): X (Twitter), LinkedIn, **Google Scholar**, GitHub, email — same `[params]` keys; rendered **below the tagline** in the intro column (included from `header.html`); **footer** is copyright + Hugo credit only\n- **Responsive layout**: mobile header with centered block, larger tap targets; **photo above title** on narrow viewports whenever a profile image is set\n- **Math support**: KaTeX for LaTeX equations\n- **Code highlighting**: Chroma with line numbers and language-specific styling\n- **Lazy-loaded images** in markdown / `fig` shortcode (`loading=\"lazy\"`, `decoding=\"async\"`)\n- **Performance**: header profile photo can use `preconnect` / `preload` and `fetchpriority=\"high\"`; self-hosted Alegreya WOFF2 files are preloaded; **Chroma** and **Bootstrap Icons** CSS are **non-render-blocking** (see `layouts/baseof.html`)\n- **SEO and RSS**: `\u003cmeta name=\"description\"\u003e` (page `description`, else plain summary, else `params.description`), canonical URL, Open Graph and Twitter Cards via Hugo internals, and `\u003clink rel=\"alternate\"\u003e` for RSS/Atom on pages that have feed output formats\n- **Accessibility**: primary nav is a semantic `\u003cul\u003e\u003cli\u003e` list; the footer “Built with Hugo” link uses an underline and stronger contrast so it is not distinguished by color alone\n\n## Demo\n\n![images/demo.png](https://github.com/sharadcodes/ananta-theme-hugo/blob/main/images/demo.png?raw=true)\n\n## Quick Start\n\n### Try the demo locally\n\nThis repository **is** the theme: `layouts/`, `static/`, `theme.toml`, and `hugo.toml` live at the repo root. A full demo site lives under `[exampleSite/](exampleSite/)`.\n\n**Prerequisites:** [Hugo 0.146.0+](https://gohugo.io/installation/) (extended) — the theme uses the [v0.146+ layout lookup](https://gohugo.io/templates/new-templatesystem-overview/) (`layouts/term.html`, `layouts/_partials/`, etc.).\n\n**Setup:**\n\n1. Clone or download this repository\n2. Link the theme to the example site:\n  - **Windows (PowerShell):** `./scripts/prepare-example-site.ps1`\n  - **macOS / Linux:** `bash ./scripts/prepare-example-site.sh`\n3. Start the dev server:\n  ```bash\n   cd exampleSite \u0026\u0026 hugo server\n  ```\n4. Open [http://localhost:1313/](http://localhost:1313/)\n\n### Use in your own site\n\nSee [Installation](#installation) below.\n\n## Installation\n\n### Option 1: Git submodule (recommended)\n\n```bash\ngit submodule add https://github.com/sharadcodes/ananta-theme-hugo.git themes/ananta-theme-hugo\n```\n\n### Option 2: Clone directly\n\n```bash\ngit clone https://github.com/sharadcodes/ananta-theme-hugo.git themes/ananta-theme-hugo\n```\n\n### Option 3: Hugo modules\n\nIn your site's `config.toml`:\n\n```toml\n[module]\n  [[module.imports]]\n    path = \"github.com/sharadcodes/ananta-theme-hugo\"\n```\n\nThen run:\n\n```bash\nhugo mod get -u\n```\n\n### Configure your site\n\n1. Set the theme in `config.toml`:\n\n```toml\nbaseURL = \"https://example.com/\"\nlanguageCode = \"en-us\"\ntitle = \"Your Name\"\ntheme = \"ananta-theme-hugo\"\nsummaryLength = 30\n\n[params]\n  tagline = \"Your tagline\"\n  # Optional: fallback \u003cmeta name=\"description\"\u003e when a page has no `description` and no `summary`\n  description = \"\"\n\n  # Optional header image: HTTPS URL or path under /static, e.g. \"images/profile.jpg\"\n  profileImage = \"\"\n  profileImageAlt = \"Your Name profile photo\"\n  profileImageFit = \"contain\"   # fill | contain | cover\n\n  showPosts = true\n  showPapers = true\n  showProjects = true\n  showExperience = true\n  experienceLimit = 2           # Recent jobs on homepage; 0 hides the block\n\n  # Homepage sections, top to bottom. Keys: about, experience, posts, papers, projects\n  # Omit a key to hide that block on the home page.\n  homeSectionOrder = [\"about\", \"experience\", \"posts\", \"papers\", \"projects\"]\n\n  # Header links, left to right. Keys: home, posts, papers, projects, about\n  # Omit a key to remove that link. All items show on every page; the active item stays an \u003ca\u003e but is greyed and non-clickable (.nav-links__current).\n  navOrder = [\"home\", \"posts\", \"papers\", \"projects\", \"about\"]\n\n  twitter = \"handle\"            # optional — X (Twitter) handle; header icon links to x.com\n  linkedin = \"handle\"           # optional — linkedin.com/in/{handle}\n  googleScholar = \"\"            # optional — Scholar user ID or full profile URL\n  github = \"handle\"             # optional\n  email = \"you@example.com\"     # optional\n\n[markup.goldmark.renderer]\n  unsafe = true                 # allow raw HTML in markdown if you need it\n```\n\n1. Create your content in `content/` (see [Content Structure](#content-structure) below)\n\n## Configuration\n\n### Google Scholar\n\nSet `googleScholar` to either:\n\n- The `**user=**` value from your profile URL  \n`https://scholar.google.com/citations?user=**AbCdEfGh**` → use `AbCdEfGh`, or  \n- The **full profile URL** if it starts with `http://` or `https://` (any regional domain).\n\nLeave empty to hide the header icon.\n\n### Extra `\u003chead\u003e` content\n\nOverride or extend by replacing the theme file, or in your site add  \n`layouts/_partials/head-custom.html` — it is rendered at the end of `\u003chead\u003e` in `baseof.html`.\n\n### SEO and RSS feeds\n\n[`layouts/baseof.html`](layouts/baseof.html) includes:\n\n- **Meta description**: `description` from the page’s front matter if set; otherwise a shortened plain-text `summary`; otherwise [`params.description`](#configure-your-site). If all are empty, the tag is omitted.\n- **Canonical URL**: `\u003clink rel=\"canonical\" href=\"…\"\u003e` using the page permalink (respects `baseURL`).\n- **Open Graph and Twitter Cards**: Hugo’s `_internal/opengraph.html` and `_internal/twitter_cards.html`. Set **`images`** in front matter (or site-level defaults per [Hugo internal templates](https://gohugo.io/templates/internal/)) so social previews can show an image.\n- **Feed discovery**: for pages that define alternate output formats (often the home page and section lists), `\u003clink rel=\"alternate\" type=\"application/rss+xml\" …\u003e` points at the matching `index.xml`. Feeds are generated by Hugo; you can tune or disable them with `[outputs]` in your site config.\n\n## Content Structure\n\n### Homepage (`content/_index.md`)\n\nMarkdown body is used as the short \"About\" preview on the home page (with a link to `/about/`). Front matter is optional.\n\n### About (`content/about/_index.md`)\n\nFull bio at `/about/`. Example:\n\n```markdown\n---\ntitle: \"About\"\n---\n\nYour long-form bio…\n```\n\n### Posts (`content/posts/`)\n\n```markdown\n---\ntitle: \"Post Title\"\ndate: 2026-03-15\nauthor: \"Your Name\"\ntags: [\"tag1\", \"tag2\"]\ndescription: \"Optional short meta / social description (plain text).\"\n# images: [\"images/og-card.jpg\"]   # optional — Open Graph / Twitter preview image(s)\n---\n\nContent…\n```\n\n#### Code highlighting\n\nFenced code blocks with a language tag (e.g., `python`, `bash`, `text`) are highlighted by Hugo's Chroma highlighter. This theme uses:\n\n- **Line numbers** enabled (`lineNos = true`, `lineNumbersInTable = true`)\n- **Class-based colors** (`noClasses = false`) with `static/css/chroma-github.css`\n- Regenerate styles: `hugo gen chromastyles --style=github \u003e static/css/chroma-github.css`\n- Configure in `config.toml` under `[markup.highlight]`\n\n#### Line highlights\n\nPer-fence options (e.g., line highlights) require Goldmark block attributes. Enable in `config.toml`:\n\n```toml\n[markup.goldmark.parser.attribute]\n  block = true\n```\n\nExample with highlighted lines:\n\n```markdown\n```python {hl_lines=[2,\"4-5\"]}\ndef hello():\n    print(\"line 2 highlighted\")\n    print(\"line 3\")\n    print(\"line 4 highlighted\")\n    print(\"line 5 highlighted\")\n```\n\n```\n\nSee `content/posts/blog-authoring-showcase.md` for a full demo.\n\n#### Math (KaTeX)\n\nGoldmark **passthrough** is enabled in `config.toml` for:\n\n- Inline: `\\(...\\)`\n- Display: `\\[...\\]` or `$$...$$`\n\nTo load KaTeX on a page, set in front matter:\n\n```yaml\nparams:\n  math: true\n```\n\nOr enable globally in `config.toml`:\n\n```toml\n[params]\n  math = true\n```\n\nSee [Mathematics in Markdown](https://gohugo.io/content-management/mathematics/) in Hugo docs.\n\n#### Images\n\n1. Place image files in `static/` (e.g., `static/images/diagram.png`)\n2. Reference with root path: `![alt text](/images/diagram.png)`\n3. Supports [page bundles](https://gohugo.io/content-management/page-bundles/) for co-located assets\n\n#### Figures with captions\n\nUse the `fig` shortcode for captioned figures with lazy-loading and optional links:\n\n```markdown\n{{\u003c fig src=\"/images/diagram.png\" alt=\"Description\" caption=\"Caption supports **markdown**.\" \u003e}}\n\n{{\u003c fig \"/images/diagram.png\" \"Alt text\" \"Caption (positional args).\" \u003e}}\n\n{{\u003c fig src=\"/images/a.png\" alt=\"...\" caption=\"...\" href=\"https://example.com/full.png\" \u003e}}\n```\n\nHugo's built-in `[figure` shortcode]([https://gohugo.io/content-management/shortcodes/#figure](https://gohugo.io/content-management/shortcodes/#figure)) also works if you prefer it.\n\n**Note:** Hugo processes shortcodes before Markdown, so `{{\u003c … \u003e}}` inside fenced code blocks is still executed. To show shortcode source, use raw HTML `\u003cpre\u003e\u003ccode\u003e` with `\u003c` instead of `\u003c`, or reference samples from a file.\n\n### Papers (`content/papers/`)\n\n```markdown\n---\ntitle: \"Paper Title\"\ndate: 2026-03-01\nauthors: [\"Author 1\", \"Author 2\"]\ndoi: \"10.1234/example\"\nabstract: \"…\"\ntags: [\"ml\"]\nreferences:\n  - \"Reference 1\"\n---\n\nContent…\n```\n\n#### External links\n\nThe theme displays external links on paper pages, lists, and tag pages. Choose one:\n\n**With DOI:**\n\n```yaml\ndoi: \"10.1234/example\"\n# or full URL:\ndoi: \"https://doi.org/10.1234/example\"\n```\n\n**Without DOI — single link:**\n\n```yaml\npaperUrl: \"https://arxiv.org/abs/1234.5678\"\npaperUrlLabel: \"arXiv\"\n```\n\n**Without DOI — multiple links:**\n\n```yaml\npaperLinks:\n  - name: \"PDF\"\n    url: \"https://example.com/paper.pdf\"\n  - name: \"Publisher\"\n    url: \"https://journal.example/article\"\n```\n\n### Projects (`content/projects/`)\n\n```markdown\n---\ntitle: \"Project Title\"\ndate: 2026-03-01\nstartDate: 2025-01-10\nendDate: 2026-02-28\n# status: \"Active\"   # optional override\ntechnologies: [\"Go\", \"Hugo\"]\ntags: [\"dev\"]\nrepo: \"https://github.com/…\"\nlive: \"https://…\"\ndocs: \"https://…\"\n---\n\nContent…\n```\n\n#### Timeline and status\n\n- `**startDate**` and `**endDate**`: ISO dates (e.g., `2024-06-15`) — drives timeline visualization\n- `**status**`: Optional override. Auto-inferred if omitted:\n  - **Planned**: start date in the future\n  - **Active**: no end date, or end date today or later\n  - **Completed**: end date in the past\n- `**year`**: Legacy string field (still shown if start/end dates not set)\n\n### Experience (`content/experience/`)\n\n```markdown\n---\ntitle: \"Role\"\ncompany: \"Org\"\nperiod: \"2024 – Present\"\ndate: 2024-01-01\nweight: 1\n---\n\nDescription…\n```\n\n#### Front matter fields\n\n- `**title**`: Job title or role name\n- `**company**`: Organization name\n- `**period**`: Display string (e.g., \"2024 – Present\")\n- `**date**`: ISO date for sorting (earliest first)\n- `**weight**`: Sort order (lower numbers appear first)\n\n## Navigation and URLs\n\n### Header and footer\n\n- **Nav** lists every `navOrder` entry on all pages; the current section uses `aria-current=\"page\"`, `tabindex=\"-1\"`, `aria-disabled=\"true\"`, and `.nav-links__current` (grey, `pointer-events: none`)\n- **Social** icons (if `[params]` are set) appear in the header above the section nav; the footer only shows copyright and “Built with Hugo”\n- Internal links use relative permalinks suitable for any `baseURL`\n\n### Generated sections\n\nDefault paths for content types:\n\n\n| Path            | Content             |\n| --------------- | ------------------- |\n| `/posts/`       | Post list           |\n| `/papers/`      | Paper list          |\n| `/projects/`    | Project list        |\n| `/experience/`  | Experience list     |\n| `/about/`       | About page          |\n| `/tags/`        | All tags            |\n| `/tags/\u003cname\u003e/` | Items with that tag |\n\n\n## Customization\n\n### Styling\n\n**Colors, spacing, mobile rules:**\n\n- File: `static/css/style.css`\n- Edit CSS variables at the top of the file\n- Rebuild with `hugo` to see changes\n\n### Typography\n\n**Font selection:**\n\n- Body font is **self-hosted Alegreya** (WOFF2) under `static/fonts/` with `@font-face` rules at the top of `static/css/style.css` (latin + latin-ext subsets). Replace or extend those files and rules if you switch typeface; optional `\u003clink rel=\"preload\" as=\"font\" …\u003e` entries live in `layouts/baseof.html`.\n- Adjust `font-family` in `static/css/style.css` (e.g. `body`, headings) if you rename the family.\n\n### Icons\n\n**Icon library:** [Bootstrap Icons](https://icons.getbootstrap.com/)\n\nExamples that appear in the bundled templates (not exhaustive):\n\n- **Nav:** `bi-house`, `bi-pencil-square`, `bi-file-earmark-pdf`, `bi-briefcase`, `bi-info-circle` (current page greyed out via `.nav-links__current`)\n- **Header social:** `bi-twitter-x`, `bi-linkedin`, `bi-mortarboard`, `bi-github`, `bi-envelope` (see `layouts/_partials/social-icons.html`)\n- **Lists / meta:** `bi-arrow-right`, `bi-calendar`, `bi-clock`, `bi-tag`, `bi-check-circle`\n- **Content kinds (tag pages):** `bi-file-text`, etc.\n\nBrowse all names at [icons.getbootstrap.com](https://icons.getbootstrap.com/)\n\n## Theme Layout Reference\n\n### Template files\n\n\n| Area                         | Location                                                      |\n| ---------------------------- | ------------------------------------------------------------- |\n| Shell (base HTML)            | `layouts/baseof.html`                                         |\n| Home page                    | `layouts/home.html` + `layouts/_partials/home-section-*.html` |\n| List pages                   | `layouts/list.html`                                           |\n| Single pages                 | `layouts/single.html`                                         |\n| Posts                        | `layouts/posts/single.html`                                   |\n| Papers                       | `layouts/papers/single.html`                                  |\n| Projects                     | `layouts/projects/single.html`                                |\n| About                        | `layouts/about/list.html`                                     |\n| Experience                   | `layouts/experience/list.html`                                |\n| Taxonomy (e.g. all tags)     | `layouts/taxonomy.html`                                       |\n| Taxonomy term (e.g. one tag) | `layouts/term.html`                                           |\n| `fig` shortcode              | `layouts/_shortcodes/fig.html`                                |\n| Markdown images              | `layouts/_markup/render-image.html`                           |\n| Header                       | `layouts/_partials/header.html`                               |\n| Header social icons          | `layouts/_partials/social-icons.html`                         |\n| Footer                       | `layouts/_partials/footer.html`                               |\n| Breadcrumb                   | `layouts/_partials/breadcrumb.html`                           |\n\n\n### Partial templates\n\nHome page sections:\n\n- `layouts/_partials/home-section-about.html`\n- `layouts/_partials/home-section-experience.html`\n- `layouts/_partials/home-section-posts.html`\n- `layouts/_partials/home-section-papers.html`\n- `layouts/_partials/home-section-projects.html`\n\nUtilities:\n\n- `layouts/_partials/social-icons.html` — Icon-only social row below title/tagline in the intro block (driven by site `[params]`; included from `header.html`)\n- `layouts/_partials/math.html` — KaTeX loader\n- `layouts/_partials/head-custom.html` — Custom head content (override in your site)\n\n## Browser Support\n\n- ✓ Modern browsers (Chrome, Firefox, Safari, Edge)\n- ✓ Mobile-first responsive design\n- ✓ No JavaScript dependencies\n- ✓ Works without JavaScript enabled\n\n## Performance\n\n- ✓ Static HTML output (no runtime overhead)\n- ✓ Minimal CSS (~8 KB minified)\n- ✓ Optimized for fast page loads\n- ✓ Lazy-loaded images\n- ✓ No external dependencies or CDN calls (except Google Fonts)\n\n## Contributing\n\nFound a bug or have a feature request?\n\n- **Report issues:** [GitHub Issues](https://github.com/sharadcodes/ananta-theme-hugo/issues)\n- **Submit changes:** [GitHub Pull Requests](https://github.com/sharadcodes/ananta-theme-hugo/pulls)\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for version history, updates, and breaking changes.\n\n## License\n\nMIT — use freely. See [LICENSE](LICENSE) for full details.\n\n## Author\n\n**Sharad Raj**\n\n- Website: [sharadraj.in](https://sharadraj.in)\n- GitHub: [@sharadcodes](https://github.com/sharadcodes)\n- LinkedIn: [srsmaurya](https://www.linkedin.com/in/srsmaurya)\n\n---\n\nMade with ❤️ for academics and engineers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharadcodes%2Fananta-theme-hugo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsharadcodes%2Fananta-theme-hugo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharadcodes%2Fananta-theme-hugo/lists"}