Component Library
ShingoLab で使用しているコンポーネントの一覧です。
Typography
font-heading (Inter)
Heading 1 — 見出し1
Heading 2 — 見出し2
Heading 3 — 見出し3
Heading 4 — 見出し4
font-sans (Noto Sans JP)
本文テキスト — とあるSEのポートフォリオ & ブログ。Web 開発を中心に、学んだこと・作ったものを記録しています。
サブテキスト — 補足情報やキャプションに使用するスタイルです。
font-mono (JetBrains Mono)
const greeting = "Hello, World!"; Colors
accent
#6929FF
accent-hover
#5720CC
bg
Light: #FAFAFA / Dark: #0A0A0A
text
Light: #1A1A1A / Dark: #E5E5E5
border
Light: #E5E5E5 / Dark: #2A2A2A
Buttons
Tags / Badges
Blog tags
Tech badges
CategoryBadge
DraftBadge
Cards
Navigation
Header (default)
MobileMenu (Astro / Vanilla JS)
Code Block
With copy button (hover to reveal)
// astro.config.mjs
import { defineConfig } from "astro/config";
export default defineConfig({
site: "https://shingolab.com",
}); Footer
Table of Contents
TableOfContents
Mermaid Zoom
MermaidZoom — ダブルクリックで拡大・ドラッグで移動
ブログ記事内の Mermaid 図(.prose > picture)を自動検出し、インタラクティブな Zoom / Pan UI を付与するスクリプトコンポーネント。
実際の動作は Mermaid 記事 で確認できます。
Share Buttons
Background
BackgroundCanvas
全ページの背面に Layout.astro が 1 つだけ敷く演出のため、
このページで実際に動いているものがそのまま実例になる(多重配置はできない)。
ライトでは文字が降り、ダークでは星座が浮かぶ。右上の
ThemeToggle で切り替えて確認できる。
- view="home"
- 文字が降り続ける(記事詳細以外の全ページ)
- view="article"
- 雨が止まり、記事の見出しが余白に静止する
- data-bg-keepout
- 付けた要素の矩形には文字を落とさない