This post exists so you can scroll the live site and see exactly how things look after build. Delete or unpublish it whenever you like.


Headings

Use # through ###### for six levels.

H1 — one hash

H2 — two hashes

H3

H4

H5
H6

Paragraphs and line breaks

End a line with two spaces before a newline
to force a line break inside a paragraph.

Or use a blank line between blocks for new paragraphs.


Emphasis

italic with asterisks
italic with underscores

bold with double asterisks
bold with double underscores

bold and italic
bold and italic

strikethrough (GitHub Flavored Markdown)


Link text

Link with title

Autolink: https://blog.easygobro.com

Reference-style link: Reference link

Image (placeholder URL — replace with a real asset if you want it to load):

Alt text describes the image


Lists

Unordered

  • Dash item
  • Asterisk item
  • Plus item
    • Nested
    • Nested two

Ordered

  1. First
  2. Second
  3. Third
    1. Nested ordered
    2. Another

Task lists (GFM)

  • Done
  • Todo
  • Another task

Blockquote

Single paragraph quote.

Multi-line
quote with a break.

Nested:

Inner quote


Horizontal rule

Three or more:





Inline code

Run npm run dev in the project root.
Paths look like src/pages/index.astro.


Fenced code blocks (syntax highlighting)

Language tags go right after the opening backticks.

Shell / Bash

cd ~/code/easyblog
pwd
ls -la
# Git basics
git status
git pull origin main
git checkout -b feature/my-branch
git add -A
git commit -m "Describe the change"
git push -u origin feature/my-branch
# Git undo / inspect
git log --oneline -10
git diff
git restore path/to/file
git reset --soft HEAD~1

Zsh (same highlighting as bash for many themes)

echo $SHELL
history | tail -20

npm / Node

npm install
npm ci
npm run build
npm run dev
npm run preview
npx astro --version

SSH / server

ssh user@blog.easygobro.com
scp -r ./dist/* user@host:/var/www/easyblog/
rsync -avz --delete dist/ user@host:/var/www/easyblog/

Docker

docker ps -a
docker build -t myapp .
docker run -p 4321:4321 myapp
docker compose up -d
docker logs -f container_name

systemd / Linux

sudo systemctl status nginx
sudo systemctl reload nginx
journalctl -u nginx -f

TypeScript / JavaScript

const site = "https://blog.easygobro.com";

export function greet(name: string): string {
  return `Hello, ${name}`;
}

JSON

{
  "name": "easyblog",
  "scripts": {
    "dev": "astro dev",
    "build": "astro build"
  }
}

YAML (e.g. GitHub Actions)

name: Deploy
on:
  push:
    branches: [main]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

Markdown inside a code block (meta example)

---
title: "Post"
pubDate: 2026-04-09
---

## Hello

Body text.

HTML (shown as code, not executed)

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>Example</title>
  </head>
  <body>
    <p>Hello</p>
  </body>
</html>

CSS

:root {
  --text: #1a1a1a;
}

.container {
  max-width: 48rem;
  margin: 0 auto;
}

SQL

SELECT id, title, created_at
FROM posts
WHERE published = true
ORDER BY created_at DESC
LIMIT 10;

Python

def main() -> None:
    items = ["a", "b", "c"]
    for i, x in enumerate(items, start=1):
        print(f"{i}: {x}")

if __name__ == "__main__":
    main()

No language tag (plain block)

plain text block
no highlighting

Tables (GFM)

Column AColumn BColumn C
leftcenterright
codebold123

Escaping

Show asterisks: *not italic*
Show backticks: `inline`


Footnotes (if enabled in your Markdown engine)

Footnote example.1


End of cheat sheet. Edit this file in src/content/blog/markdown-and-commands-cheatsheet.md to add more examples.

Footnotes

  1. This renders only if the processor supports footnotes.