Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
28 changes: 21 additions & 7 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,28 @@ jobs:
with:
submodules: recursive

- name: Set up Python
uses: actions/setup-python@v5
- name: Setup Mylonics Styles
uses: mylonics/mylonics-styles@main
with:
python-version: "3.x"
path: docs/mylonics-styles

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
cache-dependency-path: docs/package-lock.json

- name: Install dependencies
run: |
pip install "mkdocs-material>=9.7.0,<10.0.0"
run: npm install
working-directory: docs

- name: Deploy docs
run: mkdocs gh-deploy --force
- name: Build documentation
run: npm run build
working-directory: docs

- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/dist
9 changes: 6 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@ main.exe
dist/
__pycache__/

# MkDocs build output
site/
# Docs build output (Astro)
docs/dist/
docs/.astro/
docs/node_modules/
docs/mylonics-styles/

# .NET/C# build outputs
bin/
Expand Down Expand Up @@ -67,4 +70,4 @@ Thumbs.db
*~
*.bak
node_modules/
package-lock.json
/package-lock.json
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "docs/theme_overrides"]
path = docs/theme_overrides
url = https://github.com/mylonics/mylonics-mkdocs-theme
[submodule "src/struct_frame/boilerplate/cpp/struct_frame_sdk/asio-repo"]
path = src/struct_frame/boilerplate/cpp/struct_frame_sdk/asio-repo
url = https://github.com/chriskohlhoff/asio.git
Expand Down
11 changes: 11 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Astro build output
dist/

# Node modules
node_modules/

# Astro cache
.astro/

# Shared styles (cloned during CI from mylonics/mylonics-styles)
mylonics-styles/
9 changes: 0 additions & 9 deletions docs/404.md

This file was deleted.

108 changes: 108 additions & 0 deletions docs/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';

// Shared Mylonics styles — cloned into docs/mylonics-styles during CI.
// For local dev, clone manually:
// git clone https://github.com/mylonics/mylonics-styles.git docs/mylonics-styles
import { mylonicsStarlightDefaults } from './mylonics-styles/starlight/config-helpers';

// https://astro.build/config
export default defineConfig({
site: 'https://struct-frame.mylonics.com',
integrations: [
starlight({
title: 'Struct Frame',
description:
'A cross-platform code generation framework for Protocol Buffer serialization. Generate C, C++, TypeScript, Python, and GraphQL code with framing and parsing utilities for structured message communication.',
logo: {
src: './src/assets/logo.png',
},
favicon: '/favicon.ico',
...mylonicsStarlightDefaults('Struct Frame', {
github: 'https://github.com/mylonics/struct-frame',
extraCss: ['./src/styles/custom.css'],
headOptions: {
ogImage:
'https://raw.githubusercontent.com/mylonics/struct-frame/main/docs/src/assets/logo.png',
keywords: [
'struct frame',
'protocol buffer',
'code generation',
'serialization',
'C code generator',
'C++ code generator',
'TypeScript code generator',
'Python code generator',
'GraphQL code generator',
'embedded systems',
'message framing',
'cross-platform communication',
],
},
}),
sidebar: [
{
label: 'Getting Started',
items: [
{ label: 'Installation', slug: 'getting-started/installation' },
{ label: 'Quick Start', slug: 'getting-started/quick-start' },
],
},
{
label: 'Basic Usage',
items: [
{
label: 'Message Definitions',
slug: 'basic-usage/message-definitions',
},
{
label: 'Code Generation',
slug: 'basic-usage/code-generation',
},
{
label: 'Language Examples',
slug: 'basic-usage/language-examples',
},
{ label: 'Framing', slug: 'basic-usage/framing' },
{
label: 'Framing Details',
slug: 'basic-usage/framing-details',
},
],
},
{
label: 'Extended Features',
items: [
{
label: 'SDK Overview',
slug: 'extended-features/sdk-overview',
},
{ label: 'C++ SDK', slug: 'extended-features/cpp-sdk' },
{
label: 'TypeScript/JavaScript SDK',
slug: 'extended-features/typescript-sdk',
},
{ label: 'Python SDK', slug: 'extended-features/python-sdk' },
{ label: 'C# SDK', slug: 'extended-features/csharp-sdk' },
{
label: 'Advanced Features',
slug: 'extended-features/custom-features',
},
],
},
{
label: 'Reference',
items: [
{
label: 'Build Integration',
slug: 'reference/build-integration',
},
{ label: 'CLI Reference', slug: 'reference/cli-reference' },
{ label: 'Testing', slug: 'reference/testing' },
{ label: 'Development', slug: 'reference/development' },
],
},
],
}),
],
});
131 changes: 0 additions & 131 deletions docs/index.md

This file was deleted.

Loading
Loading