InfoGrab DocsInfoGrab Docs

위키 개발 가이드라인

요약

GitLab의 위키 기능은 Git 리포지터리를 스토리지 백엔드로 사용하며, Gitaly RPC 호출을 통해 Rails 앱에서 접근합니다. 위키에 접근하는 방법은 다음과 같습니다: 위키에서 사용되는 주요 gem은 다음과 같습니다:

GitLab의 위키 기능은 Git 리포지터리를 스토리지 백엔드로 사용하며, Gitaly RPC 호출을 통해 Rails 앱에서 접근합니다.

위키에 접근하는 방법은 다음과 같습니다:

관련 Gem#

위키에서 사용되는 주요 gem은 다음과 같습니다:

Component Description Gem name GitLab project Upstream project
gitlab 마크업 렌더러, 다양한 다른 gem에 의존 gitlab-markup gitlab-org/gitlab-markup github/markup

위키 렌더링#

위키 페이지를 렌더링할 때, 커스텀 Banzai 파이프라인을 사용합니다. 이 파이프라인은 [[link]] 구문과 같은 위키 전용 마크업을 추가합니다.

모델 클래스#

Wiki 클래스는 위키 리포지터리에 대한 주요 추상화입니다. Project 또는 Group 중 하나일 수 있는 컨테이너로 초기화해야 합니다:

classDiagram Wiki --> ProjectWiki Wiki --> GroupWiki

class Wiki { #container #repository }

class ProjectWiki { #project → #container }

class GroupWiki { #group → #container }

일부 모델은 Gitaly의 유사한 클래스를 래핑합니다:

Rails Model Gitaly Class
Wiki Gitlab::Git::Wiki
WikiPage Gitlab::Git::WikiPage, Gitlab::Git::WikiPageVersion
Gitlab::Git::WikiFile

데이터베이스에는 일부 데이터만 저장됩니다:

Model Description
WikiPage::Meta 위키 페이지의 메타데이터
WikiPage::Slug 위키 페이지의 현재 및 이전 슬러그
ProjectRepository 프로젝트 위키의 Gitaly 스토리지 데이터
GroupWikiRepository 그룹 위키의 Gitaly 스토리지 데이터

첨부 파일#

Web UI는 REST API를 통해 첨부 파일을 업로드하며, 이 파일들은 위키 리포지터리의 커밋으로 저장됩니다.

위키 개발 가이드라인

GitLab v19.1
원문 보기
요약

GitLab의 위키 기능은 Git 리포지터리를 스토리지 백엔드로 사용하며, Gitaly RPC 호출을 통해 Rails 앱에서 접근합니다. 위키에 접근하는 방법은 다음과 같습니다: 위키에서 사용되는 주요 gem은 다음과 같습니다:

GitLab의 위키 기능은 Git 리포지터리를 스토리지 백엔드로 사용하며, Gitaly RPC 호출을 통해 Rails 앱에서 접근합니다.

위키에 접근하는 방법은 다음과 같습니다:

관련 Gem#

위키에서 사용되는 주요 gem은 다음과 같습니다:

Component Description Gem name GitLab project Upstream project
gitlab 마크업 렌더러, 다양한 다른 gem에 의존 gitlab-markup gitlab-org/gitlab-markup github/markup

위키 렌더링#

위키 페이지를 렌더링할 때, 커스텀 Banzai 파이프라인을 사용합니다. 이 파이프라인은 [[link]] 구문과 같은 위키 전용 마크업을 추가합니다.

모델 클래스#

Wiki 클래스는 위키 리포지터리에 대한 주요 추상화입니다. Project 또는 Group 중 하나일 수 있는 컨테이너로 초기화해야 합니다:

classDiagram Wiki --> ProjectWiki Wiki --> GroupWiki

class Wiki { #container #repository }

class ProjectWiki { #project → #container }

class GroupWiki { #group → #container }

일부 모델은 Gitaly의 유사한 클래스를 래핑합니다:

Rails Model Gitaly Class
Wiki Gitlab::Git::Wiki
WikiPage Gitlab::Git::WikiPage, Gitlab::Git::WikiPageVersion
Gitlab::Git::WikiFile

데이터베이스에는 일부 데이터만 저장됩니다:

Model Description
WikiPage::Meta 위키 페이지의 메타데이터
WikiPage::Slug 위키 페이지의 현재 및 이전 슬러그
ProjectRepository 프로젝트 위키의 Gitaly 스토리지 데이터
GroupWikiRepository 그룹 위키의 Gitaly 스토리지 데이터

첨부 파일#

Web UI는 REST API를 통해 첨부 파일을 업로드하며, 이 파일들은 위키 리포지터리의 커밋으로 저장됩니다.