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
Babylon.js × microCMS でフォトギャラリーサイト作った
Search
Nobuyoshi
July 15, 2024
Programming
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Babylon.js × microCMS でフォトギャラリーサイト作った
Nobuyoshi
July 15, 2024
More Decks by Nobuyoshi
See All by Nobuyoshi
ピクセルパーフェクトの定義
uemura
1
120
仕事では採用されなかったホスティングサービス、 せっかくなのでLTで話します
uemura
0
130
2年ぶりにCSSアニメーションを作ったよ!
uemura
0
1k
今年初めてのBabylonJsを触ってみた
uemura
0
310
ポートフォリオサイトのお問い合わせフォームをSendgrid + microCMSで作成したお話
uemura
1
1.6k
Three.js(WebGL)で一年以上学習した成果と便利なクラス/ライブラリを紹介
uemura
0
350
Pug / SASS でピクロス(カービィ)を作成
uemura
0
200
僕の好きなcssプロパティ・値5選
uemura
0
520
複雑なHTML_CSS アニメーション 作品一覧 + 苦労したこと
uemura
0
160
Other Decks in Programming
See All in Programming
不幸な GC
chencmd
0
850
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
200
XHTMLが残したもの
yosuke_furukawa
PRO
1
290
自分的「カンファレンスの楽しみ方」
syumai
0
170
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
220
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
150
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
730
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
140
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
110
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
150
仕様駆動開発の消費期限
watany
20
9.2k
初めての模倣学習とVLA
natsutan
0
400
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
680
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Embracing the Ebb and Flow
colly
88
5.2k
エンジニアに許された特別な時間の終わり
watany
108
250k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Docker and Python
trallard
47
4.2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
830
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Transcript
うえむー microCMS ×Babylon.jsで フォトギャラリーサイトを作った
自己紹介 Name うえむー Job フロントエンドエンジニア(ECサイト制作・Shopifyアプリ開発など) Skill HTML / CSS /
JavaScript / TypeScript / PHP / jQuery / Liquid / SASS / Pug / webpack / WordPress / Mobable Type / microCMS / Shopify / React.js / Vue.js / Next.js / MySQL etc... Hobby プログラミング学習・ゴルフ・ボードゲーム・麻雀
・mircoCMSとは ・作るきっかけ ・フォトギャラリーサイトを紹介 ・実装方法 ・今後やりたいこと 目次
microCMSとは
2019年8月に公開した、API型のヘッドレスCMS。 サーバ管理は一切不要で、会員登録するだけですぐにサービスを利用開始でき ます。 ヘッドレスは他にもNewt・Contentful・strapiなどがあります。 microCMSとは
作るきっかけ
数年間学んだmicroCMSとBabylon.jsを 組み合わせて何かを作ってみたい 作るきっかけ
Googleで検索してもそれに ヒットする内容がない 作るきっかけ
とりあえず今までの経験を基に フォトギャラリーサイト作ってみた 作るきっかけ
フォトギャラリーサイトを紹介
・フロントエンドフレームワーク Astro ・CSSフレームワーク Tailwind CSS ・CMS microCMS ・言語 JavaScript ・3D
エンジン Babylon.js ・ホスティング Vercel フォトギャラリーサイトを紹介
None
None
None
実装方法
実装方法 (sports)APIを作成して記事登録
実装方法
--- import { } from "../../library/microcms"; const = await (
{ fields: ["title", "image"] } ); --- <canvas id="renderCanvasList" data-blog={ } ></canvas> ↓ <canvas . id="renderCanvasList" data-blog=" , " width="1440" height="425"></ canvas> getNsports getNsports https://images.microcms-assets.io/assets/xxxxxx/xxxxx/ xxxx2.png|1700|1275|data2, ressports ressports.contents.map((content: any) => content.image.url + '|' + content.image.width + '|' + content.image.height + '|' + content.title) https://images.microcms-assets.io/assets/xxxxxx/xxxxx/ xxxx.png|1700|1275|data1 https://images.microcms-assets.io/assets/xxxxxx/xxxxx/ xxxx3.png|1700|1275|data3 実装方法
<canvas id="renderCanvasList" ></canvas> <script> const canvaslist = const canvaslistsplit =
canvaslist.split(','); canvaslistsplit.forEach(function( value, index ) { 。。。省略 }); </script> data-blog={resnublog.contents.map((content: any) => content.image.url + '|' + content.image.width + '|' + content.image.height + '|' + content.title)} canvasblog.dataset.blog; 実装方法
・画像拡大の仕組み ・カルーセル / 背景 マウスムーブの仕組み ・ライト / ダークモードの仕組みは GitHubのリポジトリを共有するので確認してみて下さい。 実装方法
https://x.com/uemuragame5683 https://n-sports.vercel.app/ https://github.com/uemura5683/n-sports 実装方法
今後やりたい事
ポートフォリオサイト改修 Blender × Babylon.js 今後やりたい事
Thank You!