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:
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~~ |
|
`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¶
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:
Listy uporządkowane:
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¶
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:
Bloki kodu:
Bloki kodu z podświetleniem składni:
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¶
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:
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:
✅ Czytelne i zrozumiałe:
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¶
- Priorytet - Poziomy priorytetu wiadomości
- Tagi - Organizuj wiadomości za pomocą tagów
- Przewodnik publikowania - Wysyłaj sformatowane wiadomości
Wskazówka: Używaj Markdown dla ważnych alertów i podsumowań, ale zachowaj szybkie powiadomienia jako zwykły tekst dla szybszego skanowania! 📝