Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ const DIAGRAM_DISPLAY: Record<string, { frameWidth: number }> = {
};

/**
* 指定された ID の Mermaid ダイアグラムとラベルを受け取り、適切な最大幅で図表を表示するコンポーネント。
* Renders a Mermaid diagram with its accessibility label and configured display width.
*
* @param id - The identifier used to select the diagram and its display settings.
* @param label - The accessible label for the diagram.
* @returns The diagram element, or `null` when no diagram matches `id`.
*/
function Diagram({ id, label }: { id: string; label: string }) {
const chart = DIAGRAMS[id];
Expand All @@ -38,7 +42,7 @@ function Diagram({ id, label }: { id: string; label: string }) {
}

/**
* CCNA Automation「ソフトウェア開発と設計」の完全ガイド全体を構成するメインコンポーネント。
* Renders the complete CCNA Automation guide to software development and design.
*/
export function CcnaSoftwareDevDesignGuide() {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const NAV_ITEMS: NavItem[] = [
];

/**
* スクロール位置に応じた目次追従(スクロールスパイ)と各セクションへのスムーズなアンカー遷移を担当するナビゲーションコンポーネント。
* Renders a sidebar table of contents that tracks the visible section and smoothly scrolls to selected sections.
*/
export function NavBar() {
const [activeId, setActiveId] = useState<string>('sec-1');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ export const metadata: Metadata = {
};

/**
* CCNA Automation認定「ソフトウェア開発と設計」ガイドのページエントリポイント(Server Component)。
* ページのメタデータを提供し、メインガイドコンポーネントをレンダリングします。
* Renders the CCNA Automation software development and design guide page.
*/
export default function CcnaSoftwareDevDesignPage() {
return <CcnaSoftwareDevDesignGuide />;
Expand Down
13 changes: 7 additions & 6 deletions app/cisco/ccna/beginner-guide/CcnaBeginnerGuide.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ const DIAGRAM_DISPLAY: Record<string, { frameWidth: number }> = {
};

/**
* 指定されたIDに対応する Mermaid ダイアグラムを描画するコンポーネント。
* Renders the Mermaid diagram associated with an identifier.
*
* @param props - コンポーネントのプロパティ
* @param props.id - ダイアグラムの識別ID
* @param props.label - アクセシビリティ用のダイアグラム説明ラベル
* @param props - Component properties.
* @param props.id - Identifier of the diagram to render.
* @param props.label - Accessibility label describing the diagram.
*/
function Diagram({ id, label }: { id: string; label: string }) {
const chart = DIAGRAMS[id];
Expand All @@ -35,8 +35,9 @@ function Diagram({ id, label }: { id: string; label: string }) {
}

/**
* CCNA初心者ガイドのメインコンポーネント。
* 全12セクションの学習コンテンツとサイドバーナビゲーションをレンダリングします。
* Renders a beginner-friendly guide to the Cisco CCNA certification.
*
* The guide includes twelve learning sections, diagrams, reference links, frequently asked questions, and sidebar navigation.
*/
export function CcnaBeginnerGuide() {
return (
Expand Down
2 changes: 1 addition & 1 deletion app/cisco/ccna/beginner-guide/NavBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const TOC_ITEMS = [
];

/**
* スクロール位置に同期してアクティブな目次項目を追従表示するナビゲーションバーコンポーネント。
* Displays a table-of-contents navigation bar that tracks the active section as the page is scrolled.
*/
export function NavBar() {
const [activeId, setActiveId] = useState<string>('sec1');
Expand Down
2 changes: 1 addition & 1 deletion app/cisco/ccna/beginner-guide/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export const metadata: Metadata = {
};

/**
* CCNA初心者ガイドページのルートコンポーネント。
* Renders the CCNA beginner guide page.
*/
export default function CcnaBeginnerGuidePage() {
return <CcnaBeginnerGuide />;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ const DIAGRAM_DISPLAY: Record<string, { frameWidth: number; preserveNaturalScale
'fhrp-concept': { frameWidth: 900, preserveNaturalScale: true },
};

/**
* Renders a configured Mermaid diagram with its display settings.
*
* @param id - The diagram identifier used to select its chart and display options
* @param label - The accessible label for the rendered diagram
*/
function Diagram({ id, label }: { id: string; label: string }) {
const chart = DIAGRAMS[id];
if (!chart) return null;
Expand All @@ -31,6 +37,9 @@ function Diagram({ id, label }: { id: string; label: string }) {
);
}

/**
* Renders the CCNA 200-301 IP Connectivity study guide.
*/
export function CcnaIpConnectivityGuide() {
return (
<div className="ccna-ip-connectivity-page">
Expand Down
3 changes: 3 additions & 0 deletions app/cisco/ccna/ip-connectivity-guide/NavBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
import { useEffect, useState } from 'react';
import { TOC_ITEMS } from './constants';

/**
* Renders a sidebar table of contents for the IP Connectivity study guide and highlights the visible section.
*/
export function NavBar() {
const [activeId, setActiveId] = useState<string>('overview');

Expand Down
3 changes: 3 additions & 0 deletions app/cisco/ccna/ip-connectivity-guide/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ export const metadata: Metadata = {
'Cisco CCNA(200-301)試験の出題範囲「3.0 IP Connectivity(25%)」を徹底解説。ルーティングテーブルの解釈、フォワーディング決定ロジック、スタティックルーティング、シングルエリアOSPFv2、FHRP(HSRP/VRRP/GLBP)を初学者向けに図解付きで網羅。',
};

/**
* Renders the CCNA IP connectivity guide page.
*/
export default function CcnaIpConnectivityGuidePage() {
return <CcnaIpConnectivityGuide />;
}
3 changes: 3 additions & 0 deletions app/cisco/ccna/ip-services-guide/CcnaIpServicesGuide.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ import { MermaidDiagram } from '@/components/MermaidDiagram';
import { NavBar } from './NavBar';
import { DIAGRAMS } from './constants';

/**
* Renders a comprehensive Japanese-language guide to the CCNA 200-301 IP Services topics.
*/
export function CcnaIpServicesGuide() {
return (
<div className="ccna-ip-services-page">
Expand Down
3 changes: 3 additions & 0 deletions app/cisco/ccna/ip-services-guide/NavBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ const NAV_ITEMS = [
{ id: 'sources', label: '出典・参考資料' },
];

/**
* Renders a sidebar table of contents with links to guide sections and highlights the section currently in view.
*/
export function NavBar() {
const [activeId, setActiveId] = useState<string>('overview');

Expand Down
3 changes: 3 additions & 0 deletions app/cisco/ccna/ip-services-guide/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ export const metadata: Metadata = {
'Cisco CCNA(200-301)試験の出題範囲「4.0 IP Services(10%)」を徹底解説。NAT(静的/動的プール)、NTP(Stratum)、DHCP・DNS、SNMP(GET/SET/TRAP/v3)、Syslog(重大度0〜7)、QoS PHB(EF/AF/DF)、SSH、TFTP/FTPを完全解説。',
};

/**
* Renders the CCNA IP services guide page.
*/
export default function CcnaIpServicesGuidePage() {
return <CcnaIpServicesGuide />;
}