{"id":13536900,"url":"https://github.com/one-aalam/astro-ink","last_synced_at":"2025-05-15T08:11:10.230Z","repository":{"id":37272767,"uuid":"401410709","full_name":"one-aalam/astro-ink","owner":"one-aalam","description":"Crisp, minimal, personal blog theme for Astro","archived":false,"fork":false,"pushed_at":"2024-11-06T10:25:29.000Z","size":11940,"stargazers_count":571,"open_issues_count":9,"forks_count":96,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-14T14:59:42.688Z","etag":null,"topics":["astrobuild","astrodotbuild","blog","markdoc","markdown","minimal","static-site","static-site-generator","tailwindcss","theme"],"latest_commit_sha":null,"homepage":"https://astro-ink.vercel.app","language":"Astro","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/one-aalam.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}},"created_at":"2021-08-30T16:23:39.000Z","updated_at":"2025-04-13T18:24:38.000Z","dependencies_parsed_at":"2024-12-13T16:06:45.947Z","dependency_job_id":"22f3bc29-867e-4e0f-b86b-dce75d41d6b1","html_url":"https://github.com/one-aalam/astro-ink","commit_stats":{"total_commits":215,"total_committers":30,"mean_commits":7.166666666666667,"dds":"0.22790697674418603","last_synced_commit":"3b56dfc4831fed4528fd49bc8ebfa1210ca56240"},"previous_names":[],"tags_count":2,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/one-aalam%2Fastro-ink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/one-aalam%2Fastro-ink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/one-aalam%2Fastro-ink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/one-aalam%2Fastro-ink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/one-aalam","download_url":"https://codeload.github.com/one-aalam/astro-ink/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254301432,"owners_count":22047904,"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":["astrobuild","astrodotbuild","blog","markdoc","markdown","minimal","static-site","static-site-generator","tailwindcss","theme"],"created_at":"2024-08-01T09:00:51.474Z","updated_at":"2025-05-15T08:11:10.205Z","avatar_url":"https://github.com/one-aalam.png","language":"Astro","funding_links":[],"categories":["ℹ️ Repositories/Starter Kits/Components","blog","Tools","Astro"],"sub_categories":["Community"],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./public/astro-ink-logo.png\" height=\"140px\" title=\"Astro Ink\" /\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003eAstro Ink is a minimal theme created to serve minimalistic markdown-based blog needs. It ships with almost all the basic Astro components that you might need while creating light-weight, performant, personal blogs, that focus on shipping less Javascript by default.\u003c/div\u003e\n\u003cbr /\u003e\n\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/static/v1?label=PRs\u0026message=welcome\u0026style=flat-square\u0026color=5e17eb\u0026labelColor=000000\" alt=\"PRs welcome!\" /\u003e\n  \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/one-aalam/astro-ink?style=flat-square\u0026color=5e17eb\u0026labelColor=000000\"\u003e\n  \u003ca href=\"https://twitter.com/intent/follow?screen_name=aftabbuddy\"\u003e\n    \u003cimg src=\"https://img.shields.io/twitter/follow/aftabbuddy?style=flat-square\u0026color=5e17eb\u0026labelColor=000000\" alt=\"Follow @aftabbuddy\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n\u003cimg src=\"./public/astro-banner.png\" alt=\"Astro Banner\" /\u003e\n\nIt's hugely inspired by [Hugo](https://github.com/knadh/hugo-ink)'s Ink theme and strives to remain light, while providing the basis for a beautiful, minimal blog.\n\n## Features\n- __Minimal, Crisp, Markdown-Blog Ready__ always updated to Astro's latest (currently `2.x` release) under the hood.\n- __Svelte Ready__ - In its effort to remain light-weight, performant, and more approachable from Astro's POV, Svelte is used for interactive components like the theme switcher\n- __Modular__ - The structure is highly modular, with components doing just one job, and one job well.\n- __Astro 2.0 Content Collection + Dynamic Pages__ - It's ready with Next.js like dynamic pages, to support a tag-based classification system with paginated results, all configurable\n- __Dark Mode \u0026 Color Codes__ - It supports dark mode, and __6+__ color modes that's selected using `tailwind.config.js`. You can pass `THEME_KEY` with the `dev` or `build` script/commands ex: `THEME_KEY=purpleheart astro build/dev` to change the color theme being used. All the available themes can be found in [tailwind.theme.config.js](./tailwind.theme.config.js). To customize the blog section, add any of the Tailwind Typography's `prose-{color}` classes as referred [here](./src/components/Prose.astro)\n- __Netlify CMS__ - Add/Edit/Update all the posts in the `/blog` directory by visiting `your-site.netlify.com/admin` ex: [astro-ink.netlify.app/admin](https://astro-ink.netlify.app/admin) with your Netlify credentials. It needs Netlify Identity(https://app.netlify.com/sites/your-site/settings/identity#registration\n) and Git Gateway(https://app.netlify.com/sites/your-site/settings/identity#services) enabled.\n- __Future Posts__(with Github Actions) - Create posts in the `/src/drafts` directory with a future `date` in the `YYYY-MM-DD` format, and let a specially crafted [Github Action](https://github.com/marketplace/actions/ssg-publish-drafts) take care of auto-publishing it on your specified date. You can configure the check interval in [Github Action](https://github.com/one-aalam/astro-ink/blob/main/.github/workflows/main.yml).\n- __Client-Side Search__ - Allow your users get to your blog posts quickly with client-side search feat. Lunr.js\n- __View counter feat. Redis/Upstash Redis__ - Configure your Redis host, place it's connection URL in your hosting provider's console (Vercel, Netlify, etc.) or in a `.env` file(local development), un-comment the connection code [here](./src/pages/api/blog/views/[slug].ts) and deploy. Your site's powered with a dynamic views counter. See [.env.example](./.env.example) to understand the different environment values you need to configure.\n- __Media Page with YT channel support__ - Easily show your YT channel content on the media page by just putting your channel id in [config](./src/config.ts) file's `ytChannelId` constant. Optionally, disable the image thumbnails from your YT channel's video listing by setting `USE_MEDIA_THUMBNAIL` to `false`.\n- __Author Cards__ - Easily add post based or site-wide Author cards, that include a Twitter follow button by setting `USE_AUTHOR_CARD` to `true` inside  [config](./src/config.ts) file.\n- __Themed image overlay__ - You can optionally enable overlays, that can add a nice themed gradient on top of your post images by setting `USE_POST_IMG_OVERLAY` to `true` inside [config](./src/config.ts) file.\n\n\n## How to start?\n*Just clone this template*, and start working from your clone. You have all the common NPM commands at your disposal like `dev`, `build`, etc. Refer [package.json](./package.json) to see a list of all the available commands.\n\n**Note:** Use `npx degit one-aalam/astro-ink` to clone the template without any of the `git` history\n\n**Note: This template genrates `server` (SSR ready) output by default. If you want `static` builds**\n  - change `output` to `static` from `server` in [astro.config.js](./astro.config.mjs)\n  - remove `adapter: vercel()`\n  - remove the views counter [API](./src/pages/api/blog/views/[slug].json.ts)\n  - set `USE_VIEW_STATS` to `false` inside [config.ts](./src/config.ts)\n\n**Note: Before running `npm run dev` for the very first time -** \n- create a `.env` file by running `mv .env.example .env` (if you're on a Linux distro or Mac)\n- set the `SITE_URI` variable as `SITE_URI=http://localhost:4321` (_where 4321 is the port at which your project is running_)\n\n## Built with Astro Ink\n- [jamesperkins.dev](https://www.jamesperkins.dev/) - Personal site of developer, YouTube instructor [James R Perkins](https://twitter.com/james_r_perkins)\n- [highlandcows.github.io](https://highlandcows.github.io/) [Nick Jacob](https://github.com/njacobs5074)'s personal blog\n\n\u003e know a site built with Astro Ink? Let me know on [Twitter](https://twitter.com/aftabbuddy)\n\n## Wanna learn Astro while building Ink?\nThis theme was initially built with first an alpha, and then a beta version of the `Astro` Framework. If you're just starting with `Astro`, you can actually learn `Astro` while building this very theme by following a series of blogs I've written that teaches you Astro ground-up!\n\nHead over to `aalam.in/blog` and know\n- [How to set Astro up and get it running with essential defaults for styling, prototyping, and incremental deployments](https://aalam.in/blog/astro-get-up-and-running)\n- [Managing presentational components and creating Astro pages](https://aalam.in/blog/astro-and-site-strcuture)\n- [Feeding local as well as remote data to the Astro pages](https://aalam.in/blog/astro-and-data)\n- [Putting interactivity where you absolutely cannot do without it in Astro](https://aalam.in/blog/astro-and-interactivity)\n- [Creating data-driven, dynamic pages and paginated results in Astro](https://aalam.in/blog/astro-and-dynamic-pages)\n- [Author your Astro site's content with Git-based CMSs](https://aalam.in/blog/astro-and-git-cms-netlify)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fone-aalam%2Fastro-ink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fone-aalam%2Fastro-ink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fone-aalam%2Fastro-ink/lists"}