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
0
1.5k
LaravelでMarkdownをブラウザに表示する方法
Web×PHP TechCafe 10月 の発表資料です。
SAW
October 30, 2019
Tweet
Share
More Decks by SAW
See All by SAW
React Hook Form と Zod によるフォームバリデーション
azuki
0
13
PHP で form-data を POST 以外のメソッドで受け取るには?
azuki
0
38
PHP で学ぶ OAuth 入門
azuki
2
700
EditorConfig を使ってみよう
azuki
1
88
Symfony でサクッと作る REST API サーバー
azuki
1
190
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
260
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
330
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
150
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
370
Other Decks in Programming
See All in Programming
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
630
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
39
13k
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
4
730
Flutterチームから作る組織の越境文化
findy_eventslides
0
500
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
280
Chart.jsで長い項目を表示するときのハマりどころ
yumechi
0
130
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
5
1.8k
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
520
無秩序からの脱却 / Emergence from chaos
nrslib
1
5.2k
Verilator + Rust + gRPC と Efinix の RISC-V でAIアクセラレータをAIで作ってる話 RTLを語る会(18) 2025/11/08
ryuz88
0
360
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
20
11k
CSC509 Lecture 13
javiergs
PRO
0
250
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
330
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Practical Orchestrator
shlominoach
190
11k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Site-Speed That Sticks
csswizardry
13
970
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Six Lessons from altMBA
skipperchong
29
4.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Code Reviewing Like a Champion
maltzj
527
40k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