A minimalist, lightweight blog system with a built-in Content Management System (CMS). Built using FastAPI (Python) for the backend and Vanilla HTML/JS/CSS for the frontend.
- Minimalist Design: Clean, distraction-free reading experience.
- Built-in CMS: Simple dashboard for creating, editing, and managing articles.
- Micro-Auth System: Secure registration and login flow with session management.
- Tagging & Search: Support for article tags and full-text search.
- Markdown Support: Write articles using standard Markdown syntax.
- Article Locking: Optional password protection for individual articles.
- Responsive: Fully responsive design for mobile and desktop.
- Python 3.8+
- pip
Install the required dependencies:
pip install -r requirements.txtStart the backend server:
python main.pyThe server will start at http://localhost:8000.
- Visit the Blog: Open http://localhost:8000/index.html to view the blog.
- Access CMS: Go to http://localhost:8000/login.html to register a new admin account.
- After logging in, you will be redirected to the CMS (
cms.html, this webpage cannot be visited unless via redirecting).
- After logging in, you will be redirected to the CMS (
- Create Content: Use the "New Article" button in the CMS dashboard to write your first post.
main.py: The core FastAPI backend application and database models.blog.db: SQLite database file (created automatically on first run).common.css: Shared styling for the entire site.index.html: The main blog feed.post.html: Individual article viewer.login.html: User registration and login page.cms.html: Content Management System dashboard.create_article.html: Editor for creating and updating articles.
FastAPI provides automatic interactive API documentation. Once the server is running, visit:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc