Skip to content

Latest commit

Β 

History

History
86 lines (67 loc) Β· 6.89 KB

documentation-guide.md

File metadata and controls

86 lines (67 loc) Β· 6.89 KB

λ¬Έμ„œ μž‘μ„± κ°€μ΄λ“œ

μ• ν”Œ 개발자 곡식 λ¬Έμ„œμ™€ λ™μΌν•˜κ²Œ μž‘μ„±ν•˜κΈ° μœ„ν•œ κ°€μ΄λ“œμž…λ‹ˆλ‹€. μ• ν”Œμ˜ λ¬Έμ„œλ₯Ό κ·ΈλŒ€λ‘œ ν•œκ΅­μ–΄λ‘œ ν‘œν˜„ν•  수 μžˆλ‹€λ©΄, 이 λ¬Έμ„œμ— λͺ…μ‹œλœ κ·œμΉ™μ„ λͺ¨λ‘ μ€€μˆ˜ν•  ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€. λ§Œμ•½ κ°€μ΄λ“œμ— λͺ…μ‹œλ˜μ–΄ μžˆμ§€ μ•Šμ€ λΆ€λΆ„μ΄λ‚˜, μˆ˜μ •μ΄ ν•„μš”ν•˜λ‹€κ³  μƒκ°λ˜λŠ” 뢀뢄이 있으면 μ–Έμ œλ“ μ§€ 이슈λ₯Ό 생성해 κΈ°μ—¬ν•΄μ£Όμ„Έμš”!

μž‘μ„± 단계

