awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
bespokejs avatar

bespokejs/bespoke

0
View on GitHub↗
4,803 stars·450 forks·JavaScript·MIT·12 viewsmarkdalgleish.com/projects/bespoke.js↗

Bespoke

Bespoke is a lightweight JavaScript presentation framework designed for creating sequenced web presentations. It functions as a DOM-based slide controller and navigation engine that manages the visibility and styling of HTML elements to create presentation flows.

The framework is built around a plugin-based architecture that allows for the extension of core behavior. This system enables the injection of custom logic into the navigation workflow by intercepting and modifying system events, including the ability to cancel specific actions.

The toolkit covers content element definition and state management, using CSS selectors to identify content units and automatically toggling classes based on whether an item is active or inactive. It tracks the current position within a linear sequence to coordinate transitions between elements.

Features

  • Slide Presentation Runtimes - Provides a frontend framework that manages navigation, state, and transitions for web-based slide decks.
  • Index Navigation - Tracks the current position within a linear sequence to coordinate transitions between active and inactive elements.
  • Sequential Navigation State - Controls the sequence of a collection by transitioning between items and tracking the active index.
  • Content Element Definition - Allows specifying primary units of content using CSS selectors to filter target elements.
  • Event-Hook Extension Systems - Provides a system for intercepting and modifying application events to extend functionality or cancel actions.
  • UI Event-Driven Navigation - Manages the sequence and state of content elements through a system of interceptable events.
  • Event-Driven Plugin Logic - Implements a system that triggers custom plugin logic based on specific navigation and system events.
  • Plugin Architectures - Implements a framework for adding custom behaviors by injecting functions that interact with application state.
  • Content Unit Resolution - Identifies primary content units by querying the document with CSS selectors.
  • DOM-State Mapping Layers - Synchronizes the internal navigation logic with the physical structure of the page using direct element references.
  • Index-Driven Navigation Engines - Tracks active indices and triggers specific callbacks when navigating between defined content elements.
  • Presentation Frameworks - Provides a comprehensive framework for building interactive slide-based presentations with state management and rendering tools.
  • DOM-Based Slide Orchestrators - Manages presentation state by dynamically manipulating the DOM to display sequenced presentation flows.
  • State-Based CSS Toggling - Automatically applies and removes CSS classes on DOM elements based on their active or inactive state.
  • Presentation Plugin Systems - Extends the core behavior of the slide system by injecting custom logic into the navigation workflow via plugins.
  • Hook-Based Plugin Systems - Uses a hook-based plugin system to allow extending core functionality by registering logic into lifecycle events.
  • State-Based Transition Triggers - Triggers events and applies style classes when content items transition between active and inactive states.
  • Event Handling Systems - Executes custom logic when specific items activate, deactivate, or when navigation is requested via an event-driven mechanism.
  • HTML Slide Decks - Enables the creation of interactive HTML slide decks where elements trigger events based on the active slide.
  • Sliders and Carousels - Micro-framework for creating custom presentations.
  • Sliders & Carousels - Modular presentation library.

Star history

Star history chart for bespokejs/bespokeStar history chart for bespokejs/bespoke

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Bespoke

Similar open-source projects, ranked by how many features they share with Bespoke.
  • markdalgleish/bespoke.jsmarkdalgleish avatar

    markdalgleish/bespoke.js

    4,803View on GitHub↗

    bespoke.js is a DOM-driven presentation tool and HTML framework that transforms existing web elements into navigable slide decks. It functions as a web-based deck orchestrator, using a JavaScript engine to manage slide transitions and state through CSS and programmatic API controls. The project is built as a plugin-based slide engine, allowing developers to extend core behavior by intercepting navigation events and injecting custom lifecycle logic. This modular system enables the creation of tailored presentation frameworks by adding specific behavioral logic or state management. The toolset

    JavaScript
    View on GitHub↗4,803
  • hakimel/reveal.jshakimel avatar

    hakimel/reveal.js

    71,731View on GitHub↗

    This project is a web-native presentation framework that renders slide decks from standard HTML or Markdown. It functions as a declarative slide engine, managing navigation, state persistence, and lifecycle events through a configuration-driven interface. By leveraging standard web technologies, it enables the creation of responsive, browser-based presentations that support complex layouts, nested transitions, and interactive content. The framework distinguishes itself through a modular, plugin-based architecture that allows developers to extend core functionality using custom hooks and event

    JavaScriptpresentationsslidesslideshow
    View on GitHub↗71,731
  • kenwheeler/slickkenwheeler avatar

    kenwheeler/slick

    28,573View on GitHub↗

    Slick is a JavaScript carousel library used to create responsive, touch-enabled sliding content areas. It functions as a frontend layout tool that allows for automated content rotation and the creation of lazy-loading image galleries. The library distinguishes itself through the ability to synchronize multiple sliders, ensuring that movement in one carousel automatically advances others to the same position. It supports adaptive breakpoints that adjust the number of visible slides based on screen size and utilizes lazy loading to defer image downloads until they enter the viewport. The syste

    JavaScript
    View on GitHub↗28,573
  • nolimits4web/swipernolimits4web avatar

    nolimits4web/swiper

    41,852View on GitHub↗

    Swiper is a modular, touch-enabled library designed for building interactive content carousels and sliders for web and mobile applications. It provides a high-performance rendering engine that manages large datasets by dynamically creating and destroying elements based on their proximity to the viewport, ensuring memory efficiency and smooth operation. The library distinguishes itself through a plugin-based architecture that allows developers to include only the specific functionality required for their project, effectively minimizing bundle sizes. It features a hardware-accelerated animation

    JavaScriptcarouselgallerymobile
    View on GitHub↗41,852
See all 30 alternatives to Bespoke→

Frequently asked questions

What does bespokejs/bespoke do?

Bespoke is a lightweight JavaScript presentation framework designed for creating sequenced web presentations. It functions as a DOM-based slide controller and navigation engine that manages the visibility and styling of HTML elements to create presentation flows.

What are the main features of bespokejs/bespoke?

The main features of bespokejs/bespoke are: Slide Presentation Runtimes, Index Navigation, Sequential Navigation State, Content Element Definition, Event-Hook Extension Systems, UI Event-Driven Navigation, Event-Driven Plugin Logic, Plugin Architectures.

What are some open-source alternatives to bespokejs/bespoke?

Open-source alternatives to bespokejs/bespoke include: markdalgleish/bespoke.js — bespoke.js is a DOM-driven presentation tool and HTML framework that transforms existing web elements into navigable… hakimel/reveal.js — This project is a web-native presentation framework that renders slide decks from standard HTML or Markdown. It… kenwheeler/slick — Slick is a JavaScript carousel library used to create responsive, touch-enabled sliding content areas. It functions as… nolimits4web/swiper — Swiper is a modular, touch-enabled library designed for building interactive content carousels and sliders for web and… flarum/core — This project is a self-hosted community engine and forum software designed for hosting threaded discussions. It… ksky521/nodeppt — nodeppt is a markdown presentation generator and static site generator that transforms markdown source files into…