这是一个基于 Next.js 和 Tailwind CSS 的博客启动模板。第 2 版基于 Next App 目录,使用 React Server Component 并使用 Contentlayer 来管理 markdown 内容。
这可能是功能最丰富的 Next.js markdown 博客模板。易于配置和定制,是替代现有的 Jekyll 和 Hugo 个人博客的完美选择。
请查看下面的文档开始使用。
- 演示博客 - 此仓库
- 我的个人博客 - 修改为自动生成带日期的博客文章
- Karhdo's Blog - Karhdo 的博客 - Karhdo 的编码冒险 (源代码)
- SOTO's Blog - 从 V1 升级的更个性化的个人网站 (源代码)
- Prabhu's Blog - Prabhu 的个人网站带博客 (源代码)
- Rabby Hasan's Blog - Rabby Hasan 的个人博客,关于全栈开发和云 (源代码)
- enscribe.dev - enscribe 的个人博客;网络安全相关内容、前端网页开发等 (源代码)
- dalelarroder.com - Dale Larroder 从 V1 升级的个人网站 (源代码)
- thetalhatahir.com - Talha Tahir 的个人博客。添加了文章缩略图、LinkedIn 卡片、美观的 hero 内容、技术表情符号。
- homing.so - Homing 的个人博客,记录他正在学习的内容 (源代码)
- zS1m's Blog - zS1m 的个人博客,用于记录和分享日常学习的技术内容 (源代码)
- dariuszwozniak.net - 软件开发博客 (源代码)
- dreams.plus - 关于生活和技术的一些想法和记录的博客网站。
- francisaguilar.co blog - Francis Aguilar 的个人博客,谈论技术、健身和个人发展。
- Min71 Dev Blog - 关于区块链、开发等的个人博客 (源代码)
- Bryce Yu's Blog - Bryce Yu 关于分布式系统、数据库和 Web 开发的个人博客 (源代码)
- Remote Startup Senpai Anime Series Website - 动漫系列《Remote Startup Senpai》的落地页。
- Secret Base - Jac Hsu 的个人博客,谈论技术、想法和生活。
- Zsebinformatikus - 信息高速公路指南博客。
- Anton Morgunov's Blog - 谈论科学而不简化,或者为什么理论和计算化学很酷。
- Hans Blog - Hans 的个人博客,前端技术、画廊和旅行日记 中文 (源代码)
- London Tech Talk - 探索技术趋势和海外生活经历的播客。- 日本語
- CRUD Flow Blog - 关于 AI、云工程、数据科学和个人发展的技术博客
- Trillium's Blog - 修改为在 /resume页面渲染简历 pdf (源代码)
- Wujie's Blog: 旅行者计划 - Wujie 的个人数字花园 (源代码)
- Xiaodong's Blog - Xiaodong 关于前端技术及生活的个人博客。「中文」(源代码)
- Azurtelier.com - Amos 的个人网站,关于技术、音乐、AI 插画等。[English/中文] (源代码)
- JoshHaines.com - Josh Haines 的个人网站 (源代码)
- Jigu's Blog - Jigu 关于技术、加密货币、golang 和生活的个人博客。「中文」
- andrewsam.xyz - Andrew 的个人网站,使用 ShadCN、Prisma、MongoDB、Auth.js、简历页面、自定义经历时间线和技术组件 (源代码)
- Rulli Damara Putra's Portfolio - Rully 的个人博客和作品集。
- blog.taoluyuan.com 套路猿 - 支持多主题切换的个人技术博客。「中英」
- LyricsDecode.com - 一个歌曲歌词网站,提供原始歌词、罗马音和英文翻译,并可自定义查看选项。
- bmacharia.com - Benson Macharia 关于网络安全和 IT 风险管理的技术博客。
- armujahid.me - Abdul Rauf 关于技术和随机内容的个人博客。
- leohuynh.dev - 🇻🇳 Leo 的开发博客 – 故事、见解和想法。添加了 /snippets、/books页面,添加了ProfileCard、CareerTimeline组件等更多内容。(源代码)
- OpenSats Blog - 一个旨在可持续资助开源项目的 501(c)(3) 公共慈善机构 (源代码)
- Schedles Blog - 面向内容创作者的社交媒体调度技巧、策略和产品更新 (项目链接)
- YawDev Blog - IT 机构/软件开发。关于技术和业务的博客 (项目链接)
- Engineering Notes - Jonas Vetterle 个人网站和博客。我写一些关于软件工程的文章,包括 AI 和量子计算
- Screenager.dev - 个人网站作品集和博客。记录我的学习历程和一些指南。
- kezhenxu94's blog - 关于开发、技巧和教程的博客。
- Parminder's blog - 关于软件开发、生活等的想法。
- wheelcircuit.com - 每日更新的汽车 YouTube 新闻和视频博客。
- taitrd.com - Tai 的个人开发博客,技术和编码活动,包含 Dynamodb 实践 (源代码)。
- Shelton's Blog - 分享 TypeScript 全栈开发 (Next.js, React, Hono, Supabase)、网络爬虫和其他前沿技术的见解。
- Culture DevOps - 关于 DevOps 实践和工具的技术博客 (源代码)。
- InnovateWire Blog - 关于软件自动化和自动化工具的技术博客 (项目链接)
- MichaelScheiwiller.com - 软件和数据工程博客以及个人笔记和更新的混合
- Wahyu Ikbal Personal Website - 带 AI 功能的个人网站,分享技术素养 (源代码)
- ByteGeometry Blog - 关于技术趋势和业务增长的软件开发博客 (项目链接)
- Farhad's Blog - Farhad 的个人网站,分享技术新闻和对新兴技术的见解,重点关注 AI 和数据科学 (项目链接)
- Utanzu Cybersecurity – 一个蓬勃发展的社区,通过导师制和专家培训帮助网络安全专业人员发挥全部潜力并推进职业生涯。
- trungtmnguyen.com - 🇻🇳 Trung 的个人和技术博客 – 一些关于我的想法、技巧和学习内容。添加了一些自定义组件,如:UnderlineHoverLink、Timeline、霓虹边框样式,未来还会有更多 (源代码)
- Ryan Fitton's Blog – 带有'作品集'部分的自定义主题版本。用作开发项目的个人博客/作品集 (源代码)
- ktovoz.com - Kto 的个人博客,分享生活、技术。添加了文章分类和文章目录导航 「中文」
使用该模板?请随意创建 PR 并将您的博客添加到此列表中。
- 使用 Typescript 的 Next.js
- Contentlayer 管理内容逻辑
- 使用 Tailwind 3.0 和主色调属性轻松定制样式
- MDX - 在 markdown 文档中编写 JSX!
- 接近完美的 lighthouse 分数 - Lighthouse 报告
- 轻量级,首次加载 JS 仅 85kB
- 移动端友好视图
- 浅色和深色主题
- 使用 next/font 进行字体优化
- 与 pliny 集成,提供:
- 多种分析选项,包括 Umami、Plausible、Simple Analytics、Posthog 和 Google Analytics
- 通过 Giscus、Utterances 或 Disqus 进行评论
- 新闻通讯 API 和组件,支持 Mailchimp、Buttondown、Convertkit、Klaviyo、Revue、Emailoctopus 和 Beehiiv
- 使用 Kbar 或 Algolia 进行命令面板搜索
 
