website-next:基于 Next.js 与 Tailwind CSS 的官网项目

可用于构建现代化 UI 框架官网,提供文档、教程、示例与 Playground 等能力。基于 Next.js 13+ App Router 与 Tailwind CSS 构建,支持深色模式、搜索、高亮及交互动效。【此简介由AI生成】

分支2Tags0
文件最后提交记录最后更新时间
9 个月前
11 个月前
9 个月前
10 个月前
9 个月前
1 年前
1 年前
9 个月前
10 个月前
10 个月前
10 个月前
10 个月前

OpenInula 官网(Next.js 版)

项目简介

OpenInula 是一个现代化的 JavaScript UI 框架,致力于提供极致性能和开发体验。本仓库为 OpenInula 新一代官网,基于 Next.js 13+(App Router)与 Tailwind CSS 构建,提供文档、教程、示例与 Playground 等站点能力。


核心特性

  • 编译优先:在编译期完成大部分工作,缩短运行时开销
  • 细粒度响应式:自动追踪依赖,减少不必要重渲染
  • API 兼容性:与 React 生态高度契合,平滑迁移
  • 模板增强:内置 if/for 等模板指令
  • 站点体验:深色模式、搜索、高亮、课程与示例、交互动效

环境要求

  • Node.js ≥ 18
  • 包管理器:推荐 pnpm(也可使用 yarn/npm)
  • 由于本仓库包含 openInula 子项目(Vite 应用),其 Vite 插件要求 Node ≥ 18

安装与启动

  1. 安装依赖(根项目):
pnpm install
  1. 安装依赖(可选,openInula 子项目用于 Playground REPL 示例):
cd openInula && pnpm install
  1. 本地开发:
# 在根目录启动 Next.js 开发服务器
pnpm dev

# 如需同时启动 openInula 子项目(可选)
cd openInula && pnpm dev

构建与部署

  • 根站点构建: 首先将openInula文件夹移到其他地方,不要在项目根目录。同时,也需要进入openInula文件夹进行一次pnpm build构建
pnpm build
  • 站点启动(生产):
pnpm start
  • 构建后搜索索引:构建完成会自动执行 postbuild,用 Pagefind 生成到 public/_pagefind

  • 注意事项(重要):

    • 本仓库包含 openInula/ 子目录(一个独立的 Vite 应用,仅供 REPL/Playground),默认情况下并不会影响 Next.js 的构建。但如果你的自定义流程将其纳入同一产物或分析,请避免把 openInula 误当作 Next.js 的子模块进行打包。

目录结构(节选)

website-next/
├─ src/
│  ├─ app/                # Next.js App Router 页面与路由
│  │  ├─ docs/            # 文档(MDX)与文档页
│  │  ├─ playground/      # 教学与 Playground 页面
│  │  ├─ api/             # API 文档/说明页
│  │  └─ ...
│  ├─ components/         # 站点通用组件(含 HomePage、UI 组件等)
│  └─ lib/                # 工具、hooks、性能与 utils
├─ public/                # 静态资源(含 Pagefind 索引输出 _pagefind)
├─ openInula/             # 独立 Vite 应用(用于 REPL/Playground 示例)
├─ package.json
└─ README.md

常用脚本

根目录 package.json

{
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint",
    "postbuild": "pagefind --site .next/server/app --output-path public/_pagefind"
  }
}
  • dev: 启动 Next.js 开发服务器
  • build: 生产构建(会为 App Router 产出 .next
  • start: 启动生产服务
  • lint: 运行 ESLint 检查
  • postbuild: 构建后生成 Pagefind 搜索索引

openInula/package.json(子项目):

{
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  }
}

FAQ / 故障排查

  • Pagefind 索引未生成或搜索无结果
    • 确认构建成功后已执行 postbuild。也可手动运行:
      pnpm build && pnpm exec pagefind --site .next/server/app --output-path public/_pagefind
      
  • 本地开发页面加载缓慢或样式异常
    • 删除 .next/node_modules/ 重新安装依赖;检查 tailwindcss 版本与 PostCSS 配置是否匹配。
  • Playground 示例不工作
    • openInula/ 子项目需单独 pnpm installpnpm dev;确保依赖 openinulainula-router 正常安装。

贡献

欢迎任何形式的贡献!

  1. Fork 本仓库并克隆到本地
  2. main 切出特性分支进行开发
  3. 发起 MR 并补充说明变更点与动机

详细流程与行为准则请参阅:

  • src/app/docs/conventional/ContributingGuide/page.mdx
  • src/app/docs/conventional/CodeOfConduct/page.mdx

项目介绍

可用于构建现代化 UI 框架官网,提供文档、教程、示例与 Playground 等能力。基于 Next.js 13+ App Router 与 Tailwind CSS 构建,支持深色模式、搜索、高亮及交互动效。【此简介由AI生成】

定制我的领域