mcpField
D
Druxt docs

Druxt docs

リモート
druxtjs.org開発ツール16 日前に更新
リポジトリ公式サイト

Druxt docs について

Druxt docsは、Druxtのドキュメントサイト兼実例サイトで、DrupalバックエンドのNuxtフロントエンドを構築する開発者向けです。Drupalで編集したページをNuxtで描画し、モジュール、API、コンポーネントのリファレンスを掲載しています。

主な機能

  1. 01DruxtのドキュメントとAPIリファレンス
  2. 02Drupalで編集するドキュメントページ
  3. 03Nuxtフロントエンドの実例
  4. 04コンポーネントとモジュールのリファレンス

活用シーン

  1. 01DruxtのAPIやモジュールを調べる
  2. 02DruxtとNuxtのサイト構成を学ぶ
  3. 03ローカルでドキュメントを編集・プレビュー

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://druxtjs.org/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

druxtjs.org:Druxt で構築された Nuxt フロントエンドと Drupal バックエンド

druxtjs.org

Druxt で構築された Nuxt フロントエンドと Drupal バックエンドです。

このリポジトリは、Druxt のドキュメントサイトである druxtjs.org のソースです。また、Druxt サイトの実際の動作例でもあります。ページは Drupal のコンテンツで、Nuxt によってレンダリングされます。

このサイトは、1 つのリポジトリに 2 つのアプリケーションを収めています。nuxt/ はフロントエンドです。DruxtEntity とそのラッパーコンポーネントを通じて、Druxt でドキュメントをレンダリングします。drupal/ は、編集者がコンテンツを編集する Drupal 11 バックエンドです。

参加する

フロントエンドとバックエンドをまとめて、サイト全体をお使いのマシンで実行します。次の 3 つの方法から選んでください。

方法必要なもの
Dev containerDev Containers を備えた VS Code、GitHub Codespaces、または DevPod
misemise と 3 つの PHP 拡張機能
手動PHP 8.3 以降、Composer、Node 16.20.1
Dev container

DevPod で開く!

ツール方法
VS Codeリポジトリをクローンして開き、コンテナーで再度開くを選択します
GitHub Codespacesリポジトリのページで Code を開き、Codespaces を選択します
DevPodバッジをクリックするか、devpod up https://github.com/druxt/druxtjs.org を実行します

コンテナーには Node 16.20.1、PHP 8.4、Composer、mise が含まれています。コンテナーの作成時に npm install と npm run setup が実行されるため、コンテナーを開くと Drupal が起動しています。その後、npm run dev を実行します。

mise

.mise.toml では Node 16.20.1 と PHP 8.4 が固定されています。PHP には gd、pdo_sqlite および sodium 拡張機能が必要です。

mise install
npm install
npm run setup
npm run dev
手動

gd、pdo_sqlite、sodium 拡張機能を含む PHP 8.3 以降、Composer、Node 16.20.1 をインストールします。その後、次を実行します。

npm install
npm run setup
npm run dev
利用できる機能
コマンド説明
npm installルートのツールをインストールし、Git フックを有効にします
npm run setup一時的な SQLite データベースに Drupal をインストールし、API ページ用に固定バージョンの druxt.js を取得してから、Drupal を起動します
npm run devDrupal に接続して Nuxt 開発サーバーを起動します。初回実行時にはフロントエンドのパッケージをインストールします
npm run loginDrupal 用の一度限りのログインリンクを表示します
サービスアドレス
Drupalhttp://127.0.0.1:8888、または次に利用可能なポート。どのポートかは npm run info で確認できます
Nuxthttp://localhost:3000

npm run setup は Drupal のアドレスを .env に書き込み、npm run dev はそこから読み取ります。 セットアップには、Composer パッケージと GitHub 上の固定バージョンのドキュメントを取得するため、ネットワークアクセスが必要です。

ドキュメントを書く

  1. npm run login を実行し、表示されたリンクを開きます。
  2. Drupal で Content に移動してページを編集するか、新しいページを追加します。レイアウト段落エディターでは、テキスト、コード、画像のセクションを組み合わせてページを作成できます。
  3. 保存してから、http://localhost:3000 でページを再読み込みします。

編集フォームの Preview には、未保存の変更が表示されます。 docs/backend.md では、タブについて説明しています。

ここでの編集は、このマシンのデータベースにのみ反映されます。サイトのプレビューやテストには使えますが、ページのテキストを公開する方法ではありません。変更をどこに加えるべきかについては、変更の反映先をご覧ください。

