Next.jsReactPortfolioBlog

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.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-14View source

What stands out

A quick read of the recorded project description.

01

Built with Next.js and TailwindCSS; the README states its page load speed performs well

02

Compiles MDX content through ContentLayer

03

Supports dark and light theme switching

04

Uses rehypeKatex for math syntax and rehypePrettyCode for code highlighting

05

Includes an RSS feed, sitemap, and robots.txt

06

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.

Next.jsReactPortfolioBlog

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. 1

    After cloning the repository, use pnpm install to install dependencies

  2. 2

    Edit blog.config.js to fill in site title, description, baseURL, and other personal information

  3. 3

    Write blog posts in content/writing, add projects in content/projects, and add notes in content/notes

  4. 4

    Modify content/about.mdx to update the personal bio

  5. 5

    Article images are recommended to be stored in the public/static directory; the favicon can be modified at app/favicon.ico

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This 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

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">

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmarpeand%2Fhendrix)
<span style="margin-left:5px"></span>
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/marpeand/hendrix)
<span style="margin-left:5px"></span>

</div>

| Dark mode                                 | Light mode                                  |
| ----------------------------------------- | ------------------------------------------- |
| ![Dark mode](/public/dark-screenshot.png) | ![Light mode](/public/light-screenshot.png) |

### 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
---
```

![Post Page](/public/post-page-screenshot.png)

### 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.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.