{"id":51187067,"url":"https://github.com/tabsp/linewise","last_synced_at":"2026-06-27T11:06:17.554Z","repository":{"id":364822694,"uuid":"1269111699","full_name":"tabsp/linewise","owner":"tabsp","description":"A Vim-inspired Hugo theme for personal blogs.","archived":false,"fork":false,"pushed_at":"2026-06-14T17:02:10.000Z","size":603,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-14T17:24:52.640Z","etag":null,"topics":["blog","blog-theme","css","giscus","hugo","hugo-theme","keyboard-navigation","personal-blog","search","static-site","typescript","vim","vim-inspired"],"latest_commit_sha":null,"homepage":"https://linewise.tabsp.com","language":"TypeScript","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/tabsp.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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-14T10:17:16.000Z","updated_at":"2026-06-14T17:16:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tabsp/linewise","commit_stats":null,"previous_names":["tabsp/linewise"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/tabsp/linewise","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tabsp%2Flinewise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tabsp%2Flinewise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tabsp%2Flinewise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tabsp%2Flinewise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tabsp","download_url":"https://codeload.github.com/tabsp/linewise/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tabsp%2Flinewise/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34850651,"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-27T02:00:06.362Z","response_time":126,"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":["blog","blog-theme","css","giscus","hugo","hugo-theme","keyboard-navigation","personal-blog","search","static-site","typescript","vim","vim-inspired"],"created_at":"2026-06-27T11:06:16.731Z","updated_at":"2026-06-27T11:06:17.545Z","avatar_url":"https://github.com/tabsp.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linewise\n\n[![Hugo](https://img.shields.io/badge/Hugo-0.146%2B-FF4088?logo=hugo\u0026logoColor=white)](https://gohugo.io)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n![Linewise Screenshot](images/screenshot.png)\n\nLinewise is a Vim-inspired Hugo theme for personal blogs. Posts behave like buffers, search borrows from quickfix, and the interface uses Vim as an interaction model without sacrificing reading comfort.\n\n**Demo and docs:** [linewise.tabsp.com](https://linewise.tabsp.com)\n\n## Features\n\n- Hugo theme installable as a git submodule or Hugo Module\n- Markdown posts in `content/posts/`\n- Tags, posts list, RSS, sitemap, canonical URLs, and Open Graph metadata\n- Client-side search backed by `/search.json`\n- giscus comments powered by GitHub Discussions\n- Vim-like command palette, search palette, bufferline, file explorer, and statusline\n- Keyboard motions for list navigation and reading\n- Mobile file explorer drawer and horizontally scrollable buffer tabs\n\n## Requirements\n\n- Hugo Extended `0.146.0` or newer\n- Go, if installing with Hugo Modules\n- Node.js and pnpm only for Linewise theme development and Playwright tests\n\n## Installation\n\nCreate a Hugo site:\n\n```sh\nhugo new site my-blog\ncd my-blog\n```\n\nThen choose one installation mode.\n\n### Git Submodule\n\n```sh\ngit submodule add https://github.com/tabsp/linewise themes/linewise\n```\n\n```toml\nbaseURL = \"https://example.com\"\ntitle = \"My Blog\"\nlocale = \"en\"\ntheme = \"linewise\"\n```\n\n### Hugo Module\n\n```sh\nhugo mod init github.com/you/my-blog\n```\n\n```toml\nbaseURL = \"https://example.com\"\ntitle = \"My Blog\"\nlocale = \"en\"\n\n[module]\n[[module.imports]]\npath = \"github.com/tabsp/linewise\"\n```\n\nUse one mode per site. Do not configure both `theme = \"linewise\"` and a Linewise module import.\n\n## Configuration\n\nAdd the Linewise defaults to your site config:\n\n```toml\n[taxonomies]\ntag = \"tags\"\n\n[params.linewise]\ndescription = \"Notes from the command line.\"\nauthor = \"Your Name\"\nlocale = \"en\"\nfavicon = \"favicon.svg\"\nogImage = \"og.svg\"\nshowExplorer = true\nshowBufferline = true\n\n[params.linewise.comments]\nprovider = \"none\"\n\n[outputs]\nhome = [\"HTML\", \"RSS\", \"JSON\"]\n\n[outputFormats.JSON]\nmediaType = \"application/json\"\nbaseName = \"search\"\nisPlainText = true\n\n[markup.highlight]\nnoClasses = false\n```\n\nWrite posts in `content/posts/`:\n\n```md\n---\ntitle: \"Your Post Title\"\ndescription: \"A short description for SEO and previews.\"\ndate: 2026-01-01\ntags: [\"notes\"]\ndraft: false\n---\n```\n\nRead the full documentation on the example site: [Theme Reference](https://linewise.tabsp.com/posts/theme-reference/).\n\n## Development\n\n```sh\npnpm install\npnpm dev\npnpm build\npnpm test\n```\n\n`pnpm dev` serves the example site at `http://localhost:4322/`.\n\n## Project Layout\n\n```text\narchetypes/          Hugo archetypes\nassets/              Theme CSS and TypeScript bundled by Hugo Pipes\nexampleSite/         Example Hugo site\nimages/              Theme screenshots\nlayouts/             Hugo templates, partials, and shortcodes\nstatic/              Theme-owned static assets\ntheme.toml           Hugo theme metadata\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftabsp%2Flinewise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftabsp%2Flinewise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftabsp%2Flinewise/lists"}