from pathlib import Path import zipfile html = """ PoemFill.dev — Public-Domain Text Generator
A better lorem ipsum for editorial interfaces, demos, and structured developer previews

Generate beautiful public-domain text

PoemFill.dev now supports poetry, philosophy, and literary passages so developers can test short verse blocks, formal prose paragraphs, and longer editorial layouts from one utility. The controls are structure-aware, and output size now aligns with the selected content mode.

Sample output
"Hope" is the thing with feathers — That perches in the soul — And sings the tune without the words — And never stops — at all —
UI upgrade summary
Editorial Warm Neutral palette, refined typography, longer paragraph output, philosophy highlights, clearer structure controls, and more literal count behavior.

Public-domain text generator

Choose a source class, content structure, and output amount. Paragraph mode now returns true paragraph counts, line mode returns exact lines, and stanza mode returns grouped verse blocks. Philosophy and literary entries support longer paragraph output for more realistic interface testing.

Blends poetry, philosophy, and literary passages for broader layout testing.
Generates full paragraphs from longer public-domain text.
Returns 3 full paragraphs when paragraph mode is selected.
Source: Demo corpus · Structure: Paragraph · Format: Plain Text
Ready

Hope is the Thing with Feathers

Emily Dickinson Poem Hope Public-domain demo corpus

            
          

Paragraph mode now behaves like a real utility

Output amount now matches the selected structure. Paragraph mode returns actual paragraph counts, not just a lightly repeated short verse block.

Formal prose joins the poetry corpus

Philosophy entries provide denser public-domain style paragraphs so product teams can test serious, reflective, article-like layouts beyond short lyric output.

Source class and structure are now explicit

The revised UI makes it easier to understand whether the generator is returning poetry, philosophy, or literary passages, and how count values will be applied.

""" readme = """PoemFill.dev UI package Contents: - index.html - README.txt Included in this upgraded single-file UI: - Editorial Warm Neutral palette - Typography refinements - Source Class control - Content Structure control - Longer paragraph output logic - Philosophy + literary passage demo corpus - Dynamic count labeling - Copy and download actions """ base = Path("/mnt/data/poemfill_ui_package") base.mkdir(exist_ok=True) (base / "index.html").write_text(html, encoding="utf-8") (base / "README.txt").write_text(readme, encoding="utf-8") zip_path = Path("/mnt/data/poemfill-index-html-upgrade.zip") with zipfile.ZipFile(zip_path, "w", zipfile.ZIP_DEFLATED) as zf: zf.write(base / "index.html", arcname="index.html") zf.write(base / "README.txt", arcname="README.txt") print(f"Created {zip_path}") print(f"Created {base / 'index.html'}")