Wiki
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
Wikiは、使い慣れた形式でプロジェクトとグループのドキュメントを提供します。Wikiページには次のような機能があります:
- Markdown、RDoc、AsciiDoc、またはOrg形式で、技術ドキュメント、ガイド、ナレッジベースを生成します。
- GitLabプロジェクトおよびグループと直接統合されるコラボレーションドキュメントを作成します。
- バージョン管理とコラボレーションのために、ドキュメントをGitリポジトリに保存します。
- サイドバーのカスタマイズにより、カスタムナビゲーションと構成をサポートします。
- オフラインアクセスと共有のために、コンテンツをPDFファイルとしてエクスポートします。
- コードベースとは別にコンテンツを管理しながら、同じプロジェクトに保持します。
各Wikiは、個別のGitリポジトリです。Wikiページは、GitLab Webインターフェースを使用するか、Gitを使用してローカルで作成および編集できます。Markdownで記述されたWikiページは、すべてのMarkdown機能をサポートし、リンクに対してWiki固有の動作を提供します。
Wikiページにはサイドバーが表示されます。サイドバーはカスタマイズも可能です。
プロジェクトWikiを表示する
プロジェクトWikiにアクセスするには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- Wikiを表示するには、次のいずれかの操作を行います:
- 左側のサイドバーで、Plan > Wikiを選択します。
- プロジェクトの任意のページで、g + w Wikiキーボードショートカットを使用します。
プロジェクトの左側のサイドバーにPlan > Wikiが表示されていない場合、プロジェクトの管理者が無効にしています。
Wikiのデフォルトブランチを設定する
Wikiリポジトリは、インスタンスまたはグループからデフォルトのブランチ名を継承します。カスタムブランチ名が設定されていない場合、GitLabはmainを使用します。Wikiのデフォルトブランチの名前を変更するには、リポジトリのデフォルトブランチ名を更新するを参照してください。
Wikiホームページを作成する
作成時のWikiは空の状態です。最初のアクセス時に、Wikiを表示するときにユーザーに表示されるホームページを作成できます。このページには、Wikiのホームページとして使用するための特定のパスが必要です。作成するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- 最初のページを作成を選択します。
- オプション。ホームページのタイトルを変更します。
- GitLabでは、この最初のページにパス
homeが必要です。このパスのページは、Wikiのフロントページとして機能します。 - テキストのスタイルを設定するためのフォーマットを選択します。
- コンテンツセクションで、ホームページのウェルカムメッセージを追加します。メッセージは後で編集できます。
- コミットメッセージを追加します。Gitにはコミットメッセージが必要です。したがって、自分で入力しない場合はGitLabが作成します。
- ページを作成を選択します。
新しいWikiページを作成する
前提要件:
- デベロッパー以上のロールが付与されている必要があります。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- Wikiアクション( )を選択し、このページまたは他のWikiページで新しいページを選択します。
- コンテンツ形式を選択します。
- 新しいページのタイトルを追加します。
- オプション。タイトルからページパスを生成するのチェックを外し、ページのパスを変更します。ページパスでは、サブディレクトリと書式設定に特殊文字を使用します。また、パスには長さ制限があります。
- オプション。Wikiページにコンテンツを追加します。
- オプション。ファイルを添付すると、GitLabはWikiのGitリポジトリに保存します。
- コミットメッセージを追加します。Gitにはコミットメッセージが必要です。したがって、自分で入力しない場合はGitLabが作成します。
- ページを作成を選択します。
Wikiページをローカルで作成または編集する
WikiはGitリポジトリに基づいているため、他のすべてのGitリポジトリと同様に、ローカルで複製して編集できます。Wikiリポジトリをローカルに複製するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- Wikiアクション( )を選択し、次にリポジトリをクローンを選択します。
- 画面の指示に従います。
ローカルでWikiに追加するファイルは、使用するマークアップ言語に応じて、次のサポートされている拡張子のいずれかを使用する必要があります。サポートされていない拡張子を持つファイルは、GitLabにプッシュされても表示されません:
- Markdown拡張子:
.mdown、.mkd、.mkdn、.md、.markdown。 - AsciiDoc拡張子:
.adoc、.ad、.asciidoc。 - その他のマークアップ拡張子:
.textile、.rdoc、.org、.creole、.wiki、.mediawiki、.rst。
ページパスの特殊文字
WikiページはGitリポジトリ内のファイルとして保存されます。また、デフォルトではページのファイル名がタイトルになっています。ファイル名の一部の文字には特別な意味があります:
- スペースは、ページ保存時にハイフンに変換されます。
- ハイフン(
-)は、ページの表示時にスペースに変換されます。 - スラッシュ(
/)はパスの区切り文字として使用されます。タイトルでは表示できません。/文字を含むタイトルでファイルを作成すると、GitLabはそのパスの構築に必要なすべてのサブディレクトリを作成します。たとえば、docs/my-pageというタイトルの場合、/wikis/docs/my-pageというパスでWikiページを作成します。
これらの制限を回避するため、ページコンテンツの前にfront matterブロックにWikiページのタイトルを保存することもできます。次に例を示します:
---
title: Page title
---ファイル名とディレクトリ名の長さ制限
多くの一般的なファイルシステムでは、ファイル名とディレクトリ名に255バイトの制限があります。GitとGitLabでは、いずれもこれらの制限を超えるパスがサポートされています。ただし、ファイルシステムにこれらの制限が適用されている場合、この制限を超えるファイル名を含むWikiのローカルコピーをチェックアウトすることはできません。この問題を回避するために、GitLab WebインターフェースとAPIでは次の制限を導入します:
- ファイル名の場合は245バイト(ファイル拡張子用に10バイトを予約)。
- ディレクトリ名の場合は255バイト。
非ASCII文字は複数のバイトを占有します。
これらの制限を超えるファイルをローカルで作成することはできますが、その後チームメイトはWikiをローカルでチェックアウトできなくなる可能性があります。
Wikiページを編集する
前提要件:
- デベロッパー以上のロールが付与されている必要があります。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- 編集するページに移動し、次のいずれかの操作を行います:
- e Wikiキーボードショートカットを使用します。
- 編集を選択します。
- コンテンツを編集します。
- 変更を保存を選択します。
保存されていないWikiページの変更は、偶発的なデータ損失を防ぐために、ローカルブラウザストレージに保持されます。
目次を作成する
コンテンツに見出しが含まれるWikiページでは、サイドバーに目次セクションが自動的に表示されます。
必要に応じて、ページ自体に別の目次セクションを表示することもできます。Wikiページのサブ見出しから目次を生成するには、[[_TOC_]]タグを使用します。例については、目次をご覧ください。
Wikiページを削除する
前提要件:
- デベロッパー以上のロールが付与されている必要があります。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- 削除するページに移動します。
- Wikiアクション( )を選択し、次にページを削除を選択します。
- 削除を確認します。
Wikiページを移動または名前変更する
GitLab 17.1以降では、ページを移動するかページの名前を変更すると、古いページから新しいページへのリダイレクトが自動的に設定されます。リダイレクトのリストは、Wikiリポジトリの.gitlab/redirects.ymlファイルに保存されます。
前提要件:
- デベロッパー以上のロールが付与されている必要があります。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- 移動または名前を変更するページに移動します。
- 編集を選択します。
- ページを移動するには、パスフィールドに新しいパスを追加します。たとえば、
Companyの下にAboutというWikiページがあり、このページをWikiのルートに移動する場合は、パスをAboutから/Aboutに変更します。 - ページの名前を変更するには、パスを変更します。
- 変更を保存を選択します。
Wikiページをエクスポートする
Wikiページは、PDFファイルとしてエクスポートできます:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- エクスポートするページに移動します。
- 右上で、Wikiアクション( )を選択し、PDFとして印刷を選択します。
WikiページのPDFが作成されます。
Draw.ioを使用してWikiで図を作成する
diagrams.netとのインテグレーションにより、SVG図を作成してWikiページに埋め込むことができます。図エディタは、プレーンテキストエディタとリッチテキストエディタの両方で使用できます。
GitLab.comでは、このインテグレーションがすべてのSaaSユーザーに対して有効になっており、追加の設定は必要ありません。
GitLab Self-Managedでは、無料のdiagrams.net Webサイトと統合したり、オフライン環境で独自のdiagrams.netサイトをホストしたりできます。
インテグレーションを設定するには、次のことをする必要があります:
- 無料のdiagrams.net Webサイトと統合するか、diagrams.netサーバーを設定します。
- インテグレーションを有効にします。
インテグレーションが完了すると、指定したURLでdiagrams.netエディタが開きます。
Wikiページテンプレート
新しいページの作成時、または既存のページに適用するテンプレートを作成できます。テンプレートは、Wikiリポジトリのtemplates/ディレクトリに保存されているWikiページです。
テンプレートを作成する
前提要件:
- デベロッパー以上のロールが付与されている必要があります。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- Wikiアクション( )を選択し、次にテンプレートを選択します。
- New Template(新規テンプレート)を選択します。
- テンプレートのタイトル、形式、コンテンツを、通常のWikiページを作成する場合と同様に入力します。
特定の形式のテンプレートは、同じ形式のページにのみ適用できます。たとえば、MarkdownテンプレートはMarkdownページにのみ適用されます。
テンプレートを適用する
Wikiページの作成または編集時にテンプレートを適用できます。
前提要件:
- 少なくとも1つのテンプレートを作成している必要があります。
- コンテンツセクションで、テンプレートを選択してくださいドロップダウンリストを選択します。
- リストからテンプレートを選択します。ページにすでにコンテンツがある場合は、既存のコンテンツが上書きされることを示す警告が表示されます。
- テンプレートを適用を選択します。
Wikiページのサブスクリプション
Wikiページのサブスクリプション機能を使用すると、関心のあるWikiページに変更が加えられたときに通知を受信できます。この機能を使用すると、重要なドキュメントの更新についてチームメンバーに通知することで、コラボレーションを強化できます。
特定のWikiページをサブスクリプションして、次のユーザーから通知を受信できます:
- ページにコメントを追加
- コメントに返信
Wikiページをサブスクリプションする
- フォローするWikiページを開きます。
- 右上隅の編集の横にあるベルアイコン( )を選択します。
- もう一度ベルアイコン( )を選択して、サブスクリプションを解除します。
サブスクリプションの状態を変更すると、GitLabに確認メッセージが表示されます:
- サブスクリプションされている場合、
Notifications turned on - サブスクリプションが解除されている場合、
Notifications turned off
サブスクリプションの権限
Wikiページの表示権限を持つすべてのユーザーは、そのページをサブスクリプションできます。サブスクリプションの状態は個人的なものであり、他のユーザーには影響しません。
通知通知設定
通知は、プロジェクトの設定に従います。これらは、構成済みの通知チャンネルを通じて配信されます。
Wikiページの履歴を表示する
Wikiページの変更履歴は、WikiのGitリポジトリに記録されます。履歴ページには、次の内容が表示されます:
- ページのリビジョン。
- ページの作成者。
- コミットメッセージ。
- 最終更新。
- Page version(ページバージョン)列でリビジョン番号を選択すると、以前のリビジョンが表示されます。
Wikiページの変更を表示するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- 履歴を表示するページに移動します。
- Wikiアクション( )を選択し、次にページの履歴を選択します。
ページバージョン間の変更点を表示する
バージョン管理された差分ファイルビューと同様に、Wikiページのバージョンで行われた変更点を確認できます:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- 対象のWikiページに移動します。
- Wikiアクション( )を選択し、次にページの履歴を選択して、すべてのページバージョンを表示します。
- 対象のバージョンの差分列でコミットメッセージを選択します。
サイドバー
Wikiページには、Wiki内のページの一覧が表示されたサイドバーが表示されます。この一覧はネストされたツリーとして表示され、兄弟ページはアルファベット順に表示されます。
サイドバーの検索ボックスを使用すると、Wiki内のページをタイトルですばやく見つけることができます。
パフォーマンス上の理由から、サイドバーに表示できるエントリは5,000件に制限されています。すべてのページの一覧を表示するには、サイドバーのView All Pages(すべてのページを表示)を選択します。
サイドバーのカスタマイズ
サイドバーのナビゲーションの内容は手動で編集できます。
前提要件:
- デベロッパー以上のロールが付与されている必要があります。
このプロセスでは、_sidebarという名前のWikiページを作成し、デフォルトのサイドバーナビゲーションを完全に置き換えます:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- Plan > Wikiを選択します。
- ページの右上隅で、カスタムサイドバーを追加する( )を選択します。
- 完了したら、変更を保存を選択します。
Markdownでフォーマットされた_sidebarの例:
### Home
- [Hello World](hello)
- [Foo](foo)
- [Bar](bar)
---
- [Sidebar](_sidebar)プロジェクトWikiを有効または無効にする
WikiはGitLabではデフォルトで有効になっています。プロジェクト管理者は、共有と権限の手順に従い、プロジェクトのWikiを有効化または無効化できます。
GitLab Self-Managedの管理者は、追加のWiki設定を行うことができます。
グループ設定からグループWikiを無効化できます。
外部Wikiにリンクする
プロジェクトの左側のサイドバーから外部Wikiへのリンクを追加するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > インテグレーションを選択します。
- 外部Wikiを選択します。
- 外部WikiのURLを追加します。
- オプション。テスト設定を選択します。
- 変更を保存を選択します。
これで、プロジェクトの左側のサイドバーで外部Wikiオプションを表示できます。
このインテグレーションを有効にしても、内部Wikiへのリンクは外部Wikiへのリンクに置き換わりません。サイドバーから内部Wikiを非表示にするには、プロジェクトのWikiを無効にします。
外部Wikiへのリンクを非表示にするには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > インテグレーションを選択します。
- 外部Wikiを選択します。
- インテグレーションを有効にするで、有効チェックボックスをオフにします。
- 変更を保存を選択します。
プロジェクトのWikiを無効にする
プロジェクトの内部Wikiを無効化するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- 可視性、プロジェクトの機能、権限を展開します。
- 下にスクロールして、Wiki切替をオフにします。
- 変更を保存を選択します。
これで内部Wikiは無効になり、ユーザーとプロジェクトメンバーは次の操作ができなくなります:
- プロジェクトのサイドバーからWikiへのリンクを見つける。
- Wikiページを追加、削除、または編集する。
- Wikiページを表示する。
以前に追加されたWikiページは、Wikiを再度有効にする場合に備えて保持されます。再度有効にするには、Wikiを無効にする手順を繰り返し、切替をオン(青)にします。
リッチテキストエディタ
GitLabは、WikiでGitLab Flavored Markdownのリッチテキスト編集エクスペリエンスを提供します。
サポートには次の内容が含まれます:
- 太字、イタリック体、ブロック引用、見出し、インラインコードなどのテキストの書式設定。
- 順序付きリスト、順序なしリスト、チェックリストの書式設定。
- テーブル構造の作成と編集。
- 構文ハイライトによるコードブロックの挿入と書式設定。
- Mermaid、PlantUML、Kroki図のプレビュー。
リッチテキストエディタを使用する
- 新しいWikiページを作成するか、既存のWikiページを編集します。
- 形式としてMarkdown(Markdown)を選択します。
- コンテンツの下、左下隅にあるリッチテキスト編集に切り替えるを選択します。
- リッチテキストエディタで使用可能なさまざまな書式設定オプションを使用して、ページの内容をカスタマイズします。
- 新しいページの場合はページを作成を、既存のページの場合は変更を保存を選択します。
プレーンテキストに戻るには、テキスト編集に切り替えるを選択します。
こちらも参照してください:
GitLab Flavored Markdownのサポート
リッチテキストエディタですべてのGitLab Flavored Markdownコンテンツタイプをサポートする作業が進行中です。CommonMarkおよびGitLab Flavored Markdownサポートの開発進行状況については、以下をお読みください:
Wikiイベントを追跡する
GitLabはWikiの作成、削除、更新イベントを追跡します。これらのイベントは、次のページに表示されます:
- ユーザープロファイル。
- Wikiの種類に応じたアクティビティーページ:
Wikiへのコミットはリポジトリ分析ではカウントされません。
トラブルシューティング
Apacheリバースプロキシによるページslugのレンダリング
ページslugは、ERB::Util.url_encodeメソッドを使用してエンコードされます。Apacheリバースプロキシを使用する場合は、Apache設定のProxyPass行にnocanon引数を追加して、ページslugが正しくレンダリングされるようにすることができます。
RailsコンソールでプロジェクトWikiを再作成する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
この操作は、Wiki内のすべてのデータを削除します。
データを直接変更するコマンドは、正しく実行されない場合、または適切な条件下で実行されない場合、損害を与える可能性があります。万が一の場合に備えて、インスタンスのバックアップを復元できるように準備したテスト環境で実行することを強くお勧めします。
プロジェクトWikiからすべてのデータをクリアし、空白の状態で再作成するには:
次のコマンドを実行します:
# Enter your project's path p = Project.find_by_full_path('<username-or-group>/<project-name>') # This command deletes the wiki project from the filesystem. p.wiki.repository.remove # Refresh the wiki repository state. p.wiki.repository.expire_exists_cache
Wikiからのすべてのデータがクリアされ、Wikiを使用できるようになりました。