Przejdź do treści

Formatowanie Markdown

Wiadomości w Notifer obsługują Markdown do formatowania tekstu sformatowanego.

Czym jest Markdown?

Markdown to lekki język znaczników, który pozwala formatować tekst przy użyciu prostej składni. Jest szeroko stosowany w GitHub, Discord, Slack i wielu innych platformach.

Przykład:

**Pogrubiony tekst**, *tekst kursywą* i `kod`

Renderuje się jako: Pogrubiony tekst, tekst kursywą i kod

Włączanie Markdown

Przez nagłówek HTTP

Dodaj nagłówek X-Markdown:

curl -d "**Serwer nie działa!** Sprawdź `prod-web-01`" \
  -H "X-Markdown: true" \
  https://app.notifer.io/alerts

Przez aplikację webową

Markdown jest automatycznie włączony podczas publikowania z panelu.

Domyślne zachowanie

Jeśli nie określisz X-Markdown, wiadomość jest traktowana jako zwykły tekst (bez formatowania).

Obsługiwana składnia

Formatowanie tekstu

Składnia Wynik
**pogrubienie** pogrubienie
*kursywa* kursywa
***pogrubiona kursywa*** pogrubiona kursywa
~~przekreślenie~~ przekreślenie
`kod` kod

Przykład:

curl -d "**KRYTYCZNE:** Połączenie z bazą danych nie powiodło się na \`prod-db-01\`" \
  -H "X-Markdown: true" \
  https://app.notifer.io/alerts

Nagłówki

# Nagłówek 1
## Nagłówek 2
### Nagłówek 3

Przykład:

curl -d "## Podsumowanie wdrożenia

- **Wersja**: v2.1.0
- **Status**: Sukces ✅
- **Czas trwania**: 3m 45s" \
  -H "X-Markdown: true" \
  https://app.notifer.io/deployments

Listy

Listy nieuporządkowane:

- Element 1
- Element 2
  - Element zagnieżdżony
- Element 3

Listy uporządkowane:

1. Pierwszy krok
2. Drugi krok
3. Trzeci krok

Przykład:

curl -d "Lista kontrolna wdrożenia:

1. Uruchom testy ✅
2. Zbuduj aplikację ✅
3. Wdróż na produkcję ✅
4. Sprawdź kontrole kondycji ✅" \
  -H "X-Markdown: true" \
  https://app.notifer.io/deployments

Linki

