npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

elebend-js

v0.2.1

Published

Easily create HTML5 elements

Downloads

16

Readme

elebend-js

Easily create HTML5 elements

NPM

| Platform | Build status | | --- | --- | | Linux | | Build Status | | Windows | Build status |

codecov Known Vulnerabilities

Example

const { html, head, title, body, h1, p } = Elebend;

html((context) => {
  head((context) => {
    title('This is an example.');
  });
  body((context) => {
    h1('Example header');
    p('Example content');
  });
});

But why

Can't really say, but one of the reasons why I made this is to personally use it for a project I am working on.

Usage

Install

NPM

npm i elebend-js

CDN

  • jsDelivr
<script src="https://cdn.jsdelivr.net/npm/elebend-js/dist/index.min.js"></script>
  • unpkg
<script src="https://unpkg.com/elebend-js/dist/index.min.js"></script>

Loading the module

CommonJS/ES

Loading the module provides a single object whose keys are based upon the HTML5 Tag names.

Browser

Loading the module defines an object named 'Elebend' whose keys are based upon the HTML5 Tag names.

Rendering the elements

Elebend is an object whose entries are functions that allows you to create an specific HTML5 element. The key to these functions are based upon the HTML5 Tag names.

For example, let's try to create a simple webpage using Elebend:

const { html, head, title, body, h1, p } = Elebend;
const el = html(() => {
  head(() => {
    title('This is an example.');
  });
  body(() => {
    h1('Example header');
    p('Example content');
  });
});

In this example, we created a fully built hiearchy for a single element, in which we can append into another element to render it.

The API

Elebend.tagname(attr: string | function | object [, body: string | function | object]);

Where:

  • tagname is a name equivalent to an HTML5 tag e.g. a, p, div, main, etc.
  • attr is the element's attributes IF it is an object provided. If it is a string or a function, attr is treated as a content body.
  • body is an optional parameter, which is the content body of the element. Self-closing tags completely ignores this parameter.

Refer to the HTML5 Spec for the element tags.

To define a text node, you can use Elebend.text(string).

Calling any Elebend function automatically appends to its Elebend callee (given that the function is called in an Elebend callback).

If the given body/attr is a callback, that callback receives a single parameter, context, which points to the parent node.

Build

npm install
npm run build