focus on the fundamentals

Introducing PageDriver alpha Ξ±

Plain HTML5, no magic.
bind('EVENT', ['input','change','click'], function creature(event) { // Bind a function to the 'EVENT' interface registry. This interface manages DOM event listeners and only executes functions passing its custom function name-based filter rule set.
	const newCreature = event.target.value.toLocaleLowerCase();
	mutate(document,{ creature:newCreature }); // Mutate inputs named 'creature', substitutes the content of all elements with the 'pd_creature' class. Targeting the document updates elements across your entire project!
	contextSet('ClownMode', newCreature.length > 30); // Contexts are special boolean CSS classes that toggle content visibility, reducing duplication.
});
πŸ‘† TapHoverFocus to reveal explanation

Core features

  • Little to no 'boilerplate' code, common in other popular libraries.

  • Expressive high-impact code. Focus on project goals, not implementation distractions.

  • Accessibility & internationalization 'baked-in'.

  • One function to intelligently update your frontend from any JSON or object.

  • Global context flag classes to reduce content duplication.

  • 'Humane' binding system.

  • Practical in-browser debugging tools.

  • Frequently updated documentation.

  • ... and of reasonable speed.

  • See bite-sized demonstrations of PageDriver's powerful, yet easy to use core features.

Feature highlights

Library

  • A thin, intuitive and unobstructive layer built on clean HTML, CSS and JS, with a clear separation of concerns.
  • Create rich user experiences by trivializing complex tasks. Rapidly empower junior engineers and maintain development velocity.
  • Extend existing functionality using our innovative bind registry mechanism.
  • Easily update HTML/DOM from JavaScript objects

    • Intelligent form element population
    • Repeating/tabular elements
    • defaultValue , readOnly and disabled attribute handling
    • Generic element contents and original state restoration
    • time elements
  • Single page application features

    • Seamless local link routing
    • Allows for fancy page transitions
    • Per-page header tag management
    • Dynamically load additional pages
    • Powerful and accessible modals
    • Mobile-friendly navigation menu generator
    • Dynamically load additional scripts
  • CSS Helpers πŸ§™β€β™‚οΈ

    • Global contextual display logic to reduce content duplication
    • Automatically applied helper classes: active, attention , selected , kbdFocus , appear , disappear
    • Smart DOM mutators:
      • closeable elements
      • remember UI state across sessions
    • Combine multiple features My closure state is retained until my underlying text content is modified, a predefined number of days have passed, or user resets reminders
  • Internationalization (i18n)

  • Accessibility (a11y)

    • Intelligent 'skip link' creation for primary areas (navigation, content, footer)
    • Differentiate keyboard and pointer input events
    • Add keyboard specific styling via built-in kbdFocus CSS class
    • Modal focus and tab restriction
  • Intelligent network requests

    • Differentiates local and remote requests
    • Zero-code asynchronous form submission to API endpoints, optionally derived from the form's name attribute
    • Cross-site request forgery CSRF and app version added to local request headers (by default)
    • Current active page and client UTC offset appended to local request form data (by default)
  • Fantastic debugging

    • Coherent console messages and per-module verbosity toggles
    • Built-in error reporting to 3rd party providers in production environment (currently Sentry.io)
    • Disrupt caching of local network requests
    • …and a function hook when debugging is disabled (for obnoxious console message etc)
  • Missing something? Review the roadmap for planned functionality!

Grab the latest release to get started.

Major announcements list non-functional

Stay updated by signing up to our low volume mailing list to recieve PageDriver updates!

😯 Uh oh...

A critical error has occurred preventing the site from loading. An error report has been automatically sent for investigation.

If this error is preventing you from completing an important action, please try again later.

404 Not Found

Oops! We can't find the requested page. If this error is preventing you from completing an important task, consider contacting us to resolve it.

We're sorry...

Something unexpected happened. If this error is preventing you from completing an important action, please contact us to resolve it.

500 Internal Server Error

Unauthorized access

You do not have the necessary permission to access this data.

401 Unauthorized

Oops!

We can't seem to find the requested resource. If this error is preventing you from completing an important action, please contact us to resolve it.

404 Not Found

Developer Preview

Welcome to the PageDriver 'Library v0' milestone preview. You've been invited at this critical juncture to provide early input and feedback about conventions and functionality. Intuitiveness is a primary project goal.

Please use the feedback tool zealously, for good or bad! Looking forward to reviewing your thoughts and opinions - Lorin

Please note

Getting help

Only community based support options are available at this time. Once officially launched, additional support options may become available.

Please fully review the official reference and guides before reaching out for assistance.

DEV 2025 Sep 18, 07:55am UTC πŸͺ²