簡単かつ洗練されたモダンなドキュメントウェブサイトを作成したいなら、Nextra Docsは利用可能なツールの中でも最高の一つです。Next.js上に構築されたNextraを使えば、MarkdownまたはMDXでドキュメントを記述し、見た目をカスタマイズし、特にVercel上では楽にデプロイできます。この記事では、Nextra Docsサイトをゼロからセットアップし、無料でVercelにデプロイする方法を順を追って説明します。
最大限の生産性で開発チームが共同作業できる統合されたオールインワンプラットフォームをお探しですか?
Apidogはあなたのすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます!
Nextra Docsとは?あなたのドキュメント構築BFF
Nextra docsは、ドキュメントサイトの作成を簡単にするNext.jsベースのフレームワークです。ナビゲーション、検索、目次をすぐに利用できる組み込みのDocsテーマを備えたMarkdown(またはMDX)コンテンツが特徴です。nextra docsが優れている理由は以下の通りです。
- Markdownのシンプルさ: MarkdownまたはMDXでドキュメントを作成し、リッチでインタラクティブなコンテンツを実現できます。
- Docsテーマの利点: サイドバー、検索バー、レスポンシブレイアウトが自動生成されます。
- Next.jsのパワー: Next.jsの速度、App Router、Vercel統合を活用します。
- カスタマイズ可能: テーマの調整、Reactコンポーネントの追加、カスタムレイアウトの構築が可能です。
- オープンソース: GitHubで3.8K以上のスターを獲得しており、コミュニティ主導で無料です。
ユーザーはnextra docsの「ゼロコンフィグの洗練さ」とVercelへのデプロイを絶賛しています。サイトを構築する準備はできましたか?さっそく始めましょう!
なぜNextra DocsをVercelと一緒に使うのか?
Nextra docsは、プロレベルのドキュメントを迅速に必要とする開発者、スタートアップ、オープンソースプロジェクトに最適です。Next.jsの本拠地であるVercelと組み合わせることで、以下のメリットが得られます。
- シームレスなデプロイ: Vercelはnextra docsを自動検出し、ワンクリックでデプロイできます。
- 驚異的な速度: 静的サイト生成とCDNにより、ページが瞬時に読み込まれます。
- 無料ホスティング: Vercelの無料ティアは、ほとんどのプロジェクトをカスタムドメインで処理できます。
- スケーラビリティ: トラフィックの急増にも滞りなく対応します。
テストサイトをVercelにデプロイしたところ、5分もかからずにライブになりました。まるでバターのようにスムーズでした!
Nextra Docsのセットアップ方法:ステップバイステップガイド
Next.jsのApp Routerを使用して、nextra docsサイトをゼロから作成しましょう。手順通りに進めば、約20分でローカルサイトが稼働します!
1. 新しいNext.jsプロジェクトを作成する
- ターミナルを開き、Next.jsアプリを作成します。
npx create-next-app my-nextra-docs
- セットアップ中、以下のプロンプト以外はすべてYesを選択します。
- 「インポートエイリアス(デフォルトでは@/*)をカスタマイズしますか?」(Noまたはお好みの設定を選択)
- 「コードをsrc/ディレクトリ内に配置しますか?」(NoまたはYesを選択 - シンプルさのためにNoをお勧めします)
- プロジェクトフォルダに移動します。

cd my-nextra-docs
2. Nextra Docsの依存関係をインストールする
nextra docsのコアパッケージをインストールします。
npm install next react react-dom nextra nextra-theme-docs
3. package.jsonのスクリプトを更新する
package.json
に以下のスクリプトが含まれていることを確認します(これらは通常create-next-app
によって追加されます)。
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
}
- 開発モードを高速化するために、Turbopackを追加できます(オプション)。
"dev": "next --turbopack"

- セットアップをテストします。
npm run dev
http://localhost:3000
にアクセスして、Next.jsアプリが動作することを確認します。

醜い:( でも、動作はします!では、これを修正してみましょう。
4. Nextra Docsを設定する
next.config.ts
をnext.config.mjs
にリネームし、その内容を以下に置き換えます。
import nextra from 'nextra'
const withNextra = nextra({
theme: 'nextra-theme-docs',
themeConfig: './theme.config.js'
})
export default withNextra({
async redirects() {
return [
{
source: '/',
destination: '/resources',
permanent: true
}
]
}
})
tsconfig.json
エラーが発生した場合、IDE(例:VS Code)が自動修正を促すことがあります。そうでない場合は、tsconfig.json
を開き、include
配列に"next.config.mjs"
を追加します。
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "next.config.mjs", ".next/types/**/*.ts"]
5. MDXコンポーネントを設定する
- プロジェクトルートに
mdx-components.js
を作成します。
import { useMDXComponents as getThemeComponents } from 'nextra-theme-docs'
const themeComponents = getThemeComponents()
export function useMDXComponents(components) {
return {
...themeComponents,
...components
}
}
6. Appレイアウトを更新する
app/layout.tsx
(またはsrc/
を選択した場合はsrc/app/layout.tsx
)の内容を置き換えます。
import { Footer, Layout, Navbar } from 'nextra-theme-docs'
import { Banner, Head } from 'nextra/components'
import { getPageMap } from 'nextra/page-map'
import 'nextra-theme-docs/style.css'
export const metadata = {
// ここにメタデータを定義します
// メタデータAPIの詳細については、以下を参照してください: https://nextjs.org/docs/app/building-your-application/optimizing/metadata
}
const banner = <Banner storageKey="some-key">Nextra 4.0がリリースされました🎉</Banner>
const navbar = (
<Navbar
logo={<b>Nextra</b>}
// ... その他のナビゲーションバーオプション
/>
)
const footer = <Footer>MIT {new Date().getFullYear()} © Nextra.</Footer>
export default async function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html
// 必須ではありませんが、SEOに良いです
lang="en"
// 設定必須です
dir="ltr"
// `next-themes`パッケージ推奨 https://github.com/pacocoursey/next-themes#with-app
suppressHydrationWarning
>
<Head
// ... その他のheadオプション
>
{/* その他のタグは、``要素の`children`として渡す必要があります */}
</Head>
<body>
<Layout
banner={banner}
navbar={navbar}
pageMap={await getPageMap()}
docsRepositoryBase="https://github.com/shuding/nextra/tree/main/docs"
footer={footer}
// ... その他のレイアウトオプション
>
{children}
</Layout>
</body>
</html>
)
}
7. ドキュメントページを追加する
app/page.tsx
(またはsrc/app/page.tsx
)を削除します。これにより、ホームページで404エラーが発生しますが、心配いりません!

