Get the free theme

Build a WordPress site
in raw HTML.

<loupely-canvas>pro

Loupely Canvas is the free theme that renders your HTML full width and stays out of the way. Canvas Pro is the toolkit for building a whole site on it: a code editor with live preview, version history for everything WordPress forgets, a snippet library, page templates, named header and footer sets, conditional code injections, and custom post types with no PHP. Every feature is a working interactive demo, right here.

Requires the free Loupely Canvas theme  ·  Annual license

// second screen
index.html
1
loupely canvas

Hand built in HTML.

Canvas renders your markup full width.

Get started
Ln 1, Col 1HTML · live
preview Live
loupely canvas

Hand built in HTML.

Canvas renders your markup full width.

Get started

// click pop out, then keep typing. the floating preview stays live.

// type in the editor. the preview updates live.

<canvas-pro>every feature, live

Eight features. Every one interactive.

Open any demo below. The editor opens first since it’s the core of everything else. Work through them in order or jump to whatever interests you.

<page-editor>the core of pro

The editor you actually want for raw HTML.

The Custom HTML block is a gray textarea with no line numbers, no color, and no way to see what your page looks like without opening a separate tab. You end up toggling back and forth, restoring the whole block if WordPress decides to rearrange it on save, and hunting for an unclosed tag by reading gray text in a box the height of a Post-it. The page editor is built for writing markup.

Full screen mode

The block editor gives you a cramped 200px box for your entire page. Full screen expands the editor to fill the window, or hands it a monitor of its own. Esc returns.

Pop-out preview

WordPress makes you open Preview in a separate tab just to see your work. The live preview here opens in its own window, moves to a second monitor, and updates as you type.

Syntax coloring

The Custom HTML block shows your markup as one gray wall of text. Tags, attributes, strings, and values are colored as you write, so a long block stays readable at 3am.

Error checking as you type

WordPress can mangle or drop a block on save and you find out too late. The editor flags unclosed tags, duplicate IDs, and unescaped characters in the margin as you type, without blocking a save.

Search and replace

Ctrl+F can’t reach inside a textarea. Finding anything in a long block means copying it out to another editor. Search and replace runs right inside the box, with case, whole word, and regex.

Line numbers and bracket matching

A plain textarea gives you no line numbers and no way to see a tag’s match. Both are here, so you always know where you are and which tag you forgot to close.

Section outline

Scrolling a long block to find one section gets old fast. An outline lists every heading and landmark; click to jump anywhere, hide it when you want the width back.

Auto-close tags

Forgetting a closing tag is the fastest way to break a block. Switch it on and typing an opening tag drops in its closing tag, cursor left between them.

Page editor Canvas Pro
View
Edit
Headline
Sections
Style
Accent
Width
Monitor 1, editor
home.htmltap to expand
Monitor 2, live site
bvnrailway.colivetap to expand
Booking office
// the editor and the live site, generated from one source

Canvas Pro

The page editor

Write plain HTML and it is the page, full width, nothing added, nothing stripped. Edit it below and watch the code and the live site move together. Then pop the preview into its own block.

The editor is the foundation. Here’s the rest of the kit.

Writing markup is only part of running a site on it. The features below handle the rest: reusing blocks across pages, recovering from bad edits, managing multiple layouts, running scripts safely, moving a whole configuration to a new install, and registering content types without touching PHP. Each one has an interactive demo below.

  • Snippet library
  • Version history
  • Page templates
  • Code injections
  • Header and footer sets
  • Import and export
  • Custom post types

<snippet-library>

Write it once. Use it everywhere.

You rebuild the same hero, the same call-to-action band, the same footer nav on every project by pasting the same markup by hand. Then the client wants the button color changed and you’re hunting through 14 pages to fix it in 14 places. WordPress has no home for reusable raw HTML. Save it once as a named snippet, insert it by token anywhere a Canvas editor accepts input, and edit the master once when it needs to change.

  • Organize snippets into categories and insert by name or token
  • Works inside any page, header, footer, or per-page override box
  • The token expands at render time, so editing the snippet updates every page that uses it
  • Live preview per snippet so you see it before you paste it
Snippets Canvas Pro
Add
Dress it
bvnrailway.co live preview
Booking office
// every block here is a Custom HTML snippet, reused across the site

