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
3 changes: 2 additions & 1 deletion pages/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ If it runs Python and Node, it runs Pyxle.
- [Quick start](https://pyxle.dev/docs/getting-started/quick-start.md) — build your first app
- [.pyxl files](https://pyxle.dev/docs/core-concepts/pyxl-files.md) — the core format
- [Pyxle Studio](https://pyxle.dev/docs/guides/studio.md) — the dashboard built into `pyxle dev`
- [Debugging .pyxl files](https://pyxle.dev/docs/guides/debugging-pyxl.md) — breakpoints in the loader and the component
- [Debugging](https://pyxle.dev/docs/guides/debugging.md) — breakpoints in the loader and the component, in one file
- [Editor setup](https://pyxle.dev/docs/guides/editor-setup.md) — the VS Code extension: `code --install-extension pyxle.pyxle-language-tools`
- [Pyxle for AI coding agents](https://pyxle.dev/docs/guides/for-ai-agents.md)

## Explore
Expand Down
21 changes: 16 additions & 5 deletions pages/index.pyxl
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ function JustShipped() {
</p>
<span className="ml-auto flex items-center gap-4">
<Link href="/docs/guides/studio" className="focus-ring rounded font-mono text-[12px] text-acct underline decoration-1 underline-offset-4 transition-[text-decoration-thickness] hover:decoration-2">Studio</Link>
<Link href="/docs/guides/debugging-pyxl" className="focus-ring rounded font-mono text-[12px] text-acct underline decoration-1 underline-offset-4 transition-[text-decoration-thickness] hover:decoration-2">Debugger</Link>
<Link href="/docs/guides/debugging" className="focus-ring rounded font-mono text-[12px] text-acct underline decoration-1 underline-offset-4 transition-[text-decoration-thickness] hover:decoration-2">Debugger</Link>
<button
type="button"
onClick={dismiss}
Expand Down Expand Up @@ -466,7 +466,7 @@ const INDEX_ROWS = [
['Hot reload', 'Vite HMR, Python changes included'],
['Server actions', '@action replaces the API layer'],
['Studio', 'a dashboard for routes, loaders & actions', '/docs/guides/studio'],
['The debugger', 'breakpoints in .pyxl — Python and React', '/docs/guides/debugging-pyxl'],
['The debugger', 'breakpoints in .pyxl — Python and React', '/docs/guides/debugging'],
['Plugins', 'auth, database, and your own'],
['ASGI underneath', 'uvicorn today, any host tomorrow'],
];
Expand Down Expand Up @@ -579,13 +579,24 @@ function StudioAndDebugger() {
<p className="mt-3 font-mono text-[11px] leading-relaxed text-ink2">
routes · tester · request feed · latency · resolved config · pyxle check
</p>
<p className="mt-4 font-mono text-[11px] leading-relaxed text-ink2">
Already on Pyxle? <span className="text-ink">pip install --upgrade pyxle-framework</span>
</div>
<div data-reveal className="mt-5 border-t border-rule pt-5">
<div className="flex items-center gap-3 font-mono text-[13px] text-ink">
<span className="select-none text-acct">$</span>
<span className="truncate">code --install-extension pyxle.pyxle-language-tools</span>
<span className="ml-auto"><CopyButton text="code --install-extension pyxle.pyxle-language-tools" /></span>
</div>
<p className="mt-3 font-mono text-[11px] leading-relaxed text-ink2">
F5 needs the extension · already on Pyxle?{' '}
<span className="text-ink">pip install --upgrade pyxle-framework</span>
</p>
</div>
<p data-reveal className="mt-7 flex flex-wrap items-center gap-x-7 gap-y-3">
<EditorialLink href="/docs/guides/debugging">Debug a .pyxl file →</EditorialLink>
<EditorialLink href="/docs/guides/studio">Studio, panel by panel →</EditorialLink>
<EditorialLink href="/docs/guides/debugging-pyxl">Debug a .pyxl file →</EditorialLink>
<EditorialLink href="https://marketplace.visualstudio.com/items?itemName=pyxle.pyxle-language-tools" external>
Get the VS Code extension ↗
</EditorialLink>
</p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion public/docs-data/changelog.json

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion public/docs-data/guides/debugging-pyxl.json

This file was deleted.

2 changes: 1 addition & 1 deletion public/docs-data/guides/debugging.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public/docs-data/guides/editor-setup.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public/docs-data/guides/studio.json

Large diffs are not rendered by default.

64 changes: 21 additions & 43 deletions public/docs-data/manifest.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public/docs-data/reference/cli.json

Large diffs are not rendered by default.

370 changes: 232 additions & 138 deletions public/llms-full.txt

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
- [Error Handling](https://pyxle.dev/docs/guides/error-handling.md): Pyxle provides structured error handling through error exceptions, error boundaries, and not-found pages.
- [Testing](https://pyxle.dev/docs/guides/testing.md): Pyxle apps are mostly plain Python — your `@server` loaders and `@action` handlers are ordinary `async` functions, and your business logic is whatever Python you write. That means you can test with th
- [Debugging](https://pyxle.dev/docs/guides/debugging.md): A Pyxle app has two runtimes: **Python** (your `@server` loaders, `@action` handlers, and the request pipeline) and **Node.js** (the SSR worker that renders your React components to HTML). Knowing whi
- [Debugging .pyxl files](https://pyxle.dev/docs/guides/debugging-pyxl.md): Set a breakpoint directly in your `.pyxl` source — on a line inside a `@server` loader *and* on a line inside the JSX below it — and both bind. `pyxle dev --inspect` exposes the Python half to any deb
- [Pyxle Studio](https://pyxle.dev/docs/guides/studio.md): Pyxle Studio is the dashboard built into `pyxle dev` — one local page that shows everything the development server knows about your app: every route with its loader and actions, an interactive tester
- [Client Components](https://pyxle.dev/docs/guides/client-components.md): Pyxle provides built-in React components and hooks importable from `pyxle/client`.
- [Security](https://pyxle.dev/docs/guides/security.md): Pyxle includes CSRF protection, CORS support, and HEAD element sanitisation out of the box.
Expand Down
1 change: 0 additions & 1 deletion public/sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
<url><loc>https://pyxle.dev/docs/guides/error-handling</loc><priority>0.7</priority></url>
<url><loc>https://pyxle.dev/docs/guides/testing</loc><priority>0.7</priority></url>
<url><loc>https://pyxle.dev/docs/guides/debugging</loc><priority>0.7</priority></url>
<url><loc>https://pyxle.dev/docs/guides/debugging-pyxl</loc><priority>0.7</priority></url>
<url><loc>https://pyxle.dev/docs/guides/studio</loc><priority>0.7</priority></url>
<url><loc>https://pyxle.dev/docs/guides/client-components</loc><priority>0.7</priority></url>
<url><loc>https://pyxle.dev/docs/guides/security</loc><priority>0.7</priority></url>
Expand Down
4 changes: 1 addition & 3 deletions scripts/build-docs.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ const NAV_STRUCTURE = [
{ file: "guides/error-handling.md", slug: "error-handling" },
{ file: "guides/testing.md", slug: "testing" },
{ file: "guides/debugging.md", slug: "debugging" },
{ file: "guides/debugging-pyxl.md", slug: "debugging-pyxl" },
{ file: "guides/studio.md", slug: "studio" },
{ file: "guides/client-components.md", slug: "client-components" },
{ file: "guides/security.md", slug: "security" },
Expand Down Expand Up @@ -194,8 +193,7 @@ const SEARCH_KEYWORDS = {
"guides/api-routes": ["api", "rest", "json api", "endpoint", "websocket", "starlette"],
"guides/background-tasks": ["background", "background tasks", "tasks", "queue", "async", "fire and forget", "deferred", "post-response", "celery", "arq", "dramatiq", "job queue", "enqueue", "request.state.background", "send email", "webhook"],
"guides/testing": ["test", "testing", "tests", "pytest", "unit test", "unit testing", "end-to-end", "e2e", "test client", "pyxle.testing", "load_loader", "load_page", "test a loader", "test an action", "httpx", "mock request", "fake request", "PyxleTestClient"],
"guides/debugging": ["debug", "debugging", "pdb", "breakpoint", "traceback", "error overlay", "server logs", "console.log", "inspect", "node inspector", "ssr error", "compiled output", ".pyxle-build", "window is not defined", "stack trace", "logging"],
"guides/debugging-pyxl": ["debugger", "breakpoints", "breakpoint", "debugpy", "vs code", "vscode", "step through", "step debugging", "dap", "--inspect", "inspect", "f5", "attach", "launch.json", "source maps", "js-debug", "dev-server.json", "pause", "debug extra"],
"guides/debugging": ["debug", "debugging", "debugger", "pdb", "breakpoint", "breakpoints", "debugpy", "traceback", "error overlay", "server logs", "console.log", "inspect", "--inspect", "node inspector", "ssr error", "compiled output", ".pyxle-build", "window is not defined", "stack trace", "logging", "vs code", "vscode", "extension", "install extension", "step through", "step debugging", "dap", "f5", "attach", "launch.json", "source maps", "js-debug", "dev-server.json", "pause"],
"guides/studio": ["studio", "pyxle studio", "dashboard", "devtools", "dev tools", "route tester", "tester", "loader tester", "action tester", "inspect", "request feed", "live requests", "routes panel", "__pyxle", "allowedhosts", "dns rebinding"],
"guides/middleware": ["middleware", "request hook", "auth guard"],
"guides/plugins": ["plugin", "plugins", "installed apps", "extensions", "packages"],
Expand Down