diff --git a/.github/workflows/publish-wiki.yml b/.github/workflows/publish-wiki.yml new file mode 100644 index 00000000..2fb12ccd --- /dev/null +++ b/.github/workflows/publish-wiki.yml @@ -0,0 +1,28 @@ +name: Publish Wiki + +on: + push: + branches: [main] + paths: + - 'docs/**' + - 'README.md' + +jobs: + publish-wiki: + name: Publish Wiki + runs-on: ubuntu-latest + + permissions: + contents: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Publish wiki + uses: Andrew-Chen-Wang/github-wiki-action@v4 + env: + WIKI_DIR: docs/ + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_MAIL: github-actions[bot]@users.noreply.github.com + GH_NAME: github-actions[bot] diff --git a/docs/Home.md b/docs/Home.md new file mode 100644 index 00000000..dcd7b5e1 --- /dev/null +++ b/docs/Home.md @@ -0,0 +1,26 @@ +# Struct Frame Wiki + +Welcome to the Struct Frame documentation wiki. + +Struct Frame is a cross-platform code generation framework that converts Protocol Buffer (.proto) files into serialization/deserialization code for C, C++, TypeScript, Python, and GraphQL. + +## Documentation + +- [[What is Struct Frame|index]] - Introduction and overview +- [[Installation and Usage|installation]] - Getting started guide +- [[Message Definitions|message-definitions]] - Proto file syntax reference +- [[Framing|framing]] - Frame formats and parsing +- [[Testing|testing]] - Test suite documentation +- [[Development Guide|development]] - Contributing and extending + +## Quick Links + +- [GitHub Repository](https://github.com/mylonics/struct-frame) +- [README](https://github.com/mylonics/struct-frame#readme) + +## Feature Highlights + +- **Multi-Language Support**: C, C++, TypeScript, Python, GraphQL +- **Zero-Copy in C/C++**: Direct memory mapping without encoding overhead +- **Small Frame Overhead**: Only 4 bytes for basic framing +- **No Runtime Dependencies**: Header-only C/C++ implementation diff --git a/docs/_Sidebar.md b/docs/_Sidebar.md new file mode 100644 index 00000000..750d49db --- /dev/null +++ b/docs/_Sidebar.md @@ -0,0 +1,14 @@ +## Navigation + +- [[Home]] +- [[What is Struct Frame|index]] +- [[Installation|installation]] +- [[Message Definitions|message-definitions]] +- [[Framing|framing]] +- [[Testing|testing]] +- [[Development|development]] + +## Links + +- [Repository](https://github.com/mylonics/struct-frame) +- [Issues](https://github.com/mylonics/struct-frame/issues)