Skip to content

Commit a6b8ac0

Browse files
Dale-Blackclaude
andcommitted
Therapy.jl-powered docs site with live playground
Replace Documenter.jl docs with Therapy.jl-powered site: - Same framework as Therapy.jl docs, Julia Purple accent color - Routes: homepage (with embedded playground iframe), getting-started, API - Layout: JST wordmark, nav, footer, same warm palette - Live playground embedded via iframe on homepage - Old Documenter.jl docs archived to docs-old/ Docs structure: - docs/app.jl — Therapy.jl App config - docs/input.css — Tailwind v4 with purple accent - docs/src/components/Layout.jl — Site layout - docs/src/routes/ — File-based routing - docs/src/playground/ — Self-hosted browser compiler (parser+lowerer+infer+codegen) CI: GitHub Actions builds via julia --project=docs docs/app.jl build, copies playground to dist, deploys to GitHub Pages. JST compilation improvements (25+ operations): - sort, filter, map, copy, reverse, setindex!, deleteat!, in - lowercase, uppercase, contains, startswith, endswith, split, join, strip - zeros, ones, fill, parse, reduce, any, all, findfirst - :sgt_int, :sge_int intrinsics - Handlers in both compile_invoke AND compile_call (optimized + unoptimized IR) - contains arg order fix: contains(haystack, needle) Tests: 13 e2e tests via Node.js — actual output comparison Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent caf7ef6 commit a6b8ac0

35 files changed

Lines changed: 13970 additions & 19 deletions

.github/workflows/docs.yml

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,40 +26,31 @@ jobs:
2626
with:
2727
version: '1.12'
2828

29-
- name: Setup Node.js
30-
uses: actions/setup-node@v4
31-
with:
32-
node-version: '22'
29+
- uses: julia-actions/cache@v2
3330

34-
- name: Install Julia dependencies
31+
- name: Install dependencies
3532
run: |
3633
julia --project=docs -e '
3734
using Pkg
38-
Pkg.develop(PackageSpec(path="."))
35+
Pkg.resolve()
3936
Pkg.instantiate()
4037
'
4138
42-
- name: Build playground CodeMirror bundle
39+
- name: Build docs
4340
run: |
44-
if [ -f playground/cm-bundle/package.json ]; then
45-
cd playground/cm-bundle
46-
npm ci
47-
npx esbuild entry-global.js --bundle --format=iife --outfile=cm-julia.js --minify
48-
fi
41+
julia --project=docs docs/app.jl build
4942
50-
- name: Build docs
51-
env:
52-
CI: "true"
43+
- name: Copy playground to dist
5344
run: |
54-
julia --project=docs docs/make.jl
45+
cp -r docs/src/playground docs/dist/playground
5546
5647
- name: Setup Pages
5748
uses: actions/configure-pages@v4
5849

5950
- name: Upload artifact
6051
uses: actions/upload-pages-artifact@v3
6152
with:
62-
path: docs/build
53+
path: docs/dist
6354

6455
deploy:
6556
environment:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@ docs/build/
22
docs/src/assets/playground/
33
Manifest.toml
44
docs/Manifest.toml
5+
docs/dist/
6+
docs-old/build/

docs-old/Project.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[deps]
2+
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
3+
JavaScriptTarget = "91c6ed5a-2d04-438e-9585-7332732578c7"
4+
5+
[compat]
6+
Documenter = "1"
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)