Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
dc0b6ed
feat(engine): emit independent production HTML under docs/.scarp/dist
sanskarIN Nov 6, 2026
79d04de
test(engine): verify SEO and 138 routes of the Scarp-owned production…
sanskarIN Nov 6, 2026
a4cc3d0
fix(offline): package Scarp engine production and require local-only …
sanskarIN Nov 6, 2026
4f14722
ci(pages): deploy custom TypeScript generated site, not VitePress output
sanskarIN Nov 6, 2026
bc17d5a
chore(engine): ignore Scarp-owned production build artifacts
sanskarIN Nov 6, 2026
a569d2a
feat(engine): add loopback-only Scarp-owned development and productio…
sanskarIN Nov 6, 2026
52a0ff8
feat(engine): use Scarp-owned TypeScript generator for production bui…
sanskarIN Nov 6, 2026
3993153
test(engine): allow same Chromium/axe tests against extracted offline…
sanskarIN Nov 6, 2026
39ffe29
test(offline): execute real Scarp-owned Chromium checks against an ex…
sanskarIN Nov 6, 2026
ba1b635
test(offline): make default browser acceptance run against distribute…
sanskarIN Nov 6, 2026
66f59c1
ci(offline): verify full production archive before running framework-…
sanskarIN Nov 6, 2026
88a8dc0
docs(readme): describe Scarp-owned production renderer and transition…
sanskarIN Nov 6, 2026
dd236e2
docs(engine): document new production output, dev server and remainin…
sanskarIN Nov 6, 2026
7f314b0
docs(maintenance): document own production renderer and archive valid…
sanskarIN Nov 6, 2026
17e98b9
docs(search): refer to Scarp-owned English/Hindi full-text indexing
sanskarIN Nov 6, 2026
d4a0d98
docs(hi-search): reflect Scarp-owned searchable index in Hindi
sanskarIN Nov 6, 2026
e83d38e
docs(offline): update reader-facing offline search implementation
sanskarIN Nov 6, 2026
2633f25
docs(hi-offline): describe own offline search and paths
sanskarIN Nov 6, 2026
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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -154,9 +154,9 @@ jobs:
run: npm install --no-audit --no-fund
- name: Install pinned Playwright Chromium on the hosted Ubuntu runner
run: npx playwright install chromium
- name: Build and package real bilingual offline documentation
run: npm run docs:build && npm run package:offline
- name: Check English/Hindi accessibility, CLI selector, offline search and mobile navigation in Chromium
- name: Build and verify Scarp-owned offline documentation archive
run: npm run docs:build && npm run package:offline && npm run test:offline
- name: Check extracted Scarp-owned offline archive in Chromium and axe
run: npm run test:browser-offline
- name: Test Scarp-owned static engine in Chromium independently of VitePress
run: npm run scarp:test && npm run scarp:browser-test
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
run: npm run check:alpha6-ast && npm run test:alpha6-ast
- name: Validate bilingual compiler host and capability diagnostics
run: npm run check:alpha6-diagnose && npm run test:alpha6-diagnose
- name: Keep Vue/TypeScript and Dependabot compatible
- name: Retain transitional compiler/toolchain compatibility checks
run: npm run check:toolchain && npm run test:toolchain
- name: Regression-test complete bilingual sitemap coverage
run: npm run test:sitemap
Expand All @@ -54,7 +54,7 @@ jobs:
retention-days: 30
- uses: actions/upload-pages-artifact@v5
with:
path: docs/.vitepress/dist
path: docs/.scarp/dist
deploy:
needs: build
environment:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ artifacts/
test-results/
playwright-report/
browser-a11y/
docs/.scarp/dist/
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Scarp Documentation


