{"id":27617664,"url":"https://github.com/plsr/next-14-contentlayer-blog-starter","last_synced_at":"2026-05-12T07:40:17.780Z","repository":{"id":229423126,"uuid":"776353399","full_name":"Plsr/next-14-contentlayer-blog-starter","owner":"Plsr","description":"Next.js 14 Blog starter with contentlayer","archived":false,"fork":false,"pushed_at":"2024-03-31T22:20:13.000Z","size":840,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-23T04:14:39.231Z","etag":null,"topics":["blog","contentlayer","nextjs","starter","tailwindcss"],"latest_commit_sha":null,"homepage":"https://next-14-contentlayer-blog-starter.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Plsr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-03-23T09:11:14.000Z","updated_at":"2024-07-20T21:37:35.000Z","dependencies_parsed_at":"2024-03-30T00:23:26.333Z","dependency_job_id":null,"html_url":"https://github.com/Plsr/next-14-contentlayer-blog-starter","commit_stats":null,"previous_names":["plsr/next-14-contentlayer-blog-starter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Plsr%2Fnext-14-contentlayer-blog-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Plsr%2Fnext-14-contentlayer-blog-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Plsr%2Fnext-14-contentlayer-blog-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Plsr%2Fnext-14-contentlayer-blog-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Plsr","download_url":"https://codeload.github.com/Plsr/next-14-contentlayer-blog-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250366716,"owners_count":21418772,"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":["blog","contentlayer","nextjs","starter","tailwindcss"],"created_at":"2025-04-23T04:14:42.533Z","updated_at":"2026-05-12T07:40:12.742Z","avatar_url":"https://github.com/Plsr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Next.js 14 \u0026 Contentlayer Blog starter\n\n\u003e [!WARNING]  \n\u003e This is still work in progress and not ready to be used\n\nA simple starter for a blog using Next.js 14 and Contentlayer. This starter aims to be used in one of two ways:\n\n1. A quick starter to enable writing with minimal configuration\n2. A base-layer for people wanting to build their own blog with more features\n\n## Features\n\n### Markdown files managed with Contentlayer\n\nThis starter uses [Contentlayer](https://contentlayer.dev) to manage markdown files. This makes it easy to add metadata to the existing resources or add completely new types of content. All content lives in the `content` folder, starting with `posts` and `pages`.\n\n### Tailwind CSS\n\nStyling via Tailwind CSS. I know it's not for everyone, so this propbably also makes this starter not for everyone.\n\n### Dark mode\n\nDark mode is supported out of the box. The starter uses the system preference by default but allows manual overrides.\n\n### Pagination\nThis starter offers a high-perfomant, server-side pagination.\n\n## Configuration\nIf you want to quickly start writing, this starter makes it easy to configure some base settings and visuals.\n\n### Base Settings\nThe sites base settings can be adapted at `site.config.js`. The config object offers the following options:\n\n  |name|type|description|\n  |-----|----|------------|\n  |title|string|Name of the page, used e.g. in `\u003ctitle\u003e` and other metadata.|\n  |url|string|Production URL of the page|\n  |postsPerPage|number|The number of posts per page to display|\n\n### Visual\nYou have some control over the visuals of the page by adapting the `tailwind.config.ts` file. We export to custom colors, `base` and `accent`, which you can map to any basic tailwind color:\n\n```ts\nconst config: Config = {\n  //...\n  theme: {\n    colors: {\n      ...colors,\n      accent: colors.emerald,\n      base: colors.slate,\n    },\n  },\n  // ...\n};\nexport default config;\n```\n\n## Todo\n\n### Now\n\n- [x] Post styling\n  - [x] code blocks\n- [x] Post page\n- [x] Metadata for posts\n  - [x] including OG\n- [x] Pages\n  - [x] Metadata\n- [x] RSS feed\n- [x] Mobile\n- [x] Pagination\n- [x] Footer\n\n### Later\n\n- [ ] Header\n  - [x] Header needs to follow new styling conventions\n  - [x] Better styling for buttons\n  - [ ] Link active state\n- [ ] Default OG Image for non-post pages\n- [ ] Home page\n  - [ ] make configurable wether to display full posts or list of posts on home page\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplsr%2Fnext-14-contentlayer-blog-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplsr%2Fnext-14-contentlayer-blog-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplsr%2Fnext-14-contentlayer-blog-starter/lists"}