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
24
PHP で form-data を POST 以外のメソッドで受け取るには?
azuki
0
44
PHP で学ぶ OAuth 入門
azuki
2
900
EditorConfig を使ってみよう
azuki
1
89
Symfony でサクッと作る REST API サーバー
azuki
1
210
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
290
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
360
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
160
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
380
Other Decks in Programming
See All in Programming
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
290
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
140
GoLab2025 Recap
kuro_kurorrr
0
780
Developing static sites with Ruby
okuramasafumi
0
330
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
310
Implementation Patterns
denyspoltorak
0
130
Deno Tunnel を使ってみた話
kamekyame
0
260
Java 25, Nuevas características
czelabueno
0
120
AIコーディングエージェント(Manus)
kondai24
0
230
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.4k
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
210
これならできる!個人開発のすゝめ
tinykitten
PRO
0
130
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
39
Ruling the World: When Life Gets Gamed
codingconduct
0
100
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
410
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
0
67
It's Worth the Effort
3n
187
29k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Spectacular Lies of Maps
axbom
PRO
1
400
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
230
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
350
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