Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pancake with SourceKitten
Search
Satoshi Hachiya
January 27, 2016
Programming
0
490
Pancake with SourceKitten
・SourceKitten を使ってドキュメント自動生成
・(おまけ)Instagram へ写真をシェアするライブラリ
※パンケーキは関係ありません。
Satoshi Hachiya
January 27, 2016
Tweet
Share
More Decks by Satoshi Hachiya
See All by Satoshi Hachiya
iOS の HTTP キャッシュについて
jp_pancake
3
660
花嫁アプリを作った
jp_pancake
1
500
try! ReactorKit
jp_pancake
1
740
QR Code Recognition on iOS 11
jp_pancake
1
1.3k
WWDC Pre Party 2018 at Ebisu
jp_pancake
4
3.3k
try! Swift Tokyo 2018 Report
jp_pancake
1
490
try! Swift Tokyo 2018 Day 1 Opening
jp_pancake
0
840
What is `Swifty`?
jp_pancake
2
1.3k
danger-swift
jp_pancake
2
1.5k
Other Decks in Programming
See All in Programming
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
230
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
720
Catch Up: Go Style Guide Update
andpad
0
220
Devvox Belgium - Agentic AI Patterns
kdubois
1
120
CSC305 Lecture 03
javiergs
PRO
0
240
Devoxx BE - Local Development in the AI Era
kdubois
0
130
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
1k
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
210
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
510
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
150
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
250
Featured
See All Featured
Music & Morning Musume
bryan
46
6.8k
Navigating Team Friction
lara
190
15k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
What's in a price? How to price your products and services
michaelherold
246
12k
It's Worth the Effort
3n
187
28k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Building an army of robots
kneath
306
46k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
Pancake with SourceKitten 2016.01.27 ؔϞόΠϧΞϓϦݚڀձ #10 Martha 1
ࣗݾհ @JPMartha_jp JPMartha 2
MarthaʢϚʔαʣ • ֨ಆՈͷ໊લͰڹ͖͕͍͍ͱࢥͬͯ ͍͡Ί·ͨ͠ɻ • ͨͩঁੑͷ໊લͩͱ͋ͱ͔ΒΓ·ͨ͠ɻ • ͝ཡͷͱ͓ΓΦδαϯͰ͢ɻ 3
ਆށ͔Βདྷ·ͨ͠ 4
ൃදͷ֓ཁ • SourceKitten ΛͬͯυΩϡϝϯτࣗಈੜ • ʢ͓·͚ʣInstagram ࣸਅΛγΣΞ͢ΔϥΠϒϥϦ 5
υΩϡϝϯτ ࣗಈੜπʔϧ ·͍ͩͯ͠ͳ͍Ͱ͕͢ݱঢ়ใࠂͰ͢ɻ 6
πʔϧΛάάΓ·ͨ͠ ͦ͏͍͏ͷ͢Ͱʹ͋Γ·͢ɻ 7
jazzy https://github.com/realm/jazzy • HTMLܗࣜͷϑΝΠϧΛੜ͠·͢ɻ ‣Markdown ܗࣜʹ͍ͨ͠Ͱ͢ɻ • ΦʔϓϯιʔεͰ͢ɻʢRubyʣ ‣Ruby Θ͔Γ·ͤΜɻ
8
ࣗྗͰ࡞Γ·͢ https://github.com/JPMartha/Pancake ʢԾʣ 9
ίʔυղੳ • ͡ΊࣗྗͰ͠·͕ͨ͠ෳࡶͰͨ͠ɻ • SourceKitten Λར༻͢Δ͜ͱʹ͠·ͨ͠ɻ ʢ jazzy SwiftLint
ར༻͍ͯ͠·͢ʣ ‣https://github.com/jpsim/SourceKitten ‣https://github.com/realm/jazzy ‣https://github.com/realm/SwiftLint 10
SourceKitten ͱ ͜Μͳ͜ͱ͕Ͱ͖·͢ɻʢઆ໌লུʣ
[{ "\/Users\/sathachie\/Pancake\/DemoApp\/DemoApp\/ViewController.swift" : { "key.substructure" : [ { "key.kind" :
"source.lang.swift.decl.class", "key.offset" : 174, "key.parsed_declaration" : "class ViewController: NSViewController", "key.namelength" : 14, "key.bodyoffset" : 208, "key.bodylength" : 385, "key.length" : 14, "key.name" : "ViewController", "key.typename" : "ViewController.Type", "key.parsed_scope.end" : 34, "key.usr" : "s:C7DemoApp14ViewController", "key.nameoffset" : 174, "key.inheritedtypes" : [ { "key.name" : "NSViewController" } ], "key.annotated_decl" : "<Declaration>class ViewController : <Type usr=\"c:objc(cs)NSViewController\">NSViewController<\/Type><\/ Declaration>", "key.accessibility" : "source.lang.swift.accessibility.internal", "key.substructure" : [ { "key.kind" : "source.lang.swift.decl.function.method.instance", 12
ߏ 13 SourceKitʢίʔυղੳɾύʔεʣ HimotokiʢJSONσίʔυʣ ࣗ࡞πʔϧʢMarkdownੜʣ SourceKittenʢJSONੜʣ
Markdown ܗࣜͰग़ྗ 14
ݱঢ়ใࠂ Himotoki ΤϥʔͰࣦഊͨ͠ͷͰ… 15
Promise.swift https://github.com/yashigani/Promise 16
Promise.md
State.md Result.md
͜͜ʹஔ͍͍ͯ·͢ https://gist.github.com/JPMartha/49b3215fb5d99bdf9aea 19
͓·͚ 20
Instagram ࣸਅΛ γΣΞ͢ΔϥΠϒϥϦ https://github.com/JPMartha/EggsBenedict 21
ΦʔϓϯιʔεͰ͢ ͨͩ͠ Issues ͯࣗ͢ͷϝϞͰ͢ɻ 23
ࢀߟ • SourceKitten https://github.com/jpsim/SourceKitten • jazzy https://github.com/realm/jazzy • SwiftLint https://github.com/realm/SwiftLint
• Swift SourceKitΛͬͯSwiftιʔείʔυΛϋΠϥΠτ͢Δ http://qiita.com/gfx/items/7f47e98762ecf6f53af5 • SourceKittenʹ͍ͭͯ http://www.slideshare.net/ssusera7b1a1/source-kitten 24
Ҏ্ ͋Γ͕ͱ͏͍͟͝·ͨ͠ 25