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.2.tar.gz
(4.3 kB
view details)
Built Distribution
File details
Details for the file compyter-0.0.2.tar.gz
.
File metadata
- Download URL: compyter-0.0.2.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4c1a8dd6c4d45439f8e061f00614e374bf8a7ff5ed7d7954a3bcd5e0dd2b74e |
|
MD5 | 6324d97e4ad4ed711205f8d6f66e5721 |
|
BLAKE2b-256 | 23105406c3702d6c2e4f7efb50c5ea5ae274fd4b97e9977a5a95b47825154550 |
File details
Details for the file compyter-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: compyter-0.0.2-py3-none-any.whl
- Upload date:
- Size: 4.4 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 | 6088fdd68c7b9d537f3d18457fd925151b52a5f735105f628d498b22b122893a |
|
MD5 | 77772b53d11d42a007b0e4c595266139 |
|
BLAKE2b-256 | 00439116c5facd4df69f36d6d3268c5ca277b01da1bd8ab59743e468afa44a64 |