Add Markdown reference guide and update README
This commit is contained in:
parent
89748bffe2
commit
8fba174a6e
2 changed files with 199 additions and 0 deletions
|
|
@ -5,4 +5,5 @@ Personal reference docs for tools I use regularly.
|
||||||
## Tools
|
## Tools
|
||||||
|
|
||||||
- [git](git.md) — Version control. Tracking changes, committing, pushing to Forgejo, undoing mistakes.
|
- [git](git.md) — Version control. Tracking changes, committing, pushing to Forgejo, undoing mistakes.
|
||||||
|
- [markdown](markdown.md) — Lightweight markup language for formatting plain text. Headings, lists, code blocks, tables, and more.
|
||||||
- [rclone](rclone.md) — File syncing and copying between local storage and remote destinations. SFTP, object storage, and 60+ backends.
|
- [rclone](rclone.md) — File syncing and copying between local storage and remote destinations. SFTP, object storage, and 60+ backends.
|
||||||
|
|
|
||||||
198
markdown.md
Normal file
198
markdown.md
Normal file
|
|
@ -0,0 +1,198 @@
|
||||||
|
# Markdown
|
||||||
|
|
||||||
|
## What is it
|
||||||
|
|
||||||
|
Markdown is a lightweight markup language — a way of writing plain text that
|
||||||
|
renders as formatted HTML. You write in a simple, readable syntax and it
|
||||||
|
becomes headings, bold text, lists, links, code blocks, and tables.
|
||||||
|
|
||||||
|
It's the standard format for README files, documentation, notes, and static
|
||||||
|
site generators. Everything in this guides repo is written in Markdown.
|
||||||
|
Forgejo renders it automatically when you browse a `.md` file.
|
||||||
|
|
||||||
|
## Headings
|
||||||
|
|
||||||
|
Prefix a line with `#` symbols. One `#` is the biggest, six is the smallest.
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# Heading 1
|
||||||
|
## Heading 2
|
||||||
|
### Heading 3
|
||||||
|
#### Heading 4
|
||||||
|
```
|
||||||
|
|
||||||
|
Use headings to structure documents, not for emphasis. Don't skip levels
|
||||||
|
(e.g. jumping from `#` straight to `###`).
|
||||||
|
|
||||||
|
## Emphasis
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
**bold text**
|
||||||
|
*italic text*
|
||||||
|
~~strikethrough~~
|
||||||
|
**bold and *italic* together**
|
||||||
|
```
|
||||||
|
|
||||||
|
Renders as: **bold text**, *italic text*, ~~strikethrough~~, **bold and *italic* together**
|
||||||
|
|
||||||
|
## Lists
|
||||||
|
|
||||||
|
### Unordered
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
- First item
|
||||||
|
- Second item
|
||||||
|
- Nested item (two spaces indent)
|
||||||
|
- Another nested item
|
||||||
|
- Third item
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ordered
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
1. First step
|
||||||
|
2. Second step
|
||||||
|
3. Third step
|
||||||
|
```
|
||||||
|
|
||||||
|
Numbers don't actually have to be sequential — Markdown will render them
|
||||||
|
correctly regardless. But sequential is cleaner to read in source.
|
||||||
|
|
||||||
|
### Task list
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
- [x] Done
|
||||||
|
- [ ] Not done yet
|
||||||
|
- [ ] Also pending
|
||||||
|
```
|
||||||
|
|
||||||
|
Forgejo renders these as actual checkboxes.
|
||||||
|
|
||||||
|
## Links and images
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
[link text](https://example.com)
|
||||||
|
[relative link to another file](git.md)
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
For images in a repo, put them in an `images/` folder and use a relative path.
|
||||||
|
Forgejo renders both remote and local images inline.
|
||||||
|
|
||||||
|
## Code
|
||||||
|
|
||||||
|
### Inline code
|
||||||
|
|
||||||
|
Wrap with single backticks:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
Use `git status` to check your working tree.
|
||||||
|
```
|
||||||
|
|
||||||
|
Renders as: Use `git status` to check your working tree.
|
||||||
|
|
||||||
|
### Code blocks
|
||||||
|
|
||||||
|
Wrap with triple backticks. Optionally specify the language for syntax
|
||||||
|
highlighting:
|
||||||
|
|
||||||
|
````markdown
|
||||||
|
```bash
|
||||||
|
git add .
|
||||||
|
git commit -m "Initial commit"
|
||||||
|
git push
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
for i in range(10):
|
||||||
|
print(i)
|
||||||
|
```
|
||||||
|
````
|
||||||
|
|
||||||
|
Forgejo and most Markdown renderers support syntax highlighting for bash,
|
||||||
|
python, yaml, json, html, javascript, and many others.
|
||||||
|
|
||||||
|
## Blockquotes
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
> This is a blockquote.
|
||||||
|
> It can span multiple lines.
|
||||||
|
>
|
||||||
|
> And multiple paragraphs.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tables
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
| Column 1 | Column 2 | Column 3 |
|
||||||
|
|----------|----------|----------|
|
||||||
|
| Row 1 | Data | More |
|
||||||
|
| Row 2 | Data | More |
|
||||||
|
```
|
||||||
|
|
||||||
|
Alignment is controlled with colons in the separator row:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
| Left | Center | Right |
|
||||||
|
|:---------|:--------:|---------:|
|
||||||
|
| text | text | text |
|
||||||
|
```
|
||||||
|
|
||||||
|
Columns don't need to be perfectly aligned in source — Markdown doesn't care
|
||||||
|
about spacing, only the `|` characters matter.
|
||||||
|
|
||||||
|
## Horizontal rule
|
||||||
|
|
||||||
|
Three or more dashes on their own line:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
## Escaping
|
||||||
|
|
||||||
|
If you need to show a Markdown character literally, prefix it with `\`:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
\*this is not italic\*
|
||||||
|
\# this is not a heading
|
||||||
|
\`this is not code\`
|
||||||
|
```
|
||||||
|
|
||||||
|
## Line breaks and spacing
|
||||||
|
|
||||||
|
- A blank line between two blocks of text starts a new paragraph.
|
||||||
|
- A single newline in source does **not** create a line break in output.
|
||||||
|
- Two spaces at the end of a line forces a line break (avoid this — use a
|
||||||
|
blank line instead, it's cleaner).
|
||||||
|
|
||||||
|
## Frontmatter (YAML)
|
||||||
|
|
||||||
|
Some tools (Hugo, MkDocs) read metadata from a block at the top of the file:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
title: My Guide
|
||||||
|
date: 2026-05-12
|
||||||
|
tags: [tools, reference]
|
||||||
|
---
|
||||||
|
|
||||||
|
# Content starts here
|
||||||
|
```
|
||||||
|
|
||||||
|
This block is not rendered as content — it's metadata for the generator.
|
||||||
|
Normal Forgejo rendering ignores it.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Markdown files use the `.md` extension.
|
||||||
|
- Markdown is forgiving — a mistake usually just renders oddly rather than
|
||||||
|
breaking completely. When something looks wrong, check for missing blank
|
||||||
|
lines or an extra space.
|
||||||
|
- Different renderers (Forgejo, GitHub, MkDocs, Hugo) are mostly compatible
|
||||||
|
but have small differences. Stick to the basics in this guide and it will
|
||||||
|
work everywhere.
|
||||||
|
- VS Code and most editors show a live preview of Markdown. In VS Code:
|
||||||
|
`Cmd+Shift+V` opens the preview pane.
|
||||||
Loading…
Add table
Reference in a new issue