技術ブログにブラウザの対応状況を表示するBaseline Status Webコンポーネントを入れる方法

技術ブログにブラウザの対応状況を表示するBaseline Status Webコンポーネントを入れる方法

目次

はじめに#

技術ブログを複数運営しているのですが、CSS などのプロパティで一部のブラウザのみでしか対応していないものがあります。その際に、ブラウザの対応状況を表示するコンポーネントを入れておくと、ブラウザの対応状況が分かるので、ブログを見ている人にも分かりやすいと思います。

↓ 運営している技術ブログ

нуль
Web技術を知る・試す・楽しむためのテックブログ
нуль favicon
hypb.dev
нуль
Feylo
Web制作についてのメディアサイト「Feylo」です。初学者に向けて、Web制作の基礎から応用までを分かりやすく解説します。
Feylo favicon
feylo.dev
Feylo

今回紹介する Baseline Status Web コンポーネントは、ブラウザの対応状況を表示するための Web コンポーネントです。このコンポーネントをブログ内で使用することで、ブラウザの対応状況を簡単に表示することができます。この Web コンポーネントを Astro 製のブログと Nuxt 製のブログで使う方法を紹介します。

使用イメージは ↓ のような感じになります。

Baseline Status Web コンポーネントの使い方#

npm で使う場合#

npm でbaseline-statusをインストールします。

npm install baseline-status

使用する際はそのまま import して表示する featureId を指定するだけで上記のような感じで表示されます。

import "baseline-status";
<baseline-status featureId="anchor-positioning" />

CDN で使う場合#

CDN を使う場合は、以下のようにします。

<script src="https://cdn.jsdelivr.net/npm/baseline-status@1/baseline-status.min.js"></script>
 
<baseline-status featureId="anchor-positioning" />

featureId の調べ方#

コンポーネントの中で使う featureId は、以下から探せるのでこの値を指定します。

Web Platform Status
Web Platform Status favicon
webstatus.dev
web-features/features at main · web-platform-dx/web-features
Exploring how to present Web platform features adoptability - web-platform-dx/web-features
web-features/features at main · web-platform-dx/web-features favicon
github.com
web-features/features at main · web-platform-dx/web-features

フレームワークで使う#

最後に技術ブログを作る際に使っている Astro と Nuxt での使用方法を紹介します。
注意点としては、baseline-statusではHTMLElementが使われているので、SSR や SSG ではエラーになることがあるので、それぞれクライアントサイドだけで読み込み・実行するようにしましょう。

Astro での使用方法#

components/BaselineStatus.astroというファイルを作成して以下のように書きましょう。

components/BaselineStatus.astro
---
interface Props {
  featureId: string;
}
 
const { featureId } = Astro.props;
---
 
<baseline-status featureId={featureId} class="baseline-status" />
 
<script>
  import "baseline-status";
</script>
 
<style>
  .baseline-status {
    --baseline-status-color-outline: var(--primary);
    padding: 1rem 1rem 0.5rem;
    margin-inline: auto;
  }
</style>

ここでは先述の通りに、クライアントサイドだけで使うように、ダイナミックインポートを使って読み込んでいます。
実際の使用方法としては下記のようになります。

import BaseLineStatus from "@/components/BaseLineStatus.astro";
 
<BaseLineStatus featureId="anchor-positioning" />

実際のコンポーネントのリポジトリはこちらになります。

Nuxt での使用方法#

Nuxt では、npm での import で使用する方法がうまくいかなかったので、CDN で読み込む方法を使いました。
Nuxt Content を想定して、components/content/BaselineStatus.vueというファイルを作成して以下のように書きましょう。

components/content/BaselineStatus.vue
<script setup lang="ts">
if (import.meta.client) {
  const script = document.createElement("script");
  script.type = "module";
  script.src =
    "https://cdn.jsdelivr.net/npm/baseline-status@1/baseline-status.min.js";
  document.head.appendChild(script);
}
 
const props = defineProps<{
  featureId: string;
}>();
</script>
 
<template>
  <baseline-status :feature-id="props.featureId"></baseline-status>
</template>
 
<style scoped lang="scss">
baseline-status {
  margin-block: 2rem;
  padding-top: 1rem;
  padding-inline: 1.5rem;
}
</style>

ここでも同様にクライアントサイドだけで使用するようにしてます。
実際の使用方法としては下記のようになります。

::baseline-status
---
featureId: anchor-positioning
---
::

実際のコンポーネントのリポジトリはこちらになります。

まとめ#

Baseline Status Web コンポーネントを使って、技術ブログ(Astro と Nuxt)にブラウザの対応状況を表示する方法を紹介しました。技術ブログを運営している方は、ぜひ使ってみてください!

参考#

Related Post
ブログのデザインを大幅に変更しました
image

はじめに

このブログのデザインを大幅に変更しました。

変更後のTopページ

変更した経緯としては、2つあります。 以前のブログのデザインは、Astroのfuwariテーマを参考にして作成していたのですが、fuwariベースの派生テーマが公式の方でも増えてきており、ブログのデザインが他の人と被るのが嫌だなとなり思い切ってデザインを大幅に変更してみました。

また、以前は記事にカテゴリーを設定していたのですが、この雑記ブログにはタグのみの方が記事の分類として迷いがなくなって書きやすくなると感じたので、カテゴリーを廃止して一覧性をよくしようと思いました。

この記事では、デザインを変更したAstro製のこのブログについて、サムネイルに記事の一部を表示する方法を紹介します。

