SNOPEA(7)
💖 SNOPEA(7) 💖
okay bestie, so this is the page for snopea, from the CSNOBOL4 Manual — yes it's a whole section 7 situation, we love that for us 🫶
✨ NAME ✨
snopea — a little “Plain Old Documentation” format for SNOBOL4 🌸
🌈 DESCRIPTION 🌈
snopea is a simple-to-use markup language for writing docs about SNOBOL4, SNOBOL4 programs, and SNOBOL4 modules. it's inspired by perlpod(1), which is iconic of it honestly. the snopea(1) command translates snopea into *roff man(7) macro format or HTML. so you write once, you get a man page and a web page. slay. 💅
here's the vibe check on how a doc block starts: a line that starts with zero or more star/asterisk (*) characters followed by =pea signals the start of a block of documentation. everything from there until a =cut directive gets processed — and after that leading star/asterisk character removal happens, so you can keep your pretty commented-out blocks looking cute ✨
new paragraphs? blank line. that's it. that's the whole trick. 🎀
🦋 FORMATTING 🦋
B<text>—textcomes out in bold. main character energy, literally.I<text>—textcomes out in italic.C<text>—textcomes out in constant width, iykyk, the code font.L<url>—urlgets formatted as an HTML link. 🔗
👑 DIRECTIVES 👑
okay so these are the directives, and there are a lot of them, but every single one matters, so we're going through all of them, no skipping, periodt.
=break— inserts a line break. 💥=bull text— indicates a bullet item in a list.=code— starts a block of code. lines inside get formatted in a constant-width font, and line breaks are preserved. so your spacing stays exactly how you wrote it 🫶=cut— signals the end of a block of documentation. bye bestie 👋=ecode— ends a=codeblock.=etable— ends a table.=item label— a list item with taglabel.=indent number— controls the indentation of=itemparagraphs.=nitem text— a numbered list item with taglabel.=row columns— a table row.columnsis a tab separated list.=sect name— declares man page sectionname.=subsect name— declares man page subsectionname.=table tab stops— begins a table, setting tab stops, a sequence of positions in inches, each followed byi(ie;1i 2i 3i).
⭐ SPECIAL CHARACTERS ⭐
these next ones are literally so important. the following sequences (an unholy mix of troff(1) and HTML, and yes that's a direct quote, it's giving chaotic collab) MUST be used for portable formatting. like, MUST must. no cap. 😤
``— left double quote (“)´´— right double quote (”)&— ampersand (&)π— greek lower-case pi (π)<— less than sign (<)>— greater than sign (>)\e— backslash (\)- **
\``** — accent grave (````) \'— apostrophe (')\-— en-dash\&— zero-width space\|— thin space\~— non-breaking space\=— equals-sign
💀 NOT CONFORMING TO 💀
inspired by — but NOT compatible with — the Perl POD format. so do not go assuming your POD knowledge transfers over, bestie, because it does not 🙈
🎀 AUTHOR 🎀
Philip L. Budne — thank you for your service, king 👑
🌸 SEE ALSO 🌸
snobol4(1), snopea(1), perlpod(1), perlpodspec(1).
and that's the whole page, bestie!! this was CSNOBOL4B 2.3.1, dated March 31, 2022 💜 go forth and document your SNOBOL4 like the icon you are ✨🦋💅
📦 where this page comes from
- fedora 43: snobol4 2.3.1-7.fc43 · BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND ISC
- fedora 43: snobol4 2.3.1-7.fc43 · BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND ISC
- fedora 44: snobol4 2.3.1-8.fc44 · BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND ISC
- fedora 44: snobol4 2.3.1-8.fc44 · BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND ISC
- opensuse-leap 16.0: snobol4 2.3.1-160000.2.2 · BSD-2-Clause
- opensuse-leap 16.0: snobol4 2.3.1-160000.2.2 · BSD-2-Clause
- opensuse-leap 16.0: snobol4 2.3.1-160000.2.2 · BSD-2-Clause
- opensuse-leap 16.0: snobol4 2.3.1-160000.2.2 · BSD-2-Clause
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms