html-dox

2.0.0-git-lts • Public • Published

lts:114 ✅ | lts:113 ✅ | lts:113 ✅

Fast pwa optimized sequential dom lib

  • Sequential - Dox adopts a unique approach called sequential processing. It treats all files as strings and efficiently splits the values, allowing for smooth manipulation of data. This method significantly contributes to faster rendering and improved performance, making your single-page applications (SPAs) highly responsive.
  • Component-based - Similar to popular frameworks like React, Dox follows a component-based architecture. This modularity enables you to build your application in smaller, reusable components. This approach offers several benefits, particularly when collaborating with other developers. Additionally, you have the flexibility to write inline JavaScript within components, facilitating a dynamic and interactive user experience.
  • Learn once - Dox focuses on simplicity and ease of use. It introduces new features only when necessary and adheres to established syntax constraints. This means you won't have to worry about constantly relearning the framework or dealing with major changes. Dox keeps it fast and straightforward, as it primarily utilizes raw HTML with enhanced functionality.

How it Works

Step Description
Components/Pages/config Check if there are any components and pages in use. Convert them into functions and set the configuration (if supplied) to window.config for later use.
Sequential Selection Select components/pages in a sequential order.
Value Splitting/Value Replacing Replace variables with current variable state and set listeners for state changes.
Execution of Scripts Execute any specified <script> tags.
Combining Imported Components to Main Page functions Combine the imported components with the main pages.
Bind templates to window.templates Generate a complete webpage with the manipulated components/pages. binded into the template object
End End of the process.
Router Determine if there's a router involved in the framework.

Installation

Dox has been developed to be easy to use/install all u have to do is add a <script> tag!! Guide To Installing

Examples

We have a few Examples - that show you how each aspect of dox is used.

 <import src="/dox2.0/components/card.html"></import>
<script>
    let count = getState('count') || 0;
    let array = fetch('https://jsonplaceholder.typicode.com/todos/1')
        .then(response => response.json())
        .then(json => json);
  

    async function increment() {
        setState('count', ++count);
        setState('array', await  array);
    }
</script>
<script types>
 
    interface count {
            type: Number,
    }
    interface array {
            type: Object,
    }
</script>
<style>
    div {
        background-color: #eee;
        padding: 20px;
        border-radius: 5px;
        margin: 20px;
    }
</style>
<div>
     <card></card>
     <card></card>
     <card></card>
     ${
        getState('count') > 5 ? `<card></card>` : 'Not Greater'
     }
</div>

any other code


</container>

<!--card.html--->

 <card>
    <script execute>
        console.log('Card Loaded');
        console.log('you can execute js in your app')
    </script>
    <h1>Card</h1>
    <p>Count: ${getState('count') || 0}</p>
    <button onclick="increment()">Increment</button>
    ${
        getState('count') > 5 ? '<card></card>' : 'Not Greater'
    }
    <p>Array: ${getState('array') ? getState('array').title : `Woppy` } </p>
</card>

This example shows the use of components in dox2.0

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i html-dox

      Weekly Downloads

      16

      Version

      2.0.0-git-lts

      License

      MIT

      Unpacked Size

      269 kB

      Total Files

      15

      Last publish

      Collaborators

      • malik9999