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
280
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
110
仕事では採用されなかったホスティングサービス、 せっかくなのでLTで話します
uemura
0
130
2年ぶりにCSSアニメーションを作ったよ!
uemura
0
1k
今年初めてのBabylonJsを触ってみた
uemura
0
300
ポートフォリオサイトのお問い合わせフォームをSendgrid + microCMSで作成したお話
uemura
1
1.6k
Three.js(WebGL)で一年以上学習した成果と便利なクラス/ライブラリを紹介
uemura
0
340
Pug / SASS でピクロス(カービィ)を作成
uemura
0
190
僕の好きなcssプロパティ・値5選
uemura
0
520
複雑なHTML_CSS アニメーション 作品一覧 + 苦労したこと
uemura
0
160
Other Decks in Programming
See All in Programming
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.4k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
140
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
210
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.5k
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
870
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
980
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.5k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
JavaDoc 再入門
nagise
1
430
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
640
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
270
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
210
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
Designing Powerful Visuals for Engaging Learning
tmiket
1
430
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
290
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Embracing the Ebb and Flow
colly
88
5.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
GitHub's CSS Performance
jonrohan
1033
470k
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!