1LOWDOWN(5) BSD File Formats Manual LOWDOWN(5)
2
4 lowdown — Markdown reference for lowdown
5
7 Markdown is a simple, plain-text formatting language. “Plain-text” in
8 this case means the document input looks similar to the output, less the
9 formatting niceties (boxed tables, italics, clickable links, etc.) pro‐
10 vided by the output medium. For example:
11
12 # How to be a Picard fan
13
14 ## Introduction
15
16 In order to develop fandom skills one must first and foremost
17 know *whom* one idolises. Therefore: **who is Captain Picard**?
18
19 1. Picard was named the \*Best Star Trek Captain\*, according
20 to a [5-week poll](poll.html).
21
22 > Picard continued his winning ways in the final week,
23 > with fans naming him the most inspiring captain.
24
25 2. Picard is handsome. ![Picard](image.jpg)
26 3. Picard knows how to code: `make engage`
27
28 ---------------------------------
29
30 ## Picard Fandom
31
32 Here's why everyone wants to be a fan...
33
34 This example consists of a series of block elements: section header, sub-
35 section header, paragraph, set of list elements, horizontal rule, then
36 another sub-section header. Each block element contains inline elements:
37 normal text, emphasised text (bold and italised), an image, a link, and a
38 span of code.
39
40 This document describes the Markdown syntax accepted by lowdown(1).
41
43 Text within Markdown documents must be UTF-8. The document may have the
44 byte-order mark (BOM), although this practice is discouraged by the Uni‐
45 code standard. Lines of text may be UNIX terminated (‘\n’) or DOS
46 (‘\r\n’). In the latter case, carriage returns are stripped from input
47 if detected at the first line.
48
50 A block element starts on a new line and extends to the next blank line
51 or block element. A block element contains inline elements.
52
53 Paragraphs and Line Breaks
54 A paragraph is made up of one or more lines of text possibly containing
55 inline elements. Paragraphs are separated by blank lines.
56
57 To insert a hard line break (i.e., a line-break in the input that is re‐
58 produced in the output), insert two spaces at the end of the line. If
59 commonmark input parsing is enabled, this may also be effected by escap‐
60 ing the newline:
61
62 Darmok and Jalad...\
63 at Tanagra.
64
65 Headers
66 There are two styles of headers: underlined (“setext”) and hash-marked
67 (“atx”). For underlined headers, underline the given word using equal
68 signs (“=”) for first-level headers and dashes (“-”) for second-level
69 headers.
70
71 This is an underlined header 1
72 ==============================
73
74 For hash-marked headers, use the corresponding number of hash characters
75 to the corresponding level of header, up to 6 levels, at the start of the
76 line separated by one space followed by the header.
77
78 ## This is a hash-marked header 2
79
80 If commonmark input parsing is enabled, the space is required after the
81 hash-marks in any hash-marked header.
82
83 Both types support PHP Extra attributes enclosed in curly braces. These
84 may begin at any point and must end at the end of the line.
85
86 ## Star Trek: Enterprise { #stent }
87
88 Star Trek: Enterprise { .reboots }
89 ---------------------
90
91 Non-empty values with a leading period are interpreted as HTML (CSS) or
92 OpenDocument classes, and values with a leading pound symbol are inter‐
93 preted as in-document link identifiers.
94
95 Extra attribute identifiers override the default mechanism for creating
96 header identifiers. They should contain only ASCII alphanumeric charac‐
97 ters.
98
99 Block Quotes
100 Block quoted sections are invoked with a single right-angle bracket (“>”)
101 followed by a space at the start of each line and between paragraphs.
102
103 > The Prime Directive is not just a set of rules;
104 > it is a philosophy... and a very correct one.
105 >
106 > (It goes on for a few paragraphs).
107
108 Block quotes may also have a non-multiline invocation: you need only in‐
109 voke the right-angle bracket at the start of a paragraph and omit it en‐
110 tirely between paragraphs.
111
112 > You cannot explain away a wantonly immoral act because
113 you think it is connected to some higher purpose.
114
115 > Here is another paragraph about Picard wisdom.
116
117 Consecutive blockquotes as above will be merged as paragraphs within a
118 single block quote on output, even if styles (non-multiline and
119 otherwise) are mixed.
120
121 Block quotes may be nested within other block quotes, as may any other
122 block elements such as headers, ordered/unordered lists, and code blocks.
123
124 > ### hash-marked header 3
125 >
126 > > I'd be delighted to offer any advice
127 > > I have on understanding women.
128 > > When I have some, I'll let you know.
129 >
130 > 1. advice list item 1
131 > 2. advice list item 2
132 >
133 > Here's the code to implement JLP's advice:
134
135 > yes | read engage
136
137 Lists
138 Lists may be specified as ordered (numbered) or unordered. Ordered lists
139 are invoked as numbers followed by periods (e.g., “1.”) and rendered in a
140 similar format. Note: it does not matter which order or which numbers
141 you use in your ordered lists, as all ordered lists start at one.
142
143 1. Make.
144 2. It.
145 1. So. (Not 1. again!)
146
147 If commonmark input parsing is enabled, list items may alternatively ter‐
148 minate with the right parenthesis:
149
150 1) Live long
151 2) Prosper
152
153 To prevent lists erroneously started by a paragraph beginning with a num‐
154 ber and period, use a backslash before the period.
155
156 1987. The year TNG premiered.
157
158 1987\. The year TNG premiered.
159
160 Unordered lists, on the other hand, can be invoked using either asterisk
161 (“*”), pluses (“+”), or hyphens (“-”), and can be a mix of all three
162 styles. Regardless the style, list items are rendered the same way.
163
164 - Earl Grey tea.
165 * Shakespeare.
166 + Exotic fish.
167
168 All nested block elements need a new line break, otherwise they will be
169 rendered on the same line as the list item on output. To insert para‐
170 graphs into a list item, indent each paragraph with either four spaces or
171 one tab.
172
173 - First list item
174
175 Courage can be an emotion too.
176
177 Things are only impossible until they're not.
178 + Second list item
179 + Third list item
180
181 To insert block quotes into a list item, indent the block quote with four
182 spaces or one tab prior to the right-angle bracket (“>”).
183
184 * List item 1
185 * List item 2
186
187 > I am Locutus of Borg.
188
189 > That is the cutest of Borg.
190
191 Code blocks need to be indented twice (two tabs or eight leading spaces):
192 once for being recognised within the list item, another for the code
193 block itself.
194
195 * Here is a list item for an indented code block:
196
197 alias path='echo -e ${PATH//:/\n}'
198
199 To make list elements occur in tight sequence — like a grocery list —
200 don't have an empty line between the items.
201
202 - Phaser
203 - Communicator
204
205 On the other hand, if you want to render lists separated by white-space,
206 use the following syntax:
207
208 - A phaser is a type of weapon.
209
210 - A communicator keeps Riker in contact with Troi.
211
212 This applies to ordered and unordered list types.
213
214 Task lists
215 One form of an unordered list is task lists, a GFM extension. These be‐
216 gin with checkboxes (checked or not), rendered similarly in the output.
217
218 Star Trek series with episodes in the Delta quadrant:
219
220 - [ ] Original series
221 - [x] TNG
222 - [ ] DS9
223 - [x] Voyager
224 - [ ] Enterprise
225 - [ ] Discovery
226
227 The check may be upper or lower case. A space must follow the right
228 square bracket.
229
230 Definition Lists
231 Definition lists are a PHP Extra extension. They're similar to lists ex‐
232 cept in having key and value pairs, with keys being preceded by a blank
233 line:
234
235 Best understated characters:
236
237 *Quark*
238 : Armin Shimerman
239
240 *Weyoun*
241 : Jeffrey Combs
242
243 Keys consist of a single line and may contain inline elements. Like
244 other lists, values may consist of arbitrary nested blocks. There may be
245 multiple consecutive values per key. If the key and value are separated
246 by a blank line, the list is emitted as if it contained block elements
247 (usually output as spacing between key-value pairs).
248
249 Code Blocks
250 Code blocks consist of pre-formatted text, such as source code. Each
251 code block contains opaque/literal text. This means that new lines and
252 white spaces are retained — they're not formatted in any way, and any
253 text inside the code block is not interpreted. To invoke a code block,
254 create a line break then indent each line with four spaces or one tab.
255
256 Here is a paragraph about Bridge protocol
257
258 Here is a code block for the command "Engage"
259
260 Within a code block, text is escaped given the output format. Therefore,
261 characters that would normally need to be escaped in other text process‐
262 ing languages such as ampersands (“&”) do not need to be escaped.
263
264 Here is how you start the program xterm:
265
266 xterm &
267
268 Horizontal Rules
269 A horizontal rule is a line that goes across an output page. These are
270 invoked with three or more asterisks (“*”), hyphens (“-”), or underscores
271 (“_”) on their own line. Spaces between these characters are disre‐
272 garded.
273
274 ***
275 * * *
276 ---
277 - - -
278 ___
279 _ _ _
280 ___________________________
281
282 Metadata
283 Documents can include metadata that is not part of the main text. The
284 syntax follows the MMD and Pandoc specifications.
285
286 In the MMD syntax, the block begins on the document's first line and con‐
287 tinues until the first blank line. Keys and values are separated by a
288 colon, and pairs separated by a newline. A key (and following value)
289 must exist on the line beginning the metadata pair, but the value may
290 span multiple lines.
291
292 Title: Captain's log
293 Author: Captain J-L Picard
294 Summary: As part of an exchange program, we're taking
295 aboard a Klingon officer to return the recent visit
296 of Commander Riker to the cruiser Pagh.
297 Stardate: 43917.4
298
299 Alternatively, a block of MMD metadata may begin with a line of "---" and
300 end with "---" or "...".
301
302 If there are multiple lines of text in a metadata value, subsequent lines
303 should (but need not) be offset with whitespace. Otherwise, they must
304 not have a colon in the value, else they will be construed as a subse‐
305 quent pair's key.
306
307 End each line with two spaces to ensure linebreaks are rendered on output
308 for non-conforming Markdown renderers. Moreover, beginning a document
309 with a regular sentence containing a colon might invoke metadata. To es‐
310 cape this, add one blank line to the beginning of the document.
311
312 Metadata keys must consist of alphanumeric ASCII characters, the hyphen
313 ("-"), or the underscore ("_"). They must have at least one character
314 and are stripped of white-space and converted to lower case.
315
316 Metadata values are opaque text: Markdown statements (e.g., italics, en‐
317 tities, etc.) are copied as-is. The values will have leading white-space
318 stripped, i.e., space following the colon.
319
320 If multiple metadata keys resolve to the same name, the last invocation
321 is retained. This check happens after canonicalising the name by strip‐
322 ping spaces, converting to lower-case, and substituting unknown charac‐
323 ters.
324
325 In the Pandoc syntax, the block stops at the first line not starting with
326 a percent sign or space. Metadata is limited to at most three keys: ti‐
327 tle, author(s), and date. The first line is for title, the second (if
328 provided) for author(s), and the third (also if provided) for date.
329 Lines may continue by having a subsequent line begin with a space. If
330 only one leading-percent line is included, the metadata is only for the
331 title; if two, for a title and author(s); and so on. If a leading-per‐
332 cent line is blank, the corresponding metadata is left empty (unspeci‐
333 fied).
334
335 % A Skin of Evil
336 % Tasha Yar
337 Armus
338 % 1988-04-2525
339
340 Wow what a day...
341
342 Multiple authors may be separated by multiple white-space (including new‐
343 lines), a semicolon, or both.
344
345 The Pandoc title line is automatically scanned for whether it's a man‐
346 page-style title:
347
348 % TREK(6)
349
350 lowdown recognises a manpage title from the open parenthesis followed by
351 a number (or "n"), optional following characters, then a closing paren‐
352 thesis. If found, the title is broken down into title and section. Any
353 text following the title is further recognised as the source and, if a
354 vertical bar is detected, what comes after as the volume.
355
356 % TREK(6) OpenBSD | Games Manual
357
358 These may be accessed with the title and section metadata keys, and op‐
359 tionally volume and source.
360
361 Using either syntax, dates should be in the YYYY-MM-DD format, but can be
362 in any format. Metadata values may be pasted into a document by refer‐
363 encing the [%key], such as using the above example, again with the caveat
364 that Markdown annotations (italics, etc.) are copied verbatim:
365
366 date: 43917.4
367
368 It's currently stardate [%date].
369
370 Or using Pandoc:
371
372 %
373 %
374 % 43917.4
375 It's currently stardate [%date].
376
377 Mathematics
378 Mathematics support is an extension of Markdown. The extension only de‐
379 scribes how the math blocks begin and end: the contained equations are
380 usually in LaTeX and implemented in the front-end (e.g., HTML). There
381 are two types: inline and block. Both may occur anywhere in a text
382 stream. Inline equations are rendered as part of the text; block equa‐
383 tions are rendered on their own.
384
385 This is an inline $f(x)$ function.
386 This is a block $$f(x)$$ function.
387 This is also an inline \\(f(x)\\) function.
388 This is also a block \\[f(x)\\] function.
389
390 Tables
391 Tables are a GFM (GitHub-flavoured Markdown) extension of the basic syn‐
392 tax. They consist of a table header and body, and columns may be left,
393 right, or centre justified.
394
395 | Officer | Rank |
396 | --------------: | -------------------- |
397 | Jean-Luc Picard | Captain |
398 | Worf | Lieutenant Commander |
399 | Data | Lieutenant Commander |
400 | William Riker | Commander |
401
402 The table header must be followed by a line of hyphens with at least
403 three hyphen/colons per column. Columns are separated by vertical bars.
404 The colon indicates alignment: a colon at the beginning means left justi‐
405 fied; at the right for right justified, and both for centred.
406
407 The leading and trailing column separator is superfluous. Table data is
408 not necessary, but the table header is. The minimum table structure for
409 the above is:
410
411 Officer | Rank
412 --:|---
413 Jean-Luc Picard | Captain
414
415 Table columns may contain arbitrary inline elements.
416
417 Footnote Definition
418 Footnotes are a MMD extension of the basic syntax. Footnote definitions
419 may occur anywhere in the text (except within blocks) and are “pointed
420 to” by a Footnote Reference. They consist of the footnote name (in
421 square brackets, preceded by the caret), a colon, then everything remain‐
422 ing in the block is the footnote content.
423
424 [^pt]:
425 Klingon insult, meaning something like "weirdo," deriving from
426 the verb "to be weird" (**taQ**), with and [sic] you (plural)
427 imperative prefix (**pe-**).
428
429 Footnote contents may be on the same line as the colon. The footnote
430 name is rendered as a number. If a footnote definition is not referred
431 to, it is not printed.
432
433 HTML Blocks
434 Embedded HTML is discouraged, as it inhibits formatting into non-HTML
435 output, but is still accepted. Blocks of HTML must begin with a recog‐
436 nised HTML block-level element.
437
438 In the original Markdown, block-level elements were well-defined by
439 HTML4. HTML5 elements are also accepted, but as there is no concept of
440 block-level in HTML5, these are non-canonical. Accepted elements are
441 <address>, <article>, <aside>, <blockquote>, <del>, <details>, <dialog>,
442 <dd>, <div>, <dl>, <dt>, <fieldset>, <figcaption>, <figure>, <footer>,
443 <form>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <header>, <hgroup>, <iframe>,
444 <ins>, <li>, <main>, <math>, <nav>, <noscript>, <ol>, <p>, <pre>,
445 <section>, <script>, <style>, <table>, <ul>. The void elements <br />,
446 <hr />, <link />, and <meta /> are also recognised, and need not be self-
447 closed.
448
450 Elements within a block element. Sometimes called (inline) elements.
451 For example, normal text, a span of emphasised text, or a hyperlink. An
452 inline element cannot contain a block element, but can contain other in‐
453 line elements.
454
455 Emphasis
456 There are two different styles of emphasis: strong, usually rendered as
457 bold; and emphasis, usually rendered as italics. This is confusing, so
458 sometimes the former is referred to as a “double-emphasis” while the lat‐
459 ter is a “single-emphasis”.
460
461 Text surrounded by a single asterisk (“*”) or underscore (“_”), the sin‐
462 gle-emphasis variant, is traditionally rendered with italics.
463
464 *Captain Picard*
465 _Captain Picard_
466
467 Text surrounded by a double asterisk (“**”) or underscore (“__”), the
468 double-emphasis variant, is traditionally rendered as bold.
469
470 **Jean-Luc Picard**
471 __Jean-Luc Picard__
472
473 Emphasis may occur within the middle of a word:
474
475 En*ter*prise
476
477 In order to produce a literal asterisk (“*”) or underscore (“_”) simply
478 surround the character by white space.
479
480 The ship * USS Enterprise * will not be emphasized
481
482 Two additional types of double-emphasis are the strike-through and high‐
483 light. These are produced by pairs of tilde and equal characters, re‐
484 spectively:
485
486 ~~Kirk~~Picard is the best ==captain==.
487
488 The highlight variant may be enabled in lowdown(1) with highlight parsing
489 enabled. It's disabled by default because if used at the beginning of a
490 line it may be erroneously interpreted as a section.
491
492 Links
493 There are two types of links: inline and reference. In both cases, the
494 linked text is denoted by square brackets (“[]”). An inline link uses
495 parentheses (“()”) containing the URL immediately following the linked
496 text in square brackets to invoke the link.
497
498 [text to link](https://bsd.lv)
499
500 Local references may be absolute or relative paths:
501
502 [Picard](/Picard)
503
504 A reference link, on the other hand, keeps the URL outside of the text —
505 usually in the footnotes. Define a reference link anywhere in a document
506 by a title in square brackets (“[]”) followed a colon (“:”) followed by
507 the corresponding URL or path, then an optional title.
508
509 [link1]: https://www.bsd.lv/picard.jpg "Optional Title"
510
511 The title may be delimited with single quotes, double quotes, or paren‐
512 thesis. It is only rendered in HTML output. It encompasses all text un‐
513 til the last delimiter before the end of line, so it may contain delim‐
514 iters. The title may be on its own line.
515
516 Reference the link anywhere in your text using [text to the link] and the
517 same [link title], both in square brackets (“[]”) next to each other:
518
519 Text about [Captain Picard][link1].
520
521 References need not follow the definition: both may appear anywhere in
522 relation to the other.
523
524 Reference and inline links may be followed by PHP Extra attributes.
525
526 Lowdown [homepage][home] or
527 [github](https://github.com/kristapsdz/lowdown){ .gh #link1 }.
528
529 [home]: https://kristaps.bsd.lv/lowdown { .home #link2 }
530
531 For inline links, the open brace must immediately follow the closing
532 parenthesis. Attributes are separated by spaces.
533
534 Values with a leading period (".class") are interpreted as HTML (CSS) or
535 OpenDocument classes, and values with a leading pound symbol ("#id") are
536 interpreted as in-document link identifiers.
537
538 Automatic Links
539 Automatic links are links to URLs or emails addresses that do not require
540 text to links; rather, the full link or email address is inferred from
541 the text. To invoke an automatic link, surround the link or email ad‐
542 dress with angle brackets (“<>”), for example:
543
544 <https://bsd.lv/>
545 <kristaps@localhost>
546
547 Images
548 The image syntax resembles the links syntax. The key difference is that
549 images require an exclamation mark (“!”) before the text to link sur‐
550 rounded by square brackets (“[]”).
551
552 ![Image text](imageurl.jpg)
553
554 Just like with links, there are both inline and reference image links.
555
556 The inline style consists of an exclamation mark (“!”) followed by the
557 alternate text (which may be empty) surrounded by square brackets “([])”
558 followed by the URL or the path in parentheses “(())”.
559
560 Unlike link text within square brackets, the alternate text is inter‐
561 preted as-is. Thus, passing Markdown or HTML entities will be passed di‐
562 rectly to output (escaped according to output medium). Alternate text
563 may not begin with the caret (“^”) or percent (“%”), else they will be
564 interpreted as footnote or metadata references, respectively.
565
566 The parentheses may contain optional dimensions (widthx[height]) starting
567 with an equal sign or a quoted (single or double quotes) title in any or‐
568 der after the URL or path. These dimensions are pixel sizes.
569
570 ![Picard](https://bsd.lv/picard.jpg =250x250 'Engage!')
571
572 The reference style definition consists of an image identifier surrounded
573 by square brackets “([])” followed by a colon “(:)” followed by an image
574 URL or path to image and optional title attribute in double quotation
575 marks.
576
577 [image1]: https://bsd.lv/picard.jpg "Picture of Picard"
578
579 Invoking the image reference is as follows:
580
581 A picture of the captain: ![Captain Picard][image1]
582
583 As with regular reference links, the definition and references may occur
584 anywhere in relation to each other.
585
586 Images may also be followed by PHP Extra attributes for classes, identi‐
587 fiers, and width and height. Implementation of these depends on the out‐
588 put medium.
589
590 ![Picard](https://bsd.lv/picard.jpg){width=20% .class}
591
592 The open brace must immediately follow the closing parenthesis. At‐
593 tributes are separated by spaces.
594
595 Value pairs "width=xx" and "height=xx" are interpreted as HTML (CSS),
596 OpenOffice, or LaTeX dimensions. These override set pixel dimensions.
597 Percentages are understood by all three media; otherwise, dimension units
598 are interpreted according to the medium.
599
600 Values with a leading period (".class") are interpreted as HTML (CSS) or
601 OpenDocument classes, and values with a leading pound symbol ("#id") are
602 interpreted as in-document link identifiers.
603
604 Code
605 In addition to code blocks, inline code spans may be specified within
606 paragraphs or other block or inline elements. To invoke a span of code,
607 surround the code using backtick quotes (“`”).
608
609 I need your IP address to scp you Picard pics.
610 Use the `ifconfig iwm0` command.
611
612 To include literal backticks (“`”) within a code span, surround the code
613 using multiple backticks (“(``”).
614
615 ``Here is a span of code with `backticks` inside it.``
616
617 If you have a literal backtick at the start or end of the span of code,
618 leave a space between the literal backtick and the delimiting backticks.
619
620 `` `So many backticks.` ``
621
622 Footnote Reference
623 Footnotes are a MMD extension of the basic syntax. Footnote references
624 point into a block-level Footnote Definition. They consist of the foot‐
625 note name in square brackets, preceded by the caret.
626
627 P'tahk[^pt], tell me who you are, or I will kill you right here!
628
629 The footnote name is rendered as a number. There may only be one foot‐
630 note reference per definition. If a footnote reference refers to an un‐
631 known definition, or if it has already been used in referring to a defi‐
632 nition, it is printed as-is. Footnote definitions without references are
633 not printed. Nested footnotes are not allowed.
634
635 Superscripts
636 Uses the caret (“^”) to start a superscript. The superscripted material
637 continues to white-space or, if starting with an open parenthesis, the
638 close parenthesis.
639
640 Though a great book, Q^2 (Q^(squared)) isn't Star Trek canon.
641
642 HTML Content
643 While block-level HTML must begin with a recognised block-level HTML ele‐
644 ment, span-level HTML need only begin and end with angle brackets, and
645 not contain a hyperlink.
646
647 Thus, <p>, <Leonard Nimoy>, and <span class="foo"> are all accepted.
648 Even malformed content, such as <span class="foo> is accepted, so long as
649 it begins and ends with angle brackets.
650
652 Automatic Escapes
653 Output is automatically escaped depending upon the medium. For example,
654 HTML output will properly escape angle brackets “(<)” and ampersands
655 “(&)” to produce conformant HTML. The same goes with man(7) output in
656 escaping leading periods and so forth.
657
658 Backslash Escapes
659 Backslash escapes render literal characters that would otherwise invoke a
660 particular block or inline element. For example, surrounding a phrase
661 with single asterisks renders it as an emphasis:
662
663 *Captain Picard*
664
665 However, if you want to invoke those italics as literal characters, es‐
666 cape those asterisks using backslashes (“\”).
667
668 \*Captain Picard\*
669
670 The following characters may be escaped to produce literal text:
671
672 * asterisk
673 \ backslash
674 ` backtick
675 { curly brace
676 ! exclamation mark
677 # hash mark
678 - minus sign
679 ( parentheses
680 . period
681 + plus sign
682 [ square bracket
683 _ underscore
684
686 lowdown(1) renders certain character sequences for easier reading. This
687 is called "smart formatting". The following character sequences are con‐
688 verted to output-specific glyphs. The table shows whether the sequences
689 must be on word boundaries.
690
691 (c) copyright
692 (r) registered
693 (tm) trademark
694 (sm) service mark
695 ... ellipsis
696 . . . ellipsis
697 --- em-dash
698 -- en-dash
699 1/4 one-quarter full word boundary
700 1/4th one-quarter full word boundary
701 3/4 three-quarters full word boundary
702 3/4th three-quarters full word boundary
703 3/4ths three-quarters full word boundary
704 1/2 one-half full word boundary
705 " left-double left word boundary
706 " right-double right word boundary
707 ' left-single left word boundary
708 ' right-single not left word boundary
709
710 Word boundaries are defined by white-space (including the end of blocks,
711 such as paragraphs, or end of file) or punctuation. Left word boundary
712 refers to white-space or a left parenthesis or square bracket to the left
713 of the sequence. Right refers to white-space or punctuation to the
714 right.
715
716 Smart quotes (single and double) are not context aware: using a left or
717 right quote depends upon the characters surrounding the quote, not
718 whether a prior quote mark has already been used.
719
721 lowdown(1)
722
724 The Markdown syntax accepted by lowdown(1) conforms to John Gruber's
725 original Markdown implementation. Extensions to the language are specif‐
726 ically noted. They include:
727
728 CommonMark: http://commonmark.org
729
730 GFM: https://github.github.com/gfm
731
732 Multimarkdown (MMD): http://fletcherpenney.net/multimarkdown
733
734 Pandoc: https://pandoc.org/MANUAL.html
735
736 PHP Extra: https://michelf.ca/projects/php-markdown/extra
737
739 The lowdown reference was originally written by Christina Sophonpanich
740 and is maintained by Kristaps Dzonsons <kristaps@bsd.lv>.
741
742BSD December 17, 2023 BSD