Domonic:

domonic

Generate HTML with Python 3


https://pepy.tech/badge/domonic https://img.shields.io/pypi/pyversions/domonic.svg https://travis-ci.com/byteface/domonic.svg?branch=master License Badge Wheel Support Badge

Domonic Not only a Python library for generating HTML


Domonic contains several evolving packages:

  • html : Generate html with python 3 😎
  • dom : DOM API in python 3 😲
  • javascript : js API in python 3 😳
  • terminal || cmd : call terminal commands with python3 😱 (see at the end)
  • JSON : utils for loading / decorating / transformin
  • SVG : Generate svg using python
  • aframe || x3d tags : auto generate 3d worlds with aframe. (see examples folder
  • dQuery - Utils for querying domonic. (alt + 0 for the º symbol)
  • geom - vec2, vec3 with _dunders_ as well as shape classes

Take a look at the source code and contribute!

HTML TEMPLATING

from domonic.html import *

mydom = html(body(h1('Hello, World!')))
print(f"{mydom}")
<!DOCTYPE html>
<html>
    <body>
        <h1>Hello, World!</h1>
    </body>
</html>

To pretty print use an f-string. Which also adds the doctype.

install

python3 -m pip install domonic

or if you had it before upgrade:

python3 -m pip install domonic --upgrade

The User Guide

Here you can find some instructions for getting the most out of Domonic.

CLI

There’s a few args you can pass to domonic on the command line to help you out.

To launch the docs for a quick reference to the APIs use:

python3 -m domonic -h

This command will attempt to generate a template from a webpage. (only simple pages for now)

python3 -m domonic -d http://eventual.technology

Then you can edit/tweak it to get what you need and build new components quicker.

INSTALLING - (linux/mac only)

If you like you can install domonic to your .bashprofile

python3 -m domonic --install

Now in your terminal whenever you want to start a new project you can type…

project mycoolproject

and it will smash out a basic project for you.

you can also now access the docs quickly simply by typing…

domonic -h

Finally, you can open and edit .bashprofile to tweak it to your own preferences.

Join-In

Feel free to join in if you find it useful.

If there’s any methods you want that are missing or not complete yet. Just update the code and send a pull request.

I’ll merge and releaese asap.

EXAMPLE PROJECT

A browser based file browser. Working example of how components can work: https://github.com/byteface/Blueberry/

A cron viewer: https://github.com/byteface/ezcron/

Disclaimer

There’s several more widely supported libraries doing HTML generation, DOM reading/manipulation, terminal wrappers etc. Maybe use one of those for production due to strictness and support.

This is becoming more of a fast prototyping library.