Skip to main content

A component parser for html

Project description

#+title: Readme

Compyte is a component library for python which lets you have components in html. It takes in a html with the *Compyte* syntax and returns the html with component results. It has a integrated python run envirionment with the syntax.

load stuff (using python exec to load python to the python envirionment)
#+begin_src django
{$ import os $}
{$ name='Compyte'+' toilet' $}
#+end_src

executing (using eval and replaces with result)
#+begin_src django
{% name %}
{% 10 +10 %}
#+end_src

** Components
Components are added with as html with the compontent='[path-to-component-file]'.
The attributes in the html tag will get added to a props dict and passed to the component file. where it can be accesed

#+begin_src django
{% props['propname'] %}
#+end_src

Check out the example down bellow

*** Example

This is a example of the *Compyte* html

- index.html
#+begin_src html
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Untitled</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link href="https://cdn.jsdelivr.net/npm/daisyui@4.12.12/dist/full.min.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.tailwindcss.com"></script>

<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<!-- Place favicon.ico in the root directory -->
</head>
<body>
{$ import os $}
<h1>{% os.getcwd() %}</h1>
<card component="./tests/card.html" >
{$ string = 'what is ' + str(10-2) $}
<h1 class="text-4xl font-bold" >test</h1>
<btn title="click" onclick="alert('{% string %}')" component="./tests/button.html"></btn>
</card>
</body>
</html>

#+end_src

-card.html
#+begin_src html
<div class="bg-base-200 rounded-lg p-12" >
{% props['children'] %}
</div>
#+end_src

-button.html
#+begin_src html
<button onclick="{% props['onclick'] %}" class="btn btn-primary" >
{% props['title'] %}
</button>
#+end_src


-main.py
#+begin_src python
from compyte import *

output = open('tests/output.html','w')
output.write(parse(open("tests/index.html","r").read()))

#+end_src

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compyter-0.0.4.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

Compyter-0.0.4-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file compyter-0.0.4.tar.gz.

File metadata

  • Download URL: compyter-0.0.4.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for compyter-0.0.4.tar.gz
Algorithm Hash digest
SHA256 625ea70d1e83e1f6be7fb2d5a67b5fc61732a660f3ca902491a2dbbd0d96afb1
MD5 346bcbe5d7949943f96236126a543e27
BLAKE2b-256 a177c1c322353af034eedc61887bc07a5ccc5713614af97c7053ee2634d0a7ff

See more details on using hashes here.

File details

Details for the file Compyter-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: Compyter-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for Compyter-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9b27cff62618558d74a5bf16e5daf2deec30dfc33618a34831745a3e08405925
MD5 c22ca65c5775b0ea3ce6fa43d6b868b8
BLAKE2b-256 f55fb790e51490c8ac3ff686531813308c786aeaac25ab610ffbf32ac10e754b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page