Skip to content

Latest commit

 

History

History
260 lines (239 loc) · 10 KB

contributing.adoc

File metadata and controls

260 lines (239 loc) · 10 KB

Contribute to HyperCloud Documentation

브랜치 별 용도

  • master : 다른 모든 브랜치에 cherry pick 또는 merge 되어야 할 공통적인 변경사항을 commit하는 데 사용, 새로운 브랜치를 만들기 위한 분기점으로 사용

  • 4-ko, 4-en, …​ : 버전-언어 별 매뉴얼 작성에 사용, 기존 매뉴얼과 구성이나 내용이 비슷한 새 버전/언어 매뉴얼을 작성해야 할 때 브랜치 분기점으로 사용

  • 기타 : 테스트를 위한 브랜치, 다른 브랜치로 merge하기 위한 임시 브랜치 등 사용자가 판단하여 생성 (필요가 사라지면 삭제)

_distro_map.yml 작성 방법

  • 모든 브랜치에서 같은 내용을 유지하는 것을 권장
    변경할 필요가 생기면 master에서 먼저 작성하고 각 브랜치로 cherry pick 또는 merge (즉 관리 포인트가 master)

hypercloud:                               # 빌드 시 _preview에 떨어지는 디렉토리명. 영문, 숫자, 하이픈, 언더바 사용 가능. (erb: distro_key)
  name: HyperCloud Console                # 제품명. (adoc: product-title / erb: distro)
  author: HyperCloud Documentation Project <[email protected]>
  site: HyperCloud-Docs                   # 영문 대소문자, 숫자, 하이픈, 언더바 가능. 화면에 표시되지 않지만 입력 필수
  site_name: Documentation                # 브래드크럼 최상위 항목 (erb: site_name)
  site_url: https://www.tmaxcloud.com/    # gnb 로고 또는 브래드크럼 최상위 항목 클릭 시 이동 링크 (erb: site_url)
  branches:
    4-ko:                                 # 브랜치명 (버전-언어) / 언어는 2자리 코드 (http://www.lingoes.net/en/translator/langcode.htm)
      name: '4'                           # 버전명 (adoc: product-version / erb: version)
      dir: '4-ko'                         # 해당 버전의 디렉토리 명. (버전-언어)
    4-en:
      name: '4'
      dir: '4-en'
    3-ko:
      name: '3'
      dir: '3-ko'
    3-en:
      name: '3'
      dir: '3-en'
hypercloud-01:
  name: HyperCloud Console
  author: HyperCloud Documentation Project <[email protected]>
  site: HyperCloud-Docs
  site_name: Documentation
  site_url: https://www.tmaxcloud.com/
  branches:
    master:
      name: 'latest'
      dir: 'latest'
    test-branch:
      name: 'deprecated'
      dir: 'old'
  • 빌드 후 파일구조 예시

    _preview
    ├── hypercloud
    |   ├── 4-ko
    |   |   └── 빌드 결과물
    |   ├── 4-en
    |   |   └── 빌드 결과물
    |   └── 3-ko
    |       └── 빌드 결과물
    |   └── 3-en
    |       └── 빌드 결과물
    └── hypercloud-01
        ├── latest
        |   └── 빌드 결과물
        └── old
            └── 빌드 결과물
  • 모든 브랜치를 한 번에 빌드한 후에는 불필요한 폴더를 삭제하는 것을 권장

_topic_map.yml 작성 방법

Docs 화면의 목차(좌측 Navigation Bar)를 구성하는 부분
브랜치(버전, 언어)마다 다르게 작성할 수 있음

  • 최대 3 depth 까지 작성 가능, 최상단 항목은 Group 만 가능 (하위 Topic을 포함해야함)

  • Name : 제목 (목차, 브래드크럼, adoc 파일 상단에 노출되는 타이틀)

  • Dir : adoc파일의 경로. 소문자로만 구성, 두 단어 이상일 경우 언더바(_)로 연결.

  • Topics : 하위 항목이 있는 경우 작성.

  • File : adoc 파일명. 소문자로만 구성, 두 단어 이상일 경우 하이픈(-)으로 연결.

  • _topic_map.yml

    # This configuration file dictates the organization of the topic groups and
    # topics on the main page of the doc site for this branch. Each record
    # consists of the following:
    #
    # ---                                  <= Record delimiter
    # Name: Origin of the Species          <= Display name of topic group
    # Dir:  origin_of_the_species          <= Directory name of topic group
    # Topics:
    #   - Name: The Majestic Marmoset                       <= Topic name
    #     File: the_majestic_marmoset                       <= Topic file under group dir +/- .adoc
    #   - Name: The Curious Crocodile                       <= Topic 2 name
    #     File: the_curious_crocodile                       <= Topic 2 file
    #   - Name: The Numerous Nematodes                      <= Sub-topic group name
    #     Dir: the_numerous_nematodes                       <= Sub-topic group dir
    #     Topics:
    #       - Name: The Wily Worm                                                <= Sub-topic name
    #         File: the_wily_worm                                                <= Sub-topic file under <group dir>/<subtopic dir>
    #       - Name: The Acrobatic Ascarid                                        <= Sub-topic 2 name
    #         File: the_acrobatic_ascarid                                        <= Sub-topic 2 file under <group dir>/<subtopic dir>
    #
    # The ordering of the records in this document determines the ordering of the
    # topic groups and topics on the main page.
    
    ---
    Name: Welcome
    Dir: welcome
    Topics:
      - Name: 제품소개
        File: index
      - Name: 장/단점
        File: pros-cons
      - Name: 법적공지
        File: legal-notice
      - Name: 릴리즈노트
        File: release-note
    ---
    Name: 구성요소
    Dir: component
    Topics:
      - Name: HyperCloud Operator
        File: hypercloud-operator
      - Name: HyperCloud Console
        File: hypercloud-console
      - Name: Kubernetes
        File: kubernetes
      - Name: Compute
        Dir: compute
        Topics:
          - Name: Docker
            File: docker
          - Name: CRI-O
            File: cri-o
      - Name: Storage
        Dir: storage
        Topics:
          - Name: Rook Ceph
            File: rook-ceph
          - Name: NFS
            File: nfs
    ...