ν”„λ ˆμž„μ›Œν¬λ₯Ό 생성해야 ν•˜λŠ” 경우

  1. ν”„λ ˆμž„μ›Œν¬μ˜ 이름을 가진 Swift Packageλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
    • μ• ν”Œ ν”„λ ˆμž„μ›Œν¬μ™€μ˜ 쀑볡을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ 접미사(_k)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. (ex: Xcode_k)
  2. [디렉토리 ꡬ쑰](##디렉토리 ꡬ쑰 )에 맞좰 νŒ¨ν‚€μ§€ ν•˜μœ„μ— Package.swift와 Sources 디렉토리λ₯Ό μ œμ™Έν•œ λͺ¨λ“  파일 및 디렉토리λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.
  3. [디렉토리 ꡬ쑰](##디렉토리 ꡬ쑰 )에 맞좰 Sources/ν”„λ ˆμž„μ›Œν¬ 이름 디렉토리 ν•˜μœ„μ— Definition 디렉토리와 ν”„λ ˆμž„μ›Œν¬ 이름을 가진 λ¬Έμ„œ μΉ΄νƒˆλ‘œκ·Έλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  4. 3μ—μ„œ μƒμ„±ν•œ λ¬Έμ„œ μΉ΄νƒˆλ‘œκ·Έ ν•˜μœ„μ— ν”„λ ˆμž„μ›Œν¬μ˜ 이름을 가진 λ§ˆν¬λ‹€μš΄ νŒŒμΌμ„ μƒμ„±ν•©λ‹ˆλ‹€.
  5. [λ‹€μŒ 단계](###ν•΄λ‹Ή ν”„λ ˆμž„μ›Œν¬μ— λŒ€ν•œ 섀정이 이미 μ™„λ£Œλ˜μ–΄ μžˆλŠ” 경우)λ₯Ό 따라 λ¬Έμ„œλ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.

ν•΄λ‹Ή ν”„λ ˆμž„μ›Œν¬μ— λŒ€ν•œ 섀정이 이미 μ™„λ£Œλ˜μ–΄ μžˆλŠ” 경우

  1. [μž‘μ„± κ·œμΉ™](##μž‘μ„± κ·œμΉ™ )에 따라 λ¬Έμ„œλ₯Ό μž‘μ„±ν•˜κ³  [디렉토리 ꡬ쑰](##디렉토리 ꡬ쑰 )에 따라 μ˜¬λ°”λ₯Έ 곳에 λ¬Έμ„œλ₯Ό μœ„μΉ˜μ‹œν‚΅λ‹ˆλ‹€.
  2. Xcode의 Product > Build Documentationλ₯Ό μ‚¬μš©ν•΄ λ¬Έμ„œλ₯Ό λΉŒλ“œν•˜κ³ , μ• ν”Œ λ¬Έμ„œμ™€ λΉ„κ΅ν•˜μ—¬ 차이점이 μ—†λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
  3. μ›Œν¬μŠ€νŽ˜μ΄μŠ€(ADD-KR)에 μž‘μ—…ν•œ λ¬Έμ„œμ™€ λ§€μΉ­λ˜λŠ” μ• ν”Œ λ¬Έμ„œ 링크λ₯Ό κ²€μƒ‰ν•˜μ—¬ μž‘μ—…ν•œ λ¬Έμ„œλ‘œ λŒ€μΉ˜ν•©λ‹ˆλ‹€.
    • 같은 ν”„λ ˆμž„μ›Œν¬μ˜ λ¬Έμ„œμ˜ 경우: doc: ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•΄ 맀칭
    • λ‹€λ₯Έ ν”„λ ˆμž„μ›Œν¬μ˜ λ¬Έμ„œμ˜ 경우: 쀀비쀑

디렉토리 ꡬ쑰

Xcode > Developer Documentation의 ꡬ쑰λ₯Ό λ”°λ¦…λ‹ˆλ‹€.

  • μ„Ήμ…˜(ex: Developer Tools)
    • ν”„λ ˆμž„μ›Œν¬λ³„ νŒ¨ν‚€μ§€(ex: Xcode_k)
      • μ• ν”Œ ν”„λ ˆμž„μ›Œν¬μ™€μ˜ 쀑볡을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ 접미사(_k)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
      • Package.swift
      • Sources
        • ν”„λ ˆμž„μ›Œν¬ 이름과 같은 μ΄λ¦„μ˜ 디렉토리(ex: Xcode_k)
          • Definition
            • μ†ŒμŠ€ μ½”λ“œ νŒŒμΌμ€ ν”„λ ˆμž„μ›Œν¬μ˜ 디렉토리 ꡬ쑰와 같은 ꡬ쑰둜 κ΄€λ¦¬λ©λ‹ˆλ‹€.
            • μ†ŒμŠ€ μ½”λ“œλŠ” λ¬Έμ„œν™”λ₯Ό μœ„ν•œ 심볼 μ •μ˜κ°€ λͺ©μ μ΄κΈ° λ•Œλ¬Έμ—, λΉŒλ“œ 성곡을 μœ„ν•΄ 빈 κ΅¬ν˜„ λ˜λŠ” μœ νš¨ν•˜μ§€ μ•Šμ€ κ΅¬ν˜„μ΄ 포함될 수 μžˆμŠ΅λ‹ˆλ‹€.
            • ν™•μž₯ 파일이 ν•„μš”μ—†λŠ” 경우, μ†ŒμŠ€ λ¬Έμ„œ μ£Όμ„μœΌλ‘œ λ¬Έμ„œν™”ν•©λ‹ˆλ‹€.
            • μ†ŒμŠ€ μ½”λ“œ 파일이 μ—†μœΌλ©΄ λΉŒλ“œμ— μ‹€νŒ¨ν•˜κΈ° λ•Œλ¬Έμ— μ†ŒμŠ€ μ½”λ“œ 파일이 μ—†λŠ” ν”„λ ˆμž„μ›Œν¬μ˜ 경우 빈 파일인 draft.swiftλ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.
          • λ¬Έμ„œ μΉ΄νƒˆλ‘œκ·Έ(ex: Xcode_k.docc)
            • ν”„λ ˆμž„μ›Œν¬μ— λ”°λ₯Έ 디렉토리 ꡬ쑰λ₯Ό κ°€μ§‘λ‹ˆλ‹€.
            • 아티클이 μ•„λ‹Œ ν•˜μœ„ λ¬Έμ„œλ₯Ό κ°€μ§€λŠ” API μ»¬λ ‰μ…˜ λ˜λŠ” 심볼 λ¬Έμ„œλŠ” ꡬ쑰화λ₯Ό μœ„ν•΄ 같은 μ΄λ¦„μ˜ 디렉토리λ₯Ό μƒμ„±ν•œ ν›„ ν•΄λ‹Ή λ””λ ‰ν† λ¦¬μ˜ ν•˜μœ„μ— 같은 μ΄λ¦„μ˜ λ¬Έμ„œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
            • Resources
              • 이미지, λ™μ˜μƒ λ“± λ¬Έμ„œμ— ν¬ν•¨λ˜λŠ” λ¦¬μ†ŒμŠ€μž…λ‹ˆλ‹€.
              • ν”„λ ˆμž„μ›Œν¬μ˜ λ”°λ₯Έ 디렉토리 ꡬ쑰λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

μž‘μ„± κ·œμΉ™

DocC λ¬Έμ„œμ— λͺ…μ‹œλ˜μ–΄ μžˆλŠ” 뢀뢄은 μƒλž΅λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 기본적인 DocC μ‚¬μš© 방법 및 문법은 DocC λ¬Έμ„œλ₯Ό μ°Έκ³ ν•΄μ£Όμ„Έμš”.

κΈ°λ³Έ

  • λ°˜λ“œμ‹œ μ• ν”Œ 개발자 곡식 λ¬Έμ„œμ™€ λ™μΌν•œ 문법 및 ν˜•μ‹μ„ μ‚¬μš©ν•˜μ„Έμš”.
  • λͺ¨λ“  헀더(H1, H2, H3)λŠ” λ²ˆμ—­ν•˜μ§€ μ•Šκ³  μ˜μ–΄ κ·ΈλŒ€λ‘œ κΈ°μž¬ν•˜μ„Έμš”.
    • 링킹될 κ°€λŠ₯성이 크기 λ•Œλ¬Έμž…λ‹ˆλ‹€.
    • 주둜 H1은 λ¬Έμ„œμ˜ 제λͺ© λ˜λŠ” μ‹¬λ³Όμ˜ 이름, H2λŠ” Overview, Topicsκ³Ό 같은 DocC κ·œμΉ™μ„ λ”°λ₯΄λŠ” 헀더(μ»€μŠ€ν…€ λΆˆκ°€λŠ₯), H3은 H2 ν•˜μœ„μ˜ μ„Ήμ…˜μ„ λ‚˜νƒ€λ‚΄λŠ” 헀더(μ»€μŠ€ν…€ κ°€λŠ₯)둜 μ‚¬μš©λ©λ‹ˆλ‹€.
    • H2인 See AlsoλŠ” μ‚¬μš©μž 지정이 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. λ¬Έμ„œν™”ν•˜μ§€λ§κ³  λ¬΄μ‹œν•˜μ„Έμš”.
  • μ‹¬λ³Όλ§ˆλ‹€ Availabilityλ₯Ό λͺ…μ‹œν•˜λ©΄ μ’‹μœΌλ‚˜, λ°˜λ“œμ‹œ λͺ…μ‹œν•  ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€. 자유둭게 λͺ…μ‹œν•˜μ„Έμš”.
  • λ²ˆμ—­μ΄ μ• λ§€ν•˜κ±°λ‚˜ μ–΄λ €μš΄ μš©μ–΄ 및 개발 μš©μ–΄λŠ” μ˜μ–΄ κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜κ±°λ‚˜, λ²ˆμ—­ ν›„ κ΄„ν˜Έλ₯Ό μ‚¬μš©ν•΄ μ˜μ–΄λ₯Ό ν•¨κ»˜ λͺ…μ‹œν•˜μ„Έμš”.
    • ex) GitHub -> κΉƒν—ˆλΈŒ, low-level, λ©”μ„œλ“œ, ν”„λ‘œνΌν‹°, ꡬ쑰체, μ½”λ“œ 블둝(code voice) λ“±

파일 관리

  • <doc:> ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν–ˆμ„ λ•Œ 콜둠(:) λ’€μ˜ ν…μŠ€νŠΈ + figure + λ¬Έμ„œ λ‚΄μ—μ„œ 이미지 μˆœμ„œλ₯Ό 이미지 μ΄λ¦„μœΌλ‘œ μ‚¬μš©ν•˜μ„Έμš”.
  • Appearance λͺ¨λ“œμ— 따라 이미지 변경이 ν•„μš”ν•œ κ²½μš°μ—λŠ” ν™•μž₯자 μ•žμ— ~dark, ~light ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ„Έμš”.
    • μ• ν”Œ ν™ˆνŽ˜μ΄μ§€μ—μ„œ λ‹€μš΄λ‘œλ“œν•œ 이미지 이름에 ~dark λ˜λŠ” ~light ν‚€μ›Œλ“œκ°€ ν¬ν•¨λœ κ²½μš°μ—λ§Œ μ‹œμŠ€ν…œ 섀정을 λ³€κ²½ν•΄ 두 이미지 λͺ¨λ‘ λ‹€μš΄λ‘œλ“œν•œ ν›„, λ¦¬μ†ŒμŠ€λ‘œ μΆ”κ°€ν•˜λ©΄ λ©λ‹ˆλ‹€.
    • λ°˜λ“œμ‹œ λͺ¨λ“  Appearance λͺ¨λ“œλ₯Ό 지원할 ν•„μš”λŠ” μ—†μœΌλ‚˜, κΈ°λ³Έμ μœΌλ‘œλŠ” dark λͺ¨λ“œλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  • ex) Distributing-Documentation-to-External-Developers-figure2~light.png
  • νŒ¨ν‚€μ§€λ₯Ό μΆ”κ°€ν•  λ•Œμ—λŠ”, λ°˜λ“œμ‹œ μƒλŒ€κ²½λ‘œλ₯Ό μ‚¬μš©ν•΄ xcodebuild -list λͺ…λ Ήμ–΄λ₯Ό μ–΄λ–€ ν™˜κ²½μ—μ„œ μ‚¬μš©ν•΄λ„ λͺ¨λ“  νŒ¨ν‚€μ§€κ°€ 좜λ ₯될 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.
    • μžμ„Έν•œ λ‚΄μš©μ€ 기쑴에 μΆ”κ°€λ˜μ–΄ μžˆλŠ” κ·Έλ£Ή 및 νŒ¨ν‚€μ§€λ₯Ό ν™•μΈν•΄μ£Όμ„Έμš”.

링킹

  • λ™μΌν•œ λ¬Έμ„œμ˜ 헀더λ₯Ό λ§ν¬ν•˜λŠ” 경우, λ§ˆν¬λ‹€μš΄ 링크 ν˜•μ‹μ„ μ‚¬μš©ν•˜λ©°, 링크둜 ν•œ 개의 ν•΄μ‹œ(#)와 ν•¨κ»˜ 헀더 이름을 μ‚¬μš©ν•˜μ„Έμš”.
    • 곡백은 λŒ€μ‹œ(-)둜 λŒ€μ²΄ν•˜μ„Έμš”.
    • ex) [Link to Symbols and Other Content](#Link-to-Symbols-and-Other-Content)
  • λ™μΌν•œ ν”„λ ˆμž„μ›Œν¬μ˜ λ¬Έμ„œλ₯Ό λ§ν¬ν•˜λŠ” 경우, DocC 문법에 따라 λ§ν¬ν•˜μ„Έμš”.
  • λ²ˆμ—­ 전인 λ¬Έμ„œλ₯Ό λ§ν¬ν•˜λŠ” 경우, μ• ν”Œ 개발자 곡식 λ¬Έμ„œμ˜ 링크λ₯Ό μ‚¬μš©ν•˜μ„Έμš”.
  • μ™ΈλΆ€ ν”„λ ˆμž„μ›Œν¬μ˜ λ¬Έμ„œλ₯Ό λ§ν¬ν•˜λŠ” 경우, 쀀비쀑(DocC에 ν•΄λ‹Ή κΈ°λŠ₯이 μΆ”κ°€λœ ν›„ 반영 μ˜ˆμ •)
  • 이미지λ₯Ό λ§ν¬ν•˜λŠ” 경우, ν‘œμ‹œλ˜λŠ” 이름은 figure + λ¬Έμ„œ λ‚΄μ—μ„œ 이미지 μˆœμ„œλ§Œ μ‚¬μš©ν•˜κ³ , λ§ν¬λŠ” 파일λͺ…λ§Œ μ‚¬μš©ν•˜μ„Έμš”.
    • ex)![figure2](Distributing-Documentation-to-External-Developers-figure2)

Tips(Optional)

  • λ¬Έμ„œ μ—…λ°μ΄νŠΈ 이λ ₯은 컀밋 이λ ₯으둜 확인 κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • 배포 방법 및 λ‹¨κ³„λŠ” λΈ”λ‘œκ·Έλ₯Ό μ°Έκ³ ν•΄μ£Όμ„Έμš”.