Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Mappedinfo/ppage

Repository files navigation

PPage - 个人主页系统

一个纯前端部署的个人主页生成系统。

✨ 核心特性

🎯 零配置部署

  • 纯前端部署,无需服务器和数据库
  • 通用路径适配,支持子目录和根域名部署
  • 一键部署到 GitHub Pages,零成本托管
  • 自动化脚本,清理、构建、部署一步完成

🚀 SEO 优化(新增!)

  • 静态站点生成(SSG),构建时预渲染 HTML 页面
  • 搜索引擎友好,爬虫可直接索引完整内容
  • 首屏极速加载,无需等待 JavaScript 执行
  • React Hydration,保持所有动态交互功能
  • Open Graph 标签,完美支持社交分享预览
  • 自动生成 sitemap.xml 和 robots.txt
  • 结构化数据,JSON-LD 增强搜索结果展示

📝 强大的内容管理

  • YAML 配置文件一站式管理站点内容
  • Markdown 创作,自动渲染为响应式网页
  • 自动文件夹扫描,在 content/ 下创建文件夹即可自动生成页面
  • 文档中心,支持层级结构、面包屑导航、双向链接
  • 自动文件扫描,引用文件自动在文件页面展示
  • 新闻时间轴,支持多种事件类型和论文状态
  • 内容加密(🆕),密码保护私密内容,安全存储在公开仓库

🎨 丰富的展示功能

  • 多主题支持(明亮、暗黑、学术、玻璃),支持运行时切换
  • 国际化(i18n),支持中英文切换
  • 响应式设计,完美适配各种设备
  • 汉堡菜单,移动端自动收纳次要导航
  • PDF 在线预览和文件下载

🔧 开发者友好

  • 配置驱动,通过 collections 控制文档集合
  • 安全更新机制,fork 后可安全获取上游更新
  • Git merge strategy,自动保护用户内容
  • 代码质量工具(ESLint、Stylelint、Prettier)
  • Google Analytics 集成,支持网站数据分析和事件跟踪

快速开始

方式一:使用初始化命令(推荐)

# 克隆项目
git clone https://github.com/mappedinfo/ppage.git
cd ppage
# 安装依赖
npm install
# 初始化项目(归档示例模板,创建用户模板)
npm run init
# 编辑配置文件,填写你的个人信息
# 配置文件:public/config.yml(搜索【请填写】标记)
# 本地开发
npm run dev
# 构建和部署(自动适配任意路径)
npm run deploy

方式二:直接使用示例模板

# 克隆项目
git clone https://github.com/mappedinfo/ppage.git
cd ppage
# 安装依赖
npm install
# 直接编辑现有的配置文件和内容
# 配置文件:public/config.yml
# 内容目录:content/
# 本地开发
npm run dev
# 构建和部署(自动适配任意路径)
npm run deploy

📚 文档

💡 主要功能

自动文件夹扫描

content/ 目录下创建任何文件夹,系统会自动:

  • 扫描并识别文件夹
  • 生成导航菜单项
  • 创建对应的路由和页面

通过 public/config.yml 中的 collections 配置控制:

collections:
 tutorials:
 enabled: true # 是否启用
 showInNavigation: true # 是否在导航栏显示
 showInMobile: false # 移动端是否直接显示
 order: 1 # 导航顺序

文档中心

强大的文档管理系统,支持:

  • 层级结构:通过 parent 字段建立父子关系
  • 智能排序:支持置顶、优先级、order 多级排序
  • 面包屑导航:自动生成文档路径
  • 双向链接:自动识别文档间引用

自动文件扫描

在 Markdown 中引用文件,系统会自动:

  • 扫描所有 Markdown 中的文件链接
  • 在文件页面自动展示
  • 支持 PDF 预览和下载

新闻时间轴

展示学术动态和重要事件:

  • 支持多种事件类型(论文、获奖、会议等)
  • 论文状态追踪(已接收、在线、已发表)
  • 时间轴展示,直观易读

🚢 部署

PPage 使用相对路径构建,自动适配任何部署路径,无需手动配置 base path。

一键部署

# 1. 配置 public/config.yml 中的 deploy 信息
deploy:
 repository: "https://github.com/yourusername/yourrepo"
 branch: "gh-pages"
 customDomain: "" # 可选,填写自定义域名
# 2. 执行部署(自动清理、构建、部署)
npm run deploy

支持的部署场景

子目录部署:yourusername.github.io/ppage
根域名部署:yourusername.github.io
自定义域名:yourdomain.com

自动适配原理:

  • 构建时使用 base: './' 相对路径
  • 运行时通过 window.location.pathname 动态检测部署路径
  • 无需手动配置,一次构建随处可用

手动构建

# 清理旧文件
npm run clean
# 常规构建(自动使用相对路径 + SSG 预渲染)
npm run build
# 预览构建结果
npm run preview

SSG 预渲染说明

🆕 双模式渲染架构

从 v0.2.0 开始,PPage 实现了 SSG(静态站点生成)+ CSR(客户端渲染)混合模式:

构建时:

  1. Vite 构建 React 应用
  2. 自动扫描所有 Markdown 文件
  3. 为每个 .md 生成静态 HTML 页面
  4. 生成 sitemap.xml 和 robots.txt

运行时:

  • 搜索引擎爬虫:直接索引 HTML 内容
  • 用户访问:HTML 首屏快速显示,React Hydration 启用交互功能

SEO 优化效果:

  • ✅ 首次内容绘制(FCP)减少 80%
  • ✅ 搜索引擎可索引性:优秀
  • ✅ 社交分享预览:完美支持
  • ✅ 用户体验:显著提升

更多部署细节请查看 USER_GUIDE.md 的部署指南

🔄 Fork 后如何更新?

当你 fork 了本仓库并自定义了内容后,可以安全地获取上游更新:

# 一键更新,自动保护你的配置和内容
npm run update

受保护的文件(更新时不会被覆盖):

  • public/config.yml - 你的站点配置
  • content/ - 你的所有内容
  • public/assets/ - 你的资源文件
  • scripts/deploy.sh - 你的部署脚本

详细更新流程请查看 UPDATE_GUIDE.md

🔧 技术栈

  • 前端框架:React 18 + Vite
  • 路由:React Router 6
  • Markdown 渲染:markdown-it
  • SSG 预渲染:构建时静态 HTML 生成 + React Hydration
  • 配置解析:js-yaml
  • 样式:CSS Modules + CSS Variables
  • 代码质量:ESLint + Stylelint + Prettier
  • 国际化:React Context 自定义 i18n
  • SEO 优化:Open Graph + JSON-LD + Sitemap

🛠️ 开发指南

本地开发

# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 代码检查
npm run lint
# 代码格式化
npm run format
# 自动修复问题
npm run lint:fix

项目结构

ppage/
├── content/ # 内容目录
│ ├── pages/ # 文档页面
│ ├── posts/ # 博客文章
│ ├── files/ # 文件资源
│ └── tutorials/ # 自定义文档集合
├── public/
│ ├── config.yml # 站点配置文件
│ └── assets/ # 静态资源
├── src/
│ ├── components/ # React 组件
│ ├── pages/ # 页面组件
│ ├── utils/ # 工具函数
│ ├── config/ # 配置解析
│ ├── i18n/ # 国际化
│ └── themes/ # 主题样式
└── scripts/ # 工具脚本
 ├── deploy.sh # 部署脚本
 ├── init.js # 初始化脚本
 └── update.js # 更新脚本

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📝 License

MIT License - 详见 LICENSE 文件

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /