You may be familiar with BBCode, a loosely related family of markup languages popular on forums. Babycode is another, simplified, dialect of those languages. It is a way of formatting text by enclosing parts of it in special tags.
[b][/b]
:[i][/i]
:[s][/s]
:There are a few emoji in the style of old forum emotes:
<% --[[ we'll pretend like i will totally refactor emojis and generate this table dynamically in the future. clown emoji ]]%>Short code(s) | Emoji result |
---|---|
:angry: | ![]() |
:(: | ![]() |
:D: | ![]() |
:imp: | ![]() |
:impangry: :angryimp: | ![]() |
:lobster: | ![]() |
:|: | ![]() |
:pensive: | ![]() |
:): | ![]() |
:smiletear: :crytear: | ![]() |
:,: :T: :cry: :sob: | ![]() |
:o: :O: | ![]() |
:hmm: :think: :thinking: | ![]() |
:P: :p: | ![]() |
:weary: | ![]() |
:;: :wink: | ![]() |
Special thanks to the Forumoji project and its contributors for these graphics.
Line breaks in babycode work like Markdown: to start a new paragraph, use two line breaks:
paragraph 1
paragraph 2
Will produce:To break a line without starting a new paragraph, end a line with two spaces:
paragraph 1
still paragraph 1
That will produce:Loose links (starting with http:// or https://) will automatically get converted to clickable links. To add a label to a link, use[url=https://example.com]Link label[/url]
:
Link label
To add an image to your post, use the [img]
tag:
[img=https://forum.poto.cafe/avatars/default.webp]the Lua logo with a cowboy hat[/img]
Images will always break up a paragraph and will get scaled down to a maximum of 400px. The text inside the tag will become the image's alt text.
There are two kinds of code blocks recognized by babycode: inline and block. Inline code blocks do not break a paragraph. They can be added with [code]your code here[/code]
. As long as there are no line breaks inside the code block, it is considered inline. If there are any, it will produce this:
<%= code %>
Babycodes are not parsed inside code blocks.
Text enclosed within [quote][/quote]
will look like a quote:
A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine.
There are two kinds of lists, ordered (1, 2, 3, ...) and unordered (bullet points). Ordered lists are made with [ol][/ol]
tags, and unordered with [ul][/ul]
. Every new paragraph according to the usual paragraph rules will create a new list item. For example:
[ul]
item 1
item 2
item 3
still item 3 (break line without inserting a new item by using two spaces at the end of a line)
[/ul]