Cabloy-CMS提供了主题继承的机制,从而方便在原有主题的基础上修改个别文件,从而快速创建一个新的主题

cms-themeaws就是在cms-themeblog的基础上创建的新主题

操作步骤

继承主题一般只需要三个步骤

1. 声明继承关系

cms-themeaws/package.json

  1. 1{
  2. 2 "name": "egg-born-module-cms-themeaws",
  3. 3 "version": "1.0.0",
  4. 4 "title": "cms:theme:aws",
  5. 5 "eggBornModule": {
  6. 6 "cms": {
  7. 7 "name": "aws",
  8. 8 "theme": true,
  9. 9 "extend": "cms-themeblog"
  10. 10 },
  11. 11 "dependencies": {
  12. 12 "a-instance": "1.0.0",
  13. 13 "cms-themeblog": "1.1.3"
  14. 14 }
  15. 15 },
  16. 16}
名称 说明
“extend”: “cms-themeblog” 声明继承自主题cms-themeblog

2. 覆盖参数

cms-themeaws/backend/src/config/config.js

  1. 1// theme
  2. 2config.theme = {
  3. 3 _theme: {
  4. 4 name: 'cms-themeaws',
  5. 5 url: 'https://github.com/zhennann/egg-born-module-cms-themeaws',
  6. 6 },
  7. 7};
名称 说明
_theme 是主题cms-themeblog提供的参数,在这里进行覆盖

3. 覆盖源码和资源

根据需要覆盖原有主题的源码和资源,在这个主题中只覆盖了一个CSS样式文件

cms-themeaws/backend/cms/theme/assets/css/site.css.ejs

  1. 1body {
  2. 2 font-size:14px;
  3. 3 color:#666;
  4. 4 background: #FAFAFA;
  5. 5}
  6. 6
  7. 7...
  8. 8
  9. 9a {
  10. 10 color: #007eb9;
  11. 11}
  12. 12a:visited{
  13. 13 color:#005b86;
  14. 14}
  15. 15a:hover,a:focus{
  16. 16 color:#e47911;
  17. 17}