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:
@@ -9,7 +9,7 @@
|
||||
<section class="landing-hero">
|
||||
<h1>Devplace.net — The Developer <span>Social Network</span></h1>
|
||||
<p>Track industry shifts. Discover bold releases. Share what you're building in an open, uncensored environment.</p>
|
||||
<a href="/auth/signup" class="landing-cta">Join DevPlace Free</a>
|
||||
<a href="/auth/signup" class="landing-cta"><span class="icon">✨</span>Join DevPlace Free</a>
|
||||
|
||||
<div class="landing-features">
|
||||
<div class="landing-feature">
|
||||
@@ -83,7 +83,7 @@
|
||||
<article class="news-card">
|
||||
{% if item.image_url %}
|
||||
<div class="news-card-image">
|
||||
<img src="{{ item.image_url }}" alt="" loading="lazy" onerror="this.parentElement.style.display='none'">
|
||||
<img src="{{ item.image_url }}" alt="" loading="lazy" class="image-fallback">
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="news-card-body">
|
||||
@@ -117,12 +117,12 @@
|
||||
<footer class="landing-footer">
|
||||
<p>© DevPlace — The Developer Social Network</p>
|
||||
<div class="landing-footer-links">
|
||||
<a href="/feed">Posts</a>
|
||||
<a href="/news">News</a>
|
||||
<a href="/projects">Projects</a>
|
||||
<a href="/auth/login">Login</a>
|
||||
<a href="/auth/signup">Sign Up</a>
|
||||
<a href="/bugs">Bug Report</a>
|
||||
<a href="/feed"><span class="icon">📝</span>Posts</a>
|
||||
<a href="/news"><span class="icon">📰</span>News</a>
|
||||
<a href="/projects"><span class="icon">🚀</span>Projects</a>
|
||||
<a href="/auth/login"><span class="icon">🔑</span>Login</a>
|
||||
<a href="/auth/signup"><span class="icon">✨</span>Sign Up</a>
|
||||
<a href="/bugs"><span class="icon">🐛</span>Bug Report</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user