ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Swift-DocCで充実したドキュメントを作成
アプリやフレームワークのための豊富で詳細なドキュメントを作成するために、Swift-DocCの最新の機能を活用する方法を学びます。Xcode 15ドキュメンテーションプレビューエディタを使用して、既存のプロジェクトのドキュメントを効率的に反復する方法を紹介し、グリッドベースのレイアウト、ビデオサポート、カスタムテーマのような拡張されたオーサリング機能を探ります。 このセッションを最大限に活用するためには、Swift-DocCドキュメンテーションの基本的な知識を持っている必要があります。
関連する章
- 0:00 - Introduction and overview of Swift-DocC
- 3:33 - Building and browsing documentation in Xcode
- 6:21 - Documenting Swift extensions
- 8:05 - Activating the Documentation Preview editor
- 9:44 - Adding an image to your documentation
- 12:06 - Organizing documentation pages into Topic Groups
- 13:53 - Using Swift-DocC directives to create rich documentation pages
- 25:12 - Theming the online version of your documentation
- 28:29 - Publishing and browsing documentation on the web
- 31:02 - Quick navigation
リソース
関連ビデオ
WWDC23
WWDC22
WWDC21
-
ダウンロード
♪ ♪
こんにちは 「Swift-DocCで充実したドキュメントを作成」へ ようこそ Swift-DocCチーム エンジニアの Ethanです Xcode 15はSwift-DocCに 際立たせるだけでなく 読者にあなたのアプリや フレームワークを通知するための より効果的なツールも 提供します Xcode 15の新機能のドキュメンテーション プレビューそしてエディタで 原稿の画面から離れる事なく ドキュメントを推敲することが 可能になりました お見せするのが待ちきれないです まずは簡単な概要から Swift-DocCは Xcodeに直接組み込まれた ドキュメント編集プログラムで プロジェクトのための 豊富なドキュメントを作成し ソースコードと共に 公開することができます ドキュメントの様々なコメントを ソースに直接書かれたコメントと 単独のMarkdown形式を 組み合わせて使用します 高レベルの概念的コンテンツと 詳細な技術文書の両方が書けます このドキュメントには静的ウェブ・ ホスティング・ソリューションと 互換性があり GitHub PagesやNetlifyなど GitHubページやNetlifyのような サービスに直接 公開することができます もちろん ドキュメントはXcodeの 組み込みドキュメントウィンドウにも表示され ヘルプ付きでXcodeの ソースエディタに統合されます つまり書かれた文書は書き手側で 何も手を加える必要なしに ソースコードにアクセスできる人なら 誰でも自動的に利用できます Xcode13でSwift-DocCが リリースされて以来 Swift-DocCプロジェクトは オープンソースとなり オープンで開発されています 我々はSwiftコミュニティと協力し 全プロジェクトを文書化するための サポートを追加しSwift Objective-C またはそのミックスで書かれたものでも プロジェクトのすべてを 文書化するための サポートを追加しました、 Xcode 15 はSwift-DocC ドキュメントを書く体験を 全くの別次元のものにします ドキュメント・プレビュー・エディタは リアルタイムビューにより 入力中にレンダリングされた状態を 表示して キーを入力するたびに フィードバックが表示されます グリッドベースレイアウトやビデオサポート カスタムページアイコンと 完全カスタムテーマなどの オーダーメイドの ドキュメントを作成できます このセッションではSwift-DocCの 高度な機能に焦点を当てていきます もしSwift-DocCについて 学ぶのが初めてなら 最初に「Meet DocC documentation in Xcode」と 「Elevate your DocC documentation in Xcode」を見てください この2つのセッションでは 今日のドキュメントを改善するための 枠組みを紹介し 新しいプロジェクトに 最初のドキュメントを追加する プロセスを説明します
今日はまずXcode 15の文書プレビュー・ エディタを使用した 新しい文書作成に取り組んでいきます 新しいエデイタを使ってSwift-DocCの 新しい機能を利用して 既存文書の向上を 図っていきましょう ウェブバージョンが既存の ウェブサイトにぴったりするように カスタムテーマを作成します 最後に文書をウェブに公開した後 Xcode 15ですべてのSwift-DocC ウェブサイトに追加された 新しいナビゲーション機能を 紹介します さっそく見てみましょう
ここ数年私とチームは SlothCreatorと呼ばれる Swiftパッケージに取り組んでいます SlothCreatorは iOSアプリにインポートして 小さなナマケモノのカタログ化や カスタマイズ表示に使用できます SlothCreator をもっとたくさんの iOSアプリに使ってもらいたい一心で ドキュメントの改善に 取り組んでいます SlothCreator Swiftパッケージを Xcode 15 で開きました 文書の現状評価から 始めましょう まずはマウスをProductメニューに移動し 文書作成を選択します
Xcodeは私のプロジェクトを 文書と共に構築し 文書ウィンドウを開きます あなたがSwift-DocCのための 特別なドキュメントを 書いたことがなくてもプロジェクトで 試すことができるのです Swift-DocCは自動的にあなたが書いた 文書コメントを含む関連APIページを 自動的に作成します 文書がいかに充実しているかに 驚かれるかもしれません さらに良いことにビルド ドキュメンテーションを 選択するとXcodeは プロジェクトの依存関係の 全ての文書も作成します 例えばSlothCreatorのような サードパーティのライブラリに 依存している場合 それらも表示されます SlothCreatorのトップの ドキュメントページです 要約文から始まり枠組みについて 概要が説明されます ページを少しスクロールして トピックスのセクションに移動します トピックは論理的なグループに 編成するために 使用されます まず初めてこの枠組みを使う人のための 入門的な文書が含まれた 基本情報があります ナマケモノの創造やナマケモノの 餌付けと世話などに役立つ シンボルを含んだグループがあります よく整理されたトピック・グループは 発見しやすくアクセスしやすい文書を 作成する鍵となります 読者が文書を 閲覧しやすくなるための 高度なテクニックを学ぶために 「Improve the discoverability of your Swift-DocC content」を 見ることをおすすめします ナマケモノ構造のドキュメントを 開いてみましょう クリックしてみます
Slothは本当によく文書化されています 直リンクを含む 関連するページへの直リンク 優れた概要と始めるためのコード例 よく整理されたトピックグループがあり 関連するシンボルを見つけるのに 役立っています 「戻る」ボタンを使って SlothCreatorのトップに戻ります ページをスクロールしていく 物事が整理されていることに とても満足している しかしページの一番下に 実はSwiftUIモジュールを使用した 今までみたことのない シンボルがあります このシンボルはXcode 15の 新しいSwift-DocC拡張機能のための 表示であることがわかります Xcode 15 では他の枠組みで作成した 型に加えた拡張を文書化 できるようになりました 拡張機能は Swift言語の強力な機能で 元のソースコードに接することが できないタイプの機能を 追加することができます 例えばSwiftUIの Viewプロトコルを拡張して アプリの追加機能を 拡張できるかもしれません これらのアプリや枠組みの 残りの部分と共に 拡張シンボルの文書化ができます この新機能は完全にコミュニティからの 貢献によって実現され Swift-DocCとSwiftコンパイラの両方で 調整された変更が行われました SlothCreatorのドキュメントを 活用する方法を みていきましょう SwiftUI extended moduleを クリックします
SlothCreatorは SwiftUIのImage構造を拡張したので 拡張機能として ここに表示されています Imageページを開くとinitializerが 追加されているのがわかります このinitializerのドキュメントは 基本的な部分は正しいのですが Sloth 構造体までの 品質レベル4には達していません ここを改善したいです プロジェクトナビゲータに マウスを移動して 画像拡張ファイルを 選択します
プロジェクトナビゲーターを 閉じます
Slothベースの画像 initializerの宣言です
宣言の上には シンボルが記述されていて 先頭の3つのスラッシュで 定義されます このinitializerに追加の ドキュメントを追加したいのです Xcode 15を使った文書の 最良の方法は 新しい文書プレビュー エディタの利用です 文書プレビュー補助エディタを 有効にするにはまず 編集設定メニューを選択します
次に補助項目を選択します 補助エディタのジャンプバーを クリックして補助モードを選択します 最後に文書プレビューを選択します こうするだけです 文書プレビューはSwiftの ソースファイル間を移動しても 有効なままです Objective-Cのヘッダーファイルと 文書のマークダウンファイル SlothCreatorで試してみましょう
楽しみです まずはディスカッション セクションの作成から始めましょう Swift-DocCは概要として 文書コメントの最初の行または ページの要約文として使用します 次の段落はディスカッション セクションとして使用され このinitializerを使って 「指定されたナマケモノの 画像表現を表示するために このinitializerを使いましょう」と 書いてみます 文字を入力している間 文書プレビューがリアルタイムで更新され レンダリングされたシンボルの ドキュメントが表示されます 次にこのinitializerが 実際にどのように使われるかを示す コード例を追加します Markdownのフェンス付きコード ブロック構文を使って コードブロックを作ってみます
「swift」 をソース言語として指定し シンタックスハイライトに使用し 私のコード例を貼り付けます
この例は氷のナマケモノの画像を レンダリングするSwiftUIビューを 作成する方法を示します この例にはUIが含まれているので ここにスクリーンショットを 載せるのが良いと思います デスクトップには すでに用意してあります
実際にスクリーンショットを 文書に使うにはまず画像を SlothCreatorの文書カタログに 追加する必要があります 文書カタログはSwiftパッケージに 追加できるファイルのディレクトリです またはXcodeプロジェクトに Markdownファイルの形で 画像やビデオで追加の 文書コンテンツを提供します 長い形式の記事やチュートリアルを 置く場所です 追加した画像や動画は 文書コメントから参照できます。 プロジェクトナビゲーターを開くと SlothCreatorには すでに文書カタログがあるのがわかります スクリーンショットのダークモード版と ライトモード版両方をドラッグします
画像を好きな場所に配置でき Swift-DocCは 画像を見つけ出します これでどのようにカタログを構成するか 自由に決めることができ 私達に最も理にかなった方法で 構成できます ページに画像を入れたいときは 画像のファイル名で 参照するだけです 画像やその他のファイルにも 注意する必要があります 画像をアプリに入れたい場合 アセットカタログを 使うことになります これで文書にスクリーンショットを 追加する準備が整いました Markdownの画像構文を使用し テキストとしての説明文と 画像のファイル名の両方を 指定します ここでは基本ファイル名を 使っていることに留意してください DocCは自動的に適切なライトと ダークモードのバージョンを判断します 最後に締めくくりの文で 終えたいと思います
なかなかよさそうです 文書プレビュー・エディターによって このシンボルに関する豊富な文書を 簡単に楽しく作成 できるようになりました 次にこれをトピック・グループに入れて より整理しておきたいです プロジェクト・ナビゲーターを有効にし 文書カタログのなかから SlothCreatorのMarkdownファイルを 選択します 文書プレビューエディターは SlothCreator先頭ページの レンダリングされたコンテンツを 表示します プレビュー・エディターを使って DocCの構文がいかに 機能するかを実感できます トピック・グループは第2レベルの 「トピックス」見出しの下にある 第3レベルの見出しで 定義されていることがわかります トピックグループにページを配置するには 第3レベルの見出しの下にリスト項目を 作成ページにリンクします SwiftUI Imageの 拡張タイプのために 今これを実行します ナマケモノの表示トピックグループに 含まれるシンボルだと思います そこにリンクしておきましょう タイプの参照を提示してくれる コード補完機能を使うと便利です
これでSlothCreatorの 画像拡張機能の文書が まとまって充実していますす 最初にSlothCreatorのドキュメントを 公開して以来サンプル・コード・ 枠組みの基礎といえる プロジェクトへの要望フィードバックを 頂きました 対処として我々は SlothyというSlothCreatorの 次代版を作り出すことにしました 私の同僚はすでに 下書きをしています SlothCreatorのメイン・ドキュメントに 新しいSlothyサンプルへのリンクを 記載したいと思います 確認してみましょう SlothCreatorの文書カタログに 記事の草稿を 付け加えることから始めます
ここのコンテンツは すでに本当に充実しています サンプル・アプリの様々な機能を説明し アプリのスクリーンショットまで 掲載されています リポジトリへの リンクもあります でも改善できるはずです 幸いなことにSwift-DocCの新機能が あるので可能です Swift-DocCのオーサリング構文は Markdownの上に構築されています Markdownに慣れ親しんでいるなら リンク 画像 太字や斜体のテキスト、 そして表さえも すぐに使いこなせるはずです Swift-DocCはあなたのドキュメント用に 作られた機能を利用可能にする ディレクティブでMarkdownの 基本構文を拡張します
これからこれらのディレクティブの 一部を使用してSlothyの サンプル・コードに磨きを かけたいと思います しかしこれらのディレクティブ はクリエイティブに使うということです 正しい使い方はひとつではないし どのようなページに使うのが 正しいということもありません これらのディレクティブをどう使って プロジェクトの文書をより わかりやすく より魅力的で興味深くするには どう使うかを 考えてみてください 急いで記事のレイアウトを 編集しようとする前に まず具体的な問題点を 明らかにすることから始めます そうすることで新しいリクエストの いくつかを採用しながら実際に 改善していることを確認できます まず目につくのは 目立ったことがないことです このページは読者が特に興味を持つであろう サンプル・コードが あるにもかかわらず 他の記事と同じ型です その点でこの記事で最も重要なのは この記事で行っている最も 重要なことはサンプルコードのソース・ リポジトリへのリンクです ところがサンプルコードのリンクは 特定・発見するのが非常に難しくなってます 記事の本文にうつりましょう このコンテンツは2つの画像と 段落のペアで構成されてます 各段落には関連する画像があります ここには2つの問題があります 第一に画像と段落が明確に 関連付けられていません そして2つ目は画像が スペースを取りすぎている ここに掲載した画像はそれぞれの段落に アクセントをつけるためのものです これ単独ではあまり面白みがないです
最後にページの一番下は SlothCreatorの ローカリゼーション・サポートの 説明となっています ここに3つの異なる言語の スクリーンショットがあります ただ縦に重ねただけなので ローカライゼーションの段落との 関連性が失われ 視覚的にスペースを 視覚的にスペースを 取りすぎている Swift-DocCでこれら4つの問題の 解決法を説明していきます 記事の本文から入って いきましょう 画像と段落のペアはグリッドに 配置するのが正しい 解決策だと思います こうすれば画像よりも段落の重要性を 強調し画像をそれぞれのパラグラフに 添付することができます Swift-DocCのグリッドは フレキシブルな行と列として 定義することから始めます まず2つの列を含む行を 定義することから始めます
その段落を最初の列において 2列目の画像も
画像が関連する段落に 添付される方法は良いのだが パラグラフが画像より 優先されるべきだと思います 段落を含む行のサイズを 拡大してみましょう 最初の列にサイズを設定して より大きい値を デフォルト指定にします サイズ・パラメーターは指定した コラムの範囲を設定します サイズ3を試してみます
最初のコラムは4コラムグリッドの 3コラムにまたがってます ちょっと大きすぎます サイズ2はどうでしょうか
テキストと画像のバランスが取れてます なかなかです 2番目の段落と画像のペアで 同じ設定で試してみます
間違いなく進歩してますが ページのバランスがあまり 良くないです 画像とパラグラフを反転 させてみましょう
良くなりました この記事は本当にまとまってます 我々が認識した ローカライズセクションの問題点は 画像が縦方向のスペースを 取りすぎて 縦方向のスペースが大きすぎるため 文脈が失われてしまいます タブ・ナビゲーターは複数の要素を 1つにまとめることができる 最適な解決策です それを試してみよう
3つのタブを持つタブ・ナビゲーターの 初期構造を作成します
タブナビゲータは任意の数の 子タブディレクティブを含んだ タブナビゲータディレクティブで 定義されます 各タブはパラメータとして名前を 提示します 3つの画像をそれぞれの タブの中に配置します
読者は各タブをクリックして 興味のあるスクリーンショットに アクセスできます
もう一歩進めるために 読者を惹きつけ サンプルを見て わくわくさせるような 簡単なビデオを付けたいと思います Swift-DocCにはビデオディレクティブが あるのでこれから入れて
ビデオそのものと説明文を提供する ポスター画像が ビデオ再生前に表示されます
良い感じです 紹介のセクションに移ります 最初に気づいた問題のひとつは サンプルのリポジトリへの アクセスリンクを特定するのが 難しいという点です Swift-DocCにはこのために作られた 行動を促す呼び出し方があります まずメタデータ・ コンテナ ディレクティブを 追加します メタデータディレクティブは ページに直接レンダリングされない 付加的な情報を指定するために 使用されます この場合ページにアクションを促すものを 備え付けたいです
リンク先のURLと行動喚起の目的を 提示しました リンク目的としている所に 留意してください ダウンロードをすることもできるけれど 今回はソース・リポジトリへ リンクしたいので 「リンク」がふさわしいです 最終的にはこの記事を SlothCreatorのドキュメントの 他の記事よりも 際立つものにしたいです このページにサンプル・コードが掲載 されていることを認識してほしいです Swift-DocCはサンプルコードを含む 記事に対応していることがわかりました このページの種類はサンプルコードである ことを示すために サンプルコードでPageKind ディレクティブを指定します レンダリングされたページには 「Sample Code」 という タイトルの見出しと中かっこをつけた ページアイコンが追加され 目立つものになりました Swift-DocCは「article」と 「Sample Code」の2つの値を ディレクティブで支持しています 他のデフォルトページの種類について ぜひお聞かせください オープンソースプロジェクトですので SwiftフォーラムはDocCが文書化ニーズを どのように満たすのかについて お持ちかもしれないフィールバックや ご意見を議論するのに うってつけの場所です
アプリでSlothCreatorを使うことに 興味があるデベロッパは この記事を読んで本当に わくわくすると思います 興味深くて思慮深く楽しめる 絶対に読んでもらいたいです それではSlothCreatorの ページトップへ戻って 目立つ場所を見つけて リンクを張ります
まず新しい記事をトピック・ グループにまとめていきます 今回は、必需品グループが 最も適切だと思います SlothCreatorフレームワークを 初めて使う人がSlothyサンプルに 興味を持ってくれるのを 期待しているからです
良いスタートを切ったといえるけど さらに一歩進みこの記事を ページの一般的なトピック欄の 上に掲載したいです Linksディレクティブはこれに最適です 特集セクションを作成し Linksディレクティブを挿入します
リンクはページのハイライトに最適です カード画像とページの説明を より高度に入れるのに 適しています リンクディレクティブは ビジュアルスタイルパラメータを 受け付けます リンクはレンダリング方法を定義し トピックグループのように リンクのリストを記述します Slothyのサンプルにリンクしておきます
Linksはデフォルトのトピック セクションのように 表示される基本的なリストから 詳細なグリッドまで 様々なビジュアルを サポートしています
グリッド・スタイルはいいと思うが ここにSlothyサンプルを表す カスタム画像を入れたいです SlothyのMarkdownに 戻ってみましょう ナマケモノ記事を作るために グリッド・ベースのリンク・セクションでの プレゼンに最適です メタデータに画像を 提供する必要があります それでは始めましょう
目的を 「カード」に指定して Slothy画像がカードとし レンダリングされるときに altテキストとして 画像のソースと説明文を指定します Slothyクリエイターの ページに戻ると
Slothyがカスタム画像で レンダリングされるようになりました 「Getting Started with Sloths」の 記事も紹介します
仕上げとしてトップのページにも メタデータを追加するつもりです 前と同様にメタデータ ディレクティブを作ります そしてページ画像を提示します
今回は「カード」ではなく 「アイコン」を指定しています したがって ナビゲーション・サイドバーや ページの紹介セクションを含む ページのアイコンがレンダリングされる あらゆる場所で使用されます 最後にカスタムページカラーを 設定します
デフォルトでトップページは 青色を使用しますが Swift-DocCは 黄色やパープルとオレンジなどの 多くの標準色を 備えています SlothCreatorは通常 緑をアクセントカラーとして使うので それを使うことで よりまとまりのある体験を 作ることができると思います
わあ SlothCreatorのドキュメントが わずかな時間でずいぶん進歩しました 行と列 タブナビゲーター ビデオタブナビゲーターのような レイアウト・ディレクティブを使うことで ビデオはこのサンプルコードの 記事の流れを 良くして読者を 惹きつけることができました メタデータディレクティブを使用して CallToActionとPagekindtoは さらに洗練されたレベルに なりました Linksディレクティブで 注目のコンテンツを高め PageColorとPageImageディレクティブで トップレベルページに ブランディングを追加しています 更新されたSlothCreatorの文書を 共有できてとても嬉しいです その新しいリリースをウェブに公開する前に カスタムテーマを使って SlothCreatorのドキュメントの オンラインプレゼンテーションを 最適化します SlothCreatorの文書は大きな製品の ウェブサイトの一部として公開されています ドキュメントサイトと製品サイトが 同じカラーパレットとフォントセットで 統一されていることを 確認する必要があります ではSwift-DocCでカスタムテーマを 使って見てみましょう 色 ボーダー アイコン フォントの ような視覚的なスタイルが ドキュメントサイトで レンダリングされる方法を 完全にカスタマイズすることが できます これらのカスタマイズは 文書カタログに含まれる 特別なJSONファイルで行われ 文書サイトと他のオンラインでの 存在をよりよく統合することができます Swift-DocCのテーマツールを 使用すると特定の企業スタイルに 合わせたり マーケティングサイトや 個人のブログにフィットできます しかしテーマ設定はすべての文書 カスタマイズに適した ツールではありません 特定のページの外見を カスタマイズしたい場合は カスタムテーマではなく そのページでディレクティブを 使うべきです テーマのカスタマイズはサイト全体で ページに対するものではありません またSwift-DocCのテーマは意図的に 配置に特化したことも重要です Xcodeで文書を開くとあなたの文書は Xcodeのテーマでレンダリングされ続け そこに表示される他のすべての文書と 一緒に美しく表示されます Xcodeでの読書体験にどのような 影響を与えるかを心配することなく カスタムテーマをサイトの存在に 集中させることができます しかしXcodeとウェブの両方に カスタマイズを表示させたい場合は ディレクティブを使う方が 良いです SlothCreatorのカスタムテーマを 見てみましょう Swift-DocC のテーマは 特定の名前のプロジェクトの ドキュメントカタログに置く JSONファイルによって 定義されます テーマ設定ファイルで行う カスタマイズには 様々な種類があります SlothCreatorのサイトの色と フォントをカスタマイズします これらのカスタマイズはそれぞれ タイプグラフィのセクションに配置されます
SlothCreatorは マーケティング資料の中で 特定の緑色の色合いを 使用しています 私はすでにSlothCreatorのページカラー ディレクティブを使用して ページ先頭の色を 緑に設定しました 「標準緑」の色変数を使うことで 特定の緑色を設定することが できます SlothCreatorは本格的なSloth の プロをターゲットにした 本格的なフレームワークだからです オンライン・ドキュメントで Serifフォントを使おうと思います それはHTML-font タイポグラフィ変数でできます もちろんこれはSwift-DocCテーマで 可能なことの一部にしか過ぎません Swift-DocCのドキュメントを 読むことをおすすめします これで「theme-settings.json」 ファイルを設定します 文書カタログに 追加しておきます
SlothCreatorのソース管理リポジトリは 「xcodebuild」コマンドラインツールを使用し 新しくコミットをプッシュしたときいつでも 継続的なインテグレーションで SlothCreatorを構築しデプロイします 文書は常にフレームワークの 最新の変更に対応していて 素晴らしい流れになっています 同様のワークフローの Xcodeのドキュメントの Swift-DocCセクションを 参照してみてください これらの変更点を発表できることを とても楽しみにしています 今すぐプッシュしウェブサイトの 新しいデプロイをしましょう Xcodeウィンドウの左上隅にマウスを 移動しソース・コントロール・ ナビゲーターをすべての変更を ステージングし コミットメッセージを
追加します そしてコミットとプッシュします
ではSlothCreatorのウェブサイトを 開いてみましょう SlothCreator製品サイトの トップページです SlothCreatorのブランドと一致する 特定のフォントと色を使用しています 「Read Documentation」ボタンを クリックしてみましょう
こちらがSlothCreatorの ドキュメントです ウェブサイト版は私たちが適用した カスタム・テーマで フォントとグリーンの濃淡が 特徴的です 私たちが設定したカスタム・アイコンと 注目セクションに 最新のSlothyのサンプルコード 記事も掲載されています 「View sample code」のリンクから 開くことができます この記事の仕上がりには 本当に満足してます Swift-DocCのウェブサイトも 素晴らしいナビゲーション・サイドバーの トピックスセクションで整理した ページをナビゲートしてくれます 一番上はEssentialsグループで Slothyのサンプル・コードの記事と 「入門」の記事が並んで Sloth構造体も そこにあります Sloth構造体を拡大するには その左側にある三角マークを クリックすることで 構造体の子セクションを参照でき これらの記号はトピック・グループでも よく整理されています 先ほど説明した画像initializerを 確認してみましょう スクロールダウンしてSloth Viewsの セクションに移動します 画像拡張のシンボルを展開し イニシャライザをクリックします さあ いよいよ デベロッパが直感的に閲覧でき ナビゲーションのサイドバーを使って ドキュメントの著者として 自分のプロジェクトのAPIを ガイドすることができることを 光栄に思います 時にはドキュメントの一読者として 自分が探しているページが 何なのかがはっきり わかっていることもあって 簡単にそこへ移動できる方法が あればいいと思うこともあります Xcode 15で構築された Swift-DocCウェブサイトには 新機能の迅速なナビゲーション機能があり Swift-DocCクイックナビゲーションは 私たちが本当に楽しみにしている 別のコミュニティ主導の取り組みです Xcodeの素早く開く機能に似ていて キーボード・ショートカットを有効にして その名前を入力するだけで そのページにジャンプできるのです では さっそく始めましょう Shift-Command-O を押し クイックナビゲーションを起動します
すぐにSlothCreatorのドキュメントの すべてのページで フィルタリングを開始できます 例えばスタートアップの記事を 探しているなら 「start」と入力するでしょう
これです 右側にはドキュメントの プレビューまで表示されます
Enterキーを押してページに移動
たぶんナマケモノの力の違いとは 何かを思い出す必要があるでしょう もう一度Shift-Command-Oを押し 「power」と入力します
これがパワーピッカーで 次に「power」プロパティ ああこれだ パワー列挙型 今回は「View more」のリンクから ページを開きます
そうして私はナマケモノの力について 知ることができます 新しいクイックナビゲーション ポップオーバーと既存のナビゲーション サイドバーの両方で Swift-DocCはあなたの ドキュメントを閲覧することを 本当にやりがいのある体験に してくれる事でしょう Xcode 15のSwift-DocCは真にユニークな ドキュメントウェブサイトを作成する 強力な新しいツールを 備えています 最新ドキュメント・プレビュー・ エディタをお試しください 様々なページレイアウトを探索し それらがどうリアルタイムで レンダリングされるかが 体験できます 新しいディレクティブLinksや PageImageのような 最新ディレクティブを使用して あなたならではのプロジェクトを 強く主張するドキュメントを 作成できます またカスタムテーマを追加して ウェブ版のドキュメントをプロジェクトの ブランディングや既存のオンライン・ レゼンスと統合させるべきかも 検討してください Swift-DocCの最新情報は WWDC22の 「What's new in Swift-DocC」 セッションをご覧ください このセッションではXcode 14 に 搭載された新しい 公開ワークフローについて 詳しく説明しGitHubページのような 静的ホスティングサービスに 公開する方法を紹介します さらにステップ・バイ・ステップの チュートリアルであなたの文書を さらに進化させたいと思うなら 「Build interactive tutorials using DocC」をご覧ください あなたがSwift-DocCとXcode 15を使用して デザインしたドキュメントを 見るのがとても楽しみです ご視聴ありがとうございました ♪ ♪
-
-
8:52 - Documenting a Swift extension
import SwiftUI /// An extension that facilitates the display of sloths in user interfaces. public extension Image { /// Create an image from the given sloth. /// /// Use this initializer to display an image representation of a /// given sloth. /// /// ```swift /// let iceSloth = Sloth(name: "Super Sloth", color: .blue, power: .ice) /// /// var body: some View { /// Image(iceSloth) /// .resizable() /// .aspectRatio(contentMode: .fit) /// Text(iceSloth.name) /// } /// ``` /// /// ![A screenshot of an ice sloth, with the text Super Sloth underneath.](iceSloth) /// /// This initializer is useful for displaying static sloth images. /// To create an interactive view containing a sloth, use ``SlothView``. init(_ sloth: Sloth) { self.init("\(sloth.power)-sloth") } }
-
16:31 - Creating a grid-based layout
@Row { @Column(size: 2) { First, you customize your sloth by picking its ``Sloth/power-swift.property``. The power of your sloth influences its abilities and how well they cope in their environment. The app displays a picker view that showcases the available powers and previews your sloth for the selected power. } @Column { ![A screenshot of the power picker user interface with four powers displayed – ice, fire, wind, and lightning](slothy-powerPicker) } } @Row { @Column { ![A screenshot of the sloth status user interface that indicates the the amount of sleep, fun, and exercise a given sloth is in need of.](slothy-status) } @Column(size: 2) { Once you've customized your sloth, it's ready to ready to thrive. You'll find that sloths will happily munch on a leaf, but may not be as receptive to working out. Use the activity picker to send some encouragement. } }
-
18:16 - Creating a tab navigator
@TabNavigator { @Tab("English") { ![Two screenshots showing the Slothy app rendering with English language content. The first screenshot shows a sloth map and the second screenshot shows a sloth power picker.](slothy-localization_eng) } @Tab("Chinese") { ![Two screenshots showing the Slothy app rendering with Chinese language content. The first screenshot shows a sloth map and the second screenshot shows a sloth power picker.](slothy-localization_zh) } @Tab("Spanish") { ![Two screenshots showing the Slothy app rendering with Spanish language content. The first screenshot shows a sloth map and the second screenshot shows a sloth power picker.](slothy-localization_es) } }
-
19:07 - Adding a video
@Video(poster: "slothy-hero-poster", source: "slothy-hero", alt: "An animated video showing two screens in the Slothy app. The first screenshot shows a sloth map and the second screenshot shows a sloth power picker.")
-
19:50 - Specifying a page's "Call to Action" link
@Metadata { @CallToAction(purpose: link, url: "https://example.com/slothy-repository") }
-
20:29 - Specifying a page's kind as "Sample Code"
@Metadata { @CallToAction(purpose: link, url: "https://example.com/slothy-repository") @PageKind(sampleCode) }
-
21:55 - Using the "Links" directive to feature content
@Links(visualStyle: detailedGrid) { - <doc:GettingStarted> - <doc:SlothySample> }
-
22:55 - Specifying a page's card image
@Metadata { @PageImage( purpose: card, source: "slothy-card", alt: "Two screenshots showing the Slothy app. The first screenshot shows a sloth map and the second screenshot shows a sloth power picker.") }
-
23:41 - Specifying a page's icon image
@Metadata { @PageImage( purpose: icon, source: "slothCreator-icon", alt: "A technology icon representing the SlothCreator framework.") }
-
23:42 - Specifying a page's color
@Metadata { @PageColor(green) }
-
27:04 - theme-settings.json
{ "theme": { "color": { "standard-green": "#83ac38" }, "typography": { "html-font": "serif" } } }
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。