編集者は http://localhost:3000 にサインインして、ページごとの URL で最新の下書きを確認することもできます。 docs/backend.md では、ワークフローとサインインについて説明しています。

Modules、API reference、Components の各ページは druxt.js パッケージから生成されます。npm run docs:generate を実行すると、固定されたバージョンの druxt.js のチェックアウト内でローカルにビルドされます。最初に druxt.js をインストールしてビルドするため、初回の実行には時間がかかります。

変更の反映先
変更内容反映先
コンテンツモデル、エディター、サイトの設定drupal/ で vendor/bin/drush config:export を実行してエクスポートし、プルリクエストで drupal/config/sync/ をコミットします
フロントエンドnuxt/ に変更を加えたプルリクエスト
ページのテキスト編集者が変更する Drupal。データベースが信頼できる唯一の情報源であり、ページのテキストはまだプルリクエストでは受け付けていません

サイトのコンテンツは本番環境のデータベースに保存されています。ローカルの Drupal にはページがない状態で起動し、そこでの編集はローカル環境にとどまります。

フロントエンドの Druxt

nuxt/ は Druxt で構築された Nuxt 2 アプリで、Druxt サイトの例として読めるように作られています。

内容方法
ページ各セクションページは Druxt ルーターでパスを解決し、<DruxtEntity mode="full"> で Drupal のページをレンダリングします。
ラッパーnuxt/components/druxt/ には、Druxt が名前で検索するラッパーコンポーネントが格納されています。ページは entity/node/DocPageFull.vue で、各段落タイプに対応するコンポーネントが entity/paragraph/ にあります。その他はフィールド(field/)、レイアウトセクション(layout-paragraph/)、ブロック(block/)、ブロック領域(block-region/)、メニュー(menu/)です。
表示設定druxt-schema はアプリのビルド時に Drupal のビュー表示とフォーム表示を読み込むため、フロントエンドには Drupal で編集者が変更した表示設定が反映されます。
レイアウトdruxt-layout-paragraphs がページのレイアウトセクションをレンダリングします。
ヘッダー、サイドバー、フッターdruxt-blocks が、Drupal の druxtjs テーマの領域に配置されたブロックをレンダリングします。テーマ、サイト名、ロゴは druxtjs_org コンシューマーの分離設定に基づいており、ビルド時に nuxt/modules/decoupled-settings が読み込みます。
UInuxt/components/dui/ には、Drupal に依存しない表示用コンポーネント(コードブロック、図、リッチテキスト、カラム)が格納されています。これらは共有 Druxt UI ライブラリに移行する予定です。
プレイグラウンドnuxt/components/global/DruxtExample.vue は、選択したバックエンド用の独自のランタイム(nuxt/utils/druxt-runtime.js)で任意の Druxt コンポーネントをレンダリングし、各コンポーネントについて把握している情報を nuxt/utils/live-examples.js から取得します。同じカードがモジュールとコンポーネントのリファレンスページに表示されます。

見た目を変更するには、Druxt が検索したラッパー名(Vue devtools で確認できます)を見つけ、一致するパスにコンポーネントを追加します(nuxt/components/druxt/ の下)。命名方法については、コンポーネントの解決を参照してください。

デプロイ

このサイトは Lagoon 上で、Drupal と Nuxt が並ぶ1つの環境として稼働します。Nuxt はまず事前レンダリング済みのページを提供し、保存されていないページや有効期限が過ぎたページはその場でレンダリングします。デプロイ時の処理については docs/hosting.md を参照してください。

コマンド

コマンド内容
npm run setupバックエンドをインストールしてから起動します
npm run devバックエンドに接続する Nuxt 開発サーバー
npm run storybookバックエンドに接続するポート 3030 の Storybook
npm run start / stopDrupal を起動または停止します
npm run infoDrupal の場所と実行中のバージョンを表示します
npm run loginDrupal の一度限りのログインリンクを生成します
npm run docs:generateModules、API リファレンス、Components のページをビルドします
npm run lintprose を除くすべてのリンターを実行します
npm run lint:prosenpm run lint:prose:install を一度実行した後、Vale を実行します
npm testスクリプトとフロントエンドのモジュールを対象とした Node テスト

貢献

コミットメッセージ、チェック項目、ファイルに決して含めてはいけない内容については、CONTRIBUTING.md をご覧ください。 druxt/druxtjs.org でイシューやプルリクエストを作成してください。 docs/backend.md では、ページの履歴とプレビューについて説明しています。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。