Content Management Guide
Complete guide to managing content on the Cascadia Marquee website
Content Management Guide
Complete guide to managing content on the Cascadia Marquee website using MDX and Content Collections.
How content is loaded
- Source files:
src/content/**/*.mdx(you edit these in Git) - Config:
content-collections.tsat the repo root defines schemas and slug rules - Build: Content Collections runs when you
pnpm devorpnpm build(no separatebuild:contentscript) - Imports in app code:
import { allPosts } from "content-collections" - Rendering:
<Mdx code={post.mdx} />for the page body;post.contentis the raw MDX string (TOC,llms-full.txt, SEO helpers)
Content Types
The website supports four main content types:
- Blog Posts - Articles, tutorials, and case studies
- Documentation - Technical guides and project documentation
- Services - Service descriptions and offerings
- Legal Documents - Privacy policy, terms of service, etc.
Blog Posts
Adding Blog Posts
- Create a new
.mdxfile insrc/content/posts/ - Organize by category in subdirectories:
case-studies/- Client success storiesposts/- General blog poststutorials/- How-to guides and tutorials
Blog Post Front Matter
Blog Post Structure
Blog Post Examples
Case Study Example:
Tutorial Example:
Documentation
Adding Documentation
- Create a new
.mdxfile insrc/content/docs/ - Use numbered prefixes for ordering:
1_guides/- Technical guides and tutorials2_documentation/- Project documentation
Documentation Front Matter
Documentation Structure
Services
Adding Services
- Create a new
.mdxfile insrc/content/services/ - Use numbered prefixes for ordering:
1_shopify/- Shopify-related services2_accessibility/- Accessibility services3_automation/- Automation services4_development/- Custom development5_white-label/- White-label services
Service Front Matter
Service Structure
Legal Documents
Adding Legal Documents
- Create a new
.mdxfile insrc/content/legal/ - Use descriptive filenames:
privacy-policy.mdxterms-of-service.mdx
Legal Document Front Matter
MDX Features
Using React Components
You can use React components directly in MDX:
Available Components
The following components are available in MDX:
<Callout>- Info, warning, error callouts<Accordion>- Collapsible content sections<Button>- Interactive buttons<Card>- Content cards<Badge>- Status badges<CodeBlock>- Syntax-highlighted code blocks
Code Blocks
Use fenced code blocks with language specification:
Images
Use the next/image component for optimized images:
Content Organization
File Naming Conventions
- Use kebab-case for filenames:
my-blog-post.mdx - Use descriptive names that reflect the content
- Include dates for time-sensitive content:
2024-01-15-my-post.mdx
Directory Structure
Content Workflow
1. Planning
- Outline your content before writing
- Research keywords for SEO optimization
- Gather assets (images, code examples, etc.)
2. Writing
- Use clear headings for better structure
- Include code examples where relevant
- Add images to break up text
- Write descriptive alt text for accessibility
3. Review
- Check front matter for accuracy
- Verify links and references
- Test code examples if applicable
- Review for typos and grammar
4. Publishing
- Set
published: truein front matter - Add appropriate tags for categorization
- Update navigation if needed
- Test the published content
SEO Best Practices
Front Matter SEO
Content SEO
- Use descriptive headings (H1, H2, H3)
- Include relevant keywords naturally
- Write compelling meta descriptions
- Add alt text to images
- Use internal links to related content
Image Optimization
- Use WebP format for better compression
- Optimize image sizes (800x600 for blog images)
- Add descriptive alt text
- Use the
next/imagecomponent
Content Maintenance
Regular Updates
- Review and update outdated content
- Check for broken links
- Update code examples for new versions
- Refresh images if needed
Content Audit
- Identify popular content for expansion
- Find gaps in content coverage
- Update navigation based on user needs
- Archive outdated content
Troubleshooting
Common Issues
Content not appearing:
- Check that
published: trueis set - Verify file is in the correct directory
- Ensure front matter is properly formatted
Images not loading:
- Check image path is correct
- Verify image exists in
public/directory - Use proper
next/imagesyntax
Code blocks not highlighting:
- Specify the correct language
- Check for syntax errors
- Verify code block formatting
Navigation not updating:
- Check navigation configuration files
- Verify file naming conventions
- Update navigation arrays if needed
Best Practices
- Write for your audience - Use clear, accessible language
- Be consistent - Follow established patterns and conventions
- Test everything - Verify content works as expected
- Keep it updated - Regularly review and update content
- Optimize for performance - Use optimized images and efficient code
- Make it accessible - Include alt text, proper headings, and clear structure
For questions about content management, check the other documentation sections or contact the development team.