Node.js/NPM
アプリケーションレベルで完全に制御するために、NPM パッケージを使って Docs Embed を統合する
手順
1
npm install @gitbook/embed2
import { createGitBook } from "@gitbook/embed";const { createGitBook } = require("@gitbook/embed");3
const gitbook = createGitBook({
siteURL: "https://docs.company.com",
});4
const iframe = document.createElement("iframe");
iframe.src = gitbook.getFrameURL({
visitor: {
token: 'your-jwt-token', // 任意: Adaptive Content または認証済みアクセス用
unsignedClaims: { // 任意: 動的式のためのカスタムクレーム
userId: '123',
plan: 'premium'
}
}
});
iframe.id = "gitbook-embed-container";
iframe.style.border = "none";
iframe.style.width = "100%";
iframe.style.height = "600px";5
const frame = gitbook.createFrame(iframe);
document.getElementById("gitbook-embed-container").appendChild(iframe);6
// ドキュメントタブの特定ページへ移動
frame.navigateToPage("/getting-started");
// アシスタントタブに切り替える
frame.navigateToAssistant();
// チャットにメッセージを送信
frame.postUserMessage("How do I get started?");
// チャット履歴をクリア
frame.clearChat();7
frame.configure({
trademark: false,
tabs: ['assistant', 'search', 'docs'],
actions: [
{
icon: 'circle-question',
label: 'サポートに問い合わせる',
onClick: () => window.open('https://support.example.com', '_blank')
}
],
greeting: { title: 'ようこそ!', subtitle: 'どのようにお手伝いできますか?' },
assistantName: 'Support Copilot',
closeButton: true,
suggestions: ['GitBook とは何ですか?', 'どうやって始めればよいですか?'],
tools: [/* ... */]
});8
frame.on('close', () => {
console.log('フレームが閉じられました');
});
// 完了したら購読解除
const unsubscribe = frame.on('navigate', (data) => {
console.log('移動先:', data.path);
});API リファレンス
クライアントファクトリー
フレームクライアントメソッド
設定オプション
tabs
tabsを設定すると
を設定するとgreeting
greetingassistantName
assistantNamecloseButton
closeButtonsuggestions
suggestionstrademark
trademarktools
toolsフレーム URL のオプション
colorScheme
colorSchemevisitor (認証済みアクセス)
visitor (認証済みアクセス)よくある落とし穴
最終更新
役に立ちましたか?