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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Nobuyoshi
July 15, 2024
Programming
270
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
120
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
510
複雑なHTML_CSS アニメーション 作品一覧 + 苦労したこと
uemura
0
160
Other Decks in Programming
See All in Programming
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
190
GitHub Copilot CLIのいいところ
htkym
2
1.3k
Modding RubyKaigi for Myself
yui_knk
0
890
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
110
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
350
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
150
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
930
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
140
AIとRubyの静的型付け
ukin0k0
0
540
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
ふつうのFeature Flag実践入門
irof
7
3.6k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
KATA
mclloyd
PRO
35
15k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
320
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Side Projects
sachag
455
43k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
240
The Curious Case for Waylosing
cassininazir
1
370
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
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!