Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
3fcf86c
chore(postprocessing-docs): scaffold app from docs-boilerplate
alvarosabu Apr 22, 2026
eb19985
chore(postprocessing-docs): apply pink theme and rebrand app config
alvarosabu Apr 22, 2026
cfe1e89
chore(postprocessing-docs): configure nuxt-llms sections and pkg version
alvarosabu Apr 22, 2026
309dc99
chore(postprocessing-docs): copy brand assets from vitepress source
alvarosabu Apr 22, 2026
07d3130
feat(postprocessing-docs): add DocsDemo MDC wrapper with Leches panel
alvarosabu Apr 22, 2026
30e0f06
feat(postprocessing-docs): add landing page hero and features
alvarosabu Apr 22, 2026
b63f128
feat(postprocessing-docs): migrate getting-started content
alvarosabu Apr 22, 2026
1b63b97
feat(postprocessing-docs): scaffold api and advanced sections
alvarosabu Apr 22, 2026
32cc6a6
feat(postprocessing-docs): migrate Bloom demo and docs (pmndrs pattern)
alvarosabu Apr 22, 2026
cfa2454
fix(postprocessing-docs): bind Leches controls to Bloom props
alvarosabu Apr 22, 2026
af0eaa6
feat(postprocessing-docs): migrate pmndrs effects batch 1/4
alvarosabu Apr 22, 2026
f753e1e
feat(postprocessing-docs): migrate pmndrs effects batch 2/4
alvarosabu Apr 22, 2026
4f9782c
feat(postprocessing-docs): migrate pmndrs effects batch 3/4
alvarosabu Apr 22, 2026
a08fda6
feat(postprocessing-docs): migrate pmndrs effects batch 4/4
alvarosabu Apr 22, 2026
edd2272
feat(postprocessing-docs): migrate three native effects
alvarosabu Apr 22, 2026
08ce89c
feat(postprocessing-docs): port advanced 'you might not need' guide
alvarosabu Apr 22, 2026
a1d3433
feat(postprocessing-docs): add header navigation
alvarosabu Apr 22, 2026
4c92f0b
docs(postprocessing-docs): update CLAUDE.md and README
alvarosabu Apr 22, 2026
81078c7
chore(postprocessing-docs): apply lint autofixes and typecheck fixes
alvarosabu Apr 22, 2026
a92a964
fix(postprocessing-docs): simplify Vignette GLTF, add netlify.toml, h…
alvarosabu Apr 22, 2026
7c88e3d
Merge branch 'main' into chore/tres-272-migrate-postprocessing-docs-t…
alvarosabu Apr 28, 2026
69d45fb
Merge branch 'main' into chore/tres-272-migrate-postprocessing-docs-t…
alvarosabu May 7, 2026
fc47e60
docs(ascii): fixed memory leak with suspense and unmount when navigat…
alvarosabu May 19, 2026
20f1435
Merge branch 'main' into chore/tres-272-migrate-postprocessing-docs-t…
alvarosabu May 19, 2026
51e577c
refactor(logo): streamline logo component and update logo SVG for pos…
alvarosabu May 19, 2026
a108d6c
chore(postprocessing-docs): remove Suspense wrappers from EffectCompo…
alvarosabu May 25, 2026
a6d34a6
Merge branch 'main' into chore/tres-272-migrate-postprocessing-docs-t…
alvarosabu May 25, 2026
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
12 changes: 2 additions & 10 deletions apps/cientos-docs/app/components/TheLogo.vue
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
<template>
<div class="flex items-center">
<img
src="/logo.svg"
alt="cientos.js"
class="h-3 mr-4"
/>
<a
class="font-bold text-dark font-sans text-sm"
href="/"
title="Home"
>Cientos</a>
<img src="/logo.svg" alt="cientos.js" class="h-3 mr-4" />
<a class="font-bold text-dark font-sans text-sm" href="/" title="Home">Cientos</a>
</div>
</template>
11 changes: 11 additions & 0 deletions apps/postprocessing-docs/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# EditorConfig is awesome: https://EditorConfig.org

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
24 changes: 24 additions & 0 deletions apps/postprocessing-docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist

# Node dependencies
node_modules

# Logs
logs
*.log

# Misc
.DS_Store
.fleet
.idea

# Local env files
.env
.env.*
!.env.example
1 change: 1 addition & 0 deletions apps/postprocessing-docs/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
shamefully-hoist=true
283 changes: 283 additions & 0 deletions apps/postprocessing-docs/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,283 @@
# Post-processing docs - CLAUDE.md

This is the documentation site for `@tresjs/post-processing` built with Nuxt v4 and Nuxt UI v4.

## Overview

This app provides docs for TresJS post-processing effects (pmndrs + three native) with:

- Nuxt v4 with compatibility mode enabled
- Nuxt UI v4 for beautiful, accessible components
- Nuxt Content for markdown-based content
- TresJS integration for 3D examples
- Full-text search functionality
- Dark mode support
- SEO optimization

## Architecture

### App Structure

```
app/
├── app.config.ts # UI theme and app configuration
├── app.vue # Root application component
├── error.vue # Error page component
├── assets/css/ # Global styles
├── components/ # Vue components
│ ├── content/ # MDC prose components
│ └── diagrams/ # Custom diagram components
├── composables/ # Composable functions (useNavigation)
├── layouts/ # Page layouts (docs.vue)
├── pages/ # Route pages
│ ├── index.vue # Landing page
│ └── [...slug].vue # Dynamic docs pages
└── utils/ # Utility functions
```

