Duncan Tourolle 8b833eef0b
All checks were successful
Python CI / test (push) Successful in 6m46s
more fstring fixes
2025-11-09 00:15:25 +01:00
..
2025-11-09 00:15:25 +01:00
2025-11-08 23:46:15 +01:00
2025-11-08 10:17:01 +01:00

PyWebLayout Examples

This directory contains example scripts demonstrating the pyWebLayout library.

Getting Started Examples

These examples demonstrate the core rendering capabilities of pyWebLayout:

01. Simple Page Rendering

01_simple_page_rendering.py - Introduction to the Page system

python 01_simple_page_rendering.py

Demonstrates:

  • Creating pages with different styles
  • Setting borders, padding, and backgrounds
  • Understanding page layout structure
  • Basic rendering to images

Page Rendering Example

02. Text and Layout

02_text_and_layout.py - HTML parsing and text rendering

python 02_text_and_layout.py

Demonstrates:

  • Parsing HTML content
  • Text alignment options
  • Font sizes and styles
  • Document structure

Text and Layout Example

03. Page Layouts

03_page_layouts.py - Different page configurations

python 03_page_layouts.py

Demonstrates:

  • Various page sizes (portrait, landscape, square)
  • Different aspect ratios
  • Border and padding variations
  • Color schemes

Page Layouts Example

04. Table Rendering

04_table_rendering.py - HTML table rendering with styling

python 04_table_rendering.py

Demonstrates:

  • Rendering HTML tables
  • Table headers and body rows
  • Cell borders and padding
  • Caption support
  • Custom table styling

Table Rendering Example

05. Tables with Images

05_table_with_images.py - Tables containing images and mixed content

python 05_table_with_images.py

Demonstrates:

  • Creating tables programmatically
  • Adding images to table cells
  • Book catalog and product showcase tables
  • Mixed content (images and text) in cells
  • Using cover images from test data

Table with Images Example

06. Functional Elements (Interactive)

06_functional_elements_demo.py - Interactive buttons and forms with callbacks

python 06_functional_elements_demo.py

Demonstrates:

  • Creating interactive buttons
  • Building forms with multiple field types
  • Post-layout callback binding
  • CallbackRegistry system for managing interactables
  • Accessing application state from callbacks
  • Batch callback operations
  • Simulating user interactions

Functional Elements Example

Advanced Examples

HTML Rendering

These examples demonstrate rendering HTML content to multi-page layouts:

html_line_breaking_demo.py - Basic HTML line breaking demonstration html_multipage_simple.py - Simple single-page HTML rendering html_multipage_demo_final.py - Complete multi-page HTML rendering with headers/footers

For detailed information about HTML rendering, see README_HTML_MULTIPAGE.md.

Running the Examples

All examples can be run directly from the examples directory:

cd examples
python 01_simple_page_rendering.py
python 02_text_and_layout.py
python 03_page_layouts.py
python 04_table_rendering.py
python 05_table_with_images.py
python 06_functional_elements_demo.py

Output images are saved to the docs/images/ directory.

Additional Documentation

  • README_HTML_MULTIPAGE.md - HTML multi-page rendering guide
  • ../ARCHITECTURE.md - Detailed explanation of the Abstract/Concrete architecture
  • ../docs/images/ - Rendered example outputs

Debug/Development Scripts

Low-level debug and rendering scripts have been moved to the scripts/ directory.