Skip to content

docs: standardize README.md structure#82

Merged
usernane merged 5 commits into
devfrom
docs/standardize-readme
Jun 10, 2026
Merged

docs: standardize README.md structure#82
usernane merged 5 commits into
devfrom
docs/standardize-readme

Conversation

@usernane

Copy link
Copy Markdown
Member

Summary

Rewrite README.md to follow the WebFiori ecosystem standard (matching webfiori/collections).

Motivation

README structure was inconsistent with the ecosystem standard. Fixes #54.

Changes

  • Plain markdown headers (removed emoji)
  • Centered badges including PHP 8.1+ badge
  • Added Table of Contents
  • Supported PHP Versions build status table
  • Key Features bullet list
  • Quick Start with working code example
  • API Reference table with new factory methods
  • Testing, Contributing, License, Support, Changelog sections

Checklist

  • I reviewed my own diff before requesting review
  • My commits follow Conventional Commits
  • I added/updated tests (or explained why not) — N/A, docs only
  • I updated docs (if needed) Docs Repo
  • I ran lint/cs-fixer (if applicable) — N/A
  • I considered backward compatibility
  • I considered security

Related issues

Closes #54

Align README with the WebFiori ecosystem standard (webfiori/collections):
- Plain markdown headers (no emoji)
- Centered badges with PHP 8.1+ badge
- Table of Contents
- Supported PHP Versions table
- Key Features bullet list
- Quick Start with working example
- Testing, Contributing, License, Support, Changelog sections

Closes #54
@usernane usernane force-pushed the docs/standardize-readme branch from af874fa to f5d3734 Compare June 10, 2026 14:41
@codecov

codecov Bot commented Jun 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 66.66667% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 98.38%. Comparing base (9bb0ea8) to head (e59db6a).
⚠️ Report is 6 commits behind head on dev.

Files with missing lines Patch % Lines
WebFiori/Ui/TemplateCompiler.php 66.66% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##                dev      #82      +/-   ##
============================================
- Coverage     98.43%   98.38%   -0.05%     
- Complexity      978      979       +1     
============================================
  Files             7        7              
  Lines          1975     1977       +2     
============================================
+ Hits           1944     1945       +1     
- Misses           31       32       +1     
Flag Coverage Δ
php-8.3 98.38% <66.66%> (-0.05%) ⬇️
php-8.5 97.62% <66.66%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Ibrahim BinAlshikh added 4 commits June 10, 2026 17:47
Add self-contained, runnable examples following the webfiori/database
pattern (folder per example with README.md and example.php):

- 01-basic-document: Complete HTML5 document creation
- 02-elements-and-attributes: Chaining, styles, iteration
- 03-forms-and-input: Form building with various input types
- 04-tables: Table creation and dynamic columns
- 05-html-templates: Slot-based HTML templates
- 06-php-templates: PHP templates with logic
- 07-standalone-renderer: HtmlRenderer per-instance config
- 08-xml-output: XML generation
When an HTMLNode instance is passed as a slot value, render it as raw
HTML instead of escaping it. String values remain escaped via
htmlspecialchars() for XSS safety.

Usage:
  $badge = new HTMLNode('span', ['class' => 'badge']);
  $badge->text('New');
  $card = HTMLNode::fromFileAsNode('card.html', ['title' => $badge]);
@usernane usernane merged commit 33fcb47 into dev Jun 10, 2026
2 checks passed
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant