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!
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 links** are special links. They take up a whole line. They are not consistent with usual inline links. They were taken from [[https://gemini.circumlunar.space/docs/gemtext.gmi | gemtext]].
To link //fruit/pear// (a sibling hypha) you can write `[\[../pear]]`. To link //fruit/apple/red// (a subhypha) you can write `[\[./red]]`. You can do the same in rocket links, image galleries, transclusion and everywhere else you write hypha names.
There is also a way to link the wiki's non-hypha pages. For example, to link the Recent changes page, you can write `[\[/recent-changes]]`. You should use that rather than write the site's full URL because it may change in the future.
Links come in several colors. Blue links are links to //existing// resources, while red links are links to //non-existent// resources. All external links are considered existing, therefore they are blue. Internal hypha links are always checked for existence.
Note that visited blue links are colored purple but are still called blue links. Moreover, blue links are yellow in the default dark theme.
There are four levels of **headings**. They consist of some equal signs followed by a space and the heading itself. You can format the heading like a paragraph. Feel free to start with `= level 1`, because it actually translates into HTML's `<h2>`, there will be no collisions with the hypha's title.
There is an invisible link that shows the § sign near every heading right after the heading text. 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.
**NB.** There is the legacy syntax for headings: `# ` to `###### `, similar to Markdown. You should not use them.
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.
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.
A **gallery layout** consists of two things: position and arrangement.
* **Position** is about how the gallery is placed in the document. There are three possible positions, listed below. Note that they matter only on big screens. There is no difference on a phone.
** `end` places the gallery at the end of line. By default, it is the right of the line. The text is wrapped around it.
** `start` does the same thing, but places the gallery at the start, i/e left side.
** `stretch` is the default position: the gallery is stretched to fit the document horizontally.
* **Arrangement** is about how the images are placed in the gallery. There are two possible arrangements:
** `grid` places the images in a grid.
** `column` is the default arrangement: the images are in a vertical column.
Specify the layout after `img` and before `{`. Just write the position and arrangement you need. If you do not write any of them, the default value will be used.
In the 1.2 Release, the transclusion semantics and syntax were changed. If you were using transclusion before that release, please update your hyphae. For time being, the engine will report transclusion using the old syntax with colon.
Transclusion lines start with a reverse-rocket symbol (`<=`) followed by zero or more spaces. The text on the line before a line break or a pipe character (`|`) is called //target// or //target hypha//. If there is a pipe, the text after it is called //selector//. If there is no pipe, the //selector// is empty. Both //target// and //selector// are stripped of left-side and right-side whitespace before further processing.
If only one of them is found, the corresponding part is transcluded. If several are found, the bigger transclusion is done. If none are found, `overview` is implicitly considered.