angular-static-content

Build static blog and article pages in Angular SPAs with build-time content generation.

2|Updated Aug 2, 2026
One-click install
npx skills add https://github.com/Arasz/ai-raccoon --skill angular-static-content-arasz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: angular-static-content
Source: https://github.com/Arasz/ai-raccoon/tree/main/.ai-badger/skills/learned/uncategorized/angular-static-content
Command: npx skills add https://github.com/Arasz/ai-raccoon --skill angular-static-content-arasz

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires apexcharts, ng-apexcharts, @dagrejs/dagre, katex, and includes references (resource) components.

What problem does it solve? Adding blogs, docs, or article pages to an Angular SPA usually means hand-wiring routes, data models, RSS feeds, and chart rendering from scratch. This Skill provides a complete pipeline that converts Markdown articles into typed TypeScript data, renders them through reusable components, and generates RSS feeds at build time. ## Core Features & Use Cases - Markdown-to-TypeScript pipeline: Converts content/articles/*.md files with YAML frontmatter into typed Article data files via scripts/build-articles.mjs, with dynamic imports, ESLint auto-fix, and an auto-generated provider barrel file. - Rich content blocks: Supports paragraphs, tables, callouts, code blocks, ApexCharts charts, dagre-rendered diagrams, and KaTeX math equations — all pre-rendered at build time with zero client-side JS overhead. - Battle-tested pitfall catalog: Over 60 documented pitfalls covering Angular signals, ApexCharts integration, vitest testing, ESLint rules, and E2E WebKit quirks. - Use Case: Add a new blog post by writing a Markdown file with frontmatter, run node scripts/build-articles.mjs, and the article appears at /blog/:slug with charts, diagrams, and RSS inclusion. ## Quick Start Ask the AI to add a new blog article to the Angular site by creating a Markdown file in content/articles and running the build-articles script.

Frequently Asked Questions about angular-static-content

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a blog to an Angular SPA with static content?

Write Markdown files with YAML frontmatter in content/articles/, then run node scripts/build-articles.mjs to generate typed TypeScript data files and a provider barrel. Lazy-loaded routes render each article at /blog/:slug via an ArticleRenderer component.

ApexCharts vs Chart.js for Angular — which should I use?

ApexCharts is recommended for monochrome or design-token theming because it has a built-in monochrome theme, CSS custom properties, SVG output, and dark mode. Chart.js is lighter (~70 KB) but Canvas-based, making color audits and accessibility harder.

Why are my ApexCharts horizontal bars rendering zero-width in Angular?

A global CSS reset like * { max-width: 100% } constrains ApexCharts internal SVG elements. Add an override for .apexcharts-canvas and related selectors in global styles.css — component CSS cannot reach library internals due to Angular ViewEncapsulation.

Does Angular effect() support async callbacks?

No. Angular's effect() only tracks signal reads synchronously, so an async callback breaks dependency tracking and the effect never re-fires. Use a synchronous callback, or afterNextRender/afterRenderEffect for async work.

How do I render LaTeX math equations in an Angular static site?

Pre-render equations with KaTeX in the Node.js build script using katex.renderToString(), embedding HTML in the generated data files. This ships zero client JS, avoids layout shift, and import katex.min.css in global styles.css to stay within the 8 kB component style budget.

Why does my Markdown-to-TypeScript build script hang in an infinite loop?

Line-by-line parsers must advance the index even when a line matches no handler. Add an else { i++; } fallback so unhandled lines like HTML comments are skipped instead of looping forever.