Xcode9ではマークダウンファイルはデフォルトではレンダリングされません。レンダリングするためにはどうしたらよいでしょうか。
マークダウンファイルのレンダリング
Xcodeのマークダウンファイルでソースコードへのリンクができるときいてやってみようとしたところ……
Xcodeのソースコメントに- Tag:をいれると、マークダウンファイルなどからソースコードへのリンクが簡単に作れるというお話。これで、気になったところのリストアップとかドキュメンテーションがはかどる。 https://t.co/7lwfbvRvMb
— Kaoru (@TachibanaKaoru) 2018年1月3日
Xcodeでは、そもそもマークダウンファイルはレンダリングされず、生のマークダウンファイルのままで表示されてしまいました。 (Playgroundファイルでは、ファイルの中のマークダウンレンダリングをon/offする「Editor>Show Rendered Markup」メニューがあるんですが、通常のファイルではこのメニューが表示されません。)
でも、最近のAppleが配布しているサンプルコードだと、プロジェクトファイルに含まれたマークダウンファイルはレンダリングされてますよね。それはどうやっているんでしょう。
Xcodeでのレンダリングon/off
Appleのサンプルファイルを調べてみると、レンダリングのon/offは、プロジェクトファイルのなかに特定のplistファイルがあるかどうかで決定されていました。
ファイルパスはこちら。(プロジェクトファイル名を「MyFirst」とします) MyFirst/MyFirst.xcodeproj/.xcodesamplecode.plist
ファイルの中身はこちらです。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array/> </plist>
このファイルをおくと、自分のプロジェクトでもマークダウンファイルがちゃんとレンダリングされました。
ソースコードへのリンク
このマークダウンファイルには、通常のマークダウン文だけでなく、ソースコードへのリンクも記述できます。
マークダウンファイルにこちらをかき、
[View in Source](x-source-tag://AddIdle)
ソースコードにこちらをかいておくと、
/// - Tag: AddIdle
リンクをクリックした時にその場所にジャンプします。
ハイパーリンク
また、通常のハイパーリンクなども実現できます。
アプリをつくるときには、 [iOS Human Interface Guidelines][0] をよくよみましょう。 [0]:https://developer.apple.com/ios/human-interface-guidelines/
画像の表示
画像の表示もできます。 ファイルパスは、プロジェクトの中の相対パスで指定してください。
![神崎蘭子](idleimage/ranko.jpg)
コードの表示
コードの表示もできます。言語の指定をしても、コードハイライトはしてくれないようです。
``` swift func addIdle(name: String, id: Int){ let idle = Idol(name) } ```
まとめ
プロジェクト内に特定のplistファイルをおくと、Xcodeでマークダウンファイルがレンダリングされるようになります。
なお、レンダリングをファイル単位でon/offするのは(いまのところ)できないようです。
便利な機能ではあると思いますが、現状ではレンダリングをon/offするのに手間がかかるのでちょっと使いどころに迷いますね。 Githubにはこのファイルをcommitしておいて、マークダウンファイルの編集をするときだけローカルで削除するなどの作業フローがいいかもしれません。
また、この記事の内容はXcodeVersion 9.2 (9C40b)で調べた情報なので、他のバージョンでは動作が異なるかもしれません。 できれば、Xcodeのバージョンアップでon/offが簡単になるといいですね。
参考リンク
下記のサイトを参考にさせていただきました。