Jason Grout 7fc9001689 Publish with 'next' tag 6 år sedan
..
src 9b465f43d7 Clean up handling of src 6 år sedan
style 74eac68b72 Make codebase prettier 6 år sedan
README.md 049fc2ab07 Lint fixes 6 år sedan
package.json 7fc9001689 Publish with 'next' tag 6 år sedan
tdoptions.json 5fee8c5389 Switch to ts 3.1 6 år sedan
tsconfig.json 9b465f43d7 Clean up handling of src 6 år sedan

README.md

vdom-extension

A JupyterLab extension for rendering VirtualDOM using React

demo

Prerequisites

  • JupyterLab ^0.27.0

Usage

To render VDOM output in IPython:

from IPython.display import display

def VDOM(data={}):
    bundle = {}
    bundle['application/vdom.v1+json'] = data
    display(bundle, raw=True)

VDOM({
    'tagName': 'div',
    'attributes': {},
    'children': [{
        'tagName': 'h1',
        'attributes': {},
        'children': 'Our Incredibly Declarative Example',
        'key': 0
    }, {
        'tagName': 'p',
        'attributes': {},
        'children': ['Can you believe we wrote this ', {
            'tagName': 'b',
            'attributes': {},
            'children': 'in Python',
            'key': 1
        }, '?'],
        'key': 1
    }, {
        'tagName': 'img',
        'attributes': {
            'src': 'https://media.giphy.com/media/xUPGcguWZHRC2HyBRS/giphy.gif'
        },
        'key': 2
    }, {
        'tagName': 'p',
        'attributes': {},
        'children': ['What will ', {
            'tagName': 'b',
            'attributes': {},
            'children': 'you',
            'key': 1
        }, ' create next?'],
        'key': 3
    }]
})

Using the vdom Python library:

from vdom.helpers import h1, p, img, div, b

div(
    h1('Our Incredibly Declarative Example'),
    p('Can you believe we wrote this ', b('in Python'), '?'),
    img(src="https://media.giphy.com/media/xUPGcguWZHRC2HyBRS/giphy.gif"),
    p('What will ', b('you'), ' create next?'),
)

To render a .vdom or .vdom.json file, simply open it:

Development

See the JupyterLab Contributor Documentation.