Skip to content

Framework Guides

Adapters

These ship with alap — import from alap/react, alap/vue, etc. Each adapter integrates with your framework's component model, state management, and lifecycle.

PageFrameworkPattern
Vanilla DOMNoneAlapUI class, .alap CSS selector
Web ComponentNone<alap-link> custom element, Shadow DOM
ReactReactAlapProvider + AlapLink + useAlap()
VueVue 3SFC components + useAlap() composable
SvelteSvelte 5Components + runes
SolidJSSolidJSComponents + signals
AstroAstro.astro components wrapping the web component
Alpine.jsAlpine.jsx-alap directive plugin
QwikQwikResumable components — zero JS until interaction

Integrations

Separate packages that connect Alap to specific platforms, build tools, and content pipelines. Each has its own install step.

IntegrationPackageWhat it does
Eleventyeleventy-alapShortcodes + filters, optional build-time resolution
Next.jsnext-alap'use client' boundaries, layout component, MDX config
Nuxtnuxt-alapClient plugin, Vue re-exports, Nuxt Content markdown
Astro Integrationastro-alapZero-config setup — one line in your Astro config
Hugohugo-alapShortcodes + partials that output <alap-link>
Qwik Cityqwik-alapVite plugin for Qwik City projects
VitePressvitepress-alapVite plugin for <alap-link> in markdown docs
WordPressWordPress plugin[alap] shortcode, SQLite containers
Markdownremark-alap[text](alap:query) syntax for any remark pipeline
HTML / CMSrehype-alapTransform <a href="alap:query"> from headless CMSs
MDX@alap/mdxReact-based MDX content
Tiptaptiptap-alapInline Alap links in Tiptap rich-text editors
CDN / IIFE<script> tag, no bundler, no npm
htmx<alap-link> auto-initializes after htmx swaps

Which one should I use?

  • No framework? Start with Web Component — it works in plain HTML
  • Have a framework? Use its adapter — it feels native and integrates with your component tree
  • Need maximum CSS control? Vanilla DOM renders into the page with no shadow boundary
  • Zero JS until click? Qwik — resumability means no parser/engine code loads until someone interacts
  • htmx / HTML-over-the-wire? Use the Web Component<alap-link> auto-initializes after htmx swaps. See the htmx example
  • VitePress docs? See the VitePress integration — Vite plugin registers <alap-link> for markdown
  • Static site? Eleventy, Astro, VitePress, or Web Component with the CDN build
  • Next.js? See the Next.js integration'use client' handled, layout component, MDX config
  • Nuxt? See the Nuxt integration — client plugin, Vue re-exports, Nuxt Content
  • Hugo? See the Hugo integration — shortcodes + web component
  • WordPress? See the WordPress plugin[alap] shortcode, SQLite containers

See also