Canvas Pro

The snippet library

Save a block of markup once. Drop it onto any page, recolor it, restyle it. Edit the master and every copy follows. Build a page below.

<version-history>

Version history for everything WordPress forgets.

WordPress saves revisions for posts and pages, but not for anything a Canvas site is actually built from: your global header, footer, head code, snippets, templates, sets, or injections. Canvas pages live in a single Custom HTML block, so they sit outside revision browsing too. Make one bad edit and the only fix is a full-site backup restore, which drags everything else back with it. Version history covers all of it. Every save is recorded. Compare 2 versions side by side, then restore one. Restores are non-destructive, so a restore can itself be undone.

  • Every save recorded across pages, snippets, templates, sets, and injections
  • Side-by-side compare with visual and code diff
  • Non-destructive restores: the current state is saved to history first, so nothing is ever lost
  • Name and pin versions worth keeping. Pinned versions are never auto-trimmed
Version history Canvas Pro
Click a save to view it
home.html · history
home.html
Booking office
// every save kept, compare any two, roll back to any of them without losing the rest

Canvas Pro

Version history

Every save is kept on the line. Browse the page as it was at any point, compare two saves side by side, and roll back to one without losing the rest. Auto-saves are tucked away until you want them.

<page-templates>

Define the scaffold once. Apply it everywhere.

Copy and paste your way through 20 landing pages and the layout drifts, a CTA band falls out of sync on half of them, and a small structural change turns into an afternoon of hunting down every page you made. Define a scaffold once as a template. Create a new page from it with 1 button and the page opens in the Canvas editor, pre-filled and ready to edit. Or apply it across a batch of existing pages at once.

  • Create a page from a template with 1 button, from the template itself or the list
  • The new page opens in the Canvas editor, pre-filled and ready to edit
  • Bulk apply a scaffold across many existing pages at once
Templates Canvas Pro
Template
Then pick a template first
home.html
bvnrailway.co live preview
Booking office
// a template is a finished starting point, drop it in then make it yours

Canvas Pro

Page templates

Start from a finished layout, not a blank page. Pick a template and watch it drop in fully built. Recolor it, swap it, then make it yours.

<injections>

Scripts and styles, without touching theme files.

Adding a third-party script, a pixel, a CSS override, or a seasonal banner usually means editing functions.php or header.php, where one bad bracket can take the entire site down and there’s no undo. Save named blocks of CSS, JavaScript, or HTML instead, each with its own toggle and its own load rules. Enable them everywhere, or only where a URL pattern or category matches. Schedule a start and end date so a banner turns itself off when the sale ends, no reminder required.

  • CSS, JavaScript, head HTML, and body-end HTML, all in the same editor
  • Load everywhere or only where a URL pattern or category matches
  • Preview an injection on a real front-end page before saving
  • Schedule a start and end so seasonal blocks turn themselves off
  • Group related injections so they share one set of rules and enable/disable together
Injections Canvas Pro
CSS
JS
Conflict check
bvnrailway.co live preview
Booking office
// the checker reads your code, not the rendered page, so it never guesses at orphaned selectors

Canvas Pro

Code injections

Add CSS and JavaScript without touching theme files. Toggle them on and the page changes in front of you. The conflict check catches when two bits of code want the same thing.

<import-export>

Move your whole setup to a new site in one file.

Starting a new client site usually means rebuilding the same setup by hand: copy the header from somewhere, paste the footer, re-enter the snippets one by one, recreate the templates you’ve been refining for two years. WordPress won’t carry a configuration across installs. Export the whole thing as a single file and import it on the next install. Every item is a checkbox, so you pick exactly what to move and leave the rest alone. It doubles as a backup you can actually read.

  • Exports header, footer, head and body code, snippets, templates, sets, injections, and CPT definitions
  • Per-item checkbox on both export and import review, so nothing comes across you didn’t ask for
  • Built for agencies moving a configuration between client installs
  • Doubles as a configuration backup you can store anywhere
Import and export Canvas Pro
1 Export 2 Import into a new site
This site · pick what to pack
Manifest0 items
Booking office
// pages, snippets, sets, injections, take all of it or pick a single piece

Canvas Pro

Import and export

Pack your build into one file. Take everything, or pick exactly what travels, a single page, one snippet, even one injection out of many. Then carry it to a new site and choose what to bring in.

