Sign inSign up

jeanslw/microblog

By jeanslw

•Updated 9 days ago

https://github.com/jeanslw/MicroBlog

Image
Networking
Content management system
0

3.6K

jeanslw/microblog repository overview

Built with Flask 3.1, it features article publishing and management, Markdown uploads, code highlighting, image uploads, comments and likes, article categories, a banner carousel, and bilingual support (Chinese/English). The UI rocks a glassmorphism transparent style with awesome dynamic backgrounds (aurora / starry sky / flowing light / bubbles / classic). There's a floating color palette button at the bottom right to switch styles with one click, and your choice is saved in localStorage. All static resources are loaded locally, it supports SQLite and MySQL, and comes with 301 automated tests built in.

Source Code:GitHub⁠ | Gitee⁠

⁠1. Features

ModuleFeatures
Article ManagementMarkdown editor / Markdown article upload, code highlighting (Prism), draft/publish status management
Comment InteractionArticle comments, replies, IP spam-like prevention
Category NavigationArticle category classification, sidebar category filtering
RSS SubscriptionRSS 2.0 / Atom subscription
Search FunctionFull-site article search functionality
Banner CarouselBackend banner management, image upload & sorting
InternationalizationChinese/English auto-switching, follows browser language, dropdown manual switch
UI ThemeGlassmorphism transparent UI, 12 built-in 1920x1080 HD background images, one-click switch via floating palette; custom background can be uploaded or set by URL in the admin panel; choice remembered in localStorage
SecurityCSRF protection, HTML sanitization against XSS (nh3), login brute-force protection, email-based password recovery, secure sessions, image decompression bomb protection
DatabaseSQLAlchemy ORM, seamless SQLite/MySQL switching
Testingpytest 301 tests covering auth/blog/comments/security/i18n

⁠2. Requirements

ComponentVersionDescription
Python3.9+ (3.11 recommended)Runtime
MySQL5.7+ / 8.0+ (optional)Production database; SQLite can be used for dev/test instead
piplatestPython package manager
Docker20.10+ (optional)Containerized deployment, no env setup needed
Docker Composev2+ (optional)Multi-container orchestration

SQLite mode: No database installation required, works out of the box. Docker mode: Copy the config template, fill in the database passwords, and one command brings up web + db + nginx — see [Section

Tag summary

Content type

Image

Digest

sha256:a705be1c9…

Size

192.1 MB

Last updated

9 days ago

docker pull jeanslw/microblog