# -*- 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''''''
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()