- 通过 rehype-prism-plus 实现服务器端语法高亮,支持行号和行高亮
- 通过 KaTeX 支持数学公式显示
- 通过 rehype-citation 支持引用和参考文献
- 通过 remark-github-blockquote-alert 支持 Github alerts
- 通过 next/image 实现自动图像优化
- 支持标签 - 每个唯一标签都将拥有自己的页面
- 支持多个作者
- 3 种不同的博客布局
- 2 种不同的博客列表布局
- 支持博客文章的嵌套路由
- 项目页面
- 预配置的安全头
- SEO 友好,包含 RSS 订阅、站点地图等!
- 克隆仓库
npx degit 'timlrx/tailwind-nextjs-starter-blog'- 个性化 siteMetadata.js(站点相关信息)
- 如果要使用其他分析提供商或 giscus 以外的评论解决方案,请修改 next.config.js中的内容安全策略。
- 个性化 authors/default.md(主要作者)
- 修改 projectsData.ts
- 修改 headerNavLinks.ts以自定义导航链接
- 添加博客文章
- 部署到 Vercel
yarn请注意,如果您使用的是 Windows,可能需要运行:
$env:PWD = $(Get-Location).Path首先,运行开发服务器:
yarn dev在浏览器中打开 http://localhost:3000 查看结果。
编辑 app 中的布局或 data 中的内容。通过实时重载,页面会在您编辑时自动更新。
data/siteMetadata.js - 包含大部分应为用户需求修改的站点相关信息。
data/authors/default.md - 默认作者信息(必需)。可以在 data/authors 中添加额外的作者文件。
data/projectsData.js - 用于在项目页面生成样式卡片的数据。
data/headerNavLinks.js - 导航链接。
data/logo.svg - 替换为您自己的 logo。
data/blog - 替换为您自己的博客文章。
public/static - 存储图像和 favicon 等资产。
tailwind.config.js 和 css/tailwind.css - tailwind 配置和样式表,可以修改以更改网站的整体外观和感觉。
css/prism.css - 控制与代码块相关的样式。可以随意自定义并使用您喜欢的 prismjs 主题,例如 prism themes。
contentlayer.config.ts - Contentlayer 的配置,包括内容源定义和使用的 MDX 插件。更多信息请参见 Contentlayer 文档。
components/MDXComponents.js - 通过在此处指定,传递您自己的 JSX 代码或 React 组件。然后可以直接在 .mdx 或 .md 文件中使用它们。默认情况下,传递了一个自定义链接、next/image 组件、目录组件和新闻通讯表单。请注意,组件应该默认导出以避免 Next.js 的现有问题。
layouts - 页面中使用的主要模板:
- 目前有 3 种文章布局可用:PostLayout、PostSimple和PostBanner。PostLayout是默认的两列布局,包含元信息和作者信息。PostSimple是PostLayout的简化版本,而PostBanner具有横幅图像。
- 有 2 种博客列表布局:ListLayout,这是模板第 1 版中使用的布局,带有搜索栏;ListLayoutWithTags,目前在第 2 版中使用,省略了搜索栏但包含带有标签信息的侧边栏。
app - 路由到的页面。更多信息请阅读 Next.js 文档。
next.config.js - 与 Next.js 相关的配置。如果要从其他域加载脚本、图像等,需要调整内容安全策略。
内容使用 Contentlayer 建模,它允许您定义自己的内容模式并使用它生成类型化的内容对象。更多信息请参见 Contentlayer 文档。
Frontmatter 遵循 Hugo 的标准。
请参考 contentlayer.config.ts 获取最新支持字段列表。支持以下字段:
title (必填)
date (必填)
tags (可选)
lastmod (可选)
draft (可选)
summary (可选)
images (可选)
authors (可选列表,应与 `data/authors` 中的文件名对应。如果未指定则使用 `default`)
layout (可选列表,应与 `data/layouts` 中的文件名对应)
canonicalUrl (可选,SEO 的文章规范 URL)
以下是文章 frontmatter 的示例:
---
title: 'Introducing Tailwind Nexjs Starter Blog'
date: '2021-01-12'
lastmod: '2021-01-18'
tags: ['next-js', 'tailwind', 'guide']
draft: false
summary: 'Looking for a performant, out of the box template, with all the best in web technology to support your blogging needs? Checkout the Tailwind Nextjs Starter Blog template.'
images: ['/static/images/canada/mountains.jpg', '/static/images/canada/toronto.jpg']
authors: ['default', 'sparrowhawk']
layout: PostLayout
canonicalUrl: https://tailwind-nextjs-starter-blog.vercel.app/blog/introducing-tailwind-nextjs-starter-blog
---
已提供 pages.yml 工作流。只需在以下位置选择"GitHub Actions":Settings > Pages > Build and deployment > Source。
部署模板的最简单方法是部署到 Vercel。更多详情请查看 Next.js 部署文档。
Netlify 的 Next.js 运行时配置可在您的网站上启用关键的 Next.js 功能,而无需额外配置。Netlify 生成无服务器函数来处理 Next.js 功能,如服务器端渲染 (SSR) 页面、增量静态再生 (ISR)、next/images 等。
有关建议的配置值和更多详细信息,请参见 Netlify 上的 Next.js。
运行:
$ EXPORT=1 UNOPTIMIZED=1 yarn build然后,部署生成的 out 文件夹或在本地运行 npx serve out。
Important
如果使用 URL 基础路径部署,如 https://example.org/myblog,您需要在构建命令中添加额外的 BASE_PATH shell 变量:
$ EXPORT=1 UNOPTIMIZED=1 BASE_PATH=/myblog yarn build=> 在您的代码中,${process.env.BASE_PATH || ''}/robots.txt 将在 out 构建中打印 "/myblog/robots.txt"(或者如果 yarn dev,即在 localhost:3000 上只打印 /robots.txt)
Tip
作为 UNOPTIMIZED=1 的替代方案,要继续使用 next/image,您可以使用替代的图像优化提供商,如 Imgix、Cloudinary 或 Akamai。有关更多详细信息,请参见 图像优化文档。
考虑移除无法在静态构建中使用的以下功能:
- 从 next.config.js中注释掉headers()。
- 移除 api文件夹和调用服务器端函数的组件,如新闻通讯组件。技术上不是必需的,站点将成功构建,但 API 无法使用,因为它们是服务器端函数。
