# bigskysoftware/_hyperscript

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/bigskysoftware-hyperscript).**

3,706 stars · 168 forks · JavaScript · NOASSERTION

## Links

- GitHub: https://github.com/bigskysoftware/_hyperscript
- awesome-repositories: https://awesome-repositories.com/repository/bigskysoftware-hyperscript.md

## Topics

`htmx` `hyperscript` `scripting-language`

## Description

Hyperscript is a DOM manipulation library and HTML scripting language that functions as a logic engine and reactive UI framework. It allows for the definition of interactive behavior and client-side logic directly within HTML attributes.

The system distinguishes itself through declarative web scripting and in-HTML interactive behavior, which removes the requirement for separate JavaScript files to manage element states. It utilizes a specialized syntax for data processing, employing pipe operators to filter, sort, and convert data collections within the browser.

The framework provides capabilities for reactive UI component development through custom elements with isolated scopes and data binding. It handles dynamic DOM manipulation via morphing to preserve focus and scroll state, and includes tools for template rendering, view transition effects, and network request interception.

Developer utilities include a command-line interface for HTML syntax validation and a browser extension for interactive behavior debugging.

## Tags

### User Interface & Experience

- [Reactive UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/declarative-frameworks/reactive-ui-frameworks.md) — Provides a declarative framework that automatically synchronizes component state with the document object model.
- [In-HTML Interactive Logic](https://awesome-repositories.com/f/user-interface-experience/behavioral-interaction-toolkits/html-behavior-attachment/in-html-interactive-logic.md) — Defines client-side logic and element interactions directly within HTML attributes to avoid separate JavaScript files.
- [Reactive Components](https://awesome-repositories.com/f/user-interface-experience/user-interface-components/reactive-components.md) — Supports building custom web components that automatically synchronize their visual state with data changes.
- [Element State Controllers](https://awesome-repositories.com/f/user-interface-experience/element-state-controllers.md) — Controls element visibility and focus using specific commands to open, close, focus, or blur inputs. ([source](https://github.com/bigskysoftware/_hyperscript/blob/master/CHANGELOG.md))
- [View Transitions](https://awesome-repositories.com/f/user-interface-experience/view-transitions.md) — Wraps DOM updates in a transition interface to create smooth visual animations between states. ([source](https://github.com/bigskysoftware/_hyperscript/blob/master/CHANGELOG.md))

### Web Development

- [In-Attribute Scripting](https://awesome-repositories.com/f/web-development/client-side-scripting/in-attribute-scripting.md) — Enables defining interactive client-side logic directly within HTML attributes to avoid external JavaScript files. ([source](https://github.com/bigskysoftware/_hyperscript/blob/master/README.md))
- [Attribute-Based Directives](https://awesome-repositories.com/f/web-development/attribute-based-directives.md) — Implements a system for binding logic and interactive behavior to HTML elements via custom attributes.
- [Declarative Web Scripting](https://awesome-repositories.com/f/web-development/declarative-web-scripting.md) — Provides a high-level scripting language to handle events and element lifecycles directly in the markup.
- [DOM Manipulation Libraries](https://awesome-repositories.com/f/web-development/dom-manipulation-libraries.md) — Serves as a library for selecting and modifying document elements to manage state and transitions.
- [DOM Morphing](https://awesome-repositories.com/f/web-development/dom-morphing.md) — Utilizes DOM morphing to update the user interface while preserving element focus and scroll state.
- [Dynamic DOM Manipulation](https://awesome-repositories.com/f/web-development/dynamic-dom-manipulation.md) — Provides tools for updating and morphing DOM elements based on state changes with smooth transitions.
- [Reactive Data Binding](https://awesome-repositories.com/f/web-development/reactive-data-binding.md) — Tracks dependencies between variables and UI elements to automatically synchronize the interface with data sources. ([source](https://github.com/bigskysoftware/_hyperscript/blob/master/CHANGELOG.md))
- [Dynamic Template Rendering](https://awesome-repositories.com/f/web-development/dynamic-template-rendering.md) — Performs runtime evaluation of templates with dynamic data, interpolation, and control flow logic. ([source](https://github.com/bigskysoftware/_hyperscript/blob/master/CHANGELOG.md))
- [Element Lifecycle Management](https://awesome-repositories.com/f/web-development/element-lifecycle-management.md) — Provides hooks for initialization and cleanup events to manage observers and event listeners during an element's lifecycle. ([source](https://github.com/bigskysoftware/_hyperscript/blob/master/CHANGELOG.md))

### Programming Languages & Runtimes

- [Embedded Scripting Engines](https://awesome-repositories.com/f/programming-languages-runtimes/embedded-scripting-engines.md) — Implements a scripting tool that processes data collections and transforms formats using expressions embedded directly in HTML markup.
- [HTML Scripting Languages](https://awesome-repositories.com/f/programming-languages-runtimes/html-scripting-languages.md) — Provides a specialized scripting language for defining interactive behavior and DOM manipulation directly in HTML attributes.

### Software Engineering & Architecture

- [View Component Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/scope-and-hierarchy-management/closure-based-state-encapsulations/component-based-encapsulations/view-component-architectures.md) — Provides an architecture for building reusable UI units with encapsulated state and reactive templates.
- [Template Value Piping](https://awesome-repositories.com/f/software-engineering-architecture/stream-piping/function-composition-operators/template-value-piping.md) — Employs pipe operators within templates to chain data transformation functions in a linear flow.
- [Syntax Parsing Engines](https://awesome-repositories.com/f/software-engineering-architecture/syntax-parsing-engines.md) — Provides a parsing engine that translates a concise, C-style domain-specific language into executable JavaScript.

### Data & Databases

- [Client-Side Data Processing](https://awesome-repositories.com/f/data-databases/client-side-data-processing.md) — Implements client-side data processing for transforming and sorting collections directly within the browser.
- [Collection Filtering and Mapping](https://awesome-repositories.com/f/data-databases/collection-transformation-utilities/collection-filtering-and-mapping.md) — Provides functional utilities for filtering, sorting, and mapping data collections using embedded expressions. ([source](https://github.com/bigskysoftware/_hyperscript/blob/master/CHANGELOG.md))
- [Data Format Transformations](https://awesome-repositories.com/f/data-databases/data-format-transformations.md) — Transforms data between JSON, form-encoded, and string formats using specialized pipe operators. ([source](https://github.com/bigskysoftware/_hyperscript/blob/master/CHANGELOG.md))
