jhson.js

1.1.0 • Public • Published

JHson.js

Tweet npm nuget license discussions Welcome coded by William Troup

📃 A JavaScript library for converting between HTML and JSON, with binding, templating, attributes, and CSS support.

v1.1.0



What features does JHson.js have?

  • Zero-dependencies and extremely lightweight!
  • Full API available via public functions.
  • Full support for Attributes, CSS style properties, and formatted text!
  • Write your JSON directly to any DOM element for rendering.
  • Copy the layout for an entire page without additional files!
  • Data templating for text.
  • Write CSS directly back to the head for each element!
  • Bind JSON directly to DOM elements!


What browsers are supported?

All modern browsers (such as Google Chrome, FireFox, and Opera) are fully supported.

What are the most recent changes?

To see a list of all the most recent changes, click here.

How do I install JHson.js?

You can install the library with npm into your local modules directory using the following command:

npm install jhson.js


How do I get started?

To get started using JHson.js, do the following steps:

1. Prerequisites:

Make sure you include the "DOCTYPE html" tag at the top of your HTML, as follows:

<!DOCTYPE html>

2. Include Files:

<script src="dist/jhson.js"></script>

3. Getting/Rendering JSON:

<div id="header" class="header">
    <h1>JHson.js</h1>
    <p>This is a basic example of how to use <b>JHson.js</b> ... with template data {{template_data}}.</p>
</div>

<script>
    var header = document.getElementById( "header" );

    var json = $jhson
        .json()
        .includeAttributes( true )
        .includeCssProperties( true )
        .includeText( true )
        .includeChildren( true )
        .friendlyFormat( true )
        .indentSpaces( 2 )
        .ignoreNodeTypes( "q" )
        .ignoreCssProperties( "padding" )
        .ignoreAttributes( "data-your-attribute" )
        .generateUniqueMissingIds( false )
        .get( header );

    $jhson
        .html()
        .json( json )
        .templateData( { "{{template_data}}": "this template data" } )
        .removeOriginalAttributes( true )
        .clearOriginalHTML( true )
        .addCssToHead( false )
        .clearCssFromHead( false )
        .logTemplateDataWarnings( false )
        .addAttributes( true )
        .addCssProperties( true )
        .addText( true )
        .addChildren( true )
        .write( header );
</script>

4. DOM Element Binding (for writing JSON as HTML):

<div data-jhson-options="{ 'json': 'json string' }">
    Your HTML.
</div>

To see a list of all the available binding options you can use for "data-jhson-options", click here.

To see a list of all the available custom triggers you can use for "data-jhson-options", click here.


5. Finishing Up:

That's it! Nice and simple. Please refer to the code if you need more help (fully documented).

How do I go about customizing JHson.js?

To customize, and get more out of JHson.js, please read through the following documentation.

1. Public Functions:

To see a list of all the public functions available, click here.

2. Configuration:

Configuration options allow you to customize how JHson.js will function. You can set them as follows:

<script> 
  $jhson.setConfiguration( {
      nodeTypesToIgnore: [ "script" ]
  } );
</script>

To see a list of all the available configuration options you can use, click here.

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i jhson.js

      Weekly Downloads

      16

      Version

      1.1.0

      License

      MIT

      Unpacked Size

      197 kB

      Total Files

      32

      Last publish

      Collaborators

      • williamtroup