This website is built using Docusaurus 2 and serves as the comprehensive documentation for the Connie platform, organized by user type and communication channels.
Live Site: https://docs.connie.one/
The documentation follows a multi-audience approach with clear user pathways:
docs/
βββ 00_introduction.md # Landing page
βββ getting-started/ # Quick start guides
βββ feature-library/ # Technical feature documentation
βββ building/ # Template building guides
βββ end-users/ # End user documentation
β βββ cbo-admins/ # CBO administrators
β β βββ getting-started.md
β β βββ voice/ # Voice channel services
β β β βββ call-forwarding/
β β β βββ index.md # Provider selection page
β β β βββ cox-communications.md
β β β βββ xfinity-business.md
β β βββ messaging/ # Future: SMS, webchat
β β βββ socials/ # Future: Facebook, WhatsApp
β β βββ fax/ # Future: Fax services
β β βββ email/ # Future: Email services
β βββ supervisors/ # Team managers
β βββ staff-agents/ # Call center agents
βββ developers/ # Developer documentation
βββ general/ # Cross-cutting topics
βββ frontend/ # React/TypeScript development
βββ backend/ # Serverless functions
cd docs
npm install
npm start
The site will be available at http://localhost:3010
Changes pushed to the main
branch automatically deploy to https://docs.connie.one/ via GitHub Actions.
-
Choose the correct location based on your audience:
- End users:
docs/end-users/[user-type]/
- Developers:
docs/developers/[area]/
- General:
docs/[category]/
- End users:
-
Create the markdown file:
--- sidebar_label: Short Name sidebar_position: 1 title: "Full Descriptive Title" --- # Page Title Your content here...
-
Follow content guidelines:
- Use clear, descriptive headings
- Include prerequisites section for setup guides
- Add troubleshooting sections where relevant
- Use proper accessibility practices (alt text, logical heading hierarchy)
-
Create the directory structure:
mkdir -p docs/end-users/cbo-admins/new-channel
-
Create
_category_.json
:{ "label": "Channel Name", "position": 2, "collapsible": true, "collapsed": false, "description": "Brief description of the channel" }
-
Update navigation if using explicit sidebar configuration in
sidebars.js
For CPaaS services, follow the established pattern:
- Create channel directory:
docs/end-users/cbo-admins/[channel-name]/
- Add
_category_.json
with proper label and position - Create subcategories as needed (e.g.,
call-forwarding/
,voicemail/
) - Follow provider guide pattern:
- Overview/index page with provider selection
- Individual provider guides (cox-communications.md, etc.)
- Use provider logos in
/static/img/providers/
For clickable elements (logos, buttons), always use the Link component:
import Link from '@docusaurus/Link';
<Link to="/end-users/cbo-admins/voice/call-forwarding/cox-communications">
<img src="/img/providers/cox-logo.png" alt="Cox Business" />
</Link>
For regular text links, use relative paths with .md
extension:
[Setup Guide](./cox-communications.md)
[Back to Overview](../index.md)
- β Don't use
<a href="...">
tags for internal links - β Don't use absolute paths without the Link component
- β Don't forget the
.md
extension for markdown links
- Save logo to
/static/img/providers/provider-name.png
- Optimize image (recommended: 200px width max, transparent background)
- Use in provider selection:
<Link to="/path/to/guide"> <img src="/img/providers/provider-name.png" alt="Provider Name" style={{maxWidth: '180px', maxHeight: '60px', objectFit: 'contain'}} /> </Link>
- CBO Admins: Setup, configuration, management tasks
- Supervisors: Team management, reporting, oversight
- Staff Agents: Daily usage, features, troubleshooting
- Developers: Technical implementation, APIs, customization
Group features by communication channel:
- Voice: Calls, forwarding, voicemail
- Messaging: SMS, webchat, automated responses
- Socials: Facebook Messenger, WhatsApp integration
- Fax: Fax services and management
- Email: Email integration and management
- Plain language for end users
- Action-oriented instructions
- Accessibility-first approach
- Inclusive language throughout
If setting up GitHub Pages for the first time, follow these steps EXACTLY:
- Navigate to: Settings β Pages in your GitHub repository
- Under "Source", select "Deploy from a branch"
- Select Branch:
gh-pages
β οΈ NOTmain
! - Select Folder:
/ (root)
- Click Save
- In the "Custom domain" field, enter:
docs.connie.one
- Wait for "DNS check successful" message (may take 5-10 minutes)
- Check the box for "Enforce HTTPS"
- Click Save
- Navigate to: Settings β Secrets and variables β Actions
- Click on "Variables" tab
- Click "New repository variable"
- Add the following:
- Name:
DEPLOY_DOCS
- Value:
true
- Name:
- Click "Add variable"
Ensure the file static/CNAME
exists with your domain:
echo "docs.connie.one" > static/CNAME
git add static/CNAME
git commit -m "Add CNAME for custom domain"
git push origin main
Ensure your DNS provider has a CNAME record:
- Name:
docs
(or@
for apex domain) - Value:
connieml.github.io
- TTL: 3600 (or provider default)
Once GitHub Pages is configured:
- Trigger: Push to
main
branch - Platform: GitHub Pages via
gh-pages
branch - URL: https://docs.connie.one/
- Build time: ~2-3 minutes
# Deploy changes
git add .
git commit -m "Your descriptive message"
git push origin main
# Monitor deployment (requires GitHub CLI)
gh run list --limit 1
# Check build locally FIRST
npm run build
# If build succeeds, push to GitHub
git push origin main
# Verify deployment succeeded (after 2-3 minutes)
curl -I https://docs.connie.one/
# Should return: HTTP/2 200
Issue: Site shows 404 after successful deployment
- Cause: GitHub Pages is looking at wrong branch
- Solution: Ensure GitHub Pages Source is set to
gh-pages
branch, NOTmain
Issue: "DEPLOY_DOCS is not true" in GitHub Actions logs
- Cause: Repository variable not set
- Solution: Add
DEPLOY_DOCS=true
repository variable (see Step 3 above)
Issue: Custom domain not working
- Cause: CNAME file missing or DNS misconfigured
- Solution:
- Verify
static/CNAME
exists with correct domain - Check DNS CNAME record points to
connieml.github.io
- Wait 10-30 minutes for DNS propagation
- Verify
Issue: Deployment succeeds but content doesn't update
- Cause: Browser cache or CDN cache
- Solution:
- Clear browser cache or use incognito mode
- Wait 5-10 minutes for CDN cache to expire
- Add
?v=timestamp
to URL to bypass cache
Issue: Build fails with "broken links" error
- Cause: Internal documentation links are broken
- Solution:
- Run
npm run build
locally to identify broken links - Fix all broken links
- Temporarily set
onBrokenLinks: "warn"
indocusaurus.config.js
if urgent
- Run
Before deploying, verify:
- GitHub Pages Source: Set to
gh-pages
branch - DEPLOY_DOCS variable: Set to
true
- CNAME file: Contains your custom domain
- Build passes:
npm run build
succeeds locally - No broken links: All internal links validated
- DNS configured: CNAME record points to GitHub Pages
- Auto-generated: Use
_category_.json
files (recommended) - Manual: Edit
sidebars.js
for custom organization - Mixed approach: Use both for complex structures
- Optimize images: Use WebP format when possible
- Lazy loading: Large images load automatically
- Search: Built-in search is included and indexed
- Alt text: Always include for images
- Heading hierarchy: Use logical h1βh2βh3 structure
- Color contrast: Ensure WCAG 2.1 AA compliance
- Screen readers: Test with NVDA or VoiceOver
Before publishing new content:
- Content is in the correct user section
-
_category_.json
files exist for new directories - All images have descriptive alt text
- Internal links work correctly
- Content follows established patterns
- Builds successfully locally (
npm run build
) - Follows accessibility guidelines
- Docusaurus Docs: https://docusaurus.io/docs
- GitHub Issues: Report problems in the repository
- Content Guidelines: See CLAUDE.md for architectural decisions
Planned improvements:
- Multi-language support
- Advanced search with filtering
- Interactive tutorials
- Video integration
- Community contributions workflow
This documentation site is continuously evolving. For major architectural changes, please update both this README and the CLAUDE.md file.