An open API service indexing awesome lists of open source software.

https://github.com/murabcd/blog

Blog built with Next.js, Tailwind, and Vercel
https://github.com/murabcd/blog

blog mdx nextjs portfolio react tailwindcss

Last synced: about 1 month ago
JSON representation

Blog built with Next.js, Tailwind, and Vercel

Awesome Lists containing this project

README

          


An Open-source AI Chatbot Built With Next.js.

Blog



CMS-style workflow where content is stored in Convex and synced from markdown/MDX files.


Blog Built with Next.js and Convex.


Features ·
Running locally ·
Syncing content ·
License



## Features

- [Next.js](https://nextjs.org) App Router
- Advanced routing for seamless navigation and performance
- [TailwindCSS](https://tailwindcss.com/):
- A utility-first CSS framework for rapidly building custom designs
- [MDX](https://mdxjs.com/)
- Write JSX in your Markdown documents for interactive components and dynamic content
- [Vercel Blob](https://vercel.com/docs/storage/vercel-blob):
- For storing and serving images
- [Convex](https://www.convex.dev/)
- Real-time database for storing like counting and visitor interactions

## Running locally

You will need to use the environment variables [defined in `.env.example`](.env.example) to run the blog. It's recommended you use [Vercel Environment Variables](https://vercel.com/docs/projects/environment-variables) for this, but a `.env` file is all that is necessary.

> Note: You should not commit your `.env` file or it will expose secrets.

1. Install Vercel CLI: `bun i -g vercel`
2. Link local instance with Vercel and GitHub accounts (creates `.vercel` directory): `vercel link`
3. Download your environment variables: `vercel env pull`

```bash
bun install
bun dev
```

Your app should now be running on [localhost:3000](http://localhost:3000/)

## Syncing content

- `sync` / `sync:prod`: Use when you only changed content files (MDX/markdown)
- `deploy` / `deploy:prod`: Use when you changed code, Convex functions, or schema

Make sure you have `.env.production.local` with your production Convex URL:

## License

You are free to use this code as inspiration. Please do not copy it directly. Crediting the author is appreciated.