Skip to content
Closed
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
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
"packageManager": "npm@11.7.0",
"scripts": {
"ng": "ng",
"docs:generate": "tsx scripts/generate-docs.ts",
"docs:generate": "npm run articles:generate && npm run docs:generate:content",
"docs:generate:content": "tsx scripts/generate-docs.ts",
"articles:generate": "tsx scripts/generate-articles.ts",
"articles:inspect-note": "tsx scripts/inspect-note-article.ts",
"articles:stage-zenn": "tsx scripts/import-zenn-articles.ts",
Expand All @@ -26,7 +27,7 @@
"prebuild:web-site": "npm run articles:generate",
"build:web-site": "ng build web-site && pagefind --site dist/web-site/browser --output-subdir pagefind && tsx --test scripts/web-site-build-output.test.ts",
"watch": "ng build docs --watch --configuration development",
"pretest": "npm run docs:generate && npm run articles:generate",
"pretest": "npm run docs:generate",
"test": "tsx --test scripts/docgen-api.test.ts scripts/docgen-inline-code.test.ts scripts/docgen-readme.test.ts scripts/html-policy.test.ts scripts/markdown-headings.test.ts scripts/package-markdown.test.ts scripts/package-repository.test.ts scripts/github-sponsors.test.ts scripts/bilingual-update-blocker.test.ts scripts/site-contract.test.ts scripts/zenn-articles.test.ts scripts/note-articles.test.ts scripts/import-zenn-articles.test.ts scripts/generate-articles.test.ts scripts/article-relations.test.ts scripts/seo-dates.test.ts shared/json-ld.test.ts scripts/seo-audit.test.ts && ng test docs --watch=false && ng test web-site --watch=false",
"fmt": "prettier --write .",
"fmt:check": "prettier --check .",
Expand Down
3 changes: 3 additions & 0 deletions projects/docs/public/_redirects
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Historical source URL discovered before ESLint rule pages had canonical docs routes.
/src/rules/ionic-attr-type-check.ts https://docs.rdlabo.dev/projects/eslint-plugin-rules/docs/rules/ionic-attr-type-check 301

# Legacy Stripe documentation routes. stripe.capacitorjs.jp preserves the
# request path when forwarding to docs.rdlabo.dev, so resolve it at the edge
# before Angular's compatibility routes render a client-side redirect page.
Expand Down
16 changes: 16 additions & 0 deletions projects/docs/public/sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,11 @@
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/ionic-angular-scroll-header/docs/safe-area</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/ja/projects/ionic-angular-scroll-header/docs/safe-area</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/ionic-angular-scroll-header/docs/api</loc>
Expand Down Expand Up @@ -378,9 +380,11 @@
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/eslint-plugin-rules/docs/configuration</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/ja/projects/eslint-plugin-rules/docs/configuration</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/eslint-plugin-rules/docs/migration</loc>
Expand All @@ -390,9 +394,11 @@
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/eslint-plugin-rules/docs/rules</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/ja/projects/eslint-plugin-rules/docs/rules</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/eslint-plugin-rules/docs/api</loc>
Expand Down Expand Up @@ -546,9 +552,11 @@
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/capacitor-stripe/docs/configuration</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/ja/projects/capacitor-stripe/docs/configuration</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/capacitor-stripe/docs/vanilla-js</loc>
Expand Down Expand Up @@ -600,15 +608,19 @@
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/capacitor-stripe/docs/apple-pay</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/ja/projects/capacitor-stripe/docs/apple-pay</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/capacitor-stripe/docs/google-pay</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/ja/projects/capacitor-stripe/docs/google-pay</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/capacitor-stripe/docs/api</loc>
Expand Down Expand Up @@ -684,9 +696,11 @@
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/capacitor-admob/docs/readme</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/ja/projects/capacitor-admob/docs/readme</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/capacitor-admob/docs/configuration</loc>
Expand All @@ -708,9 +722,11 @@
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/capacitor-admob/docs/interstitial</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/ja/projects/capacitor-admob/docs/interstitial</loc>
<lastmod>2026-08-31</lastmod>
</url>
<url>
<loc>https://docs.rdlabo.dev/projects/capacitor-admob/docs/rewarded</loc>
Expand Down
1 change: 1 addition & 0 deletions projects/docs/src/app/docs/docs-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ export interface DocsPageSummary {
title: string;
navTitle: string;
seoTitle?: string;
seoDescription?: string;
updatedAt?: string;
slug: string;
section: string;
Expand Down
2 changes: 1 addition & 1 deletion projects/docs/src/app/docs/docs-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ export class DocsPageComponent implements OnInit, AfterViewInit {
this.#seo.setPage({
title:
page.seoTitle ?? `${page.title} - ${project.shortName} - rdlabo.dev`,
description: `${page.title}. ${project.description}`,
description: page.seoDescription ?? `${page.title}. ${project.description}`,
path: page.path,
structuredData: docsBreadcrumbStructuredData(this.#locale, [
{ name: 'rdlabo.dev', path: '/' },
Expand Down
4 changes: 3 additions & 1 deletion projects/docs/src/app/docs/landing-page.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ describe('LandingPageComponent', () => {

it('renders a manifest-driven Stripe landing page', async () => {
const compiled = await setup('stripe');
expect(TestBed.inject(Title).getTitle()).toBe('Stripe - rdlabo.dev');
expect(TestBed.inject(Title).getTitle()).toBe(
'Capacitor Stripe Plugin Documentation | rdlabo',
);
expect(compiled.querySelector('h1')?.textContent).toContain(
'Accept Stripe payments in Capacitor apps',
);
Expand Down
28 changes: 4 additions & 24 deletions projects/docs/src/app/generated/project-catalog.generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -390,17 +390,13 @@ export const PROJECTS_EN = [
{
"title": "Getting Started",
"navTitle": "Getting Started",
"seoTitle": "Angular CDK Variable Height Virtual Scroll Setup | rdlabo",
"updatedAt": "2026-08-25",
"slug": "readme",
"section": "Quickstart",
"path": "/projects/ngx-cdk-scroll-strategies/docs/readme"
},
{
"title": "Simple Usage",
"navTitle": "Simple Usage",
"seoTitle": "Angular CDK Virtual Scroll: Variable Height Example | rdlabo",
"updatedAt": "2026-08-25",
"demo": {
"url": "https://rdlabo-ionic-angular-library.netlify.app/main/scroll-strategies/simple",
"title": "Interactive simple virtual scroll demo"
Expand All @@ -412,8 +408,6 @@ export const PROJECTS_EN = [
{
"title": "Advanced Usage",
"navTitle": "Advanced Usage",
"seoTitle": "Angular CDK Virtual Scroll: Dynamic Item Height | rdlabo",
"updatedAt": "2026-08-25",
"demo": {
"url": "https://rdlabo-ionic-angular-library.netlify.app/main/scroll-strategies/advanced",
"title": "Interactive advanced virtual scroll demo"
Expand All @@ -425,8 +419,6 @@ export const PROJECTS_EN = [
{
"title": "Reverse Scroll",
"navTitle": "Reverse Scroll",
"seoTitle": "Angular CDK Reverse Virtual Scroll for Chat UIs | rdlabo",
"updatedAt": "2026-08-25",
"demo": {
"url": "https://rdlabo-ionic-angular-library.netlify.app/main/scroll-strategies/reverse",
"title": "Interactive reverse virtual scroll demo"
Expand All @@ -438,8 +430,6 @@ export const PROJECTS_EN = [
{
"title": "FAQ",
"navTitle": "FAQ",
"seoTitle": "Angular CDK Virtual Scroll: Autosize vs Variable Height",
"updatedAt": "2026-08-25",
"slug": "faq",
"section": "Guides",
"path": "/projects/ngx-cdk-scroll-strategies/docs/faq"
Expand Down Expand Up @@ -1034,7 +1024,8 @@ export const PROJECTS_EN = [
"category": "capacitor-plugins",
"icon": "payments",
"version": "8.2.1",
"description": "Native Stripe payments for Capacitor applications.",
"seoTitle": "Capacitor Stripe Plugin Documentation | rdlabo",
"description": "Integrate Stripe PaymentSheet, Apple Pay, and Google Pay in Capacitor apps with @capacitor-community/stripe for iOS, Android, and web.",
"headline": "Accept Stripe payments in Capacitor apps",
"overview": "Present native PaymentSheet and PaymentFlow, accept Apple Pay and Google Pay, and integrate payments on the web from the same Capacitor codebase.",
"featuresHeading": "What you can build",
Expand Down Expand Up @@ -1114,7 +1105,6 @@ export const PROJECTS_EN = [
{
"title": "PaymentSheet",
"navTitle": "PaymentSheet",
"seoTitle": "Capacitor Stripe PaymentSheet API | rdlabo",
"slug": "payment-sheet",
"section": "Methods",
"path": "/projects/capacitor-stripe/docs/payment-sheet"
Expand Down Expand Up @@ -2037,17 +2027,13 @@ export const PROJECTS_JA = [
{
"title": "はじめに",
"navTitle": "はじめに",
"seoTitle": "Angular CDK可変高さVirtual Scrollの導入方法 | rdlabo",
"updatedAt": "2026-08-25",
"slug": "readme",
"section": "クイックスタート",
"path": "/projects/ngx-cdk-scroll-strategies/docs/readme"
},
{
"title": "シンプルな使い方",
"navTitle": "シンプルな使い方",
"seoTitle": "Angular CDK Virtual Scrollの可変高さサンプル | rdlabo",
"updatedAt": "2026-08-25",
"demo": {
"url": "https://rdlabo-ionic-angular-library.netlify.app/main/scroll-strategies/simple",
"title": "Simple Virtual Scrollの操作デモ"
Expand All @@ -2059,8 +2045,6 @@ export const PROJECTS_JA = [
{
"title": "応用的な使い方",
"navTitle": "応用的な使い方",
"seoTitle": "Angular CDK Virtual Scrollで動的なItem Heightを計測 | rdlabo",
"updatedAt": "2026-08-25",
"demo": {
"url": "https://rdlabo-ionic-angular-library.netlify.app/main/scroll-strategies/advanced",
"title": "Advanced Virtual Scrollの操作デモ"
Expand All @@ -2072,8 +2056,6 @@ export const PROJECTS_JA = [
{
"title": "リバーススクロール",
"navTitle": "リバーススクロール",
"seoTitle": "Angular CDK Reverse Virtual ScrollでChat UIを実装 | rdlabo",
"updatedAt": "2026-08-25",
"demo": {
"url": "https://rdlabo-ionic-angular-library.netlify.app/main/scroll-strategies/reverse",
"title": "Reverse Virtual Scrollの操作デモ"
Expand All @@ -2085,8 +2067,6 @@ export const PROJECTS_JA = [
{
"title": "FAQ",
"navTitle": "FAQ",
"seoTitle": "Angular CDK Virtual Scrollのautosizeと可変高さの違い",
"updatedAt": "2026-08-25",
"slug": "faq",
"section": "ガイド",
"path": "/projects/ngx-cdk-scroll-strategies/docs/faq"
Expand Down Expand Up @@ -2681,7 +2661,8 @@ export const PROJECTS_JA = [
"category": "capacitor-plugins",
"icon": "payments",
"version": "8.2.1",
"description": "Capacitor アプリで Stripe のネイティブ決済を利用するためのプラグイン。",
"seoTitle": "Capacitor Stripe プラグイン ドキュメント | rdlabo",
"description": "Capacitorアプリに@capacitor-community/stripeを導入し、iOS・Android・WebでPaymentSheet、Apple Pay、Google Payを実装するためのドキュメント。",
"headline": "CapacitorアプリでStripe決済を受け付ける",
"overview": "同じCapacitorコードベースからネイティブのPaymentSheetとPaymentFlow、Apple Pay、Google Pay、Web決済を利用できます。",
"featuresHeading": "実装できること",
Expand Down Expand Up @@ -2761,7 +2742,6 @@ export const PROJECTS_JA = [
{
"title": "PaymentSheet",
"navTitle": "PaymentSheet",
"seoTitle": "Capacitor Stripe PaymentSheet API リファレンス | rdlabo",
"slug": "payment-sheet",
"section": "メソッド",
"path": "/projects/capacitor-stripe/docs/payment-sheet"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ export const PROJECT = {
{
"title": "Getting Started",
"navTitle": "Getting Started",
"seoTitle": "Capacitor AdMob Plugin Setup Guide | rdlabo",
"seoDescription": "Install and configure @capacitor-community/admob to initialize Google Mobile Ads and display native ads in Capacitor apps on iOS and Android.",
"updatedAt": "2026-08-31",
"slug": "readme",
"file": "readme.md",
"section": "Quickstart",
Expand Down Expand Up @@ -177,6 +180,9 @@ export const PROJECT = {
{
"title": "Interstitial Ads",
"navTitle": "Interstitial Ads",
"seoTitle": "Capacitor AdMob Interstitial Ads Guide | rdlabo",
"seoDescription": "Prepare, show, and handle interstitial ad events in Capacitor apps with @capacitor-community/admob on iOS and Android.",
"updatedAt": "2026-08-31",
"slug": "interstitial",
"file": "interstitial.md",
"section": "Ad formats",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ export const PROJECT = {
{
"title": "はじめに",
"navTitle": "はじめに",
"seoTitle": "Capacitor AdMob プラグイン導入ガイド | rdlabo",
"seoDescription": "@capacitor-community/admobを導入し、iOS・AndroidのCapacitorアプリでGoogle Mobile Adsを初期化してネイティブ広告を表示します。",
"updatedAt": "2026-08-31",
"slug": "readme",
"file": "readme.md",
"section": "クイックスタート",
Expand Down Expand Up @@ -273,6 +276,9 @@ export const PROJECT = {
{
"title": "インタースティシャル広告",
"navTitle": "インタースティシャル広告",
"seoTitle": "Capacitor AdMobインタースティシャル広告ガイド | rdlabo",
"seoDescription": "@capacitor-community/admobを使い、iOS・AndroidのCapacitorアプリでインタースティシャル広告の準備・表示・Event処理を実装します。",
"updatedAt": "2026-08-31",
"slug": "interstitial",
"file": "interstitial.md",
"section": "広告フォーマット",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ export const PROJECT = {
{
"title": "Configuration",
"navTitle": "Configuration",
"seoTitle": "Configure Angular and Ionic ESLint Rules | rdlabo",
"seoDescription": "Configure @rdlabo/eslint-plugin-rules with flat config presets for Angular, Ionic, or framework-independent TypeScript projects.",
"updatedAt": "2026-08-31",
"slug": "configuration",
"file": "configuration.md",
"section": "Guide",
Expand Down Expand Up @@ -138,6 +141,9 @@ export const PROJECT = {
{
"title": "Rules",
"navTitle": "Rules",
"seoTitle": "Angular, Ionic, and TypeScript ESLint Rules | rdlabo",
"seoDescription": "Browse every @rdlabo/eslint-plugin-rules rule for Angular Signals, Ionic components, component boundaries, forms, and safe asynchronous code.",
"updatedAt": "2026-08-31",
"slug": "rules",
"file": "rules.md",
"section": "Reference",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ export const PROJECT = {
{
"title": "設定",
"navTitle": "設定",
"seoTitle": "Angular・Ionic向けESLintルールの設定 | rdlabo",
"seoDescription": "@rdlabo/eslint-plugin-rulesのFlat Configを使い、Angular・Ionic・汎用TypeScript向けのESLintプリセットを設定します。",
"updatedAt": "2026-08-31",
"slug": "configuration",
"file": "configuration.md",
"section": "ガイド",
Expand Down Expand Up @@ -128,6 +131,9 @@ export const PROJECT = {
{
"title": "ルール一覧",
"navTitle": "ルール一覧",
"seoTitle": "Angular・Ionic・TypeScript向けESLintルール一覧 | rdlabo",
"seoDescription": "Angular Signal、Ionic Component、Component境界、フォーム、安全な非同期処理を検査する@rdlabo/eslint-plugin-rulesのルール一覧です。",
"updatedAt": "2026-08-31",
"slug": "rules",
"file": "rules.md",
"section": "リファレンス",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@ export const PROJECT = {
{
"title": "Safe Area",
"navTitle": "Safe Area",
"seoTitle": "Ionic Safe Area with Scroll-Aware Headers | rdlabo",
"seoDescription": "Configure hidden safe-area headers and always-visible native headers with @rdlabo/ionic-angular-scroll-header for Ionic content layouts.",
"updatedAt": "2026-08-31",
"slug": "safe-area",
"file": "safe-area.md",
"section": "Guides",
Expand Down
Loading