Repository navigation
feat: add versioned docs to website #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
e0066e8
feat: add versioned docs to website
jaymyaka fc0a7df
org page updates
jaymyaka 374d016
Potential fix for pull request finding 'CodeQL / Workflow does not co…
jaymyaka 0ccb8c4
fix: add deployments:write permission to deploy-preview job
jaymyaka File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| name: Sync Docs from Source | ||
|
|
||
| on: | ||
| repository_dispatch: | ||
| types: [sync-docs] | ||
| workflow_dispatch: | ||
| inputs: | ||
| repo: | ||
| description: 'Repository to sync' | ||
| required: true | ||
| default: 'dataenginex' | ||
| type: choice | ||
| options: | ||
| - dataenginex | ||
| - dex-studio | ||
| version: | ||
| description: 'Version tag to sync' | ||
| required: true | ||
| default: 'v0.1.0' | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| jobs: | ||
| sync: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v6 | ||
| with: | ||
| token: ${{ secrets.GITHUB_TOKEN }} | ||
|
|
||
| - name: Parse payload | ||
| id: parse | ||
| run: | | ||
| if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then | ||
| echo "repo=${{ github.event.inputs.repo }}" >> $GITHUB_OUTPUT | ||
| echo "version=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT | ||
| else | ||
| echo "repo=${{ github.event.client_payload.repo }}" >> $GITHUB_OUTPUT | ||
| echo "version=${{ github.event.client_payload.version }}" >> $GITHUB_OUTPUT | ||
| fi | ||
|
|
||
| - name: Clone source docs | ||
| run: | | ||
| REPO="${{ steps.parse.outputs.repo }}" | ||
| VERSION="${{ steps.parse.outputs.version }}" | ||
| git clone --depth 1 --branch "$VERSION" \ | ||
| "https://github.com/TheDataEngineX/$REPO.git" /tmp/$REPO | ||
| rm -rf "docs-store/$REPO/$VERSION" | ||
| mkdir -p "docs-store/$REPO/$VERSION" | ||
| if [ -d "/tmp/$REPO/docs" ]; then | ||
| cp -r "/tmp/$REPO/docs/"* "docs-store/$REPO/$VERSION/" | ||
| fi | ||
|
|
||
| - name: Build site | ||
| run: | | ||
| uv python install 3.13 | ||
| uv sync | ||
| PYTHONPATH=. uv run poe build | ||
|
|
||
| - name: Commit docs-store | ||
| run: | | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "github-actions[bot]@users.noreply.github.com" | ||
| git add docs-store/ | ||
| git diff --cached --quiet || git commit -m "chore: sync docs [skip ci]" | ||
| git push | ||
|
|
||
| - name: Deploy to Cloudflare Pages | ||
| uses: cloudflare/pages-action@v1 | ||
| with: | ||
| apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | ||
| accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | ||
| projectName: thedataenginex-org | ||
| directory: output/ | ||
| gitHubToken: ${{ secrets.GITHUB_TOKEN }} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,3 +5,4 @@ output/ | |
| .uv/ | ||
| *.egg-info/ | ||
| .DS_Store | ||
| docs-store/ | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,31 +1,50 @@ | ||
| # CLAUDE.md — DEX Website | ||
|
|
||
| > Workspace-wide rules in `../CLAUDE.md`. | ||
|
|
||
| ## Project Overview | ||
| Marketing site + versioned documentation for thedataenginex.org. | ||
| Static site generated with Pelican (marketing) + custom build script (docs). | ||
| Deployed to Cloudflare Pages. | ||
|
|
||
| Marketing site for thedataenginex.org. Static site generated with Pelican, deployed to Cloudflare Pages. | ||
|
|
||
| **Stack:** Pelican · Python 3.13+ · uv · Custom `dex` theme | ||
|
|
||
| **Stack:** Pelican 4.12 · Python 3.13+ · uv · Custom `dex` theme · Jinja2 · Markdown | ||
| **Live site:** https://thedataenginex.org | ||
|
|
||
| ## Commands | ||
|
|
||
| ```bash | ||
| uv run poe dev # Dev server at http://localhost:8080 (live reload) | ||
| uv run poe build # Production build → output/ | ||
| uv run poe serve # Serve output/ locally | ||
| uv run poe clean # Remove output/ | ||
| ``` | ||
| uv run poe dev # Dev server at http://localhost:8080 (Pelican only, live reload) | ||
| uv run poe build # Production build: Pelican + docs -> output/ | ||
| uv run poe build-pelican # Pelican only | ||
| uv run poe build-docs # Docs only (after Pelican build) | ||
| uv run poe serve # Serve output/ locally | ||
| uv run poe clean # Remove output/ | ||
|
|
||
| ## Key Files | ||
|
|
||
| | Path | Purpose | | ||
| |------|---------| | ||
| | `pelicanconf.py` | Dev config (localhost) | | ||
| | `publishconf.py` | Production config (thedataenginex.org) | | ||
| | `content/pages/` | Static pages (why.md, changelog.md) | | ||
| | `themes/dex/` | Custom Pelican theme | | ||
| | `content/extra/CNAME` | Cloudflare/GitHub Pages CNAME | | ||
| | `.github/workflows/deploy.yml` | CI deploy via Cloudflare Pages Action | | ||
| | pelicanconf.py | Pelican dev config | | ||
| | publishconf.py | Pelican production config | | ||
| | content/pages/ | Marketing pages (why.md, changelog.md) | | ||
| | themes/dex/ | Custom Pelican theme + docs CSS/JS | | ||
| | scripts/build_site.py | Docs build script (runs after Pelican) | | ||
| | templates/docs/ | Docs Jinja2 templates | | ||
| | config/site.yml | Docs site configuration | | ||
| | docs-store/ | Versioned documentation (synced from source repos) | | ||
| | .github/workflows/deploy.yml | CI deploy via Cloudflare Pages Action | | ||
| | .github/workflows/sync.yml | Docs sync triggered by source repo releases | | ||
|
|
||
| ## Docs Build | ||
|
|
||
| `scripts/build_site.py` walks `docs-store/` and renders .md -> .html. | ||
| - Output goes to Pelican's `output/docs/` directory | ||
| - Generates `output/sitemap.xml`, `output/robots.txt` (overwriting Pelican's) | ||
| - Generates `output/search-index.json` for client-side search | ||
| - Minifies HTML output | ||
|
|
||
| ### Adding docs from a new version | ||
| ```bash | ||
| # Manually add to docs-store/ | ||
| mkdir -p docs-store/dataenginex/v0.2.0/ | ||
| cp -r /path/to/docs/* docs-store/dataenginex/v0.2.0/ | ||
| uv run poe build-docs | ||
| ``` | ||
|
|
||
| ### Sync from source repo release | ||
| Source repos fire `repository_dispatch` -> `.github/workflows/sync.yml`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| site: | ||
| name: TheDataEngineX | ||
| url: https://thedataenginex.org | ||
| description: DataEngineX platform — run AI agents, data pipelines, and ML workflows on your own infrastructure | ||
|
|
||
| repos: | ||
| dataenginex: | ||
| display_name: DataEngineX | ||
| description: Python library for data engineering & AI agents | ||
| dex-studio: | ||
| display_name: DEX Studio | ||
| description: Self-hosted web UI for the DataEngineX platform | ||
|
|
||
| og_default_image: /theme/img/og-card.png |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # Getting Started | ||
|
|
||
| Install DataEngineX and run your first pipeline. | ||
|
|
||
| ## Installation | ||
|
|
||
| ```bash | ||
| pip install dataenginex | ||
| ``` | ||
|
|
||
| ## First Pipeline | ||
|
|
||
| Create a `dex.yaml` file and run `dex run`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # DataEngineX Documentation | ||
|
|
||
| Welcome to the DataEngineX documentation. Build and run AI agents, data pipelines, and ML workflows. | ||
|
|
||
| ## Quick Start | ||
|
|
||
| Install with `pip install dataenginex`. | ||
|
|
||
| ## Guides | ||
|
|
||
| - [Getting Started](getting-started) | ||
| - [Configuration](configuration) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # DEX Studio Documentation | ||
|
|
||
| Welcome to DEX Studio, the self-hosted web UI for the DataEngineX platform. | ||
|
|
||
| ## Quick Start | ||
|
|
||
| ```bash | ||
| dex-studio | ||
| ``` | ||
|
|
||
| Then open http://localhost:7860. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.