Draft
Conversation
Reorganize import configs into per-library directories with unified
metadata, language variants, and version declarations. Each library
gets a single .import.ts file containing both UI metadata and import
configuration — the single source of truth per library.
New files:
- imports/types.ts: Shared types (LibraryMetadata, VariantImportConfig,
LibraryImportConfig)
- imports/configs/{lib}/{lib}.import.ts: Per-library configs (6 libraries)
- imports/configs/index.ts: Barrel exporting REMOTE_CONTENT and LIBRARY_CONFIGS
- src/config/libraries.ts: Registry builder + URL parsing/building helpers
- src/config/lang-icons.ts: Language icon definitions for library badges
Modified:
- src/content/config.ts: Imports REMOTE_CONTENT from new barrel
- scripts/clean-docs-import.ts: Updated for new barrel shape
- package.json: Point @larkiny/astro-github-loader to local fork
Deleted: 5 old flat config files (moved to per-library directories)
…-config-system DVP-1187: Add library configuration system
Library logos: cli, liquidauth, nodekit, rest, subscriber, tui, utils Language logos: algorand-python, algorand-typescript, go, py, python, ts, typescript UI: thinking Pure static assets — no code changes.
- Add github-script step to post/update Cloudflare preview URL as a PR comment (find-and-update pattern avoids comment spam) - Remove unnecessary "Capture PR Information" step that used deprecated ::set-output syntax - Reference PR context directly in Slack step instead of via intermediate outputs - Fix PR title JSON injection risk with toJSON() in Slack payload
The lint and build acceptance checks were not running for PRs targeting refactor/library-enablement because it wasn't in the pull_request.branches list.
…-svg-assets DVP-1188: Add library and language SVG logo assets
OpcodeFilters.astro: - Replace DOMContentLoaded with astro:page-load so filters re-initialize on client-side navigations - Add null guard for pages without opcode filter elements - Clear dynamic <option> elements before rebuilding to prevent duplicates on re-navigation DropDown.astro: - Replace throw with soft guard for pages without this dropdown - Add AbortController to window click listener to prevent listener accumulation across client-side navigations Both changes are backward-compatible: astro:page-load fires on initial load identically to DOMContentLoaded, and AbortController is a no-op when the script only runs once.
…script-fixes DVP-1189: Fix inline scripts for View Transition compatibility
Port sidebar component override and library navigation from experimental branch. Sidebar.astro gates on getLibraryFromPath() to branch between: - Library pages: LibraryDocsSidebar with language/version selectors - Main pages: LibraryPicker dropdown + default Starlight sidebar Components degrade gracefully — sidebar nav is empty until PR 2.5 populates library.sidebar entries. LibrarySwitcher available for Header integration in PR 2.2.
SiteTitle now detects library pages via getLibraryFromPath() and swaps the site logo for the library-specific SVG. The logo href also points to the library root on library pages. Footer rendering is unaffected. Header.astro is intentionally unchanged — Starlight's <Default> renders our overridden SiteTitle automatically, so no Header replacement needed.
…-sidebar-components feat(DVP-1190): Add library sidebar and navigation components
- Move library logo map from hardcoded SiteTitle imports to imports/configs/library-logos.ts (alongside other library configs) - Remove stale ./imports exclusion from tsconfig (repos/ no longer exists) - Update @larkiny/astro-github-loader to 0.12.0 (exports VersionConfig) - Add @types/picomatch dev dependency (surfaced by tsconfig fix)
- Fix logo dimension mismatch: use library logo's own width/height when active instead of site logo dimensions that could distort the SVG - Add LibrarySlug union type and use satisfies for compile-time safety: missing a logo entry for a new library now causes a type error - Improve comments: logo fallback priority, footer guard, @ts-expect-error - Fix JSDoc accuracy in library-logos.ts
These optional fields allow the GitHub loader to tag imported docs with their source library and version, enabling components to determine virtual collection membership at render time.
Strip version entries that have no backing content. Each variant imports from a single branch ref, so only 'latest' is valid until repos adopt the docs-dist versioned workflow.
Adds a /docs/ landing page with library cards grouped by category. The LibraryIndex component is fully config-driven — it pulls metadata, logos, and categories from the config system so adding a new library config automatically adds a card.
…library-detection feat(DVP-1191): Add library logo detection to SiteTitle
…-schema-fields feat(DVP-1193): Add library/version schema fields to content config
- Run Prettier on LibraryIndex.astro - Replace any[] return type on toStarlightSidebar with a proper StarlightSidebarEntry union type to satisfy no-explicit-any lint rule
…f hand-written mirror Replace hand-written StarlightSidebarEntry type with derivation from @astrojs/starlight/route-data public export. Add toStarlightBadge() normalizer to bridge optional→required badge variant.
…-index-page feat(DVP-1192): Add data-driven library index page
- Derive StarlightBadge from StarlightSidebarEntry (stays in sync with Starlight's Badge type including 'success' variant) - Use StarlightBadge['variant'] in LibrarySidebarLink/Group badge types - Add explicit return type to toStarlightBadge, remove unnecessary as const - Extract LibraryCategory type from LibraryConfig['category'] - Tighten getLibrariesByCategory() return to Partial<Record<LibraryCategory, ...>> - Tighten categoryLabels to Record<LibraryCategory, string> (compile error if a category label is missing) - Type-check categoryOrder in LibraryIndex.astro against LibraryCategory
…-index-page refactor(DVP-1192): Address code review findings for type safety
Migrate algokit-utils (pilot library) content from legacy paths to
URL-aligned paths matching the library virtual collection system.
This enables /docs/algokit-utils/{language}/{version}/ URLs to resolve
to actual content.
- Update import config basePaths to new URL-aligned structure
- Remove assetsPath/assetsBaseUrl in favor of co-located assets (loader v0.12.0)
- Split README/index into own include for version-root landing pages
- Add sidebar metadata (label + order) to both TS and Python index transforms
- Delete old content dirs (algokit/utils/, reference/algokit-utils-{ts,py}/)
- Delete old separate asset dirs (now co-located under content)
- Update 8 hardcoded links across 5 files to new URL format
- Update auto-sidebar-config.yml paths for new API doc locations
docs: added ak-cli and puya-ts to devportal
☁️ Cloudflare Pages PreviewPreview URL: https://ddcdbc5f.devportal-7it.pages.dev |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.