# Mycomarkup **Mycomarkup** is Mycorrhiza Wiki's own markup language. It is the only supported markup, there is no support for Markdown, Creole, etc. A Mycomarkup document (which is most often a hypha's text part) consists of //blocks//. There are different blocks for different purposes. ## Table of contents => /help/en/mycomarkup#Paragraph Paragraph => /help/en/mycomarkup#Inline_link Inline link => /help/en/mycomarkup#Rocket_link Rocket link => /help/en/mycomarkup#Heading Heading => /help/en/mycomarkup#Codeblock Codeblock => /help/en/mycomarkup#Horizontal_line Horizontal line => /help/en/mycomarkup#Image_gallery Image gallery => /help/en/mycomarkup#List List => /help/en/mycomarkup#Quote Quote => /help/en/mycomarkup#Table Table ## Paragraph **Paragraphs** are the most ubiquitous blocks. You will use them a lot. To create a paragraph, just write text. Paragraphs are separated by empty lines. * {``` Paragraph 1 Paragraph 2 Second line of paragraph 2 ```} * { Paragraph 1 Paragraph 2 Second line of paragraph 2 } You can apply styling to paragraph content. * {``` You can use //italic//, **bold**, `monospace`, ++highlighted++, ^^lifted&^, __underscored__, ,,lowered,, or ~~striked-through~~ text. You can also ++//combine//++ them! ```} * You can use //italic//, **bold**, `monospace`, ++highlighted++, ^^lifted^^, __underscored__, ,,lowered,, or ~~striked-through~~ text. You can also ++//combine//++ them! Use the backslash to prevent the styling. * {``` This is not \//italic\// ```} * This is not \//italic\// You do not have to close the stylings, they will span until the end of line. * {``` This is //italic This is not ```} * { This is //italic This is not } You can include inline links. * {``` Just a paragraph with a couple of [[https://example.org | links]] leading [[nowhere]]. ```} * Just a paragraph with a couple of [[https://example.org | links]] leading [[nowhere]]. ### Inline link External links can be placed verbatim if they have protocol specified. These links are called autolinks. It may not work as expected sometimes. Supported protocols for autolinks are https, http, gemini, gopher, ftp. * {``` https://example.org ```} * https://example.org Wrap links to hyphae and external links with `[\[` and `]]`. * {``` Links to a [[hypha]] and [[https://example.org]]. ```} * Links to a [[hypha]] and [[https://example.org]]. If you want to change the displayed text of the link, write it after `|`. * {``` Links to [[hypha | a Hypha]] and [[https://example.org | some website]]. ```} * Links to [[hypha | a Hypha]] and [[https://example.org | some website]]. Since hypha names are case-insensitive, these links are basically the same: `[[hypha]]`, `[[Hypha]]`, `[[HYPHA]]`. ## Rocket link **Rocket links** are special links. They take up a whole line. They are not consistent with usual inline links. The display text is written after the first space, not `|`. If you want to link a hypha with spaces in it, replace the spaces with _. * {``` => hypha => hypha_with_spaces => https://example.org => https://example.org Display text ```} * { => hypha => hypha_with_spaces => https://example.org => https://example.org Display text } ## Heading There are six levels of **headings**. They consist of some hash signs followed by a space and the heading itself. You can format the heading like a paragraph. You should probably not use level 1 because the hypha name title is already level 1. ``` # level 1 ## level 2 ### level 3 #### level 4 ##### level 5 ###### level 6 ``` There is an invisible link denoted by the ยง sign near every heading. You can reveal it with a mouse. If you click it, the URL in the browser will change to the URL leading to that very heading. Try that on headings in this article. ## Codeblock Use **codeblocks** to show code or any other preformatted text. Codeblocks start with triple backticks on column 1 and end similarly. You can write any text after the backticks, it is ignored. Put the preformatted text between them. Like that, but without leading spaces: ``` ``` this is preformatted see ``` ``` ``` this is preformatted see ``` ## Horizontal line Write four hyphens to insert a **horizontal line**. * {``` ---- ```} * ---- ## Image gallery Use **image galleries** to embed images to the page. Images can be either hyphae or external files. In the example below you can replace the URL with a hypha's name. If that hypha is an image, the image will be shown. You can write a description for the image and specify its size. * {``` img { https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg { Description //here// } https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg | 100 { Size } https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg | 50*50 } ```} * { img { https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg { Description //here// } https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg | 100 { Size } https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg | 50*50 { Square } } } If you were embedding a hypha called //an image hypha//, it would look like this: * {``` img { an image hypha } ```} If you put just one image, it will be displayed with no decorations: * {``` img { https://mycorrhiza.wiki/static/favicon.ico } ```} * {img { https://mycorrhiza.wiki/static/favicon.ico }} ## List **Lists** are used for sequential or tree data. They are quite popular. Mark each list entry with an asterisk and a space: * {``` * one * two * three ```} * { * one * two * three } If you place dots after the asterisks, the list becomes numbered: * {``` *. one *. two *. three ```} * { *. one *. two *. three } If you place `x` or `v`, you make the entries unfinished and finished T\ODO entries respectively. * {``` *v Done *x Not done **v Super done ** Cool ```} * { *v Done *x Not done **v Super done ** Cool } All of Mycomarkup is supported in list entries. If you want to have multi-line entries, wrap the contents in curly braces. * {``` * { ## Heading Text } * Not multiline ```} * { * { ## Heading Text } * Not multiline } ## Quote Prepend lines with `>` to quote them. * {``` > ## A heading > > A paragraph > > A nested quote ```} * { > ## A heading > > A paragraph > > A nested quote } ## Table **Tables** are delimited by `table {...}`. Both delimeters have to be on their own lines. You can write table's caption on the first line. ``` Empty table: table { } ``` Empty table: table { } ``` table { Empty table but with proper caption } ``` table { Empty table but with proper caption } Heading cells start with !, normal cells start with |. Table rows are separated with line breaks: ``` table { ! Monday ! Friday | sad day | happy day } ``` table { ! Monday ! Friday | sad day | happy day } Table cells support all paragraph styling: ``` table { ! Monday ! Friday | sad day | //happy day// } ``` table { ! Monday ! Friday | sad day | //happy day// } If you a cell to span several columns, write cell starting character that many times without spaces: ``` table { ! Monday ! Friday || ok day } ``` table { ! Monday ! Friday || ok day } Currently cells spanning several rows are not supported. If want to write a multiline cell, wrap its contents in `{}` and continue the table: ``` table { | a | b | { there are //two// paragraphs in this cell! } | d } ``` table { | a | b | { there are //two// paragraphs in this cell! } | d } You can omit the initial pipe characters. They will be inserted automatically: ``` table { a | b c | d } ``` table { a | b c | d } ## See also => https://mycorrhiza.wiki/hypha/essay/why_mycomarkup Why it was created