Bu belge Kourye MCP üzerinden update_document ile yazıldı. Amaç: render motorunu zorlamak — diyagramlar, matematik, tablolar, uyarılar, dipnotlar, iç içe listeler ve tuhaf karakterler.
Note
Bu bir not uyarısıdır. İçinde inline code, bir link ve italik var.
Tip
İpucu: Başlıklara tıklayarak anchor linki kopyalayabilirsin.
Important
Önemli: Bu belge herkese açıktır.
Warning
Uyarı: Aşağıda çok uzun satırlar ve iç içe yapılar var.
Caution
Dikkat: Ham HTML güvenlik filtresinden geçirilir. çalışmamalı.
1. Sequence diyagramı — MCP isteği
sequenceDiagram
autonumber
actor U as Kullanıcı
participant C as Claude Code
participant M as api.kourye.dev/mcp
participant A as Auth (API key)
participant D as Docs servisi
participant R as Redis
participant P as PostgreSQL
U->>C: "Belge oluştur"
C->>M: POST tools/call create_document
M->>A: Bearer kry_… doğrula
alt Anahtar geçersiz
A-->>M: 401 invalid_token
M-->>C: WWW-Authenticate: Bearer realm="kourye"
else Anahtar geçerli
A-->>M: Principal + scopes
M->>M: docs:write scope kontrolü
M->>D: Create(markdown, title)
D->>P: INSERT documents
P-->>D: key, revision
D-->>M: meta + etag
M-->>C: structuredContent {url, etag}
end
par Okuma sayacı
U->>D: GET /d/KEY
D->>R: SET vd:{doc}:{viewer} NX EX 1800
R-->>D: OK / nil
and Arka plan flush
D->>P: unnest upsert doc_view_daily
end
Note over D,P: Her 10 sn veya 5000 satırda flush
2. Akış diyagramı
flowchart LR
A[Markdown] --> B{Görünürlük?}
B -- public --> C[index + sitemap]
B -- unlisted --> D[noindex, link ile erişim]
B -- private --> E[sadece sahibi]
B -- workspace --> F[workspace üyeleri]
B -- restricted --> G[davet edilenler]
C & D --> H((Okuyucu))
E & F & G --> I[[Yetki kontrolü]] --> H
3. Sınıf, durum ve Gantt
classDiagram
class Document {
+string Key
+string Title
+int Revision
+Visibility Visibility
+Publish() error
}
class ApiKey {
+string Prefix
+[]string Scopes
+time ExpiresAt
}
Document "*" --> "1" User : owner
ApiKey "*" --> "1" User
stateDiagram-v2
[*] --> Open
Open --> TakenDown: takedown
Open --> Dismissed: dismiss
TakenDown --> Reinstated: reinstate
Reinstated --> [*]
Dismissed --> [*]
gantt
title v3 yol haritası
dateFormat YYYY-MM-DD
section Backend
041 analytics :done, 2026-09-28, 4d
045 MCP v3 :done, 2026-09-30, 3d
042 comments :active, 2026-10-03, 3d
046 distribution :2026-10-05, 2d
section Frontend
066 SEO :done, 2026-09-30, 3d
068 final :2026-10-07, 3d
4. Matematik
Satır içi: Euler özdeşliği ve .
Blok:
5. Tablolar
| Araç | Scope | Salt okunur | Yıkıcı | Açıklama |
|---|---|---|---|---|
create_document | docs:write | ❌ | ❌ | Belge oluşturur |
get_document | docs:read | ✅ | ❌ | Okur, view sayar |
delete_document | docs:write | ❌ | ⚠️ | 7 gün geri alınabilir |
set_visibility | docs:write | ❌ | ❌ | public | unlisted | private |
Çok geniş tablo (yatay kaydırma testi):
| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ÇokUzunHücreİçeriğiBoşluksuz_ÇokUzunHücreİçeriğiBoşluksuz | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
6. Kod blokları
// Recorder: bloklamayan kanal, taşarsa düşür.
func (r *Recorder) Record(v View) {
select {
case r.ch <- v:
default:
r.dropped.Add(1)
}
}type Visibility = "public" | "unlisted" | "private" | "workspace" | "restricted";
export async function setVisibility(key: string, v: Visibility): Promise<void> {
await fetch(`/api/docs/${encodeURIComponent(key)}`, { method: "PATCH", body: JSON.stringify({ visibility: v }) });
}INSERT INTO doc_view_daily (doc_id, day, channel, views)
SELECT * FROM unnest($1::bigint[], $2::date[], $3::text[], $4::int[])
ON CONFLICT (doc_id, day, channel) DO UPDATE SET views = doc_view_daily.views + EXCLUDED.views;- "views": 0
+ "views": stats.viewsclaude mcp add --transport http kourye https://api.kourye.dev/mcp --header "Authorization: Bearer kry_…"{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_document","arguments":{"url":"https://kourye.dev/d/mWgecKZDq2BM"}}}7. Listeler
- Birinci seviye
- İkinci seviye
- Üçüncü seviye madde
- Dördüncü seviye, içinde
kodİç içe alıntı
Çift alıntı
- Dördüncü seviye, içinde
- Üçüncü seviye madde
- İkinci seviye tekrar
- İkinci seviye
- Görev listesi:
- 041 analytics
- 045 MCP v3
- 042 comments
- 046 distribution
8. Açılır bölüm
Tıkla ve aç: gizli içerik
İçeride markdown de çalışmalı:
| x | y |
|---|---|
| 1 | 2 |
9. Dipnotlar ve tuhaf karakterler
Kourye'nin okuma sayacı Redis ile tekilleştirilir1. Botlar ayrı sayılır2.
Unicode: Türkçe ğüşıöç ĞÜŞİÖÇ · Emoji 🚀🧪📈 · Japonca 日本語 · Arapça (RTL) مرحبا بالعالم · Matematiksel 𝔸𝔹ℂ ∀x∈ℝ · Sıfır genişlikli boşluk: ab
Kaçış testi: *yıldız değil*, `backtick değil`, <tag>, 5 < 6 > 4, a | b tabloda değil.
Çok uzun boşluksuz satır: https://kourye.dev/d/mWgecKZDq2BM?utm_source=mcp&utm_medium=stress_test&utm_campaign=render_yeteneklerini_zorlamak_icin_cok_uzun_bir_parametre_degeri_burada
Üstü çizili · kalın · italik · ikisi birden · Ctrl+K · H2O · x2 · vurgulu