Next.jsSolidJSReact企业官网启动器

landing-page-template-1 — Next.js 企业官网模板

作者 MohamedDjoudir

MONO 是一个基于 Next.js 的创意机构作品集模板,采用极简粗野主义风格,内置英语与阿拉伯语(RTL)双语路由,附带联系表单与主题切换。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-03查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

Next.js App Router 项目结构,配合 TypeScript 与 Tailwind CSS

02

内置 en 与 ar 双语路由,阿拉伯语版本按 RTL 镜像布局

03

所有可见文案与元数据集中在 messages/en.json 与 messages/ar.json

04

联系表单使用 React Hook Form + Zod 校验,经 TanStack Query 提交

05

src/lib/api 集中管理 fetch 与接口地址,便于替换后端

06

依赖锁定到精确版本并提交 yarn.lock

模板详细介绍

MONO 是一个面向创意机构与作品集场景的落地页模板,代码托管在 GitHub 的 MohamedDjoudir/landing-page-template-1 仓库,采用 MIT 许可。模板使用 Next.js App Router 构建,配合 TypeScript 与 Tailwind CSS 完成样式,整体视觉走极简粗野主义路线。

模板内置英语(en,默认)与阿拉伯语(ar)两套语言,分别路由到 /en 与 /ar,根路径 / 会重定向到 /en。所有可见文案、aria-label、alt 文本与页面元数据都集中在 messages/en.json 与 messages/ar.json 中,新增文案需要同时修改两个文件。布局根据语言切换 html 的 lang 与 dir,并使用 Tailwind 的逻辑方向类(ms-*、pe-*、start-*、text-end)实现 RTL 镜像。若要新增语言,需要在 src/i18n/routing.ts 注册、创建对应 messages 文件,并在 src/i18n/getDirection.ts 中登记书写方向。

项目结构按职责划分:src/app/[locale] 存放布局与首页组合,src/features/home 按页面区块拆分目录,src/components 收纳通用 UI、图标与 Logo 等组件,src/i18n 处理路由与方向,src/lib/api 是唯一包含 fetch 与接口地址的位置,src/services 存放 TanStack Query 钩子。联系表单的数据流为 ContactForm(React Hook Form + Zod)→ useContactForm → useSendContactMessage → contactApi.send。

联系表单通过环境变量 NEXT_PUBLIC_API_BASE_URL 指向接收 POST /contact(载荷为 name、email、message)的后端;该变量留空时表单不发送请求,只在本地接受输入并展示成功状态。模板依赖已锁定到精确版本并提交了 yarn.lock。README 中提到的演示站点与截图来自 aniq-ui.com,属于第三方素材,需按各自许可单独核对,不能仅凭代码的 MIT 许可判断可用性。

Next.jsSolidJS企业官网启动器

适合你的项目吗?

适用场景

  • 搭建创意机构或设计工作室的作品集落地页
  • 需要一个同时支持英语与阿拉伯语 RTL 的展示型站点
  • 为联系表单接入自有 POST /contact 后端接口
  • 作为 Next.js 多语言项目的结构参考,按区块拆分首页组件

适合人群

  • 熟悉 Next.js App Router 与 TypeScript 的前端开发者
  • 需要双语(含 RTL)作品集模板的创意团队
  • 希望自行接入联系表单后端接口的项目
  • 接受极简粗野主义视觉风格的使用者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Node.js 18.17 或更高版本,并使用 Yarn(可通过 corepack enable 启用)

  2. 2

    执行 yarn install 安装依赖,可选地复制 .env.example 为 .env.local

  3. 3

    开发服务器启动后访问 / 会重定向到 /en,/ar 为阿拉伯语版本

  4. 4

    如需接收联系表单提交,在 .env.local 中配置 NEXT_PUBLIC_API_BASE_URL;留空则表单仅在本地展示成功状态

  5. 5

    新增语言需同时修改 src/i18n/routing.ts、messages 目录与 src/i18n/getDirection.ts

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 联系表单默认不发送数据;只有配置 NEXT_PUBLIC_API_BASE_URL 指向自建后端(接收 POST /contact,载荷 name、email、message)时才会真正提交,否则仅在本地展示成功状态。
  • README 中的在线演示与详情页指向第三方站点 aniq-ui.com,其演示素材与截图不随 MIT 代码许可一并授权,需单独核对其许可。
  • 支持渠道为外部站点 aniq-ui.com 的联系入口,非仓库内支持,使用前需自行评估该外部服务的可用性与条款。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Leave empty to run without a back-end: the form then accepts the message locally and shows its success state.

README 原文