<custom-post-types>

Custom post types. No PHP. No ACF. No plugin stack.

You know what a product card looks like in HTML. Writing one is 15 minutes. Connecting it to WordPress as a custom post type is a different afternoon: register_post_type in functions.php, which you’re not supposed to edit, or pile on CPT UI to register it and ACF to add fields, and then discover you still need PHP or the block editor to output anything on the front end. The whole chain breaks if you switch themes, because the registration lives in your old theme’s functions file. Canvas Pro registers the type, stores its definition in options (not the theme), handles the permalink flush on save, and outputs every entry via HTML templates you write yourself with {field:key} tokens. No PHP anywhere in that chain.

  • Register types, fields, slugs, and archives entirely from the plugin UI
  • Persists across theme switches. Pro handles the flush on save
  • Field types: text, textarea, number, URL, date, select, checkboxes, image
  • 3 HTML templates per type: archive card, single post, archive header. Fields output via {field:key} tokens
  • Version history covers CPT definitions, so a bad template edit is never permanent
Custom post types Canvas Pro
Post type, no PHP
Definition
Fields
Click a field to see where its token lands.
archive.htmlarchive template
Booking office
// register a type, define fields, write one template with {field:key} tokens, no PHP and no builder

Canvas Pro

Custom post types

Register a content type, give it fields, and write its archive, post card, and single in plain HTML with {field:key} tokens. No PHP, no ACF, no page builder. Every type can be designed completely differently, and the records live with Canvas Pro so they outlast any theme.

<pricing>

Launch pricing, going away in a few months

Priced plainly.
One plugin, everything included.

Every plan includes every feature. No gating by tier. The only difference is how many sites you can activate it on. Buy now at launch prices and keep that rate on renewal.

Single site
1 site
$35/year
Full price after launch: $49/year
Renews at 30% off: $34.30/yr
  • Every Pro feature
  • 1 site activation
  • One year of updates and support
  • Lapsed license degrades gracefully
Buy $35/yr
Agency
Unlimited sites
$129/year
Full price after launch: $199/year
Renews at 30% off: $139.30/yr
  • Every Pro feature
  • Unlimited site activations
  • One year of updates and support
  • Lapsed license degrades gracefully
Buy $129/yr

All plans renew annually at 30% off the full price, not the launch price. Renewal is optional. If your license lapses, existing Pro features keep working and updates and support pause until you renew.

<the-boundary>

The free theme is complete.
Pro never takes anything away.

Pro doesn’t gate anything that was in the free theme. Every feature in the Pro column is a new addition. If you never need Pro, the free theme still does everything it always did.

// free theme, always
Loupely Canvas
  • Full width passthrough rendering
  • Global header and footer
  • Head and body code injection
  • Per page header/footer override
  • Find and replace inside HTML boxes
  • One-click starter content
  • GitHub-based auto-updates

Free forever. Download from GitHub.

// pro plugin, adds on top
Canvas Pro
  • Full page editor with full screen and pop-out preview
  • Version history with side-by-side compare and restore
  • Snippet library
  • Reusable page templates and bulk apply
  • Multiple named header and footer sets
  • Import and export full configuration
  • Code injections, loaded everywhere or by rule
  • Custom post types with HTML templates, no PHP
  • Syntax coloring, error checking, outline, and more

Requires the free Loupely Canvas theme to be active.

<license>

No surprises.

Delivered outside WordPress.org

Pro is a paid plugin and lives outside the WordPress.org directory. It ships and updates through a managed licensing service. License keys and automatic updates are handled for you.

Lapsed licenses degrade gracefully

If your license lapses, existing Pro features keep working. Updates and support pause until you renew. Nothing gets hard-disabled. Your site won’t break because you forgot to renew.

Built on the free theme’s foundations

Pro reuses the theme’s own storage patterns and the find and replace tool. It detects the active theme and quietly does nothing if Canvas isn’t running. No conflicts with other themes or plugins.

</ready>

Ready to scale.
Launch pricing won’t last.

Prices go up in a few months. Buy now and keep this rate on renewal.

Requires free Loupely Canvas theme  Â·  Annual license  Â·  Lapsed licenses degrade gracefully

//# sourceURL=lc-injection-913.js