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
Goでマークダウンの独自記法を実装する
Search
lag129
August 25, 2025
Technology
0
320
Goでマークダウンの独自記法を実装する
lag129
August 25, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
330
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
120
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
250
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
220
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
190
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
150
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
5
500
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
210
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
2
210
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
680
Agile Leadership Summit Keynote 2026
m_seki
1
680
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Producing Creativity
orderedlist
PRO
348
40k
YesSQL, Process and Tooling at Scale
rocio
174
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Tell your own story through comics
letsgokoyo
1
810
First, design no harm
axbom
PRO
2
1.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Transcript
Goでマークダウンの独自記法を実装する 2025/08/23 Kyoto.なんか #7 1
自己紹介 id:lag129 使う言語: Kotlin(Android),TypeScript,Python はてなサマーインターンシップ2025に参加しました! 2
インターンシップの課題 Kubernetes上で動作するブログサービスのMarkdownパース処理を実装する GoかTypeScriptで実装する TypeScriptだったら使ったことあるけど... 3
『せっかくインターンシップで開発するなら、新しい ことに挑戦したいなぁ』 ⇛ Goで実装しよう! 4
Wikipedia記法を実装する [wikipedia:日本] goldmarkというライブラリを使用して実装 独自構文の実装にextensionを拡張する 5
できたもの 6
実際のコード1 func Render(ctx context.Context, src string) (string, error) { html
:= template.HTMLEscapeString(src) md := goldmark.New( goldmark.WithExtensions( Wikipedia, ), ) var buf bytes.Buffer if err := md.Convert([]byte(html), &buf); err != nil { return "", nil } return buf.String(), nil } 7
goldmarkの拡張 Trigger() , Parse() , RegisterFuncs() , CloseBlock() ... 見よう見まねで実装
ありがとうDeepWiki 8
実際のコード2 // 中略 client := &http.Client{ CheckRedirect: func(req *http.Request, via
[]*http.Request) error { return http.ErrUseLastResponse }, } resp, _ := client.Head(url) return resp.StatusCode 9
困ったこと extensionの実装方法がドキュメントにない ソースコードを読みこむ [wikipedia:日本] この記法だと既存のリンク記法の実装と被ってうまくいかない {} での実装に変更 10
実装した感想とまとめ 新しいことを始めるのはおもしろい ドキュメントや実際のコードを見ながら実装した体験 パーサーとかgRPCをKotlinで実装したい!! 11