وبلاگ جیمی
یک سیستم وبلاگ شخصی مینیمال که بر پایه Next.js 15+ ساخته شده است.
تکنولوژیهای مورد استفاده
- فریمورک: Next.js 13+ (App Router)
- استایل: Tailwind CSS
- آیکونها: Lucide Icons
- تم: پشتیبانی از تغییر حالت تاریک/روشن
- استقرار: Vercel
ویژگیها
- 📝 پشتیبانی از مقالات Markdown
- 🌓 تغییر حالت تم تاریک/روشن
- 📱 طراحی واکنشگرا
- ⚡ بارگذاری سریع
- 📅 نمایش تایملاین مقالات
- 🔐 پنل مدیریت آنلاین (ایجاد مقاله مستقیم از طریق GitHub API)
ساختار پروژه
.
├── app/
│ ├── lib/ # 工具函数和数据处理
│ ├── posts/ # 博客文章
│ └── page.tsx # 首页
├── content/
│ ├── notes/ # 随笔
│ └── posts/ # 文章
├── components/ # React 组件
├── public/ # 静态资源
└── styles/ # 全局样式نصب و اجرا
- کلون کردن پروژه
git clone https://github.com/Lily-404/blog.git
cd jimmy-blog- نصب وابستگیها
npm install- اجرای سرور توسعه
npm run dev- ساخت نسخه تولیدی
npm run buildافزودن مقاله جدید
روش اول: پنل مدیریت آنلاین (توصیه میشود)
- به صفحه
/adminمراجعه کنید - با رمز عبور مدیر وارد شوید
- اطلاعات مقاله را وارد کرده و ارسال کنید
- مقاله به صورت خودکار از طریق GitHub API ایجاد میشود و Vercel به طور خودکار دوباره مستقر میشود
روش دوم: افزودن دستی فایل
- یک فایل مارکداون جدید در پوشه
content/postsایجاد کنید - قالب نامگذاری فایل: xxx.md
- در ابتدای فایل، فرادادهها را اضافه کنید:
---
title: 文章标题
date: YYYY-MM-DD
tags: ["标签1","标签2","标签3"]
---افزودن یادداشت
- در پوشه content/notes
یک فایل Markdown جدید بسازید - قالب نامگذاری فایل: YYYY-MM-DD-title.md
- در ابتدای فایل، فراداده را اضافه کنید:
---
date: YYYY-MM-DD
---پیکربندی پنل مدیریت
پنل مدیریت از GitHub OAuth برای احراز هویت استفاده میکند و فقط مالک مخزن یا همکاران میتوانند به آن دسترسی داشته باشند.
۱. ایجاد GitHub OAuth App
- به GitHub Settings > Developer settings > OAuth Apps مراجعه کنید
- روی "New OAuth App" کلیک کنید
- اطلاعات را وارد کنید:
- Application name: Jimmy Blog Admin
(یا هر نام دلخواه) - Homepage URL: https://دامنه-شما.com
(محیط تولید) یاhttp://localhost:3000(توسعه محلی) - Authorization callback URL:
- محیط تولید: https://دامنه-شما.com/api/auth/github/callback
- توسعه محلی: http://localhost:3000/api/auth/github/callback
- روی "Register application" کلیک کنید
- Client ID را یادداشت کنید
- روی "Generate a new client secret" کلیک کرده و Client secret را یادداشت کنید
۲. پیکربندی متغیرهای محیطی
در تنظیمات پروژه Vercel متغیرهای محیطی زیر را اضافه کنید:
- GITHUB_CLIENT_ID
: Client ID مربوط به GitHub OAuth App شما - GITHUB_CLIENT_SECRET
: Client Secret مربوط به GitHub OAuth App شما - GITHUB_OWNER
: نام کاربری GitHub (پیشفرض:Lily-404برای اعتبارسنجی دسترسی کاربر) - GITHUB_REPO
: نام مخزن (پیشفرض:blog) - GITHUB_REDIRECT_URI
: آدرس بازگشت OAuth (اختیاری، به طور پیشفرض خودکار تولید میشود) - NEXT_PUBLIC_BASE_URL
: آدرس سایت شما (برای تولید آدرس بازگشت، باید در محیط تولید تنظیم شود) - محیط تولید: https://www.jimmy-blog.top
- توسعه محلی: http://localhost:3000
۳. پیکربندی توسعه محلی
در ریشه پروژه یک فایل به نام .env.local ایجاد کنید:
GITHUB_CLIENT_ID=你的Client_ID
GITHUB_CLIENT_SECRET=你的Client_Secret
GITHUB_OWNER=Lily-404
GITHUB_REPO=blog
NEXT_PUBLIC_BASE_URL=http://localhost:30004. پیکربندی محیط تولید (Vercel)
در تنظیمات پروژه Vercel، اطمینان حاصل کنید که موارد زیر را تنظیم کنید:
NEXT_PUBLIC_BASE_URL=https://www.jimmy-blog.top
⚠️ توجه:
- فایل .env.local
به.gitignoreاضافه شده و به Git ارسال نخواهد شد - هنگام توسعه محلی، مطمئن شوید URL بازگشت OAuth App روی http://localhost:3000/api/auth/github/callback
تنظیم شده باشد - در محیط تولید باید NEXT_PUBLIC_BASE_URL
را رویhttps://www.jimmy-blog.topتنظیم کنید - URL بازگشت OAuth App در محیط تولید باید این باشد: https://www.jimmy-blog.top/api/auth/github/callback`
استقرار
پروژه برای استقرار روی Vercel پیکربندی شده و از استقرار خودکار پشتیبانی میکند. کافی است کد را به مخزن GitHub پوش کنید تا Vercel به طور خودکار آن را بسازد و مستقر کند.
مزایای استفاده از پنل مدیریت
- ✅ بدون نیاز به محیط توسعه محلی
- ✅ افزودن مقاله در هر زمان و مکان
- ✅ فعالسازی خودکار استقرار مجدد Vercel
- ✅ کاملاً رایگان (GitHub OAuth و Vercel هر دو در سهمیه رایگان قرار دارند)
- ✅ ایمن (احراز هویت GitHub OAuth، فقط مالک/همکاران مخزن دسترسی دارند)
- ✅ بدون نیاز به مدیریت رمز عبور، ورود با حساب GitHub
مشارکت
ارسال Issue و Pull Request خوشآمد است!
مجوز
MIT License
--- Tranlated By Open Ai Tx | Last indexed: 2026-01-30 ---