Markdown for JIK STEM
Social posts, News, Blog, publication descriptions, comments and Wiki pages use the same renderer: Python-Markdown with fenced code, tables, sane lists and JIK wiki links, followed by HTML sanitization. This is the supported syntax, not a promise of every CommonMark or GitHub extension. Publication excerpts, titles, tags and mailing campaign bodies are plain text.
Paragraphs and line breaks
Separate paragraphs with one blank line. A single line break inside a paragraph becomes ordinary whitespace. End a line with two spaces before pressing Enter to force a line break. Use blank lines before and after lists, code blocks, tables, quotations and headings.
Headings
Start a line with one to six # characters and a space:
# Main heading
## Section
### Subsection
#### Smaller heading
##### Level five
###### Level six
The article already has a title, so ## is normally a good first body heading. The alternative underline style is also supported: put === below a main heading or --- below a second-level heading. Heading anchors and an automatic table of contents are not generated.
Emphasis
*emphasis* or _emphasis_
**strong emphasis** or __strong emphasis__
***both***
Use backslashes for literal Markdown punctuation, for example \*not emphasis\*. Underscores inside words follow Python-Markdown's standard handling. ~~strikethrough~~ is not a Markdown extension here; the allowed HTML form is <del>removed text</del>.
Lists
- First item
- Second item
- Nested item
- Another nested item
1. First numbered item
2. Second numbered item
1. Nested numbered item
Unordered markers may be -, * or +. Indent nested content by four spaces. Continuation paragraphs within an item also need indentation. The sane-lists extension keeps ordered and unordered lists separate and preserves a non-one starting number in the rendered list where the sanitizer allows it. For predictable display, begin numbered lists at 1; list start attributes are currently stripped. Task-list checkboxes such as - [x] done remain ordinary text.
Quotations
> A quoted paragraph.
>
> Another paragraph from the same quotation.
>> A nested quotation.
Use > at the start of each quoted line. Quotes do not provide automatic attribution: add the author's name and a source link yourself.
Inline code
Put a short expression between backticks:
Evaluate `(+ 0.1 0.2)` to obtain `0.3`.
To include a backtick inside an inline code span, surround the span with a longer run of backticks. Code is displayed as text and is never executed. Wiki links inside code remain literal.
Code blocks
Start and end a block with matching runs of at least three backticks or tildes. An optional language name can follow the opening fence. This renderer accepts that hint but does not apply syntax coloring or execute the block.
```jik
(define square (lambda [x] (* x x)))
(square 7)
```
Keep fenced blocks at the document's top level. For code nested inside list items, use indented code: four spaces for a standalone code block and additional indentation for each containing list level. Use four-space indentation for an alternative code block without fences. Blank lines and indentation inside code are preserved.
Ordinary links
[Visible label](https://example.com/page)
[Label with title](https://example.com/page "Optional title")
[Wiki page](/wiki/page/jik/)
<https://example.com/>
[Email](mailto:info@example.com)
Reference-style links are supported:
Read the [guide][reference].
[reference]: https://example.com/guide "Guide title"
Use a descriptive visible label. Relative links and http, https and mailto destinations are allowed. Script, data, file and other unsafe protocols are removed. Bare URLs are not guaranteed to become links; use Markdown links or angle-bracket autolinks. Links open normally in the current browser context; arbitrary link attributes and new-window scripts are not supported.
JIK wiki links
[[getting-started]]
[[page:language/native-scope]]
[[page:language/native-scope|Native scope guide]]
[[crossroad:programming|Programming index]]
page is the default namespace; crossroad refers to a wiki crossroad. Paths are lowercased, trimmed and validated against the wiki's path rules. Use slash-separated URL segments made from the characters the wiki editor accepts (letters, digits, _ and -). Without a label, the last path segment supplies it, with hyphens changed to spaces. Labels are literal text. A link can point to a not-yet-created page; normal wiki access and missing-page behavior still apply. Wiki-link syntax also works from posts and comments. It does not expand inside code spans or blocks.
Tables
| Item | Meaning | Value |
| --- | --- | --- |
| nil | Empty value | `nil` |
| true | Boolean true | `t` |
| decimal | No suffix required | `0.3` |
Use a header row and separator row. A cell may contain inline emphasis, links or code, but not multiline blocks or nested tables. A colon at the left/right end of a separator requests alignment (:---, ---:, :---:); actual appearance also depends on the renderer's generated attributes and the site's sanitizer, so do not rely on alignment for meaning. For a literal vertical bar in a cell, use the HTML entity |. Wide tables can scroll horizontally in publication bodies.
Horizontal rules
A line containing at least three hyphens, asterisks or underscores creates a separator. Put blank lines around it so --- is not interpreted as a heading underline.
HTML and unsupported features
A small HTML subset is allowed: links, abbreviations, quotations, line breaks, code, deleted text, emphasis, headings, rules, list items/lists, paragraphs, preformatted blocks and tables. Specifically: a, abbr, blockquote, br, code, del, em, h1–h6, hr, li, ol, p, pre, strong, table, tbody, td, th, thead, tr, ul.
Only href, title and rel on links, and align on table cells, survive. Other attributes—including inline styles, classes, IDs and event handlers—are removed. Scripts, stylesheets, iframes, embedded objects and their raw contents are removed. Examples of such HTML inside code blocks remain inert text.
Images, audio/video embeds, forms, buttons, iframes, SVG, Mermaid, mathematical/LaTeX rendering, footnotes, definition lists, automatic emoji substitution, task checkboxes and arbitrary HTML layouts are not supported. Image Markdown does not embed an image because img is not allowed; use a normal link to an image or file instead. Do not rely on discarded HTML to convey information.
Preview, visibility and limits
Use Preview without saving in the post editor. Previewing does not publish or charge anyone. A published post with a future publication date appears when that date is reached. Drafts are visible only to authorized editors and moderators. Public title, excerpt and tags stay visible above a paywall: never put paid-only details there.
The body of a locked article is omitted from HTML and rendering context. Comments are shown only to readers with access. Changing an article between free, purchase and membership access does not remove an existing individual acquisition. Membership access expires at the end of its paid period; permanent memberships do not expire. Archive a post to remove it from discovery; existing individual buyers retain access unless the post is hidden by moderation.
Article bodies allow up to 200,000 characters; Social updates allow 10,000; comments allow 5,000. Mailing-list campaigns use plain text, not this Markdown renderer. Their marketing label and localized unsubscribe link are added automatically for each recipient.