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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Satoshi Hachiya
January 27, 2016
Programming
500
0
Share
Pancake with SourceKitten
・SourceKitten を使ってドキュメント自動生成
・(おまけ)Instagram へ写真をシェアするライブラリ
※パンケーキは関係ありません。
Satoshi Hachiya
January 27, 2016
More Decks by Satoshi Hachiya
See All by Satoshi Hachiya
iOS の HTTP キャッシュについて
jp_pancake
3
690
花嫁アプリを作った
jp_pancake
1
530
try! ReactorKit
jp_pancake
1
770
QR Code Recognition on iOS 11
jp_pancake
1
1.3k
WWDC Pre Party 2018 at Ebisu
jp_pancake
4
3.4k
try! Swift Tokyo 2018 Report
jp_pancake
1
510
try! Swift Tokyo 2018 Day 1 Opening
jp_pancake
0
860
What is `Swifty`?
jp_pancake
2
1.4k
danger-swift
jp_pancake
2
1.6k
Other Decks in Programming
See All in Programming
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
340
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
210
感情を設計する
ichimichi
5
1.3k
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
8
5k
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
290
「速くなった気がする」をデータで疑う
senleaf24
0
150
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
160
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.5k
The free-lunch guide to idea circularity
hollycummins
0
420
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
230
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Paper Plane (Part 1)
katiecoart
PRO
0
6.5k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
120
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Six Lessons from altMBA
skipperchong
29
4.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
How to build a perfect <img>
jonoalderson
1
5.4k
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