PaperGrid — 軽量Next.jsブログ&管理システム
概要
PaperGridは「执笔为剑」を掲げる、Next.js App Routerベースの軽量ブログと管理パネルのテンプレートです。TypeScriptで記述され、Prisma ORMやNextAuthを組み合わせた認証・データ管理を提供。MDXで記事を柔軟に書け、コードハイライト・数学式・グラフなどコンテンツ表現が豊富。多言語(中英)対応とダークモードを備え、Dockerコンテナで簡単に起動できるためセルフホスティングやカスタム化がしやすい構成になっています(約300字)。
リポジトリの統計情報
- スター数: 29
- フォーク数: 1
- ウォッチャー数: 29
- コミット数: 8
- ファイル数: 24
- メインの言語: TypeScript
主な特徴
- Next.js App Router + React 19 によるモダンなレイアウトとルーティング。
- Prisma ORMとNextAuthでの堅牢なデータ管理・認証。
- 管理画面(記事・タグ・分類・コメント・ユーザー・システム設定)を内蔵。
- MDX、コードハイライト、数学式・グラフ表示、多言語・ダークモード対応。
技術的なポイント
PaperGridはモダンなフロント/バックエンド技術を組み合わせたフルスタックテンプレートです。Next.jsのApp Routerを採用することでサーバーコンポーネントとクライアントコンポーネントを明確に分離し、パフォーマンスと開発体験を両立しています。データ層はPrisma ORMで設計され、SQLiteなどの軽量DBから運用可能。認証にはNextAuthを用い、管理画面のユーザー管理や権限周りを容易に拡張できます。コンテンツはMDXで記述可能なため、MarkdownにReactコンポーネントや式表示を混在させられるのが強みです。コードハイライトやKaTeX/MathJax等の数式レンダリング、チャート表示も想定されており、技術ブログやノート用途に適しています。デプロイ面ではDockerイメージ(ghcr.io/xywml/papergrid:latest)を用意し、docker-composeでワンコマンド起動できるためセルフホスティングが容易。TypeScriptによる型安全な実装と、国際化(i18n)やダークモードといったUX面の配慮も行き届いており、カスタマイズや機能追加のための拡張性も高いです(約700字)。
プロジェクトの構成
主要なファイルとディレクトリ:
- .dockerignore: file
- .env.example: file
- .gitignore: file
- .prettierignore: file
- .prettierrc: file
…他 19 ファイル
まとめ
軽量で実用的、セルフホストにも向くNext.jsベースのブログ/管理テンプレートです(約50字)。
リポジトリ情報:
- 名前: PaperGrid
- 説明: 执笔为剑 - 一款基于NEXT.js的轻量化博客
- スター数: 29
- 言語: TypeScript
- URL: https://github.com/xywml/PaperGrid
- オーナー: xywml
- アバター: https://avatars.githubusercontent.com/u/58778012?v=4
READMEの抜粋:
PaperGrid - 执笔为剑
一个基于 Next.js App Router 的轻量化个人博客与后台管理系统,内置认证、文章管理、评论与系统设置,支持中文/英文与深色模式。
主要特性
- Next.js App Router + React 19
- Prisma ORM
- NextAuth 认证
- 管理后台(文章、标签、分类、评论、用户、系统设置)
- MDX 内容支持、代码高亮、数学公式与图表
- 国际化与深色模式
快速开始
一键运行:复制 docker-compose.yml,直接启动。
services:
app:
image: ghcr.io/xywml/papergrid:latest
container_name: papergrid
ports:
- "6066:3000"
environment:
# 建议持久化到数据卷,避免容器重建丢数据
DATABASE_URL: "file:/data/db.sqlite"
# 反向代理后必须改...