theme_color_override.py 675 B

123456789101112131415161718192021222324252627
  1. """
  2. 替换主页的主题颜色
  3. 启用: news.replacecolor 设为 true
  4. """
  5. from homepagebuilder.interfaces.Events import on, ResultOverride
  6. from homepagebuilder.core.config import enable_by_config
  7. COLOR_MAPPING = {
  8. 1: None,
  9. 2: "#9B2A2A",
  10. 3: "#C05252",
  11. 4: "#D56B6B",
  12. 5: "#E18E8E",
  13. #6: "#E18E8E",
  14. #7: "#E18E8E",
  15. }
  16. @on('page.generate.return')
  17. @enable_by_config('news.replacecolor')
  18. def script(*args, **kwargs):
  19. result: str = kwargs['result']
  20. for num, color in COLOR_MAPPING.items():
  21. if not color:
  22. continue
  23. result = result.replace(f"{{DynamicResource ColorBrush{num}}}", color)
  24. raise ResultOverride(result)