Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Drupal テーマ開発入門講座 第3回 ベーステーマとサブテーマ
Search
アクイアジャパン Acquia Japan
April 06, 2022
Programming
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Drupal テーマ開発入門講座 第3回 ベーステーマとサブテーマ
https://www.acquia.com/jp/events/webinars/drupal-theming-development-vol3
アクイアジャパン Acquia Japan
April 06, 2022
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
240
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
280
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
140
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
240
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
57
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
120
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
150
Other Decks in Programming
See All in Programming
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
160
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
新卒PdEのリアル
ryu1013
1
480
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
470
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
2.7k
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
360
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
ALB ログから Trace を気合で繋げる技術
fohte
7
880
App Intentsのビルドプロセスを支える技術
kntkymt
0
230
Webの地図
yosuke_furukawa
PRO
6
4.1k
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
500
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Building AI with AI
inesmontani
PRO
1
1.2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
Agile that works and the tools we love
rasmusluckow
331
22k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
How STYLIGHT went responsive
nonsquared
100
6.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Transcript
ୈ3ճ ϕʔεςʔϚͱαϒςʔϚ Drupal ςʔϚ ։ൃೖߨ࠲
Drupal ςʔϚ։ൃೖߨ࠲γϦʔζ – Drupalʹ͓͚ΔʮςʔϚʯͱɺWebαΠτͷݟͨΛ୲͏ػೳͰ͢ɻຊΣϏφʔγϦʔ ζͰɺDrupalͷςʔϚ։ൃʹؔ͢ΔجૅࣝΛղઆ͠·͢ɻ – DrupalͷϑϩϯτΤϯυपΓʹ͍ͭͯମܥతʹֶͼ͍ͨํɺࣗͰΧελϜςʔϚΛ࡞ΕΔ Α͏ʹͳΓ͍ͨํɺΞΫΠΞೝఆσϕϩούʔࢼݧΛࢦ͢ํʹ͓͢͢ΊͰ͢ɻ – DrupalΛҰ௨Γૢ࡞ͨ͜͠ͱ͕͋ΔํΛରͱ͍ͯ͠·͢ɻ·ͩDrupalΛ৮ͬͨ͜ͱ͕ແ͍
ํɺॳ৺ऀ͚DrupalνϡʔτϦΞϧಈըʢຊޠʣΛઌʹݟ͓ͯ͘ͱΑΓཧղ͕ਂ·Γ ·͢ɻ
ΞδΣϯμ 1. ςʔϚͷܧঝʹ͍ͭͯ 2. ϕʔεςʔϚΛ༻͢Δ 3. ࿅श
ςʔϚͷܧঝʹ͍ͭͯ
ςʔϚΛܧঝͯ͠ޮతʹςʔϚ։ൃΛߦ͏ – ίϯτϦϏϡʔτςʔϚΛΧελϚΠζ͍ͨ͠߹ɾɾ – ॻ͖͑ͯ͠·͏ͱɺΞοϓσʔτͷࡍʹมߋ͕ࣦΘΕͯ͠· ͍·͢ʂ – ϕʔεςʔϚͱαϒςʔϚͷΈΛ͑ɺϑΝΠϧΛॻ͖ ͑Δ͜ͱͳ͘ΧελϚΠζ͕ՄೳʹͳΓ·͢ɻ
– BootstrapͷσβΠϯϑϨʔϜϫʔΫΛ༻͢Δ߹ɾɾ – ඞཁͳߏ͕Έࠐ·Εɺ͙͢ʹΧελϚΠζʹऔΓΉ͜ͱ͕Ͱ ͖ΔελʔλʔςʔϚ͕ଟެ։͞Ε͍ͯ·͢ɻ
ϕʔεςʔϚͱαϒςʔϚ – ϕʔεςʔϚ – αϒςʔϚͷͱͳΔςʔϚͰ͢ɻ – ελʔλʔςʔϚͱݺΕ·͢ɻ – αϒςʔϚ
– ͋ΔϕʔεςʔϚΛݩʹ࡞ΒΕͨςʔϚΛαϒςʔϚͱݺͼ·͢ɻ – *.info.yml ͷ base theme ΩʔͰϕʔεςʔϚΛࢦఆ͠·͢ɻ – ྫʣbase theme: stable – ϕʔεςʔϚ͕࣋ͭελΠϧςϯϓϨʔτͳͲͷҰ෦ͷߏΛܧঝ͠ ͳ͕ΒΧελϚΠζͰ͖·͢ɻ – αϒςʔϚผͷαϒςʔϚͷࢠʹ͢Δ͜ͱ͕ՄೳͰ͢ɻ
ςʔϚͷ༏ઌॱҐ αϒςʔϚ > ϕʔεςʔϚ > ίΞ ςʔϚϑΝΠϧͷ༻࣍ͷΑ͏ʹ༏ઌ͞Ε·͢ɻ ※શͯͷϦιʔε͕ܧঝ͞ΕΔΘ͚Ͱ͋Γ·ͤΜɻ
αϒςʔϚ͕ܧঝ͢ΔϦιʔε – *.theme – *.breakpoints.yml – ςϯϓϨʔτϑΝΠϧ(*.html.twig) – εΫϦʔϯγϣοτ –
ը૾ – CSS – JavaScript ϕʔεςʔϚʹ*.libraries.yml ͕ଘࡏ͢Δ߹ɺܧঝ͞Ε·͢ɻ
αϒςʔϚ͕ܧঝ͠ͳ͍Ϧιʔε – *.info.yml – ϕʔεςʔϚ͕༻͞Ε͍ͯΔ͔Ͳ͏͔ʹݶΒͣɺશͯͷςʔϚʹ *.info.yml͕ඞ ཁͰ͢ɻ – Ϧʔδϣϯ –
ϕʔεςʔϚͷϦʔδϣϯΛར༻͍ͨ͠߹ɺ*.info.ymlʹϦʔδϣϯઃఆΛί ϐʔ͢Δ͜ͱͰߦ͍·͢ɻ – ColorϞδϡʔϧ – logo.svg – favicon.ico
ࢀߟ) ColorϞδϡʔϧͱ ରԠ͢ΔςʔϚͷΧϥʔε ΩʔϚΛมߋͰ͖ΔΑ͏ʹ ͳΓ·͢ɻ
ϕʔεςʔϚͷࢦఆํ๏ name: Marucha type: theme description: '·ΔͷͨΊͷΧελϜςʔϚ' core_version_requirement: ^8 ||
^9 base theme: classy *.info.yml ͷbase themeΩʔʹʹ͍ͨ͠ςʔϚͷϚγϯ໊Λࢦఆ͢Δ͜ͱͰϕʔ εςʔϚΛࢦఆ͠·͢ɻ ྫʣϕʔεςʔϚʹίΞͷClassyςʔϚΛ༻͢Δ߹
αϒςʔϚͷαϒςʔϚ – αϒςʔϚผͷαϒςʔϚͷࢠʹ͢Δ͜ͱ͕ՄೳͰ͢ɻ – ͜ͷܧঝͷνΣʔϯʹ੍ݶ͋Γ·ͤΜɻ ThemeA ThemeB ThemeC ThemeF ࢠ
ࢠ ࢠ ThemeD ThemeE ࢠ ࢠ
BartikΛϕʔεςʔϚʹࢦఆͯ͠ΈΑ͏ – *.info.ymlͰBartikΛϕʔεςʔϚʹࢦఆ͠Α͏ – Bartikͱಉ͡ϦʔδϣϯΛ༻͢ΔʹͲ͏͢Εྑ͍͔ – ͲΜͳϦιʔε͕Bartik͔Βܧঝ͞Ε͍ͯΔ͔֬ೝ͠Α͏ – ϨΠΞτΛ͍ͬͯ͡ΈΑ͏ ԋश
※BartikϕʔεςʔϚʹద͞ͳ͍ͷͰɺຊ൪αΠτͰBartikΛϕʔεςʔϚʹ ར༻͢Δͷ߇͑·͠ΐ͏ɻ
ϕʔεςʔϚΛ༻͢Δ
ίΞςʔϚΛϕʔεςʔϚʹར༻͢Δ – Classy – Stable͕ϕʔεςʔϚͱͯ͠ࢦఆ͞Ε͓ͯΓɺStableΛ֦ுͯ͠ɺϞμϯͳϨΠΞτΛ࣮ݱ͢ ΔͨΊʹཱͭଟ͘ͷΫϥε͕༻ҙ͞Ε͍·͢ɻ – ΧελϜςʔϚΛ࡞͢ΔࡍͷϕʔεςʔϚͱͯ͠ར༻Ͱ͖·͢ɻ –
Stable – Classyಉ༷ɺΧελϜςʔϚΛ࡞͢ΔࡍͷϕʔεςʔϚͱͯ͠ར༻Ͱ͖·͢ɻ࠷খݶͷCSSΫ ϥεͰΑΓΫϦʔϯͳΞϓϩʔνΛऔΓ͍ͨ߹ʹબ͞Ε·͢ɻ – StableͱผʹɺDrupal 9͔ΒStable 9(stable9)ͱ͍͏ίΞςʔϚ͕༻ҙ͞Ε·ͨ͠ɻStable͔Β ͍͔ͭ͘ͷมߋ͕Ճ͑ΒΕ͍ͯ·͢ɻStableDrupal 10Ͱআ͞ΕΔ༧ఆͰ͢ɻ – Stark – ओʹಈ࡞֬ೝɺτϥϒϧγϡʔςΟϯάΛతͱͯ͠ఏڙ͞Ε·͢ɻCSSઃఆ͞Ε͍ͯ·ͤ Μɻ
ίϛϡχςΟͰఏڙ͞ΕΔϕʔεςʔϚͷྫ https://www.drupal.org/project/project_theme ͔Β୳͢͜ͱ͕Ͱ͖·͢ɻ – Barrio – Bootstrapόʔδϣϯ4/5ʹରԠͨ͠ϕʔεςʔϚɻ – Radix
– Bootstrapόʔδϣϯ4/5ɺSassɺES6, BrowserSync͕Έࠐ·ΕͨϕʔεςʔϚɻ – W3CSS Theme – W3.CSSϑϨʔϜϫʔΫΛར༻ͨ͠ϕʔεςʔϚɻ
ࢀߟ) Drupal 10ͰͷςʔϚ։ൃ • Classyͷஔ͖͑Λతͱͯ͠ɺ৽͍͠ΧελϜςʔϚͷ࡞ϓϩηεͱϕʔεςʔϚΛܭը • ελʔλʔΩοτςʔϚαϒςʔϚͷϕʔεςʔϚͱͯ͠ػೳ͢ΔͷͰͳ͘ɺςʔϚΛ৽͘͠࡞ ͢Δࡍʹίϐʔ͞ΕΔςʔϚͱͯ͠ػೳ͢Δ • ςʔϚΛίϐʔ͢ΔͨΊͷίϚϯυΛDrupalίΞͰఏڙ
◦ $ php core/scripts/drupal generate-theme mytheme ςʔϚ։ൃͷͨΊͷελʔλʔΩοτ͕ొ https://www.drupal.org/about/core/blog/new-starterkit-will-change-how-you-create-themes-in-drupal-10 https://www.drupal.org/project/drupal/issues/3050384
࿅श
࿅श1 ʮελʔλʔςʔϚʯͷઆ໌ͱͯ͠ਖ਼͍͠ͷΛ2ͭબΜͰ͍ͩ͘͞ɻ 1. αϒςʔϚ͕ґଘ͢ΔςʔϚɻ 2. ClassyΛجʹͨ͠ΧελϚΠζՄೳͳςʔϚɻ 3. ΧελϜςʔϚΛ࡞͢Δࡍʹඞͣ༻͢ΔςʔϚɻ 4. ϕʔεςʔϚͷผ໊ɻ
࿅श1 ʮελʔλʔςʔϚʯͷઆ໌ͱͯ͠ਖ਼͍͠ͷΛ2ͭબΜͰ͍ͩ͘͞ɻ 1. αϒςʔϚ͕ґଘ͢ΔςʔϚɻ 2. ClassyΛجʹͨ͠ΧελϚΠζՄೳͳςʔϚɻ 3. ΧελϜςʔϚΛ࡞͢Δࡍʹඞͣ༻͢ΔςʔϚɻ 4. ϕʔεςʔϚͷผ໊ɻ
1, 4
࿅श2 αϒςʔϚ͕ܧঝ͠ͳ͍ͷԿͰ͔͢ʁ2ͭબ͍ͯͩ͘͠͞ɻ 1. ελΠϧγʔτ 2. JavaScript 3. *.info.yml 4. logo.svg
5. ςϯϓϨʔτϑΝΠϧ
࿅श2 αϒςʔϚ͕ܧঝ͠ͳ͍ͷԿͰ͔͢ʁ2ͭબ͍ͯͩ͘͠͞ɻ 1. ελΠϧγʔτ 2. JavaScript 3. *.info.yml 4. logo.svg
5. ςϯϓϨʔτϑΝΠϧ 3, 4
࿅श3 αϒςʔϚͰϕʔεςʔϚͷϦʔδϣϯΛ༻͢ΔʹͲ͏͢Εྑ͍Ͱ͔͢ʁ 1. ϦʔδϣϯαϒςʔϚʹܧঝ͞ΕΔͨΊɺԿ͠ͳͯ͘ྑ͍ɻ 2. αϒςʔϚଆͷ*.info.ymlͰɺϕʔεςʔϚͱಉ͡ϦʔδϣϯΛఆٛ͢Δඞཁ ͕͋Δɻ 3. αϒςʔϚଆͷ*.info.ymlͰɺregionΩʔʹϕʔεςʔϚͷϚγϯ໊Λࢦఆ͢ Δඞཁ͕͋Δɻ
࿅श3 αϒςʔϚͰϕʔεςʔϚͷϦʔδϣϯΛ༻͢ΔʹͲ͏͢Εྑ͍Ͱ͔͢ʁ 1. ϦʔδϣϯαϒςʔϚʹܧঝ͞ΕΔͨΊɺԿ͠ͳͯ͘ྑ͍ɻ 2. αϒςʔϚଆͷ*.info.ymlͰɺϕʔεςʔϚͱಉ͡ϦʔδϣϯΛఆٛ͢Δඞཁ ͕͋Δɻ 3. αϒςʔϚଆͷ*.info.ymlͰɺregionΩʔʹϕʔεςʔϚͷϚγϯ໊Λࢦఆ͢ Δඞཁ͕͋Δɻ
2
࿅श4 αϒςʔϚͰϕʔεςʔϚΛೝࣝͤ͞Δํ๏࣍ͷ͏ͪͲΕͰ͔͢ʁ 1. αϒςʔϚͷϚγϯ໊Λɺ{ϕʔεςʔϚͷϚγϯ໊}-subtheme ͱ໋໊͢Δ͜ͱͰ ೝࣝͤ͞Δɻ 2. ϕʔεςʔϚͷσΟϨΫτϦʹαϒςʔϚ༻ͷσΟϨΫτϦΛ࡞͠ɺͦ͜Ͱ ςʔϚΛ࡞͢Δɻ 3.
ϕʔεςʔϚͷ*.info.ymlϑΝΠϧͰαϒςʔϚΛࢦఆ͢Δɻ 4. αϒςʔϚͷ*.info.ymlϑΝΠϧͰϕʔεςʔϚΛࢦఆ͢Δɻ
࿅श4 αϒςʔϚͰϕʔεςʔϚΛೝࣝͤ͞Δํ๏࣍ͷ͏ͪͲΕͰ͔͢ʁ 1. αϒςʔϚͷϚγϯ໊Λɺ{ϕʔεςʔϚͷϚγϯ໊}-subtheme ͱ໋໊͢Δ͜ͱͰ ೝࣝͤ͞Δɻ 2. ϕʔεςʔϚͷσΟϨΫτϦʹαϒςʔϚ༻ͷσΟϨΫτϦΛ࡞͠ɺͦ͜Ͱ ςʔϚΛ࡞͢Δɻ 3.
ϕʔεςʔϚͷ*.info.ymlϑΝΠϧͰαϒςʔϚΛࢦఆ͢Δɻ 4. αϒςʔϚͷ*.info.ymlϑΝΠϧͰϕʔεςʔϚΛࢦఆ͢Δɻ 4
ຊͷΞδΣϯμऴྃ
ΞδΣϯμ 1. ςʔϚͷܧঝʹ͍ͭͯ 2. ϕʔεςʔϚΛ༻͢Δ 3. ࿅श
None