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
Movable Type 鹿児島 6 月(2024/06/08)
Search
Shintaro KUBUKI
June 07, 2024
Design
0
88
Movable Type 鹿児島 6 月(2024/06/08)
Shintaro KUBUKI
June 07, 2024
Tweet
Share
More Decks by Shintaro KUBUKI
See All by Shintaro KUBUKI
Movable Type 鹿児島 1 月(2025/01/11)- MTML
shintaro_kubuki
0
34
Movable Type 鹿児島 12 月(2024/12/13)- ウィジェットって 🪚 簡単に作れるんですか?🔨️
shintaro_kubuki
0
9
Movable Type 鹿児島 10 月(2024/10/12)- GitHub と MovableType.net の 🔗 連携と 🔄 開発サイクル(後編)
shintaro_kubuki
0
17
Movable Type 鹿児島 9 月(2024/09/13)- GitHub と MovableType.net の 🔗 連携と 🔄 開発サイクル(前編)
shintaro_kubuki
0
30
Movable Type 鹿児島 7 月(2024/07/13)
shintaro_kubuki
0
63
Movable Type 鹿児島 4 月(2024/04/13)
shintaro_kubuki
0
65
Other Decks in Design
See All in Design
ネーミングの極意 - その名は体を現していますか? -
kakukoki
2
450
ABEMAの進化 – 複雑化したコンテンツ構造とUI改善への道 – / abema-ui-improve
cyberagentdevelopers
PRO
2
530
Where to Start with a Design System Across Different Frontend Frameworks | SpectrumTokyoMeetup#15
tararira
0
120
241214_StackNagoya_プレイングマネージャーのプレイングの時間の使い方
kiyoshifuwa
0
200
一人ひとりのポテンシャルを活かしたナレッジマネジメントとは?
atsushihomma
0
340
[Designship2024] デザインの力でサービスの価値を追求していたら、組織全体をデザインしていた話
okakasoysauce
2
1k
みんなに知って欲しい 視覚過敏のアクセシビリティ
0opacity_
5
1.7k
root COMPANY DECK / We are hiring!
root_recruit
1
17k
Дизайн современной услуги с Картой процесса-опыта
ashapiro
0
100
LLMによるRAG評価用合成テストデータの生成
licux
6
580
急成長中のWINTICKETにおける ちいさくはじめるライティング改善 / winticket-writing
cyberagentdevelopers
PRO
1
240
デザインシステム×プロトタイピングで挑む社会的価値の共創 / Designship2024
visional_engineering_and_design
1
330
Featured
See All Featured
Site-Speed That Sticks
csswizardry
3
300
Become a Pro
speakerdeck
PRO
26
5.1k
Adopting Sorbet at Scale
ufuk
74
9.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Agile that works and the tools we love
rasmusluckow
328
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
GitHub's CSS Performance
jonrohan
1030
460k
Unsuck your backbone
ammeep
669
57k
Scaling GitHub
holman
459
140k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Transcript
ハードルが高そうな Movable Type の ブロックエディタ を カスタマイズしてみよう デザインスタジオ カンセ フルスタックデザイナー
久富木 慎太郎 Movable Type 鹿児島 6 月( 2024/06/08) ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 1
久富木 慎太郎 (くぶき しんたろう) デザインスタジオ カンセ フルスタックデザイナー 2023 年 4
月創業しました。 Movable Type をプラットフォームにしてホームページを作ってま す。 誰の役にも立たない無駄なことをやりたいです! Movabley Type 鹿児島 というコミュニティでほぼ月 1 回のペース で勉強会を開いてます。 ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 2
花火は見るより 打ち上げる方が好き デザインスタジオ カンセ という屋号で 鹿児島からインターネットで世界に繋がって ホームページを作ってます。 セキュリティを重視するような場面が多い企業や大 学、行政とかのウェブサイトの制作が得意です。 主な事業
テーマ・プラグインの開発 ホームページの制作 UI/UX デザイン(アプリやシステム) ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズし てみよう © Movable Type 鹿児島 3
国内導入実績 5 万サイト以上 (私の実績じゃないよ ) Movable Type というソフトウェアを使ってホーム ページを作ってます。 Movable
Type は、国内の多くの企業や組織で CMS プラットフォームとして利用されていま す。 見れないということがあってはならない、ランディン グページ(広告のサイト)にも向いているんじゃない かな 詳しくは「 Movable Type 導入実績」のページを ご覧ください。 ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズし てみよう © Movable Type 鹿児島 4
Movable Type 鹿児島のご紹介 鹿児島を拠点としたエンドユーザー(システムなどを使う側の人) 向きのコミュニティーです。 システム(主に Movable Type)の運用のスキルやwebツールの 使い方のスキル の向上を目的とした勉強会や意見の交換、たまに技
術的な勉強もしていけたらと思います。 ほぼ月 1回、第 2土曜日の午前中に ”たぶん ”マークメイザンで勉強会 をしています。 ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 5
今月の勉強会のお題 1. Movable Type( .net) の環境を準備する 2. 【カスタムブロック】レイアウトを選べるチャット風ブロックを読んでみる。 3. ブロックとカスタムブロックとは
4. カスタムスクリプトで何をしているかソースレビューしてみよう! 5. mustache.jsとは 6. これは何しているの? 7. カスタムスクリプトを使うか、 mt:BlockEditorBlocks を使うか を(行けるとこまで)したいと思います。 ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 6
Movable Type( .net) の環境を準備す る Movable Typeの環境を準備できない方は、 「 Movable Type.net」よ
りアカウントを作成してください。 ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 7
「 【カスタムブロック】レイアウトを選 べるチャット風ブロック」を読んでみ る。 ブロック カスタムスクリプト スタイル ハードルが高そうな Movable Type
の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 8
ブロックとカスタムブロックとは ブロックとは 記事などでブロックエディタを編集する際に候補となるデザインパ ターンの塊(ブロック)のことを意味します。 カスタムブロックとは Movable Type が提供する基本のブロックを組み合わせた塊のこと を意味します。 ポイント
基本のブロックの組み合わせを作ることは可能ですが、基本にない ものを作るのは難しいかもしれません。 ここら辺を理解するにはカスタムスクリプトで実現できることを理 解する必要があります。 ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 9
カスタムスクリプトで何をしているかソ ースレビューしてみよう! 1. ライブラリを読み込む。 2. テンプレートになる HTMLを記述。テンプレ ートエンジンに mustache.js を利用。
3. メインの処理を記述。入力された画像などを テンプレートに受け渡す。 ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 10
mustache.jsとは Mustache は Web テンプレート システムです。 Mustache は、 if および
else 条件文や for ループなどの明示的な制 御フロー ステートメントが欠けているため、ロジックのないシステムとして説明されます。 詳しくは「 {{ mustache }}」のページをご覧ください。 ということは ある程度なんでもできる ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 11
これは何しているの? MTBlockEditorSetCompiledHtml() は何をしている? MTBlockEditorSetCompiledHtml(html) を呼び出すと、出力される HTML を指定することができます。 また、編集中の IFRAME 内の内容もここで指定した
HTML に置き換えられます。その結果としてこのカスタムスクリ プトは、 「入力内容の HTML」と「出力される HTML」の両方で評価されます。 document.body.dataset.hasCompiledHtml には何がある? 「出力される HTML」で表示された場合には「 document.body.dataset.hasCompiledHtml」の値が真になります 詳しくは「カスタムスクリプトの仕様」のページをご覧ください。 ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 12
カスタムスクリプトを使うか、 mt:BlockEditorBlocks を使うか 一般的なホームページを作成する場面で、採用するのは「カスタムスクリプト」の方ではないだろうか。 今回のお勉強の内容は「カスタムスクリプト」になります。 また、 mt:BlockEditorBlocks は避けて通れないのでこちらも勉強会で取り上げたいです。 カスタムスクリプト JavaScript
で複雑な加工を行うことができる 編集中のプレビューでも出力と同じ結果を表示することができる mt:BlockEditorBlocks テンプレートタグを組み合わせたカスタマイズを行うことができる 1つのソースから、複数の出力を得ることができる、 AMP対応の出力を行うケースなど 詳しくは「カスタムスクリプトの仕様」のページをご覧ください。 ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 13
まとめ 編集している際のブロックエディタでオリジナルのブロックを作れる カスタムスクリプトの方が良さそう 管理画面の中の話でこれだけじゃ実装が完了しない ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう
© Movable Type 鹿児島 14
次回予告 GitHubと MovableType.net の連携と開発サイクル( Pull request 使うよ) (仮) と思ったけど 実装編をした方がいいんじゃないか・・・
Movable Type 鹿児島 7 月( 2024/07/未定) ハードルが高そうな Movable Type の ブロックエディタ をカスタマイズしてみよう © Movable Type 鹿児島 15