[Tekst linku](https://example.com)

Przykład:

curl -d "Wdrożenie zakończone sukcesem! Zobacz logi: [Jenkins Build #456](https://jenkins.example.com/build/456)" \
  -H "X-Markdown: true" \
  https://app.notifer.io/deployments

Bloki kodu

Kod wbudowany:

Użyj `npm install` aby zainstalować zależności

Bloki kodu:

```
blok kodu
wiele linii
```

Bloki kodu z podświetleniem składni:

```javascript
function hello() {
  console.log("Hello World");
}
```

Przykład:

curl -d 'Błąd w obsłudze API:

```python
def process_order(order_id):
    # Ta linia zawodzi
    order = Order.objects.get(id=order_id)
```' \
  -H "X-Markdown: true" \
  https://app.notifer.io/errors

Cytaty

> To jest cytowany tekst
> Obsługiwane są wiele linii

Przykład:

curl -d "> **Ostrzeżenie:** Użycie dysku na poziomie 95%
>
> Natychmiast wymagane czyszczenie" \
  -H "X-Markdown: true" \
  https://app.notifer.io/monitoring

Linie poziome

---

Przykład:

curl -d "## Podsumowanie wdrożenia

**Status**: Sukces ✅

---

**Szczegóły:**
- Wersja: v2.1.0
- Czas trwania: 3m 45s" \
  -H "X-Markdown: true" \
  https://app.notifer.io/deployments

Tabele

| Kolumna 1 | Kolumna 2 |
|----------|----------|
| Wartość 1  | Wartość 2  |
| Wartość 3  | Wartość 4  |

Przykład:

curl -d "## Status serwera

| Serwer | CPU | Pamięć | Status |
|--------|-----|--------|--------|
| web-01 | 45% | 67%    | ✅ OK  |
| web-02 | 89% | 92%    | ⚠️ Wysoki |
| api-01 | 23% | 45%    | ✅ OK  |" \
  -H "X-Markdown: true" \
  https://app.notifer.io/monitoring

Emoji

Używaj bezpośrednio emoji Unicode:

✅ Sukces
❌ Niepowodzenie
⚠️ Ostrzeżenie
🚀 Wdrożenie
📊 Statystyki

Przykład:

curl -d "Status wdrożenia:

✅ Testy zaliczone
✅ Budowanie zakończone sukcesem
✅ Wdrożenie zakończone
🚀 Aplikacja działa!" \
  -H "X-Markdown: true" \
  https://app.notifer.io/deployments

Przykłady z rzeczywistych sytuacji

Alert monitorowania serwera

curl -d "## ⚠️ Wysokie użycie CPU

**Serwer:** \`prod-web-01\`
**CPU:** 95%
**Pamięć:** 78%

**Działania:**
1. Sprawdź uruchomione procesy
2. Przejrzyj ostatnie wdrożenia
3. Skaluj w razie potrzeby

[Zobacz panel metryk](https://grafana.example.com/server/prod-web-01)" \
  -H "X-Markdown: true" \
  -H "X-Priority: 4" \
  -H "X-Tags: monitoring,cpu,prod-web-01" \
  https://app.notifer.io/alerts

Podsumowanie wdrożenia

curl -d "## 🚀 Wdrożenie v2.1.0

**Status:** ✅ Sukces
**Środowisko:** Produkcja
**Czas trwania:** 3m 45s

---

**Zmiany:**
- Dodano uwierzytelnianie użytkownika
- Naprawiono błąd bramki płatności
- Zaktualizowano zależności

**Linki:**
- [Informacje o wydaniu](https://github.com/example/repo/releases/v2.1.0)
- [Budowanie CI](https://ci.example.com/build/456)" \
  -H "X-Markdown: true" \
  -H "X-Priority: 3" \
  https://app.notifer.io/deployments

Raport błędów

curl -d "## ❌ Błąd przetwarzania płatności

**Błąd:** Przekroczono limit czasu połączenia z bazą danych
**Endpoint:** \`POST /api/payments\`
**Liczba:** 15 niepowodzeń w ciągu ostatnich 5 minut

**Ślad stosu:**
\`\`\`python
File \"/app/payments.py\", line 45, in process_payment
  conn = db.connect(timeout=5)
TimeoutError: Connection timeout after 5s
\`\`\`

**Następne kroki:**
1. Sprawdź status bazy danych
2. Przejrzyj pulę połączeń
3. Zbadaj problemy z siecią" \
  -H "X-Markdown: true" \
  -H "X-Priority: 5" \
  -H "X-Tags: error,payment,database" \
  https://app.notifer.io/errors

Raport dzienny

curl -d "## 📊 Raport dzienny - $(date +%Y-%m-%d)

### Statystyki aplikacji

| Metryka | Wartość | Zmiana |
|--------|-------|--------|
| Użytkownicy | 1,234 | +5.2% ↗️ |
| Zamówienia | 456 | +12.1% ↗️ |
| Przychód | \$12,345 | +8.7% ↗️ |
| Błędy | 23 | -15.3% ↘️ |

---

### Najlepiej działające strony
1. Strona główna - 5,432 wyświetleń
2. Produkty - 3,210 wyświetleń
3. Kasa - 1,890 wyświetleń

### Problemy
- ⚠️ Powolna odpowiedź API przy kasie (śr. 2.1s)
- ✅ Zakończono kopię zapasową bazy danych
- ✅ Odnowiono certyfikat SSL" \
  -H "X-Markdown: true" \
  -H "X-Priority: 2" \
  https://app.notifer.io/reports

Status kopii zapasowej

curl -d "## ✅ Kopia zapasowa zakończona

**Typ:** Pełna kopia zapasowa bazy danych
**Rozmiar:** 2.3 GB
**Czas trwania:** 12m 34s
**Lokalizacja:** \`s3://backups/db-2025-11-22.sql.gz\`

**Szczegóły:**
- Wykonano kopie zapasowe tabel: 42
- Współczynnik kompresji: 6.2:1
- Weryfikacja: ✅ Zaliczono

[Zobacz logi kopii zapasowych](https://console.aws.amazon.com/s3/backups/)" \
  -H "X-Markdown: true" \
  -H "X-Priority: 2" \
  https://app.notifer.io/backups

Najlepsze praktyki

1. Zachowaj prostotę

❌ Przeformatowane:

***~~BARDZO~~ **WAŻNA** *WIADOMOŚĆ*!!!***

✅ Czytelne i zrozumiałe:

**Ważne:** Kopia zapasowa bazy danych nie powiodła się

2. Używaj struktury dla długich wiadomości

Podziel długie wiadomości nagłówkami i listami:

## Podsumowanie
Krótki przegląd tutaj

## Szczegóły
- Punkt 1
- Punkt 2

## Następne kroki
1. Działanie 1
2. Działanie 2

3. Łącz z priorytetem i tagami

curl -d "## 🚨 KRYTYCZNE: Baza danych nie działa

**Status:** Wszystkie operacje zapisu zawodzą
**Wpływ:** Wysoki - wpływa na wszystkich użytkowników

**Wymagane działanie:**
1. Uruchom ponownie główną bazę danych
2. Przełącz na replikę w razie potrzeby" \
  -H "X-Markdown: true" \
  -H "X-Priority: 5" \
  -H "X-Tags: critical,database,production" \
  https://app.notifer.io/alerts

4. Testuj formatowanie

Wyślij wiadomości testowe, aby zweryfikować formatowanie:

curl -d "**Test** *wiadomości* z \`kodem\` i [linkiem](https://example.com)" \
  -H "X-Markdown: true" \
  https://app.notifer.io/test

Markdown w różnych klientach

Panel webowy

Pełne renderowanie Markdown z: - Całym formatowaniem tekstu - Linkami (klikalnymi) - Blokami kodu z podświetlaniem składni - Tabelami - Listami - Cytatami

Aplikacje mobilne (iOS/Android)

Pełne renderowanie Markdown w widoku szczegółów wiadomości: - Formatowanie tekstu (pogrubienie, kursywa, kod) - Linki (dotykalne) - Bloki kodu - Listy - Tabele (przewijalne)

Podgląd powiadomienia push: Ograniczony do zwykłego tekstu (bez formatowania).

Unikanie znaków specjalnych

Jeśli musisz pokazać dosłowne znaki Markdown:

Użyj \* dla gwiazdek zamiast *kursywy*
Użyj \` dla odwrotnych apostrofów zamiast `kodu`
Użyj \# dla krzyżyka zamiast nagłówków

Przykład:

curl -d "Uruchom \`npm install\` aby zainstalować pakiety" \
  -H "X-Markdown: true" \
  https://app.notifer.io/docs

Renderuje się jako: Uruchom npm install aby zainstalować pakiety

Ograniczenia

  • Maksymalna długość wiadomości: 4000 znaków (łącznie ze składnią Markdown)
  • Zagnieżdżone formatowanie: Ograniczona głębokość (np. pogrubienie wewnątrz kursywy wewnątrz kodu może nie działać)
  • Niestandardowy HTML: Nieobsługiwany ze względów bezpieczeństwa
  • Obrazy: Nieobsługiwane w treści wiadomości (użyj linków zamiast tego)

Odpowiedź API

Wiadomości Markdown są przechowywane z oryginalną składnią Markdown:

{
  "id": "uuid",
  "topic": "alerts",
  "message": "**KRYTYCZNE:** Serwer nie działa na `prod-web-01`",
  "title": "Alert",
  "priority": 5,
  "timestamp": "2025-11-22T10:30:00Z"
}

Renderowanie odbywa się po stronie klienta (aplikacje webowe/mobilne).

Następne kroki


Wskazówka: Używaj Markdown dla ważnych alertów i podsumowań, ale zachowaj szybkie powiadomienia jako zwykły tekst dla szybszego skanowania! 📝