본문 바로가기
WWDC

[WWDC21] Host and automate your DocC documentation

by 고고 2021. 11. 8.

영상 : https://developer.apple.com/videos/play/wwdc2021/10236/

 

Host and automate your DocC documentation - WWDC21 - Videos - Apple Developer

Find out how you can easily host your Swift package and framework DocC documentation online. We'll take you through configuring your web...

developer.apple.com

 

안녕하세요 ◠‿◠ 고고입니다.

Hosting Documentation

1. Developer Documentation  창에서 Export하기

 

Export해서 나온 .doccarchive 파일은 Xcode에서 문서로 읽고 그것을 온라인에 host하는 것 둘 다 가능합니다.

 

오 Vue.js 웹 앱입니다.

 

브라우저는 서버에게 /documentation/ 또는 /tutorials/로 시작하는 url을 요청합니다.

 

그러면 서버는 documentation archive에 있는 index.html을 보냅니다.

또 브라우저는 css, html 등 웹 앱의 나머지를 요청하고, 서버는 이를 보내줍니다.



document archive의 폴더 구조와 같은 url을 사용한다고 하네요.

 

서버는 아파치를 사용합니다.

서버의 www 폴더에 doccarchive 파일을 옮기고 .htaccess 파일을 만듭니다. 

 

.htaccess 안에는

# Enable custom routing
RewritingEngine on

# Route documentation and tutorial pages.
RewriteRule ^(documentation|tutorial)\/.*$ SlothCreator.doccarchive/index.html [L]

# Route files within documentation archive.

# Route documentation and tutorial pages.
RewriteRule ^(documentation|tutorial)\/.*$ SlothCreator.doccarchive/index.html [L]

위 라인은 documentation 또는 tutorial로 시작한다면 document archive의 index.html로 보내라는 뜻입니다.

 

Documentation archive의 안을 들여다보면

css, data, downloads 등의 여러 가지가 들어있습니다. 이것을 룰에 추가해줍니다.

css | js | data 등등의 요청을 받으면 SlothCreator.doccarchive/$0 로 보내라는 명령이 추가되었습니다.

# Enable custom routing
RewritingEngine on

# Route documentation and tutorial pages.
RewriteRule ^(documentation|tutorial)\/.*$ SlothCreator.doccarchive/index.html [L]

# Route files within documentation archive.
RewriteRule ^(css|js|data|images|downloads|favicon\.ico|favicon\.svg|img|theme-settings\.json|videos)\/.*$ SlothCreator.doccarchive/$0 [L]

 

성공!

 

 

Automating builds

xcodebuild라는 스크립트를 써서 변경 사항이 있을 때마다 최신 상태로 유지할 거라고 하네요.

 

 

scheme, sdk, destination, configuration를 설정할 수 있습니다.

 

좀 더 쉽게 하는 방법은 deerivedData를 사용하는 것입니다.

 

예시에서는 docbuild 후에 .doccarchive 파일을 찾아 www에 복사하고 있습니다.

 

끝!

댓글