app
(またはsrc/app
)にresources
フォルダを作成します。
/app/resources
/page.mdx
app/resources/page.mdx
にサンプルコンテンツを追加します。
テスト目的で、以下を追加しました。
# リソース
さまざまなトピックや分野に関連するリソース。
## 学習
- [Build Your Own X](https://github.com/codecrafters-io/build-your-own-x): 好きなテクノロジーをゼロから再構築してプログラミングをマスターしましょう。
## 役立つ記事
- [CSR vs SSR vs SSG vs ISR: モダンウェブ開発のための詳細な比較](csr-vs-ssr-vs-ssg-vs-isr-a-deep-dive-for-modern-web-development-33kl#:~:text=Here's%20a%20quick%20summary%3A,as%20SPAs%2C%20CSR%20is%20perfect.)
- [The Art of Comand Line](https://github.co./jlevy/the-art-of-command-line)
しかし、コンテンツは複雑である必要はなく、以下のようにシンプルでも構いません。
# はじめに
こんにちは、<あなたの名前>さん!あなたの**nextra docs**サイトへようこそ:)
- 簡単なMarkdown編集
- 自動ナビゲーション
- 検索と目次が組み込み済み
next.config.mjs
のredirect設定により、/
が/resources
にルーティングされ、404エラーが解消されます。http://localhost:3000
をリフレッシュするだけで、nextra docsのホームページが表示されます。素晴らしいですね!

さあ、このページを編集したり、ページを追加したり、ダーク/ライトモードなどのすべての機能を試してみてください。力はあなたの手にあり、可能性は無限大です!

Nextra DocsをVercelにデプロイする
次に、nextra docsサイトをVercelでライブにしましょう。VercelはNext.js向けに構築されているため、非常に簡単です。
8. コードをGitHubにプッシュする
- Gitリポジトリを初期化します。
git init
git add .
git commit -m "Initial nextra docs"
git remote add origin https://github.com/yourusername/your-repo.git
git push -u origin main
- まずGitHubで新しいリポジトリを作成し、
yourusername/your-repo
をあなたの情報に置き換えてください。
9. Vercelにデプロイする
- vercel.comにアクセスし、サインアップまたはログインします。

- New Projectをクリックし、GitHubリポジトリをインポートします。
- Vercelはあなたのnextra docsプロジェクト(Next.jsの設定が適用されます)を自動検出します。
- Deployをクリックします。約3分で、サイトが
https://my-nextra-docs.vercel.app
のようなURLでライブになります。 - 私は自分のサイトをデプロイしましたが、カスタムドメインの設定も簡単でした!
Nextra Docsサイトをカスタマイズする
nextra docsを魅力的にしたいですか?これらを試してみてください。
- ページの追加:
/app
または/resources
のようなサブフォルダに.mdx
ファイルを追加します。 - テーマの調整:
theme.config.js
を更新して、色、フォント、サイドバーオプションを変更します(nextra.site/docsを参照)。 - カスタムコンポーネント:
mdx-components.js
を拡張するか、/components
フォルダを作成します。 - 検索の設定:
theme.config.js
を介してAlgolia検索を有効にし、全文検索を可能にします。 - ライブコード: Sandpackまたはreact-liveを追加して、インタラクティブなコードプレイグラウンドを作成します。
私はドキュメントにカスタムコールアウトコンポーネントを追加しました。10分でプロフェッショナルに見えるようになりました!
Nextra Docsのトラブルシューティングとヒント
- 404エラーが解消されない?
next.config.mjs
のredirect設定が/resources
を指していることを確認してください。 - TSエラー?
tsconfig.json
にnext.config.mjs
が含まれていることを確認してください。 - Vercelのデプロイが失敗する?
package.json
のスクリプトを確認し、Vercelのキャッシュをクリアしてください。 - App Routerがわからない? Nextra docs 4+はNext.js App Routerを使用します。古いバージョンはPages Routerをサポートしています。
- 例が見たい? Nextraリポジトリをクローンするか、nextra.siteを確認してください。
- 速度のヒント: Turbopack(
next --turbopack
)を使用して、ローカル開発を高速化します。

なぜNextra DocsとVercelは完璧な組み合わせなのか
Nextra docsは、そのMarkdownのシンプルさとNext.jsの速度でドキュメント作成を楽しくします。Vercelのワンクリックデプロイと無料ホスティングが決定的な要因です。確かに、App RouterはNext.js初心者には戸惑うかもしれませんが、Nextra docsはしっかりしています。Docusaurusと比較すると、nextra docsはより軽量でモダンな印象です。
ドキュメントを公開する準備はできましたか?あなたのnextra docsサイトを構築し、Vercelにデプロイしましょう。あなたの作品を見るのが楽しみです!そして、ぜひApidogもチェックしてみてください。
最大限の生産性で開発チームが共同作業できる統合されたオールインワンプラットフォームをお探しですか?
Apidogはあなたのすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます!