|
1 | 1 | # Flask-HTML |
2 | | -HTML generator for Flask applications. |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
3 | 6 |
|
| 7 | + |
| 8 | + |
| 9 | +HTML generator for Flask applications. Make your HTML code more readable and easier to maintain. |
4 | 10 | ## Installation |
5 | 11 | ```bash |
6 | | -pip install git+https://github.com/Odya-LLC/flask_html.git@main |
| 12 | +pip install flask_html |
7 | 13 | ``` |
8 | 14 |
|
9 | 15 | ## Usage |
10 | 16 | ```python |
11 | 17 | from flask_html import Page, Head |
12 | 18 | from flask_html.tags import Style, Body, Div, P |
| 19 | +from flask import request |
13 | 20 | @app.route('/') |
14 | 21 | def index(): |
15 | | - head = Head('Title', ['link to css'],['link to js'], [{"meta property": "value"}]) |
| 22 | + head = Head('Title', [],['https://code.jquery.com/jquery-3.6.1.min.js'], [{"meta_property": "value"}]) |
16 | 23 | page = Page(head) |
| 24 | + page.register_js(""" |
| 25 | + $(document).ready(function(){ |
| 26 | + $("body").append("<p>hello world</p>"); |
| 27 | + }) |
| 28 | + |
| 29 | + """) |
17 | 30 | body = Body(page, styles=Style(color="red", padding_top="15px"),classes=['class1', 'class2'], id='body_id',elements=[ |
18 | 31 | Div(styles=Style(margin="10px"), classes=['class1', 'class2'], id='div_id', elements=[ |
19 | 32 | P(styles=Style(color="blue"), classes=['class1', 'class2'], id='p_id', elements=[ |
20 | 33 | "Hello World" |
21 | 34 | ]) |
22 | 35 | ]) |
23 | 36 | ]) |
24 | | - return page.render(body) |
| 37 | + return page.render(body, request) |
25 | 38 | ``` |
| 39 | + |
| 40 | +## Elements |
| 41 | + |
| 42 | +### Example of Div elements |
| 43 | +```python |
| 44 | +"""Div HTML element |
| 45 | +
|
| 46 | +Args: |
| 47 | + styles (Style, optional): Inline css styles. Defaults to None. |
| 48 | + classes (List[str], optional): List of class names. Defaults to []. |
| 49 | + id (str, optional): Unique ID. Defaults to None. |
| 50 | + elements (List[object], optional): List of child elements. Defaults to []. |
| 51 | + props (Dict[str, str], optional): Additional tag properties. Defaults to {}. |
| 52 | +""" |
| 53 | +Div(styles=None, classes=[], id=None, elements=[], props={}) |
| 54 | +``` |
| 55 | +### All elements |
| 56 | + |
| 57 | + - Div |
| 58 | + - P |
| 59 | + - B |
| 60 | + - H1-H6 |
| 61 | + - A |
| 62 | + - Img |
| 63 | + - Span |
| 64 | + - Ul |
| 65 | + - Li |
| 66 | + - Button |
| 67 | + - Input |
| 68 | + - Form |
| 69 | + - Header |
| 70 | + - Footer |
| 71 | + - Nav |
| 72 | + |
| 73 | +## License |
| 74 | +This project is licensed under the MIT License (see the `LICENSE` file for details). |
0 commit comments