**Migration underway:** Scarp Docs is developing a framework-free TypeScript documentation engine. See [architecture and migration gates](SCARP-DOCS-ENGINE.md) and [Issue #70](https://github.com/scarp-lang/scarp-docs/issues/70). The independent build and browser checks are in CI; VitePress remains the current published-site generator until the migration gate passes. No stable release is implied.
**Custom documentation engine:** Scarp Docs now builds from the Scarp-owned TypeScript generator, with bilingual HTML, local search, responsive layout and offline-browser tests. See [architecture and migration gates](SCARP-DOCS-ENGINE.md) and [Issue #70](https://github.com/scarp-lang/scarp-docs/issues/70). Legacy VitePress/Vue validation code and dependencies are transitional and will be removed after the new Pages deployment is verified. No stable release is implied.

Official VitePress documentation for the experimental [Scarp Programming Language](https://github.com/scarp-lang/scarp).
Official TypeScript-generated documentation for the experimental [Scarp Programming Language](https://github.com/scarp-lang/scarp).

**Website (English):** https://scarp-lang.github.io/scarp-docs/

Expand All @@ -13,7 +13,7 @@ Official VitePress documentation for the experimental [Scarp Programming Languag

**Latest published compiler:** [v0.0.6-alpha.1](https://github.com/scarp-lang/scarp/releases/tag/v0.0.6-alpha.1), November 5, 2026, source commit `aa329a22cf2bf92d2c9814a26ff9c8b67a72e6e8`. Read the [English release guide](docs/releases/v0.0.6-alpha.1.md) and [हिन्दी release guide](docs/hi/releases/v0.0.6-alpha.1.md). The [symbol navigation and CLI reference](docs/tooling/cli-alpha6.md), [हिन्दी symbols guide](docs/hi/tooling/cli-alpha6.md), [RMS tutorial](docs/language/rms-alpha6.md) and [हिन्दी RMS पाठ](docs/hi/language/rms-alpha6.md) document features **actually published** in alpha.6. The docs pin tagged compiler examples/JSON fixtures, track release drift and run the tagged CLI in CI. Native `.srp` compilation and LSP integrations remain unavailable.

**Find documentation in your language:** [Search and navigation](docs/guide/search-and-navigation.md) · [हिन्दी में खोजें](docs/hi/guide/search-and-navigation.md). The built-in VitePress search now offers Hindi labels, accessible keyboard hints and a translated no-results state; English remains unchanged. Search is client-side and does not depend on an external hosted search provider.
**Find documentation in your language:** [Search and navigation](docs/guide/search-and-navigation.md) · [हिन्दी में खोजें](docs/hi/guide/search-and-navigation.md). The Scarp-owned local search offers Hindi labels, accessible keyboard hints and a translated no-results state; English remains unchanged. Search is client-side and does not depend on an external hosted search provider.

**Start learning in order:** [English: seven-stage learning path](docs/guide/learning-path.md) · [हिन्दी: सात चरणों में Scarp](docs/hi/guide/learning-path.md). Historical compiler examples retain their versioned baselines; the learning path explains which release to use, from alpha.1 through the latest alpha.6, without claiming universal compatibility.

Expand Down
4 changes: 2 additions & 2 deletions SCARP-DOCS-ENGINE.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ npm run scarp:browser-test

The engine's test build is generated under artifacts/scarp-engine-preview/scarp-docs/. Its assets use the existing /scarp-docs/ URL prefix; the browser test starts its own safe loopback HTTP server.

**Do not confuse the shadow build with production.** The official npm run docs:build and GitHub Pages workflow still use VitePress until the final migration gate has passed.
**Production build:** npm run docs:build now generates docs/.scarp/dist/ using the Scarp-owned renderer. npm run docs:dev starts its loopback-only watched Markdown server, and npm run docs:preview serves that production output. npm run scarp:build still creates an isolated comparison preview. Official GitHub Pages and the offline archive consume only the Scarp-owned output. Do not call the migration fully complete until deployment and the remaining legacy-tooling removal gates pass.

## Acceptance gates for replacing production

Expand All @@ -45,4 +45,4 @@ The engine's test build is generated under artifacts/scarp-engine-preview/scarp-

The renderer escapes unreviewed raw Markdown HTML. It explicitly recognizes only the project's callouts and named widgets; future embedded content must be implemented and tested rather than bypassing HTML safety. The core language reference remains pinned to v0.0.5-alpha.1. The latest published compiler verified at migration start is v0.0.6-alpha.1, not the changing compiler main branch.

This phase provides an **independent tested engine**, not the final VitePress removal. Complete the public-site switch in a follow-up PR tracked by Issue #70 after parity is proven.
The Scarp-owned renderer is now the production-build candidate. The legacy VitePress/Vue dependencies, old theme/config and a few source-evidence checks remain temporarily for compatibility; they are no longer the website renderer or Pages build. Remove them after live Pages, offline archive, and release CI have independently confirmed the new output. Track completion in Issue #70.
4 changes: 2 additions & 2 deletions docs/guide/offline-docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@ Open the local addresses:
- English: `http://127.0.0.1:8080/scarp-docs/`
- हिन्दी: `http://127.0.0.1:8080/scarp-docs/hi/`

The included server binds only to **127.0.0.1** (this computer). Stop with **Ctrl+C**. Do not open `index.html` with a `file://` URL: the site uses absolute `/scarp-docs/` asset paths and requires HTTP serving.
The included server binds only to **127.0.0.1** (this computer). Stop with **Ctrl+C**. Do not open `index.html` with a `file://` URL: the generated site uses absolute `/scarp-docs/` asset paths and requires HTTP serving.

## What works offline?

**Automated accessibility checks:** The offline test suite scans a selection of actual English/Hindi pages and interactive states with locally bundled axe-core WCAG A/AA rules and checks 320px-wide reflow. These checks find common machine-detectable problems; they **do not replace** manual keyboard, screen-reader or contrast perception reviews.

**Automated browser verification:** the documentation CI now starts the extracted local server in headless Chromium and checks English/Hindi Command Finder interaction, real clipboard success and denied permissions, keyboard-activated local search and its empty-results state, language switching, skip-to-content, persisted dark/light appearance, mobile navigation, reduced-motion operation and the absence of external requests. The browser runs locally against the packaged archive, not the hosted GitHub Pages site. This does not constitute a complete WCAG audit.

The snapshot includes **all generated English and Hindi pages**, their local CSS/JavaScript, and the assets used by VitePress local search and the version-aware [Command Finder](/tooling/command-finder). Regular internal navigation runs against your local server. Links to GitHub, official releases, social profiles, or other external sites **still require internet**. The browser's actual keyboard/search behavior is being tracked separately in [accessibility test issue #65](https://github.com/scarp-lang/scarp-docs/issues/65); static asset checks are not equivalent to a full browser accessibility audit.
The snapshot includes **all generated English and Hindi pages**, their local CSS/JavaScript, and the assets used by Scarp Docs local search and the version-aware [Command Finder](/tooling/command-finder). Regular internal navigation runs against your local server. Links to GitHub, official releases, social profiles, or other external sites **still require internet**. The browser's actual keyboard/search behavior is being tracked separately in [accessibility test issue #65](https://github.com/scarp-lang/scarp-docs/issues/65); static asset checks are not equivalent to a full browser accessibility audit.

Read `MANIFEST.json` inside the extracted archive for the documentation version, exact docs source commit, compiler release boundary and SHA-256 digest of every packaged file. The core reference remains pinned to alpha.1; the latest separately documented published compiler is [v0.0.6-alpha.1](/releases/v0.0.6-alpha.1). An offline snapshot does **not** upgrade the interpreter.

Expand Down
4 changes: 2 additions & 2 deletions docs/guide/search-and-navigation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Search and navigate Scarp Docs

Find an implemented feature, an exact CLI command or a release-specific example without leaving the official documentation. Scarp Docs provides **local VitePress search** for both English and Hindi pages; it does **not** send search terms to an external search provider.
Find an implemented feature, an exact CLI command or a release-specific example without leaving the official documentation. Scarp Docs provides **local Scarp Docs search** for both English and Hindi pages; it does **not** send search terms to an external search provider.

## Open search

Expand All @@ -19,4 +19,4 @@ For exact commands, compare the [alpha.6 CLI](/tooling/cli-alpha6), [AST inspect

## When search shows no results

Check the spelling of Scarp keywords, use a shorter term, or switch locale using the language menu. Search is provided by VitePress's static site index and needs JavaScript enabled to display results. The offline Chromium suite also checks the no-results message and that **Esc** returns focus to the search trigger when opened from that button. A failed local index load is not evidence that a compiler feature does not exist: use the [page navigation](/guide/learning-path) or the [compiler's published release notes](/releases/v0.0.6-alpha.1) instead.
Check the spelling of Scarp keywords, use a shorter term, or switch locale using the language menu. Search is provided by Scarp Docs' generated static full-text index and needs JavaScript enabled to display results. The offline Chromium suite also checks the no-results message and that **Esc** returns focus to the search trigger when opened from that button. A failed local index load is not evidence that a compiler feature does not exist: use the [page navigation](/guide/learning-path) or the [compiler's published release notes](/releases/v0.0.6-alpha.1) instead.
4 changes: 2 additions & 2 deletions docs/hi/guide/offline-docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@ Browser में ये local पते खोलें:
- English: `http://127.0.0.1:8080/scarp-docs/`
- हिन्दी: `http://127.0.0.1:8080/scarp-docs/hi/`

Server केवल **127.0.0.1** अर्थात आपके अपने कंप्यूटर पर सुनता है। इसे बंद करने के लिए **Ctrl+C** दबाएँ। `file://` के माध्यम से सीधे `index.html` न खोलें; VitePress की `/scarp-docs/` paths को स्थानीय HTTP server चाहिए।
Server केवल **127.0.0.1** अर्थात आपके अपने कंप्यूटर पर सुनता है। इसे बंद करने के लिए **Ctrl+C** दबाएँ। `file://` के माध्यम से सीधे `index.html` न खोलें; Scarp Docs की `/scarp-docs/` paths को स्थानीय HTTP server चाहिए।

## Offline में क्या उपलब्ध है?

**Automated accessibility जाँच:** Offline test suite, local axe-core के WCAG A/AA नियमों के अनुसार English/Hindi पृष्ठों तथा interactive स्थितियों की जाँच करती है। 320px viewport पर reflow भी जाँचा जाता है। ये परीक्षण कुछ सामान्य समस्याएँ पकड़ते हैं; **manual keyboard, screen-reader और contrast जाँच का विकल्प नहीं** हैं।

**असल browser परीक्षण:** Documentation CI extracted local server को headless Chromium में चलाकर English/Hindi Command Finder, clipboard success या permission failure, keyboard से local search तथा zero-results, भाषा बदलना, skip-to-content, dark/light mode की preference, mobile navigation, reduced-motion और बाहरी network requests न होने की पुष्टि करती है। यह जाँच packaged offline archive पर होती है, hosted GitHub Pages पर नहीं। इसे सम्पूर्ण WCAG accessibility audit **नहीं** मानें।

इस package में सभी English/Hindi HTML पृष्ठ, उनके स्थानीय CSS/JavaScript, VitePress search assets और [Command Finder](/hi/tooling/command-finder) शामिल हैं। पृष्ठों के अंदर के links स्थानीय server पर खुलते हैं। **बाहरी GitHub, social profiles तथा download links** के लिए फिर भी इंटरनेट चाहिए। असली browser में keyboard, search और accessibility परीक्षण का अलग काम [Issue #65](https://github.com/scarp-lang/scarp-docs/issues/65) पर रखा गया है; static assets की पुष्टि को पूरी browser accessibility जाँच न समझें।
इस package में सभी English/Hindi HTML पृष्ठ, उनके स्थानीय CSS/JavaScript, Scarp Docs search assets और [Command Finder](/hi/tooling/command-finder) शामिल हैं। पृष्ठों के अंदर के links स्थानीय server पर खुलते हैं। **बाहरी GitHub, social profiles तथा download links** के लिए फिर भी इंटरनेट चाहिए। असली browser में keyboard, search और accessibility परीक्षण का अलग काम [Issue #65](https://github.com/scarp-lang/scarp-docs/issues/65) पर रखा गया है; static assets की पुष्टि को पूरी browser accessibility जाँच न समझें।

Archive का `MANIFEST.json` docs version, source commit, प्रकाशित compiler version तथा हर packaged file का SHA-256 बताता है। मुख्य language reference अभी alpha.1 पर है; नवीनतम अलग सत्यापित प्रकाशित compiler [v0.0.6-alpha.1](/hi/releases/v0.0.6-alpha.1) है। सिर्फ docs डाउनलोड करने से Scarp interpreter upgrade नहीं होता।

Expand Down
2 changes: 1 addition & 1 deletion docs/hi/guide/search-and-navigation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Scarp Docs में खोजें और पृष्ठ खोलें

Scarp के सही keyword, compiler command या किसी प्रकाशित release के example को आधिकारिक दस्तावेज़ में खोज सकते हैं। English और हिन्दी पृष्ठों के लिए **VitePress की local search** उपलब्ध है। Search queries किसी बाहरी search provider को नहीं भेजी जातीं।
Scarp के सही keyword, compiler command या किसी प्रकाशित release के example को आधिकारिक दस्तावेज़ में खोज सकते हैं। English और हिन्दी पृष्ठों के लिए **Scarp Docs की अपनी local search** उपलब्ध है। Search queries किसी बाहरी search provider को नहीं भेजी जातीं।

## Search कैसे खोलें?

Expand Down
Loading
Loading