lit-html

Awesome lit-html Awesome

A curated list of awesome lit-html resources.

lit-html — an efficient, expressive, extensible HTML templating library for JavaScript.

General resources

Community

Overview

Implementations

Sorted by creation date (oldest first).

  • lit-element - Simple base class for creating fast, lightweight Web Components.
  • @gluon/gluon - Lightweight library for building Web Components and applications.
  • @lit-any/core - Partials library, which uses lit-html to compose views and forms from smaller templates.
  • lit-html-element - Base class for creating Web Components using lit-html.
  • fit-html - Combination of lit-html, Web Components and Redux.
  • lit-html-brackets - A lit-html extension that uses a bracket syntax similar to Angular's template syntax.
  • @littleq/element-lite - A take on using lit-html and Polymer's property mixin.
  • @popeindustries/lit-html-server - Render lit-html templates on the server as Node.js streams.
  • ullr - Building Web Components with Functional Programming Using lit-html.
  • ce-decorators - TypeScript library for building Web Components based on decorators proposal and lit-html.
  • @appnest/lit-translate - Lightweight i18n library providing a lit-html directive.
  • haunted - React's Hooks API but for standard web components and hyperHTML or lit-html.
  • fuco - Functional component like React, but for Web Components.

Renderers

The following libraries allow using lit-html as a renderer, while also providing alternatives such as HyperHTML or JSX.

LitElement Extensions

These are not implementations of lit-html itself but rather community extensions of the official LitElement base class.

Other

Components

Component Libraries

Individual Components

  • <api-viewer> - API documentation and live playground for Web Components.
  • <app-datepicker> - Datepicker element built with LitElement and Material Design 2.
  • <codesandbox-button> - Custom Element that shows a CodeSandbox demo when you click on it.
  • <dile-modal> - Web Component to implement a modal box, based on LitElement.
  • <lit-datatable> - Material Design implementation of a data table, powered by LitElement.
  • <lottie-player> - Web Component for easily embedding and playing Lottie animations.
  • <model-viewer> - A web component for rendering interactive 3D models.
  • <rapi-doc> - Web Component to view OpenAPI 3.0 & Swagger 2.0 Spec.

Starter Templates

IDE Plugins

TypeScript Plugins

  • ts-lit-plugin - Plugin that adds type checking and code completion for lit-html. Used by vscode-lit-plugin.
  • typescript-lit-html-plugin - TypeScript server plugin that adds IntelliSense for lit-html. Used by vscode-lit-html.

Tools

CDN

The following content delivery networks provide ES module versions of lit-html and LitElement:

Note on using CDN

  1. lit-html directives might not work with LitElement when using Pika CDN.
  2. See this issue where the static build for CDN distribution is discussed.

Static Site Generators

  • Greenwood - Modern and performant static site generator supporting Web Components based development.
  • Hydrogen - Static-site generator built with TypeScript, which uses templating inspired by lit-html.

Examples

Videos

Podcasts

Blogs

Projects

Name URL Source
Create Social Images https://createsocialimages.com Source
DevWeb Content Firehose https://devwebfeed.appspot.com Source
rx-metronome https://rx-metronome.web.app Source

Inspired Solutions

These libraries do not depend on lit-html, but are inspired by some of its concepts. They use html tagged template literal, and leverage the benefits of the same IDE Plugins for syntax highlighting.

  • htm - Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.
  • hybrids - UI library for creating Web Components with simple and functional API.
  • lit-ntml - Lightweight and modern templating for SSR in Node.js, inspired by lit-html.
  • lite-html - A modern replacement for VirtualDOM rendering engines.
  • modulor-html - Missing template engine for Web Components.
  • nanohtml - HTML template strings for the browser with support for Server Side Rendering in Node.
  • picohtml - Powerfully ~2kB (gzip) HTML template strings.
  • tiny-lit - Library for building user interfaces using template literals.

Other awesome resources

If you want more awesome resources, check the awesome list!


License

CC0