Wissensdatenbank: Markdown, FTS5-Suche, Sanitizing, UX

- Markdown-Rendering fuer Notizen (fett, kursiv, Ueberschriften, Listen, Code, Links)
- HTML-Sanitizing im Frontend und Backend (XSS-Schutz)
- FTS5 Volltextindex fuer schnelle Suche mit Ranking
- Kategorie-Loeschung zeigt Anzahl betroffener Eintraege

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Server Deploy
2026-03-19 19:38:43 +01:00
Ursprung 5c87254e97
Commit 48c917eb28
6 geänderte Dateien mit 277 neuen und 23 gelöschten Zeilen

Datei anzeigen

@@ -441,6 +441,84 @@
white-space: pre-wrap;
}
/* Markdown Styles in Notizen */
.knowledge-entry-notes h1 {
font-size: 1.2rem;
font-weight: 700;
color: var(--text-primary);
margin: 0.5rem 0 0.25rem 0;
}
.knowledge-entry-notes h2 {
font-size: 1.1rem;
font-weight: 600;
color: var(--text-primary);
margin: 0.5rem 0 0.25rem 0;
}
.knowledge-entry-notes h3 {
font-size: 1rem;
font-weight: 600;
color: var(--text-primary);
margin: 0.4rem 0 0.2rem 0;
}
.knowledge-entry-notes code {
background: var(--bg-tertiary);
padding: 2px 6px;
border-radius: var(--radius-sm);
font-family: 'Courier New', monospace;
font-size: 0.85em;
}
.knowledge-entry-notes pre {
background: var(--bg-tertiary);
padding: var(--spacing-sm) var(--spacing-md);
border-radius: var(--radius-md);
overflow-x: auto;
margin: 0.5rem 0;
}
.knowledge-entry-notes pre code {
background: transparent;
padding: 0;
border-radius: 0;
font-size: 0.85rem;
line-height: 1.5;
}
.knowledge-entry-notes ul,
.knowledge-entry-notes ol {
padding-left: 1.5rem;
margin: 0.25rem 0;
}
.knowledge-entry-notes li {
margin: 0.15rem 0;
}
.knowledge-entry-notes a {
color: var(--primary);
text-decoration: underline;
}
.knowledge-entry-notes a:hover {
opacity: 0.8;
}
.knowledge-entry-notes strong {
font-weight: 700;
color: var(--text-primary);
}
.knowledge-entry-notes em {
font-style: italic;
}
.knowledge-entry-notes p {
margin: 0.25rem 0;
}
.knowledge-entry-attachments-info {
display: flex;
align-items: center;