Long-form
Prose & Code Split
Runs the explanation and the code sample it's describing side by side instead of stacking a code block under a wall of text — prose on one side, a labelled, independently scrollable code box on the other. Drops to a single column on mobile with the explanation first. No syntax-highlighter dependency to maintain or theme.
$ velocityx add prose-code-split Built for astro.
Full docs for Prose & Code Split →
Needs a licence key —
subscribe here, then
velocityx loginonce.
Every request passes through this function before it reaches a route handler, which makes it the right place to bounce a signed-out visitor back to the login page before any page logic runs.
export function middleware(req) {
if (!req.cookies.get('session')) {
return NextResponse.redirect('/login');
}
return NextResponse.next();
} Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| filename | string | No | ||
| lang | string | No | ||
| reverse | boolean | No | false |
File this creates
The CLI writes this path into your project, relative to its root — nothing else moves.
components/velocity/prose-code-split/ProseCodeSplit.astro Using the Prose & Code Split component
Install it with velocityx add prose-code-split.
The CLI writes the source straight into your project — no runtime dependency, no registry
lock-in, and it themes itself from the same primary-*/accent-* scale as the rest of the library.
Related components
More from Long-form.
The note / tip / warning / danger callout a docs page or technical article needs repeatedly, from one component instead of four. Left accent bar + icon + label so variants read apart at a glance without relying on colour alone, built for pages that stack several of these without feeling noisy.
astroThe affiliate/sponsored/review-unit disclosure strip that monetised long-form content needs near the top of the piece — calm, matter-of-fact copy with an optional link to a standing disclosure policy.
astroA lightweight 'was this helpful?' strip for the end of a post or docs page — thumbs up/down with an optional comment box that only appears after a choice is made, ending in a thank-you state. A deliberately lighter, binary take than a full satisfaction-score prompt, built to drop straight into prose with no state library.
astroThe opening block for a blog or long-form page — kicker, headline, dek, and an author/date/read-time meta row, with an optional cover image. Marked up as a proper document header with one real h1, so the rest of the article's heading order stays correct.
astro