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.3.tar.gz
(4.6 kB
view details)
Built Distribution
File details
Details for the file compyter-0.0.3.tar.gz
.
File metadata
- Download URL: compyter-0.0.3.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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1b61641a6c9bcd1fbeee412d09d98cf201ff2d2a482391c9304038a5b1ac277 |
|
MD5 | 3d9070ca66113ab59895b5bf4e6e95cb |
|
BLAKE2b-256 | b88f4e6ef3fe0cbf94936466de17fcb1ecd6511eba13e0eceec79313af9cbbc9 |
File details
Details for the file Compyter-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: Compyter-0.0.3-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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 594b5c340eaff6ce3443c9524080249d859dcbfc2d1a2bc0050e3f7d3fcc7b28 |
|
MD5 | de8634cc7b2f9e121d18a8e2e2a6dcb0 |
|
BLAKE2b-256 | 23e5e194e7dddd1d71218298d64733400b7b7096020ef96d656b9079167d4693 |