Meta Data
公開日:2026-02-06
Tags:
#ブログ
#Astro
Astroで作ったブログで更新日時を自動で取得する方法

はじめに

このブログのデザインを大幅に変更したいのと、記事の一覧を更新順で表示したいと思ってたのですが、更新日の取得方法に悩んでいました。

Astro の公式のチュートリアルでは更新日は記事のフロントマターに設定する方法が紹介されていましたが、毎回手動で設定するのは面倒です。

そこで自動で取得する方法を考えた結果、Git のコミット日時を取得してその日付を更新日として表示する方法を実装できたので紹介します。

Git のコミット日時を取得する

それでは、Git のコミット日時を取得する方法について説明します。 Git 関連の情報はgit logコマンドで取得できます。 次のようにコマンドを打ってみましょう。

# 指定したファイルの最新のコミット日時を取得する
## -1 : 最新の1件のみ取得
## %ai : 日付
## filePath : 調べたいファイル
git log -1 --format=%ai -- filePath

オプションについてはコメントの通りになります。

Meta Data
公開日:2026-01-25
更新日:2026-02-04
Tags:
#Astro
Astro製のブログで読んだ本リストを管理するためにmicroCMSを使ってみた
image

はじめに

Web クリエイターボックスみたいに読んだ本リストを自分のプラットフォームで管理したいと思い、このブログ内に読んだ本リストを追加しました。サイドバーにリンクがあるので覗いてみてください!

読んだ本の管理に microCMS を使ったので、Astro 製のブログで本の管理を microCMS で行う方法をまとめます。まだ、データ数が少ないのでページネーションは実装してないのですが、実装したら追記します。

microCMS の準備

microCMS のアカウントを作成して、コンテンツ(API)を作成し API 設定をしましょう。下記のように設定します。

APIスキーマ

読んだ本リスト API のエンドポイントは book にしました。

API スキーマの例

本のリストなので、自分は下記のように設定しました。

フィールド ID 表示名 種類
title タイトル テキストフィールド
review レビュー リッチエディタ
url Amazon リンク テキストフィールド
cover 表紙画像 テキストフィールド
author 著者 テキストフィールド
publishedDate 発売日 日時
category カテゴリー コンテンツ参照
postlink 紹介記事 テキストフィールド
Meta Data
公開日:2025-05-31
Tags:
#Astro
#CMS
Astro製のブログにCloudinaryを導入する
image

はじめに

このブログと技術ブログは、Astro の Content Collection を使ってマークダウンでブログを書いていて、記事は GitHub で管理してます。

Astro の Image コンポーネントを使うために、ブログ記事の画像も src/assets/images/配下に配置していました。しかし、ローカルで画像を管理したくないなと思ったので Cloudinary を導入してみました。

Astro での Cloudinary の導入方法について、この記事では紹介します。 Cloudinary の詳しいオプションなどは解説しないのと、Cloudinary のアカウントが既にあるのを前提に説明します。

まだの方は下記 URL からアカウントを作成してください。

https://cloudinary.com/

Astro Cloudinary のインストール

Astro で使える Cloudinary のコンポーネントが用意されてます。下記コマンドで Astro Cloudinary をインストールしましょう。

npm install astro-cloudinary

インストールできたら、プロジェクトのルートに.envファイルを作成して、Cloudinary のアカウント情報を記述します。

PUBLIC_CLOUDINARY_CLOUD_NAME="<Your Cloud Name>"
Meta Data
公開日:2025-05-19
Tags:
#Web
#Astro
Astroで作ったサイトをGitHub Pagesにデプロイする
image

はじめに

Astro で作ったサイトを GitHub Pages にデプロイする方法について紹介します。 GitHub Pages を使うことで簡単に作ったサイトを公開することができます。

基本的には公式サイトのドキュメント通りにやればできるでしょう。 ここではカスタムドメインを使わないリポジトリ名が後ろにつくデプロイ方法を紹介します。

https://docs.astro.build/ja/guides/deploy/github/

GitHub Pages 用に Astro の設定をする

astro.config.mjssitebaseオプションの設定を追加します。

import { defineConfig } from "astro/config";

export default defineConfig({
  site: "https://<username>.github.io",
  base: "<your-repo-name>",
});

ここでsiteの username にはご自身の GitHub のユーザー名を、baseの your-repo-name にはデプロイするリポジトリ名入れてください。

Meta Data
公開日:2025-04-27
Tags:
#Astro
#GitHub
Astroで雑に書ける個人ブログを作りました
image

雑に書ける場所が欲しくなったので、Astro で 2 個目の個人ブログを作成しました。 普段は、👇 の技術ブログで主にフロントエンドに関しての記事を書いています。

https://hypb.dev

上記のブログでは、技術系しか書けない感じになっていたので、こちらではもっと雑にインターネット上に残していきたいと思います。

Aboutページに書いてある通り、音楽・映画・小説などが好きなので、それらに関する記事を書いていきたいです。

デザインについて

デザインに関しては、Astro テーマのFuwariを参考にして作成しました。 ほぼ丸パクリですが、Fuwari テーマを見て雑記ブログを作りたいと思ったのでこれで良しとします。

フォントは日本語はKiwi Maru、英語はIBM Plex Monoを使っています。フォントのおかげで可愛い感じが出て良かったです ✨

Fuwari テーマの方は、Svelte や swup を使ってたりでカスタマイズするのが難しそうな感じですが、自分の作成した本ブログはコードも分かりやすく作成したので、サクサク作成することができました!

Meta Data
公開日:2025-04-01
Tags:
#ブログ
#Astro
Info