# -*- coding: utf-8 -*- """ 生成文章资讯专属现代中式极简矢量封面图 (Concise & Advanced Article Covers Generator) 彻底杜绝文字介绍类图片,纯粹以现代中式浅色专业风空间几何、流光、细线窗棂与单字印章呈现。 尺寸 600x380,浅色专业底色 #FFFFFF / #F8FAFC,主色 #2563EB,辅色 #06B6D4 / #7C3AED。 """ import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) TARGET_DIR = os.path.join(BASE_DIR, 'public', 'assets', 'addons', 'official', 'images', 'articles') os.makedirs(TARGET_DIR, exist_ok=True) COMMON_DEFS = ''' ''' def make_art_seal(x, y, char): return f''' {char} ''' def create_base_svg(seal_char, visual_elements): return f''' {COMMON_DEFS} {make_art_seal(554, 20, seal_char)} {visual_elements} ''' articles = { # 首页 4 篇技术深度文章专属抽象封面 # 1. 缓存穿透、击穿与雪崩《三阶重滤与抗压漏斗》 'article_cache.svg': ('盾', ''' '''), # 2. MySQL LIMIT 深度分页《B+Tree 跳跃指针与延迟关联》 'article_mysql_page.svg': ('跃', ''' '''), # 3. XXL-JOB 分布式分片广播《全域广播与等距波纹》 'article_xxl_job.svg': ('播', ''' '''), # 4. Redis 集群脑裂防御《双子星隔离与法定仲裁》 'article_redis_split.svg': ('防', ''' '''), # 既有文章 8 篇 'article_microservice.svg': ('枢', ''' '''), 'article_cross_app.svg': ('端', ''' '''), 'article_ai_agent.svg': ('智', ''' '''), 'article_pos_offline.svg': ('核', ''' '''), 'article_erp_bom.svg': ('构', ''' '''), 'article_security_whitepaper.svg': ('固', ''' '''), 'article_southwest_digital.svg': ('融', ''' '''), 'article_tdd_standards.svg': ('规', ''' '''), } def generate_all(): for filename, (seal_char, elements) in articles.items(): svg_content = create_base_svg(seal_char, elements) filepath = os.path.join(TARGET_DIR, filename) with open(filepath, 'w', encoding='utf-8') as f: f.write(svg_content.strip()) print(f"Generated concise article cover: {filename} ({len(svg_content)} bytes)") if __name__ == '__main__': generate_all()