Claude
Skills
Sign in
โ† Back

bangunai-blog-manager

Included with Lifetime
$97 forever

Use when managing BangunAI Blog content, automating blog workflows, and writing MDX articles with BangunAI conventions. Supports Obsidian-like features (callouts, mermaid, LaTeX, wikilinks, backlinks, graph view).

Writing & Docs

What this skill does


# BangunAI Blog Manager (Digital Garden + Content Workflow)

**Homepage:** React 18 + Vite + MDX + shadcn/ui  
**Blog Root:** `/home/hades/BangunAI-Blog`  
**Content Root:** `/home/hades/BangunAI-Blog/src/content`  
**Tech Stack:** TypeScript, Tailwind CSS, Mermaid 11, KaTeX, Shiki

Skill ini menggabungkan:
- workflow custom untuk blog content (daily, fetch style, universal writer, logging, smart read)
- MDX authoring untuk React-based digital garden
- Obsidian-like features (callouts, mermaid diagrams, LaTeX math, wikilinks, backlinks)
- Auto-import system via `import.meta.glob`

---

## ๐ŸŒฟ BangunAI Blog Fundamentals

Blog ini adalah **Digital Garden & Knowledge Base** dengan fitur terinspirasi dari Obsidian.

### Struktur Proyek

```
/home/hades/BangunAI-Blog/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ content/
โ”‚   โ”‚   โ”œโ”€โ”€ writing/       # Blog posts (notes, essays)
โ”‚   โ”‚   โ”œโ”€โ”€ articles/      # Technical articles, tutorials
โ”‚   โ”‚   โ”œโ”€โ”€ read/          # Reading notes, link curation
โ”‚   โ”‚   โ”œโ”€โ”€ daily/         # Daily notes (tasks, logs)
โ”‚   โ”‚   โ”œโ”€โ”€ about.mdx      # About page (single file)
โ”‚   โ”‚   โ”œโ”€โ”€ now.mdx        # Now page (current activities)
โ”‚   โ”‚   โ””โ”€โ”€ index.ts       # Auto-import loader
โ”‚   โ”œโ”€โ”€ components/        # React components (40+ shadcn/ui)
โ”‚   โ”‚   โ”œโ”€โ”€ Callout.tsx    # 14 tipe callouts
โ”‚   โ”‚   โ”œโ”€โ”€ MermaidDiagram.tsx  # Mermaid renderer
โ”‚   โ”‚   โ”œโ”€โ”€ WikiLink.tsx   # Internal linking
โ”‚   โ”‚   โ”œโ”€โ”€ Backlinks.tsx  # Auto backlinks
โ”‚   โ”‚   โ”œโ”€โ”€ GraphView.tsx  # Knowledge graph
โ”‚   โ”‚   โ””โ”€โ”€ ui/            # shadcn/ui components
โ”‚   โ”œโ”€โ”€ pages/             # Route pages
โ”‚   โ”œโ”€โ”€ lib/               # Utilities
โ”‚   โ”‚   โ”œโ”€โ”€ date.ts        # Date formatting
โ”‚   โ”‚   โ””โ”€โ”€ utils.ts       # Class utilities
โ”‚   โ””โ”€โ”€ data/
โ”‚       โ”œโ”€โ”€ posts.ts       # Helper functions
โ”‚       โ””โ”€โ”€ types.ts       # TypeScript types
โ”œโ”€โ”€ public/                # Static assets
โ”œโ”€โ”€ skill/                 # Agent skills (this!)
โ””โ”€โ”€ package.json           # Dependencies
```

### Content Types

| Type | Description | Location | Features |
|------|-------------|----------|----------|
| **Writing** | Personal notes, essays | `src/content/writing/` | Filter by type (note/essay), category, tags |
| **Articles** | Technical tutorials, guides | `src/content/articles/` | Grouped by year |
| **Read** | Curated readings with notes | `src/content/read/` | Source URL, snippet, tags |
| **Daily** | Daily notes, tasks, logs | `src/content/daily/` | Rollover tasks, timestamps |
| **About** | About page (MDX) | `src/content/about.mdx` | Single static page |
| **Now** | Current activities | `src/content/now.mdx` | Updated regularly |

### Auto-Import System

File `src/content/index.ts` auto-detect semua `.mdx` files via `import.meta.glob`:

```typescript
// NO MANUAL REGISTRATION NEEDED!
const writingModules = import.meta.glob("./writing/*.mdx", { eager: true });
const articleModules = import.meta.glob("./articles/*.mdx", { eager: true });
const readModules = import.meta.glob("./read/*.mdx", { eager: true });
```

**Benefits:** Create file โ†’ Auto-detected โ†’ Available immediately

---

## ๐Ÿ“ Frontmatter Formats

### Format A: Standard Posts (writing, articles, daily)

```yaml
---
title: "Judul Artikel Yang Menarik"
slug: judul-artikel-yang-menarik
summary: "Ringkasan singkat 1-2 kalimat yang compelling."
type: note                # note | essay | article
category: Tech            # Tech | Refleksi | Produktivitas | Linux | Coding | Life
tags: [react, typescript, tutorial]
date: "2026-02-11T14:30:00"
readingTime: 5
featured: false           # (optional) untuk featured posts
---
```

**Required Fields:**
- `title` โ€” Judul artikel (string)
- `slug` โ€” URL-friendly slug (kebab-case)
- `summary` โ€” Deskripsi singkat, compelling (1-2 kalimat)
- `type` โ€” Jenis konten:
  - `note` โ€” Catatan pendek, quick takes
  - `essay` โ€” Tulisan mendalam, eksploratif
  - `article` โ€” Tutorial, panduan terstruktur
