Metadata-Version: 2.4
Name: JUSU
Version: 0.1.1
Summary: Build HTML pages in Python — simple, readable, and beginner-friendly.
Home-page: https://github.com/Francis589-png/JUSU
Author: Francis Jusu
Author-email: Francis Jusu <jusufrancis08@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/Francis589-png/JUSU
Project-URL: Docs, https://github.com/Francis589-png/JUSU/tree/main/docs
Project-URL: Course, https://github.com/Francis589-png/JUSU/tree/main/course
Keywords: html,builder,beginner,education
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

JUSU
====

JUSU is a tiny Python library to build HTML pages using a simple, readable
plain-English style API. It is made for beginners, educators, and quick
prototyping.

Quick usage:

```python
from JUSU import Div, H1, P, Button, Img

page = Div(
	H1("Welcome to JUSU"),
	P("A tiny HTML builder."),
	Button("Click me", onclick="alert('Hello')", cls="btn"),
	Img(src="https://via.placeholder.com/150", alt="demo"),
	cls="container"
)
page.render_to_file("jusu_demo.html")
```

Run tests:

```bash
python -m pytest
```

Install:

```bash
pip install -e .
```

License: MIT

**Course:** A beginner-friendly course (text + interactive notebooks) is available in the `course/` directory — authored by **Francis Jusu**.


## Bundling & CLI

- `Tag.bundle(...)` / `Tag.bundle_export(...)` — produce an HTML file and CSS file (and optionally a ZIP archive) for a component.
- `jusu bundle` (CLI) — bundle a component by import path (see `docs/bundling.md`).

NPM assets

A minimal npm package `jusu-assets` is available in this repository (under `package_assets/`) containing optional CSS and tiny JS helpers. See `docs/npm.md` for instructions on running a local dry-run and publishing to npm.

Publish to TestPyPI (recommended first):

1. Create an account on https://test.pypi.org/ and generate an API token.
2. Set the API token as environment variables, for example (Powershell):

```powershell
$Env:TWINE_USERNAME = "__token__"
$Env:TWINE_PASSWORD = "pypi-AgENdGVzdC..."
```

3. Build and upload to TestPyPI:

```powershell
python -m build -o dist
python -m twine check dist/*
python -m twine upload --repository testpypi dist/*
```

Publish to PyPI (after verifying TestPyPI):

```powershell
python -m twine upload dist/*
```

If you prefer to specify the username and token directly instead of environment variables, pass `--username` and `--password` to `twine upload`, but environment variables are more secure.

# JUSU
