chore: add docker infrastructure, gists feature, attachment system, and admin CLI tools

- Add .dockerignore, Dockerfile, and docker compose targets to Makefile for containerized deployment
- Implement gists router with CRUD operations, database schema, and polymorphic comment/vote reuse
- Create attachment upload system with thumbnail generation, MIME detection, and storage path management
- Add attachments_prune CLI command to clean orphaned attachment records and files
- Introduce rate limiting middleware with 60 requests per minute window
- Add custom 404 and 500 error handlers with SEO-optimized template responses
- Extend database initialization with gists and attachments indexes plus upload site settings defaults
- Update load_comments to include attachment mapping for comment resources
- Register gists and uploads routers in main application and update AGENTS.md documentation
This commit is contained in:
2026-05-12 13:07:34 +00:00
parent ff2585b098
commit aa88f18c03
69 changed files with 3069 additions and 450 deletions
+42
View File
@@ -0,0 +1,42 @@
.mention-wrapper {
position: relative;
width: 100%;
}
.mention-dropdown {
display: none;
position: absolute;
bottom: 100%;
left: 0;
right: 0;
background: var(--bg-secondary);
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.3);
z-index: 2100;
max-height: 200px;
overflow-y: auto;
margin-bottom: 4px;
}
.mention-dropdown-item {
display: flex;
align-items: center;
gap: 0.625rem;
width: 100%;
padding: 0.5rem 0.75rem;
font-size: 0.875rem;
color: var(--text-primary);
background: none;
border: none;
cursor: pointer;
text-align: left;
font-family: inherit;
transition: background 0.1s;
}
.mention-dropdown-item:hover,
.mention-dropdown-item.active {
background: var(--accent-light);
color: var(--accent);
}