버전 추가 방법

  • 브랜치 생성 및 _distro_map.yml에 정보 추가

    • 버전 추가 시 지원하는 언어의 갯수만큼 새 브랜치 생성 (ex 5버전이 추가될 경우 5-ko, 5-en 브랜치 생성)

    • _distro_map.yml에 새 버전의 브랜치 정보 추가

  • _distro_map.yml

    ---
    hypercloud: # 빌드 시 _preview에 떨어지는 디렉토리명. 영문, 숫자, 하이픈, 언더바 사용 가능. (distro_key)
      name: HyperCloud Console # 제품명. (distro)
      author: HyperCloud Documentation Project <[email protected]>
      site: HyperCloud-Docs # 영문 대소문자, 숫자, 하이픈, 언더바 가능. 화면에 표시되지 않지만 입력 필수
      site_name: Documentation # 브래드크럼 최상위 항목 (site_name)
      site_url: https://www.tmaxcloud.com/ # gnb 로고 또는 브래드크럼 최상위 항목 클릭 시 이동 링크 (site_url)
      branches:
        ####### 버전 추가 예시 #######
        5-ko:
          name: '5'
          dir: '5-ko'
        5-en:
          name: '5'
          dir: '5-en'
        ####### 버전 추가 예시 #######
        4-ko:          # 브랜치명 (버전-언어)
          name: '4'    # 버전명 ( adoc: product_version / erb: version)
          dir: '4-ko'  # 해당 버전의 디렉토리 명. (버전-언어)
        4-en:
          name: '4'
          dir: '4-en'
        3-ko:
          name: '3'
          dir: '3-ko'
        3-en:
          name: '3'
          dir: '3-en'
  • _templates/_topnav_other.html.erb 파일 수정

    • id가 "version-selector"인 select태그 하위에 옵션 태그 한 줄 추가

    • <option value=" 버전명 "> 화면에 보여질 버전명 </option>

    • _topnav_other.html.erb

      <select id="version-selector" onchange="versionSelector(this, '<%= distro_key %>', '<%= version %>');">
        <option value="5">HyperCloud 5</option> // 5 버전 추가 예시
        <option value="4">HyperCloud 4</option>
        <option value="3">HyperCloud 3</option>
      </select>
    • 새로운 버전의 브랜치로 이동한 상태에서 위의 코드 수정 후 새로 빌드해주어야함.

언어 추가 (i18n)

  • 지원할 언어의 개수만큼 _distro_map.yml 파일에 버전별 브랜치를 생성합니다.

  • ex ) 3, 4버전에 프랑스어 추가 시 3-fr , 4-fr 브랜치 정보 추가

    hypercloud:
     (...)
      branches:
        4-ko:          # 브랜치명 (버전-언어)
          name: '4'    # 버전명 ( adoc: product_version / erb: version)
          dir: '4-ko'  # 해당 버전의 디렉토리 명. (버전-언어)
        4-en:
          name: '4'
          dir: '4-en'
        ####### 언어 추가 예시 #######
        4-fr:
          name: '4'
          dir: '4-fr'
        ####### 언어 추가 예시 #######
        3-ko:
          name: '3'
          dir: '3-ko'
        3-en:
          name: '3'
          dir: '3-en'
        ####### 언어 추가 예시 #######
        3-fr:
          name: '3'
          dir: '3-fr'
        ####### 언어 추가 예시 #######
  • 사용자가 gnb에서 추가한 언어를 선택 할 수 있도록 html 파일 내 언어 option을 추가합니다.

    • id가 "language-options" 인 div 하위에 옵션 태그 한 줄 추가

    • <a class="dropdown-item" value=" 언어코드 " …​ > 화면에 표시할 언어명 </a> (언어코드는 브랜치명에서 하이픈 뒷 부분)

    • _topnav_other.html.erb

      <div class="dropdown-menu" id="language-options" aria-labelledby="navbarDropdown">
        <a class="dropdown-item" value="ko" href="javascript:void(0);" onclick="languageSelector(this, '<%= distro_key %>','<%= version %>')">한국어</a>
        <a class="dropdown-item" value="en" href="javascript:void(0);" onclick="languageSelector(this, '<%= distro_key %>','<%= version %>')">English</a>
        <a class="dropdown-item" value="fr" href="javascript:void(0);" onclick="languageSelector(this, '<%= distro_key %>','<%= version %>')">Français</a>
      </div>