@hope-dies-here/next-blog-one
Version:
A plug-and-play Next.js blog feature for easy integration via npx.
110 lines (70 loc) • 2.97 kB
Markdown
# Next Blog – Plug-and-Play Next.js Blog Feature
A plug-and-play Next.js blog feature for instant integration into any Next.js project.
Easily set up a `/blog` route with PostgreSQL backend, Tailwind CSS styling, JWT authentication, and public assets using a single command.
---
## Features
- **Instant `/blog` route**: All pages, components, and API routes are set up for you.
- **PostgreSQL backend**: Automatic schema creation and ready-to-use CRUD endpoints.
- **Tailwind CSS**: Modern styling out of the box.
- **JWT Authentication**: Secure endpoints with JWT.
- **Public assets**: Images and SVGs included.
- **No root file conflicts**: Does not overwrite your existing `layout.js` or `page.js`.
- **Components folder**: All blog components are available in `/components/blog`.
---
## Installation & Usage
### 1. Install
```bash
npm i @hope-dies-here/next-blog-one
```
Then
```bash
npx next-blog init
```
> **Notice:**
> For best results, test this package with a fresh Next.js project created using
> `npx create-next-app` and select the Tailwind CSS option during setup.
> This ensures all required dependencies and configuration are ready for the feature
- By default, this copies the blog feature into your project's `app` or `src/app` folder (auto-detected).
- To force a specific target, use:
- `npx next-blog init --app` (for `/app`)
- `npx next-blog init --src` (for `/src/app`)
### 2. What Gets Added
- `/app/blog` or `/src/app/blog` – Blog pages
- `/app/api/blog-posts` – API routes for blog CRUD
- `/app/api/auth` – Authentication API routes
- `/app/styles` – Blog and global CSS
- `/app/lib` – Database connection
- `/components/blog` – Blog components
- `/public` – Blog assets (images, SVGs, etc.)
### 3. Required Dependencies
When you install the package, these dependencies are automatically installed:
- `pg` (PostgreSQL client)
- `tailwindcss`, `postcss`, `autoprefixer` (for styling)
- `jsonwebtoken` (for JWT authentication)
### 4. Environment Setup
Set your PostgreSQL connection string and JWT secret in your environment:
```env
DATABASE_URL=postgres://user:password@host:port/database
JWT_SECRET=your_super_secret_jwt_key
```
The schema is created automatically on first run.
### 5. Access Your Blog
Visit `/blog` in your Next.js project to see your new blog in action!
---
## Customization
- Edit `/blog/page.jsx` and components in `/blog` and `/components/blog` as needed.
- Add or modify assets in `/public`.
- API routes are in `/api/blog-posts` and `/api/auth`.
---
## Notes
- **No root files are overwritten**: Your existing `layout.js` and `page.js` remain untouched.
- **Safe for existing projects**: Only adds the `/blog` feature and its dependencies.
---
## Uninstall
To remove, simply delete the `/blog`, `/api/blog-posts`, `/api/auth`, `/styles`, `/lib`, `/components/blog`, and any assets added to `/public`.
---
## License
MIT
---
## Author
name.Randome()