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
ブログを作るなら Nuxt Content v2はいいぞ
Search
Fulu
October 16, 2022
Technology
0
150
ブログを作るなら Nuxt Content v2はいいぞ
Vue Fes Japan 2022 のLT内容です
https://vuefes.jp/2022/sessions/FurusawaKaoru
Fulu
October 16, 2022
Tweet
Share
Other Decks in Technology
See All in Technology
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
330
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
370
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
500
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
230
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
900
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
Modern Linux
oracle4engineer
PRO
0
150
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
260
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Music & Morning Musume
bryan
46
6.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
We Have a Design System, Now What?
morganepeng
53
7.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Transcript
ブログを作るなら Nuxt Content v2はいいぞ Vue Fes Japan 2022
自己紹介 Furusawa Kaoru ユアマイスター株式会社 フロントエンドエンジニア Twitter: @firirice
ブログを作るって大変だと思いませんか?
例えば、〇〇ヘッドレスCMSを使うとして • API仕様を確認してからNuxtからAPIを呼ぶように実装する • APIの仕様変更や他のCMSへの移行を考慮しながらComposable 設計を行う
ファイルを置くだけで静的コンテンツが作れる contentディレクトリを作って、記事ファイルを置くだけで静的コンテンツを作れる。 (ファイルの対応形式は Markdown、YML、CSV、 JSON) # Hello ## Nuxt Contentはいいぞ
content/index.md <template> <main> <ContentDoc /> </main> </template> pages/index.vue
ファイルを置くだけで静的コンテンツが作れる contentディレクトリを作って、記事ファイルを置くだけで静的コンテンツを作れる。 対応している形式は Markdown、YML、CSV、 JSON。 # Hello ## Nuxt Contentはいいぞ
content/index.md
自動でパースされるものって装飾が大変じゃない?
Prose Componentsで各タグの装飾ができる Nuxt Content内部にあるComponentと同じ名前のComponentを配置することでオーバーライドして、各タグ の装飾ができる。 https://content.nuxtjs.org/api/components/prose#prose-components
使用例① <script setup lang="ts"> defineProps<{ id: string }>() </script> <template>
<h1 :id="id" class="mb-8 border-b pb-2 text-4xl font-bold"> <a :href="`#${id}`" class="group relative"> <slot /> <font-awesome-icon icon="link" class="absolute text-base opacity-0 group-hover:opacity-100" /> </a> </h1> </template> components/content/ProseH1.vue
使用例② <template> <div class="bg-gray-100 p-4 relative"> <slot /> <font-awesome-icon icon="copy"
class="absolute bottom-2 right-2 opacity-0 hover:opacity-100" @click="copy" /> </div> </template> components/content/ProseCode.vue
MDC(MarkDown Components) Syntax markdownから任意のVue Componentを使うことができる。 # Hello ## Nuxt Content
はいいぞ ::card The content of the card :: content/index.md <template> <div class="rounded border bg-white p-6"> <slot /> </div> </template> components/content/Card.vue
• markdownで書いた記事をディレクトリに置くだけで静的コンテンツを作れます • Prose Components: 各タグを簡単にカスタマイズできる • MDC Syntax: markdownからVue
Componentが使える • 他にも便利な機能がある ◦ nuxt.configに設定するだけでcodeのHigh Lightができる ◦ Mongo DBライクにデータを取得できるAPI Nuxt Contentはいいぞ
ご清聴ありがとうございました
Coming Soon
None