Skip to content

Site Setup Overview

Partner Documentation

This section covers technical integration of sites with the DCS platform. For site owner documentation, see the Portal Guide.

Supported Frameworks

DCS integrates with these frameworks:

FrameworkSupport LevelUse Case
VitePressFullDocumentation, blogs, marketing
Vue 3 SPAFullWeb applications
NuxtPartialSSR applications
Static HTMLBasicSimple sites

Integration Architecture

┌─────────────────────────────────────────────────────────────┐
│                      Your Site                              │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐ │
│  │ Components  │  │ Composables │  │ Configuration Files │ │
│  │ (Vue/MD)    │  │ (API calls) │  │ (.dcs/, .github/)   │ │
│  └──────┬──────┘  └──────┬──────┘  └──────────┬──────────┘ │
└─────────┼────────────────┼────────────────────┼─────────────┘
          │                │                    │
          ▼                ▼                    ▼
    ┌───────────────────────────────────────────────────┐
    │                  DCS APIs                         │
    │  ├── Text Content API                            │
    │  ├── SEO Metadata API                            │
    │  ├── Blog Content API                            │
    │  └── Analytics API                               │
    └───────────────────────────────────────────────────┘
          │                │                    │
          ▼                ▼                    ▼
    ┌───────────────────────────────────────────────────┐
    │               DCS Portal                          │
    │  ├── Content Management UI                       │
    │  ├── Development Requests                        │
    │  └── Analytics Dashboard                         │
    └───────────────────────────────────────────────────┘

Required Files

Every DCS-integrated site needs:

FilePurpose
.dcs/config.yamlMain configuration
.dcs/pages.yamlPage registry
.github/copilot-instructions.mdAI development guidelines
.envEnvironment variables

Integration Points

1. Text Content

The useTextContent composable fetches and displays text overrides:

vue
<script setup lang="ts">
import { useTextContent } from '@/lib/use-text-content'
const { t } = useTextContent()
</script>

<template>
  <h1>{{ t('home.hero.title', 'Default Title') }}</h1>
</template>

2. SEO Metadata

SEO data is managed through the portal and fetched at build or runtime:

typescript
// VitePress frontmatter override
const seo = await fetchSEO('page-slug')
useHead({
  title: seo.title,
  meta: [
    { name: 'description', content: seo.description }
  ]
})

3. Blog Content

Blog posts are created in the portal and rendered by your site:

typescript
// Fetch blog posts
const posts = await fetchBlogPosts()

4. Analytics

Page views and events are automatically tracked:

typescript
// Custom event tracking
trackEvent('button_click', { button: 'cta' })

Deployment Model

DCS uses Azure Static Web Apps for hosting:

Code Push → GitHub Actions → Build → Azure SWA

                            ┌─────────┴─────────┐
                            │                   │
                       Development         Production
                       (preview)           (live)

Environments

EnvironmentPurposeURL
ProductionLive siteyoursite.com
DevelopmentPreview changesdev.yoursite.com
DraftPR previewspr-123.azurestaticapps.net

Getting Started

Choose your starting point:

Quick Start Checklist

  • [ ] Create .dcs/config.yaml
  • [ ] Create .dcs/pages.yaml
  • [ ] Add useTextContent composable
  • [ ] Configure environment variables
  • [ ] Set up GitHub secrets
  • [ ] Add Copilot instructions
  • [ ] Register site in DCS portal
  • [ ] Test integration

Next Steps

Duff Cloud Services Documentation