Built with Next.js and TailwindCSS; the README states its page load speed performs well
hendrix — Next.js Portfolio Template
By marpeand
Hendrix is a personal blog and portfolio template built with Next.js and TailwindCSS, compiling MDX content through ContentLayer, with support for dark/light themes, math formulas, and code highlighting.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Compiles MDX content through ContentLayer
Supports dark and light theme switching
Uses rehypeKatex for math syntax and rehypePrettyCode for code highlighting
Includes an RSS feed, sitemap, and robots.txt
Site configuration is centralized in the blog.config.js file
Template Details
Hendrix is a personal blog and portfolio template. The README states it is built with Next.js and TailwindCSS and compiles MDX through ContentLayer. The template provides dark and light themes and includes an RSS feed, sitemap, and robots.txt. For content organization, blog posts go in the content/writing directory, projects go in content/projects, notes go in content/notes, and the personal bio is edited via content/about.mdx; site information is configured centrally in blog.config.js. Articles support math syntax (rehypeKatex) and code highlighting (rehypePrettyCode). The README does not provide information about performance, production readiness, or specific framework version numbers, nor does it list dependencies.
Is it right for your project?
Use Cases
- Set up a personal blog and publish Markdown/MDX articles
- Showcase a personal project list, optionally with GitHub links
- Record and publish personal notes
- Write articles containing math formulas or code snippets
Suitable For
- Developers who want to build a personal blog with Next.js and TailwindCSS
- Personal sites that need to combine a portfolio and a blog
- Users who prefer managing content with Markdown/MDX
- Writing scenarios that require math formula or code highlighting support
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, use pnpm install to install dependencies
- 2
Edit blog.config.js to fill in site title, description, baseURL, and other personal information
- 3
Write blog posts in content/writing, add projects in content/projects, and add notes in content/notes
- 4
Modify content/about.mdx to update the personal bio
- 5
Article images are recommended to be stored in the public/static directory; the favicon can be modified at app/favicon.ico
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of that version's code are allowed.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
https://github.com/marpeand/hendrix/blob/main/LICENSEhttps://github.com/marpeand/hendrix/blob/main/README.mdPermission is hereby granted, free of charge
Original License Text
Compiled by DeepSeek based on repository license and README ·2026-10-14. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 82 / 100
- Technologies
- Next.js · React
- Website type
- Portfolio · Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2025-03-29
- Screenshot last checked
- 2026-10-14
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: codex-user-requested-batch-review-20261015 · 2026-10-15
Inspect the recorded source material
SHA-256: a8b246ad789d867037ce6ee8bf7760fbd1a414e5b5800958f8e5239c9931c290
2026-10-14T01:46:51.949Z
Source file / repository<br>
<div align="center">
<a href="https://github.com/marpeand/hendrix">
<img src="public/logo.png" alt="Logo" width="120" height="120">
</a>
</br>
<h1 align=center> Hendrix Template</h1>
<p align="center">
Personal Blog and Portfolio template build using NextJS & TailwindCSS. :rocket:
<br />
<a href="https://hendrix-template.vercel.app"><strong>(https://hendrix-template.vercel.app/)</strong></a>
<br />
<br />
<a href="https://github.com/marpeand/hendrix/issues/new">Report Bug</a>
·
<a href="https://github.com/marpeand/hendrix/issues/new">Request Feature</a>
</p>
</div>
<br />
<div style="display: flex; justify-content: center">
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmarpeand%2Fhendrix)
<span style="margin-left:5px"></span>
[](https://app.netlify.com/start/deploy?repository=https://github.com/marpeand/hendrix)
<span style="margin-left:5px"></span>
</div>
| Dark mode | Light mode |
| ----------------------------------------- | ------------------------------------------- |
|  |  |
### Key Features
- Great page load speed
- Use [ContentLayer](https://www.contentlayer.dev/) to compile mdx
- Responsive for all devices
- Fast configuration, only edit the `blog.config.js` file
- Math syntax support using [rehypeKatex](https://katex.org/)
- Code support using **rehypePrettyCode**
- RSS feed, sitemap, and robots.txt
- Dark and light themes
# Getting Started
This is an example of how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.
## Installation
1. Clone the repo
```sh
git clone https://github.com/marpeand/hendrix.git
```
2. Install packages
```sh
pnpm install
```
3. Personalize the `blog.config.js` file with your own information
```js
const CONFIG = {
// Site config
title: "Hendrix",
siteDescription: "Blog and portfolio created with Next.js and Tailwind CSS",
baseURL: "https://hendrix-template.vercel.app",
...
...
}
```
4. Write your own blog posts using Markdown in `content/writing` folder. Also, you can add your own projects in `content/projects` folder and notes in `content/notes` folder.
5. Modify the `content/about.mdx` file to update your biography.
## Content and Config
### Post
Every post is crafted using [ContentLayer](https://www.contentlayer.dev/). To ensure compilation, it must adhere to specific required and optional fields, as exemplified below:
```
title (required)
description (optional but recommended)
date (required)
draft (required)
tags (optional)
```
An example:
```
---
title: "Decoding Signal Processing Basics: A Practical Guide"
date: 2023-11-30
description: "An introduction to signal processing concepts and their applications in engineering and everyday life."
draft: false
tags:
- Mathematics
- Signal Processing
- Engineering
---
```

### Projects
List your personal side projects in the `content/projects` folder, here it's an example of these.
```
title (required)
description (optional but recommended)
date (required)
draft (required)
github (optional)
```
```
---
title: "Gamify Your Life"
description: "A productivity application that turns daily tasks and goals into a gamified experience with levels, achievements, and rewards."
date: 2023-12-15
github: https://github.com/marpeand/gamify-your-life
---
```
### Notes
List your notes in the `content/notes` folder, here it's an example of these.
```
---
title: "Note Title"
date: 2023-12-15
draft: false
---
```
### Static Files
When adding images to your blog post, it's recommended to store them in the `public/static` directory. This ensures accessibility and proper linking. Follow these steps:
To reference an image in your project, use the path starting from the root of the `public` directory.
Example: If your image is in `public/static/my-blog-post/myimage.png`
You can change the favicon in the `app/favicon.ico` file.
# License
By contributing to the project, you agree to license your contributions under the same license as the project itself. See the [LICENSE](LICENSE) file for more information.
Explore similar templates
Compare previews and descriptions within the same stack and category.

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

react-resume-template
A personal resume website template for software developers, built with Next.js, React, and TypeScript and styled with Tailwind CSS. Site content is driven by a single data file at /src/data/data.tsx, with types in dataDef.ts and images in src/images/.
Next.js · Portfolio

Nextjs-tailwindcss-blog-template
A Next.js blog styled with Tailwind CSS. The current branch processes Markdown with Velite; the earlier Contentlayer setup is retained in a separate historical branch.
Next.js · Blog

Next-js-Blog-Boilerplate
A blog starter built on Next.js 12 and Tailwind CSS 3, integrating TypeScript, ESLint, Prettier, and PostCSS.
Next.js · Blog

nextjs-blog-theme
A Next.js 15 and Tailwind CSS 4.x blog starter by Netlify, designed by Bejamas, with MDX support, dark/light theme switching, and environment-variable configuration. It includes a visual setup wizard for deploying to Netlify and manages content via local .mdx files.
Next.js · Blog

blog
A personal blog forked from Timlrx's tailwind-nextjs-starter-blog, built with Next.js, React, and Tailwind CSS. Content is stored as Markdown/MDX under data/, with site, author, navigation, and project data in separate files.
Next.js · Blog
