This post is a deliberate stress-test for a small Python script that converts normal HTML into an old-style
YaBB single-line message format (pipe-delimited header + HTML body + trailing ||).
It includes common formatting traps: blank lines, inline code, lists, a table, and preformatted log text.
Goal: prove that the converter preserves readable structure while enforcing YaBB constraints:
single-line output, safe line breaks, and no accidental field delimiter pipes.
<br />, blank lines → <br /><br />title|author|email|timestamp|admin|xx|0|0|BODY||
If the body contains a literal pipe character, YaBB interprets it as a field delimiter and everything explodes quietly.
For this test, the converter should replace pipes with an HTML entity.
For example:
Before: CALLSIGN | BAND | SNR
After: CALLSIGN | BAND | SNR
| Parameter | Value | Note |
|---|---|---|
| timestamp | auto | UTC epoch seconds |
| line breaks | <br /> | YaBB-safe |
| blank lines | <br /><br /> | Paragraph spacing |
Below is a mock “script run” log block (HTML <pre> tends to be brittle in old boards, so this is intentionally plain):
This last block tests YaBB’s image embedding and caption styling. Replace the URL with any known-good image on your server.

End of test post.
For completeness, the local scripts used to generate this entry (including the yabbify wrapper and HTML→YaBB converter) are documented here:
HTML→YaBB conversion scripts (README)|