- `category` โ€” Kategori utama (pilih salah satu):
  - `Tech` โ€” Teknologi, programming, tools
  - `Refleksi` โ€” Personal reflection, thoughts
  - `Produktivitas` โ€” Productivity, workflow
  - `Linux` โ€” Linux, terminal, sysadmin
  - `Coding` โ€” Coding practices, patterns
  - `Life` โ€” Lifestyle, experiences
- `tags` โ€” Array tags (lowercase, kebab-case)
- `date` โ€” ISO timestamp dengan jam (`YYYY-MM-DDTHH:mm:ss`)
- `readingTime` โ€” Estimasi menit baca (~200 kata/menit)

**Optional Fields:**
- `featured` โ€” Boolean, untuk featured posts di homepage

### Format B: Read Items (read/)

```yaml
---
title: "Judul Artikel/Bacaan"
slug: judul-artikel-bacaan
snippet: "Quote atau snippet menarik dari artikel (1-2 kalimat)."
source: "nama-situs.com"
url: "https://link-ke-artikel.com"
tags: [programming, career]
date: "2026-02-11T18:00:00"
---

## Catatan Personal (Optional)

Komentar atau catatan tentang bacaan ini...
```

**Required Fields:**
- `title` โ€” Judul artikel (string)
- `slug` โ€” URL-friendly slug (kebab-case)
- `snippet` โ€” Quote/excerpt menarik dari artikel
- `source` โ€” Domain sumber (e.g., `github.com`, `dev.to`)
- `url` โ€” Link lengkap ke artikel asli
- `tags` โ€” Array tags (lowercase)
- `date` โ€” ISO timestamp

**Body Content:** Optional, untuk catatan personal

### Format C: Special Pages (about, now)

```yaml
---
title: "About"  # atau "Now"
---

Content langsung di sini...
Mendukung semua fitur MDX (callouts, highlight, mermaid, dll).
```

**Minimal frontmatter:** Hanya `title`

---

## ๐Ÿงฉ MDX Components Available

### 1. Callouts (14 Types)

```mdx
<Callout type="info" title="Judul Callout">
Isi callout di sini.
</Callout>
```

**Available types:**
- `info` โ€” Informasi umum (biru)
- `tip` โ€” Tips & tricks (hijau)
- `warning` โ€” Peringatan (kuning)
- `danger` โ€” Danger/error (merah)
- `success` โ€” Success message (hijau cerah)
- `note` โ€” Catatan (abu-abu)
- `example` โ€” Contoh (ungu)
- `bug` โ€” Bug report (merah)
- `question` โ€” Pertanyaan (biru muda)
- `abstract` โ€” Abstract/summary (indigo)
- `important` โ€” Penting (orange)
- `caution` โ€” Hati-hati (kuning gelap)
- `quote` โ€” Kutipan (krem)
- `cite` โ€” Sitasi (krem gelap)

**Obsidian Blockquote Syntax:**
```mdx
> [!info] Judul Callout
> Isi callout menggunakan sintaks Obsidian.
```

### 2. Mermaid Diagrams

````mdx
```mermaid
graph TD
    A[Start] --> B{Decision}
    B -->|Yes| C[Action]
    B -->|No| D[End]
```
````

**Supported diagrams (Mermaid v11):**
- `graph` / `flowchart` โ€” Flowchart
- `sequenceDiagram` โ€” Sequence diagram
- `pie` โ€” Pie chart
- `classDiagram` โ€” UML class diagram
- `stateDiagram-v2` โ€” UML state diagram
- `erDiagram` โ€” Entity relationship diagram
- `gantt` โ€” Gantt chart
- `mindmap` โ€” Mind map
- `timeline` โ€” Timeline

**Features:**
- Auto-render dengan tema terang/gelap
- Unique ID per diagram (no conflicts)
- Responsive container

### 3. LaTeX Math (KaTeX)

```mdx
Inline: $E = mc^2$

Block:
$$
\int_0^\infty e^{-x} dx = 1
$$
```

**Powered by KaTeX 0.16** โ€” Fast math rendering

### 4. WikiLinks (Internal Links)

```mdx
<WikiLink to="slug-artikel" label="Teks yang Ditampilkan" />
```

**Features:**
- Link mati (slug not found) โ†’ strikethrough otomatis
- Auto-deteksi dari semua posts

### 5. Highlight

```mdx
<Highlight>teks yang di-highlight</Highlight>

Atau gunakan HTML tag:
<mark>teks yang di-highlight</mark>
```

### 6. YouTube Embed

```mdx
<YouTube url="https://youtube.com/watch?v=VIDEO_ID" title="Judul Video" />
```

**Features:**
- Responsive iframe
- Auto-aspect ratio 16:9

### 7. Code Blocks (Shiki Syntax Highlighting)

````mdx
```typescript
function hello(name: string): string {
  return `Hello, ${name}!`;
}
```
````

**Features:**
- Powered by Shiki with `github-dark-dimmed` theme
- Copy button included
- Multi-language support (TypeScript, Python, Bash, dll)

### 8. GFM (GitHub Flavored Markdown)

**Tables:**
```mdx
| Column 1 | Column 2 |
|----------|----------|
| Value A  | Value B  |
```

**Task Lists:**
```mdx
- [x] Completed task
- [ ] Uncompleted task
```

**Strikethrough:**
```mdx
~~deleted text~~
```

### 9. Backlinks

Auto-generated di setiap artikel detail. Menampilkan

Related in Writing & Docs