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
Automatyczne renderowanie Markdown
Markdown jest automatycznie rozpoznawany i renderowany przez aplikację webową i mobilną. Jeśli wiadomość zawiera składnię Markdown, zostanie ona automatycznie wykryta i sformatowana. Nie jest wymagany żaden specjalny nagłówek ani konfiguracja.
curl -d "**Serwer nie działa!** Sprawdź `prod-web-01`" \
https://app.notifer.io/alerts
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\`" \
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" \
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 ✅" \
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)" \
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)
```' \
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" \
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" \
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 |" \
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!" \
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-Priority: 2" \
-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-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-Priority: 1" \
-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-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-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-Priority: 1" \
-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)" \
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" \
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": 1,
"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! 📝