2022-04-23 12:18:08 -07:00
---
eleventyNavigation:
key: IntroductionToMarkdown
title: Introduction to Markdown
parent: Markdown
order: 20
---
2022-07-22 00:27:57 -07:00
Markdown files are basically normal text files. The file extension `.md` specifies that a file can be rendered as Markdown.
You can also use Markdown in many parts of Codeberg (Issues, Pull Requests, etc.).
2022-04-23 12:18:08 -07:00
## Text section
2022-07-22 00:27:57 -07:00
To write a Markdown file, simply create a new file, and edit it with a text editor of your choice.
2023-07-21 12:02:10 -07:00
Markdown doesn't consider single line breaks as the start of a new paragraph.
2022-04-23 12:18:08 -07:00
You can write all your text into one long line or introduce a new line every once in a while.
2022-07-22 00:27:57 -07:00
It is common practice to introduce a new line at around 80 characters to enable users to easily read the plain un-rendered version of the Markdown file.
However, it's recommended to make a line break in Markdown when it makes sense, e.g. at the end of a sentence.
2023-07-21 12:02:10 -07:00
It makes diffs easier to understand, as the context of the complete sentence is preserved.
2022-04-23 12:18:08 -07:00
If you want to start a new paragraph, use two or more empty new lines to separate the text.
2023-07-17 17:43:47 -07:00
Beware that when rendering with Forgejo, line breaks are rendered differently in repos and comment fields.
2022-07-22 00:27:57 -07:00
For example, one line break in a comment leads to a new paragraph.
2022-04-23 12:18:08 -07:00
### Highlighting text sections
2024-06-11 00:51:22 -07:00
In paragraphs, it is possible to highlight passages using **bold** and _italics_ .
2022-04-23 12:18:08 -07:00
### Bold
2022-07-22 00:27:57 -07:00
To make text bold, use two asterisks at the start of the section you want to highlight `**`
At the end of the section, add another two asterisks `**` .
Alternatively you can use two underscore characters `__` at the beginning and end of the section
to get the same effect.
2022-04-23 12:18:08 -07:00
2022-07-22 00:27:57 -07:00
Here are a few examples.
2022-04-23 12:18:08 -07:00
```
2022-07-22 00:27:57 -07:00
This is **bold text** .
2022-04-23 12:18:08 -07:00
```
2022-07-22 00:27:57 -07:00
This gets rendered as
2022-04-23 12:18:08 -07:00
2022-07-22 00:27:57 -07:00
This is **bold text** .
2022-04-23 12:18:08 -07:00
```
2022-07-22 00:27:57 -07:00
This is also __bold text__ .
2022-04-23 12:18:08 -07:00
```
2022-07-22 00:27:57 -07:00
This gets rendered as
2022-04-23 12:18:08 -07:00
2024-06-11 00:51:22 -07:00
This is also **bold text** .
2022-04-23 12:18:08 -07:00
### Italics
2022-07-22 00:27:57 -07:00
To make text italic use one asterisk at the start of the section you want to highlight `*`
At the end of the section, add another asterisk `*` .
Alternatively you can use one underscore character `_` at the beginning and end of the section
to get the same effect.
2022-04-23 12:18:08 -07:00
2022-07-22 00:27:57 -07:00
Here are a few examples.
2022-04-23 12:18:08 -07:00
```
2022-07-22 00:27:57 -07:00
This is *italic text* .
2022-04-23 12:18:08 -07:00
```
2022-07-22 00:27:57 -07:00
This gets rendered as
2022-04-23 12:18:08 -07:00
2024-06-11 00:51:22 -07:00
This is _italic text_ .
2022-04-23 12:18:08 -07:00
```
2022-07-22 00:27:57 -07:00
This is also _italic text_ .
2022-04-23 12:18:08 -07:00
```
2022-07-22 00:27:57 -07:00
This gets rendered as
2022-04-23 12:18:08 -07:00
2022-07-22 00:27:57 -07:00
This is also _italic text_ .
2022-04-23 12:18:08 -07:00
2023-07-17 17:43:47 -07:00
## Forgejo-specific formatting
2022-04-23 12:18:08 -07:00
### Emoticons
2024-06-11 00:51:22 -07:00
2022-07-22 00:27:57 -07:00
Text may contain references to emoticons which are rendered as a small image, similar to an emoji.
You can render these by typing the name of the emoticon you want to use, surrounded by colons (`:`), like this `:codeberg:` .
2022-04-23 12:18:08 -07:00
2024-02-17 14:04:10 -08:00
Some examples are `:codeberg:` which is rendered as < img src = "https://codeberg.org/assets/img/emoji/codeberg.png" class = "codeberg-design" style = "border-style:none;width:1em;height:1em" alt = "The Codeberg mountain" /> and `:forgejo:` which is rendered as < img src = "https://codeberg.org/assets/img/emoji/forgejo.png" class = "codeberg-design" style = "border-style:none;height:1em;width=1em" alt = "The forgejo f letter" /> .
2022-04-23 12:18:08 -07:00
2022-07-22 00:27:57 -07:00
### Referencing issues and pull requests
2022-04-23 12:18:08 -07:00
2023-07-17 17:43:47 -07:00
Issues and pull requests in Codeberg/Forgejo can be referenced in the comments of an issue or a pull request by using a hash `#` followed by the number of the issue or pull request.
2022-04-23 12:18:08 -07:00
The renderer will then include a link to the referenced issue into the comment.
2023-07-21 12:02:10 -07:00
After that, a link to the comment containing the reference will be added to the issues referenced in this way.
2022-04-23 12:18:08 -07:00
### Checkboxes
2022-07-22 00:27:57 -07:00
You can add checkboxes to comments by using a space surrounded by square brackets `[ ]` . These can be checked/unchecked later without editing the comment.
2022-04-23 12:18:08 -07:00
This can for example be useful when creating a Todo list.
### Mermaid diagrams
2023-07-17 17:43:47 -07:00
Forgejo can render [Mermaid diagrams ](https://mermaid-js.github.io/mermaid/#/ ) in issues, pull requests and comments.
2022-04-23 12:18:08 -07:00
2022-07-22 00:27:57 -07:00
Use the render hint `mermaid` on the preformatted section containing the code of the mermaid diagram.
2022-04-23 12:18:08 -07:00
E.g.
2024-06-11 00:51:22 -07:00
````markdown
```mermaid
graph TD;
A(stuff)-->B[one];
A-->C[two];
A-->D[three];
```
````
2022-04-23 12:18:08 -07:00
is rendered to:
2022-07-22 00:27:57 -07:00
