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
LaravelでMarkdownをブラウザに表示する方法
Search
SAW
October 30, 2019
Programming
1.6k
0
Share
LaravelでMarkdownをブラウザに表示する方法
Web×PHP TechCafe 10月 の発表資料です。
SAW
October 30, 2019
More Decks by SAW
See All by SAW
🪝 便利な Property Hooks を 使ってみよう 🪝
azuki
0
61
決済システム超初心者が Stripe に入門している話
azuki
0
100
React Hook Form と Zod によるフォームバリデーション
azuki
0
64
PHP で form-data を POST 以外のメソッドで受け取るには?
azuki
0
75
PHP で学ぶ OAuth 入門
azuki
2
1.3k
EditorConfig を使ってみよう
azuki
1
110
Symfony でサクッと作る REST API サーバー
azuki
1
250
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
370
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
410
Other Decks in Programming
See All in Programming
Making the RBS Parser Faster
soutaro
0
700
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
140
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
110
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
170
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
440
継続的な負荷検証を目指して
pyama86
3
1.1k
GoogleCloudとterraform完全に理解した
terisuke
1
190
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.9k
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
410
Road to RubyKaigi: Play Hard(ware)
makicamel
1
570
when storing skills in S3 file
watany
3
1.5k
My daily life on Ruby
a_matsuda
3
210
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
230
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Fireside Chat
paigeccino
42
3.9k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
690
Faster Mobile Websites
deanohume
310
31k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
340
Transcript
-BSBWFMͰ.BSLEPXOΛ ϒϥβʹදࣔ͢Δํ๏ 8FCº1)15FDI$BGF 4"8
XIPBNJ w ࢯ໊Ճ౻फҰ ࡀ ‣ େࡕࡏॅɾѪग़ ‣ ϋϯυϧωʔϜ4"8
w 4/4ΞΧϯτ ‣ 5XJUUFS!B[VLJ@FBUFS ‣ (JU)VCB[VLJQFOHVJO w ॴଐגࣜձࣾ.4&/ 2 FreeBSD macOS Linux Vue.js
.BSLEPXOΛ)5.-ʹมͯ͠ૹ৴ w -BSBWFMͰ.BSLEPXOΛ)5.-ʹมͯ͠Ϗϡʔʹө͍ͨ͠ ‣ ྫ.BSLEPXOͰهࣄΛॻ͚ΔϒϩάγεςϜͷ࡞ w 1)1ͷ.BSLEPXOύʔαϥΠϒϥϦcebe/markdownΛಋೖ ‣ ෳͷ.BSLEPXOॻࣜʹରԠ
5SBEJUJPOBM(JU)VC.BSLEPXO&YUSB 3
1)1.BSLEPXOύʔαϥΠϒϥϦͷൺֱ w DFCFNBSLEPXO ‣ ରԠॻࣜ5SBEJUJPOBM(JU)VC.BSLEPXO&YUSB w 1)1.BSLEPXO ‣ ରԠॻࣜ5SBEJUJPOBM.BSLEPXO&YUSB w
1BSTFEPXO ‣ ରԠॻࣜ(JU)VC 4
DFCFNBSLEPXOͷಋೖํ๏ w $PNQPTFSܦ༝ͰΠϯετʔϧ ‣ composer require cebe/markdown w .BSLEPXOύʔαΫϥεΛಡΈࠐΈ ‣
cebe\markdown\Markdown.BSLEPXOͷύʔαΫϥε ‣ cebe\markdown\GithubMarkdown(JU)VCॻࣜͷύʔαΫϥε ‣ cebe\markdown\MarkdownExtra.BSLEPXO&YUSBॻࣜͷύʔαΫϥε 5
DFCFNBSLEPXOͷར༻ํ๏ w .BSLEPXOύʔαΫϥεͷಡΈࠐΈ ‣ use cebe\markdown\GithubMarkdown; w ύʔαΠϯελϯεͷੜ ‣ new
GithubMarkdown(); w )5.-ܗࣜʹม ‣ $parser->parse($markdown); 6 <?php use cebe\markdown\GithubMarkdown; public class Md2Html { public static function convert($md) { $parser = new GithubMarkdown(); return $parser->parse($md); } }
ม݁ՌΛϏϡʔʹө w #MBEFϑΝΠϧʹม༰ΛຒΊࠐΈ ‣ $parser->parse($md))5.-ܗࣜͷจࣈྻΛฦ٫ ‣ {!! !!}Ͱ)5.-ͷΤεέʔϓΛࢭ 7 <div>{!!
$html !!}</div> <div> <ul> <li>Laravel</li> <li>CakePHP</li> <li>FuelPHP</li> </ul> </div>
.BSLEPXOύʔαͷར༻ྫ w .BSLEPXOͰهࣄΛฤू͢ΔϒϩάγεςϜ 8 Laravel ฤू ߘɾϓϨϏϡʔ อଘ NE औಘ
NE ม IUNM ߘ༰ͷ Ϗϡʔ ΫϥΠΞϯτ %# औಘ NE ฤूը໘
ιʔείʔυྫ 9 class Article extends Model { public function getBodyAttribute($value)
{ $parser = new GithubMarkdown(); $this->attributes[‘body’] = $parser->parse($value); } } class ArticleController extends Controller { public function index(Request $req, $id) { $article = Article::find($id); return view(‘article’, [ ‘article’ => $article ]); } } <h1> {{ $article->title }} </h1> <article> {!! $article->body !!} </article>
·ͱΊ w 1)1ͷ.BSLEPXOύʔαDFCFNBSLEPXOͷհ ‣ ෳͷॻࣜʹରԠՄ w -BSBWFMͷಋೖํ๏ͱར༻ํ๏Λઆ໌ ‣ ରԠ͢Δ.BSLEPXOύʔαͷछྨ ‣
.BSLEPXO͔Β)5.-ม͢Δํ๏ 10
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