Live demo and details: [aniq-ui.com MONO Template](https://www.aniq-ui.com/en/templates/creative-agency-portfolio-nextjs-template)

README 原文

For questions or support, contact the [Aniq UI team](https://www.aniq-ui.com/#contact).

README 原文
https://github.com/MohamedDjoudir/landing-page-template-1/blob/main/LICENSEhttps://github.com/MohamedDjoudir/landing-page-template-1/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-03。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 92 / 100
技术栈
Next.js · SolidJS · React
网站类型
企业官网 · 启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-26
截图检查日期
2026-10-03

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-04

查看当时使用的来源资料

SHA-256: 7bbeeb94817b1cd1dd3322d476f8cfaf33916bc10ed5496b63aa6e5a4e97bcba

2026-10-03T13:49:39.071Z

来源文件 / 仓库
# MONO - Creative Agency Portfolio Template

**MONO** is a minimal, brutalist portfolio template built with **Next.js 15**, **TypeScript** and **Tailwind CSS**, available in **English** and **Arabic** (RTL).

Live demo and details: [aniq-ui.com MONO Template](https://www.aniq-ui.com/en/templates/creative-agency-portfolio-nextjs-template)

---

## Getting Started

Requirements: Node.js 18.17 or later and Yarn (`corepack enable`).

```sh
yarn install
cp .env.example .env.local   # optional, see Environment
yarn dev
```

Open the dev server URL: `/` redirects to `/en`, and `/ar` serves the Arabic (right-to-left) version.

| Script           | Purpose                    |
| ---------------- | -------------------------- |
| `yarn dev`       | Start the dev server       |
| `yarn build`     | Production build           |
| `yarn start`     | Serve the production build |
| `yarn lint`      | Run `next lint`            |
| `yarn typecheck` | Run `tsc --noEmit`         |

Every dependency is pinned to an exact version and `yarn.lock` is committed.

---

## Environment

| Variable                   | Purpose                                                                                                                          |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `NEXT_PUBLIC_API_BASE_URL` | Base URL of the API that receives the contact form (`POST /contact` with `{ name, email, message }`). Leave empty to run without a back-end: the form then accepts the message locally and shows its success state. |

---

## Languages

- Locales: `en` (default) and `ar`, routed as `/en` and `/ar`.
- Messages live in `messages/en.json` and `messages/ar.json`. Every visible string, aria-label, alt text and the page metadata comes from these files, so add a key to both files together.
- `<html lang dir>` follows the locale, and the layout uses logical Tailwind classes (`ms-*`, `pe-*`, `start-*`, `text-end`) so it mirrors under RTL.
- To add a locale, add it to `src/i18n/routing.ts`, create `messages/<locale>.json`, and register its direction in `src/i18n/getDirection.ts`.
- The header holds a `LocaleSwitcher` (`src/components/LocaleSwitcher`).

---

## Project Structure

```
messages/                   # en.json, ar.json
src/
├── app/[locale]/           # layout.tsx (html, providers, metadata) and page.tsx (home composition)
├── components/             # Shared components
│   ├── ui/                 # Button, Card, Input, Textarea, Badge, SectionHeader, field parts
│   ├── icons/              # Brand SVG icons
│   ├── Logo/  LocaleSwitcher/  FloatingCursor/  NoiseBackground/  TextGenerateEffect/
├── features/home/          # One folder per page section
│   └── <Section>/          # index.tsx + components/ hooks/ constants/ types/ utils/ (as needed)
├── i18n/                   # routing, request config, navigation helpers, direction
├── layouts/                # Navbar and Footer
├── lib/
│   ├── api/                # The only place with fetch and endpoint URLs
│   └── utils.ts            # cn() helper
├── providers/              # ThemeProvider, QueryProvider
├── services/               # TanStack Query hooks (services/contact/hooks/mutations)
├── styles/                 # globals.css
├── types/                  # Shared types (ApiResponse, ContactPayload)
└── middleware.ts           # Locale routing
```

Conventions: one component per file with an `index.ts` barrel, one hook per file, one helper per file, constants hold keys, routes, icons and numbers only (text lives in the message files).

### Contact form data flow

`ContactForm` (React Hook Form + Zod, messages translated) -> `useContactForm` -> `useSendContactMessage` (`src/services/contact`) -> `contactApi.send` (`src/lib/api/contact.ts`).

---

## Tech Stack

| Technology            | Purpose                         |
| --------------------- | ------------------------------- |
| Next.js 15            | React framework with App Router |
| next-intl             | Localisation and locale routing |
| TypeScript            | Type safety                     |
| Tailwind CSS          | Utility-first styling           |
| Motion                | Animations                      |
| TanStack Query        | Mutations and server state      |
| React Hook Form + Zod | Forms and validation            |
| Lucide React          | Icons                           |
| next-themes           | Theme management                |

---

## Support

For questions or support, contact the [Aniq UI team](https://www.aniq-ui.com/#contact).

## License

MIT License, see the [LICENSE](LICENSE) file.

Created by [Aniq UI](https://www.aniq-ui.com), premium Next.js templates for modern web apps.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。