### Content Structure

Content is organized in numbered directories for ordering:

```
content/
├── index.md # Landing page content
├── 1.getting-started/ # Introduction + installation
├── 2.api/
│ ├── 1.pmndrs/ # 29 pmndrs effect pages
│ └── 2.three/ # 6 three native effect pages
└── 3.advanced/ # Advanced guide
```

## Key Features

### Nuxt UI v4

- Uses Nuxt UI v4 components (`UApp`, `UPage`, `UMain`, etc.)
- Custom theme configuration in `app.config.ts`
- Pink (`#FF7BAC`) color scheme as primary, anchored at `-300` shade
- Custom CSS variables for patterns and gradients

### Nuxt Content

- Markdown with MDC (Markdown Components) syntax
- Collection-based content management
- Automatic table of contents generation
- Search integration

### TresJS Integration

- Vue template compiler options configured for TresJS
- Support for 3D scene components
- Ready for interactive 3D examples

### SEO & Meta

- Configured SEO meta tags
- Open Graph and Twitter card support
- Dynamic titles and descriptions
- Sitemap generation ready

## Configuration

### Theme Customization

Edit `app/app.config.ts` to customize:

```ts
ui: {
colors: {
primary: 'pink', // Post-processing brand palette
neutral: 'zinc',
},
}
```

### Navigation

Edit `app/composables/useNavigation.ts` to modify header navigation links.

### Content Collections

Content is organized using Nuxt Content collections defined in `content.config.ts`:

- `landing` - Landing page (index.md)
- `docs` - All documentation pages

### LLM Documentation

The `nuxt-llms` module is configured to generate LLM-friendly documentation at `/llms.txt` and `/llms-full.txt`.

## Components

### Layout Components

- **AppHeader** - Site header with navigation, search, and color mode toggle
- **AppFooter** - Footer with links and copyright
- **AppSide** - Sidebar navigation for docs layout

### Content Components

- **ProseA** - Enhanced anchor links in markdown content

### Diagram Components

Custom SVG diagram components for technical documentation.

## Development

### Prerequisites

- Node.js 18+
- pnpm package manager

### Commands

```bash
# Install dependencies
pnpm install

# Development server
pnpm dev

# Build for production
pnpm build

# Preview production build
pnpm preview

# Lint code
pnpm lint

# Type checking
pnpm typecheck
```

## Styling

### CSS Architecture

- **Tailwind CSS v4** via `@import 'tailwindcss'`
- **Nuxt UI** styles via `@import '@nuxt/ui'`
- Custom theme variables in `main.css`
- Pattern backgrounds (`.pattern-bg`, `.pattern-dot-bg`)

### Color Palette

Two custom color palettes are defined:

- **Pink** (50-950) - Primary brand color, anchor `#FF7BAC` at `-300`
- **Teal** (50-950) - Accent color for landing / highlights

### Dark Mode

Automatic dark mode with theme-aware pattern backgrounds and custom favicon switching.

## Content Writing

### Markdown Format

```md
---
title: Page Title
description: Page description for SEO
---

# Heading

Content here with **bold** and *italic* text.

::callout
Custom MDC component
::
```

### MDC Components

Use Vue components directly in markdown:

```md
::block-hero
---
cta:
- Get started
- /getting-started
---

#title
Hero Title

#description
Hero description
::
```

## Deployment

### Static Site Generation

Configured for static site generation with Nitro prerendering:

```ts
nitro: {
prerender: {
routes: ['/'],
crawlLinks: true,
},
}
```

### Environment Variables

Create `.env` file for environment-specific configuration (use `.env.example` as reference).

## Best Practices

1. **Content Organization** - Use numbered prefixes for ordering
2. **Component Naming** - Use PascalCase for components
3. **MDC Syntax** - Leverage MDC for rich content
4. **Accessibility** - All UI components are accessible by default
5. **Performance** - Images are optimized via @nuxt/image
6. **SEO** - Always include title and description frontmatter

## Extending the Boilerplate

### Adding New Sections

1. Create new directory in `content/`
2. Add index page with navigation
3. Update `useNavigation.ts` if needed (Get Started, API, Advanced)
4. Update `llms` configuration in `nuxt.config.ts`

### Custom Components

1. Add components in `app/components/`
2. MDC components go in `app/components/content/`
3. Auto-imported by Nuxt

### Styling Customization

1. Update theme variables in `app.config.ts`
2. Add custom CSS in `app/assets/css/main.css`
3. Use Tailwind utilities for component styles

## Troubleshooting

### Build Issues

- Ensure Node.js 18+ is installed
- Clear `.nuxt` and `node_modules`, reinstall
- Check `pnpm-workspace.yaml` includes `apps/*`

### Content Not Rendering

- Check frontmatter syntax
- Verify collection configuration in `content.config.ts`
- Ensure files use `.md` extension

## Resources

- [Nuxt Documentation](https://nuxt.com)
- [Nuxt UI Documentation](https://ui.nuxt.com)
- [Nuxt Content Documentation](https://content.nuxt.com)
- [TresJS Documentation](https://docs.tresjs.org)
Loading
Loading