Просмотр исходного кода

Merge pull request #1061 from weseek/imprv/abolish-old-config-api-customize

Imprv/abolish old config api customize
Yuki Takei 6 лет назад
Родитель
Сommit
4c8108d2bf
43 измененных файлов с 76 добавлено и 118 удалено
  1. 0 2
      src/server/models/user.js
  2. 11 13
      src/server/routes/admin.js
  3. 0 1
      src/server/util/slack.js
  4. 2 39
      src/server/util/swigFunctions.js
  5. 3 3
      src/server/views/admin/app.html
  6. 7 7
      src/server/views/admin/customize.html
  7. 1 1
      src/server/views/admin/external-accounts.html
  8. 1 1
      src/server/views/admin/global-notification-detail.html
  9. 1 1
      src/server/views/admin/importer.html
  10. 1 1
      src/server/views/admin/index.html
  11. 1 1
      src/server/views/admin/markdown.html
  12. 1 1
      src/server/views/admin/notification.html
  13. 1 1
      src/server/views/admin/search.html
  14. 1 1
      src/server/views/admin/security.html
  15. 1 1
      src/server/views/admin/user-group-detail.html
  16. 1 1
      src/server/views/admin/user-groups.html
  17. 1 1
      src/server/views/admin/users.html
  18. 2 2
      src/server/views/customlayout-selector/forbidden.html
  19. 2 2
      src/server/views/customlayout-selector/not_creatable.html
  20. 2 2
      src/server/views/customlayout-selector/not_found.html
  21. 2 2
      src/server/views/customlayout-selector/page.html
  22. 2 2
      src/server/views/customlayout-selector/page_list.html
  23. 2 2
      src/server/views/customlayout-selector/user_page.html
  24. 1 1
      src/server/views/installer.html
  25. 1 1
      src/server/views/invited.html
  26. 1 1
      src/server/views/layout-crowi/base/layout.html
  27. 1 1
      src/server/views/layout-growi/page.html
  28. 1 1
      src/server/views/layout-growi/user_page.html
  29. 1 1
      src/server/views/layout-growi/widget/header.html
  30. 1 1
      src/server/views/layout-kibela/page.html
  31. 1 1
      src/server/views/layout-kibela/user_page.html
  32. 1 1
      src/server/views/layout-kibela/widget/header.html
  33. 6 6
      src/server/views/layout/layout.html
  34. 1 1
      src/server/views/login.html
  35. 1 1
      src/server/views/login/error.html
  36. 1 1
      src/server/views/me/api_token.html
  37. 1 1
      src/server/views/me/external-accounts.html
  38. 1 1
      src/server/views/me/index.html
  39. 1 1
      src/server/views/me/password.html
  40. 3 3
      src/server/views/page_presentation.html
  41. 2 2
      src/server/views/widget/page_content.html
  42. 2 2
      src/server/views/widget/page_list_and_timeline.html
  43. 2 2
      src/server/views/widget/page_list_and_timeline_kibela.html

+ 0 - 2
src/server/models/user.js

@@ -698,8 +698,6 @@ module.exports = function(crowi) {
         }
 
         if (toSendEmail) {
-          const appTitle = crowi.appService.getAppTitle();
-
           // TODO: メール送信部分のロジックをサービス化する
           async.each(
             createdUserList,

+ 11 - 13
src/server/routes/admin.js

@@ -14,7 +14,12 @@ module.exports = function(crowi, app) {
   const GlobalNotificationMailSetting = models.GlobalNotificationMailSetting;
   const GlobalNotificationSlackSetting = models.GlobalNotificationSlackSetting; // eslint-disable-line no-unused-vars
 
-  const { configManager, aclService, slackNotificationService } = crowi;
+  const {
+    configManager,
+    aclService,
+    slackNotificationService,
+    customizeService,
+  } = crowi;
 
   const recommendedWhitelist = require('@commons/service/xss/recommended-whitelist');
   const PluginUtils = require('../plugins/plugin-utils');
@@ -1083,23 +1088,16 @@ module.exports = function(crowi, app) {
     return res.json({ status: true });
   };
 
-  actions.api.customizeSetting = function(req, res) {
+  actions.api.customizeSetting = async function(req, res) {
     const form = req.form.settingForm;
 
     if (req.form.isValid) {
       debug('form content', form);
-      return saveSetting(req, res, form);
-    }
-
-    return res.json({ status: false, message: req.form.errors.join('\n') });
-  };
-
-  actions.api.customizeSetting = function(req, res) {
-    const form = req.form.settingForm;
+      await configManager.updateConfigsInTheSameNamespace('crowi', form);
+      customizeService.initCustomCss();
+      customizeService.initCustomTitle();
 
-    if (req.form.isValid) {
-      debug('form content', form);
-      return saveSetting(req, res, form);
+      return res.json({ status: true });
     }
 
     return res.json({ status: false, message: req.form.errors.join('\n') });

+ 0 - 1
src/server/util/slack.js

@@ -9,7 +9,6 @@ const urljoin = require('url-join');
 
 module.exports = function(crowi) {
   const config = crowi.getConfig();
-  const Config = crowi.model('Config');
   const Slack = require('slack-node');
   const { configManager } = crowi;
 

+ 2 - 39
src/server/util/swigFunctions.js

@@ -9,6 +9,7 @@ module.exports = function(crowi, app, req, locals) {
     passportService,
     appService,
     fileUploadService,
+    customizeService,
   } = crowi;
   debug('initializing swigFunctions');
 
@@ -64,6 +65,7 @@ module.exports = function(crowi, app, req, locals) {
    */
   locals.appService = appService;
   locals.fileUploadService = fileUploadService;
+  locals.customizeService = customizeService;
 
   locals.noCdn = function() {
     return !!process.env.NO_CDN;
@@ -125,45 +127,6 @@ module.exports = function(crowi, app, req, locals) {
     return process.env.HACKMD_URI != null;
   };
 
-  locals.customCss = function() {
-    const customizeService = crowi.customizeService;
-    return customizeService.getCustomCss();
-  };
-
-  locals.customScript = function() {
-    const customizeService = crowi.customizeService;
-    return customizeService.getCustomScript();
-  };
-
-  locals.customHeader = function() {
-    return configManager.getConfig('crowi', 'customize:header') || '';
-  };
-
-  locals.customTitle = function(page) {
-    const customizeService = crowi.customizeService;
-    return customizeService.generateCustomTitle(page);
-  };
-
-  locals.behaviorType = function() {
-    return configManager.getConfig('crowi', 'customize:behavior');
-  };
-
-  locals.layoutType = function() {
-    return configManager.getConfig('crowi', 'customize:layout');
-  };
-
-  locals.highlightJsStyle = function() {
-    return configManager.getConfig('crowi', 'customize:highlightJsStyle');
-  };
-
-  locals.highlightJsStyleBorder = function() {
-    return configManager.getConfig('crowi', 'customize:highlightJsStyleBorder');
-  };
-
-  locals.isEnabledTimeline = function() {
-    return configManager.getConfig('crowi', 'customize:isEnabledTimeline');
-  };
-
   locals.parentPath = function(path) {
     if (path === '/') {
       return path;

+ 3 - 3
src/server/views/admin/app.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('App settings')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('App settings')) }}{% endblock %}
 
 {% block head_warn_alert_siteurl_undefined %} {# remove including block for './widget/alert_siteurl_undefined.html' #}
 {% endblock %}
@@ -58,8 +58,8 @@
                    id="settingForm[app:confidential]"
                    type="text"
                    name="settingForm[app:confidential]"
-                   value="{{ settingForm['app:confidential'] }}"
-                   placeholder="{{ t('app_setting. ex): internal use only') }}">
+                   value="{{ settingForm['app:confidential'] | default('') }}"
+                   placeholder="{{ t('app_setting. ex): internal use only') }}">
             <p class="help-block">{{ t("app_setting.header_content") }}</p>
           </div>
         </div>

+ 7 - 7
src/server/views/admin/customize.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('Customize')) }} {% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('Customize')) }} {% endblock %}
 
 {% block theme_css_block %}
   {% set themeName = getConfig('crowi', 'customize:theme') %}
@@ -307,7 +307,7 @@
             <div class="col-xs-9">
               <select class="form-control selectpicker" name="settingForm[customize:highlightJsStyle]" onChange="selectHighlightJsStyle(event)" {% if noCdn() %}disabled{% endif %}>
                 {% for key in Object.keys(highlightJsCssSelectorOptions) %}
-                  <option value={{key}} {% if key == highlightJsStyle() %} selected {% endif %}>{{highlightJsCssSelectorOptions[key].name}}</option>
+                  <option value={{key}} {% if key == getConfig('crowi', 'customize:highlightJsStyle') %} selected {% endif %}>{{highlightJsCssSelectorOptions[key].name}}</option>
                 {% endfor %}
               </select>
               <p class="help-block text-warning">{{ t('customize_page.nocdn_desc') }}</p>
@@ -331,7 +331,7 @@
           </div>
 
           <div id="highlightJsCssContainer">
-            {{ cdnHighlightJsStyleTag(highlightJsStyle()) }}
+            {{ cdnHighlightJsStyleTag(getConfig('crowi', 'customize:highlightJsStyle')) }}
           </div>
 
           <p class="help-block">
@@ -381,7 +381,7 @@ export  $initHighlight;</code></pre>
 
           <div class="form-group">
             <div class="col-xs-12">
-              <input class="form-control" name="settingForm[customize:title]" value="{{ settingForm['customize:title'] }}"></input>
+              <input class="form-control" name="settingForm[customize:title]" value="{{ settingForm['customize:title'] | default('') }}"></input>
             </div>
           </div>
 
@@ -411,7 +411,7 @@ export  $initHighlight;</code></pre>
         <div class="form-group">
           <div class="col-xs-12">
             <div id="custom-header-editor"></div>
-            <input type="hidden" id="inputCustomHeader" name="settingForm[customize:header]" value="{{ settingForm['customize:header'] }}">
+            <input type="hidden" id="inputCustomHeader" name="settingForm[customize:header]" value="{{ settingForm['customize:header'] | default('') }}">
           </div>
           <div class="col-xs-12">
             <p class="help-block text-right">
@@ -443,7 +443,7 @@ export  $initHighlight;</code></pre>
         <div class="form-group">
           <div class="col-xs-12">
             <div id="custom-css-editor"></div>
-            <input type="hidden" id="inputCustomCss" name="settingForm[customize:css]" value="{{ settingForm['customize:css'] }}">
+            <input type="hidden" id="inputCustomCss" name="settingForm[customize:css]" value="{{ settingForm['customize:css'] | default('') }}">
           </div>
           <div class="col-xs-12">
             <p class="help-block text-right">
@@ -501,7 +501,7 @@ window.addEventListener('load', (event) => {
         <div class="form-group">
           <div class="col-xs-12">
             <div id="custom-script-editor"></div>
-            <input type="hidden" id="inputCustomScript" name="settingForm[customize:script]" value="{{ settingForm['customize:script'] }}">
+            <input type="hidden" id="inputCustomScript" name="settingForm[customize:script]" value="{{ settingForm['customize:script'] | default('') }}">
           </div>
           <div class="col-xs-12">
             <p class="help-block text-right">

+ 1 - 1
src/server/views/admin/external-accounts.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('External Account management')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('External Account management')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/admin/global-notification-detail.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('Notification settings')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('Notification settings')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/admin/importer.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('Import Data')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('Import Data')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/admin/index.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('admin_top.Management Wiki')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('admin_top.Management Wiki')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/admin/markdown.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('Markdown settings')) }}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('Markdown settings')) }}
  · {{ path }}{% endblock %}
 
 {% block content_header %}

+ 1 - 1
src/server/views/admin/notification.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('Notification settings')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('Notification settings')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/admin/search.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('Full Text Search management')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('Full Text Search management')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/admin/security.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('Security settings')) }} · {% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('Security settings')) }} · {% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/admin/user-group-detail.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('UserGroup Management') + '/' + userGroup.name) | preventXss }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('UserGroup Management') + '/' + userGroup.name) | preventXss }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/admin/user-groups.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('UserGroup Management')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('UserGroup Management')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/admin/users.html

@@ -1,6 +1,6 @@
 {% extends '../layout/admin.html' %}
 
-{% block html_title %}{{ customTitle(t('User_Management')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('User_Management')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 2 - 2
src/server/views/customlayout-selector/forbidden.html

@@ -1,6 +1,6 @@
-{% if !layoutType() || 'crowi' === layoutType() %}
+{% if !getConfig('crowi', 'customize:layout') || 'crowi' === getConfig('crowi', 'customize:layout') %}
   {% include '../layout-crowi/forbidden.html' %}
-{% elseif !layoutType() || 'kibela' === layoutType()%}
+{% elseif !getConfig('crowi', 'customize:layout') || 'kibela' === getConfig('crowi', 'customize:layout')%}
   {% include '../layout-kibela/forbidden.html' %}
 {% else %}
   {% include '../layout-growi/forbidden.html' %}

+ 2 - 2
src/server/views/customlayout-selector/not_creatable.html

@@ -1,6 +1,6 @@
-{% if !layoutType() || 'crowi' === layoutType() %}
+{% if !getConfig('crowi', 'customize:layout') || 'crowi' === getConfig('crowi', 'customize:layout') %}
   {% include '../layout-crowi/not_creatable.html' %}
-{% elseif !layoutType() || 'kibela' === layoutType()%}
+{% elseif !getConfig('crowi', 'customize:layout') || 'kibela' === getConfig('crowi', 'customize:layout')%}
   {% include '../layout-kibela/not_creatable.html' %}
 {% else %}
   {% include '../layout-growi/not_creatable.html' %}

+ 2 - 2
src/server/views/customlayout-selector/not_found.html

@@ -1,6 +1,6 @@
-{% if !layoutType() || 'crowi' === layoutType() %}
+{% if !getConfig('crowi', 'customize:layout') || 'crowi' === getConfig('crowi', 'customize:layout') %}
   {% include '../layout-crowi/not_found.html' %}
-{% elseif !layoutType() || 'kibela' === layoutType()%}
+{% elseif !getConfig('crowi', 'customize:layout') || 'kibela' === getConfig('crowi', 'customize:layout')%}
   {% include '../layout-kibela/not_found.html' %}
 {% else %}
   {% include '../layout-growi/not_found.html' %}

+ 2 - 2
src/server/views/customlayout-selector/page.html

@@ -1,6 +1,6 @@
-{% if !layoutType() || 'crowi' === layoutType() %}
+{% if !getConfig('crowi', 'customize:layout') || 'crowi' === getConfig('crowi', 'customize:layout') %}
   {% include '../layout-crowi/page.html' %}
-{% elseif !layoutType() || 'kibela' === layoutType()%}
+{% elseif !getConfig('crowi', 'customize:layout') || 'kibela' === getConfig('crowi', 'customize:layout')%}
   {% include '../layout-kibela/page.html' %}
 {% else %}
   {% include '../layout-growi/page.html' %}

+ 2 - 2
src/server/views/customlayout-selector/page_list.html

@@ -1,6 +1,6 @@
-{% if !layoutType() || 'crowi' === layoutType() %}
+{% if !getConfig('crowi', 'customize:layout') || 'crowi' === getConfig('crowi', 'customize:layout') %}
   {% include '../layout-crowi/page_list.html' %}
-{% elseif !layoutType() || 'kibela' === layoutType()%}
+{% elseif !getConfig('crowi', 'customize:layout') || 'kibela' === getConfig('crowi', 'customize:layout')%}
   {% include '../layout-kibela/page_list.html' %}
 {% else %}
   {% include '../layout-growi/page_list.html' %}

+ 2 - 2
src/server/views/customlayout-selector/user_page.html

@@ -1,6 +1,6 @@
-{% if !layoutType() || 'crowi' === layoutType() %}
+{% if !getConfig('crowi', 'customize:layout') || 'crowi' === getConfig('crowi', 'customize:layout') %}
   {% include '../layout-crowi/user_page.html' %}
-{% elseif !layoutType() || 'kibela' === layoutType()%}
+{% elseif !getConfig('crowi', 'customize:layout') || 'kibela' === getConfig('crowi', 'customize:layout')%}
   {% include '../layout-kibela/user_page.html' %}
 {% else %}
   {% include '../layout-growi/user_page.html' %}

+ 1 - 1
src/server/views/installer.html

@@ -4,7 +4,7 @@
 <head>
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-  <title>{{ customTitle(t('installer.setup')) }}</title>
+  <title>{{ customizeService.generateCustomTitle(t('installer.setup')) }}</title>
   <meta name="description" content="">
   <meta name="author" content="">
 

+ 1 - 1
src/server/views/invited.html

@@ -2,7 +2,7 @@
 
 {% block html_base_css %}invited nologin{% endblock %}
 
-{% block html_title %}{{ customTitle('Registration') }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle('Registration') }}{% endblock %}
 
 
 

+ 1 - 1
src/server/views/layout-crowi/base/layout.html

@@ -1,6 +1,6 @@
 {% extends '../../layout/layout.html' %}
 
-{% block html_title %}{{ customTitle(path) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(path) }}{% endblock %}
 
 {% block html_additional_headers %}
   {% parent %}

+ 1 - 1
src/server/views/layout-growi/page.html

@@ -34,7 +34,7 @@
 
   </div>
 
-  {% if 'growi' === behaviorType() || 'crowi-plus' === behaviorType() %}
+  {% if 'growi' === getConfig('crowi', 'customize:behavior') || 'crowi-plus' === getConfig('crowi', 'customize:behavior') %}
   <div class="row page-list hidden-print m-t-30">
     <div class="col-md-10">
       {% include '../widget/page_list_and_timeline.html' %}

+ 1 - 1
src/server/views/layout-growi/user_page.html

@@ -58,7 +58,7 @@
 
   </div>
 
-  {% if 'growi' === behaviorType() || 'crowi-plus' === behaviorType() %}
+  {% if 'growi' === getConfig('crowi', 'customize:behavior') || 'crowi-plus' === getConfig('crowi', 'customize:behavior') %}
   <div class="row page-list hidden-print m-t-30">
     <div class="col-md-10">
       {% include '../widget/page_list_and_timeline.html' %}

+ 1 - 1
src/server/views/layout-growi/widget/header.html

@@ -41,7 +41,7 @@
       </ul>
       {% endif %}
 
-      {% if not page and not forbidden and ('/' === path or 'crowi' === behaviorType()) and not isUserPageList(path) and !isTrashPage() %}
+      {% if not page and not forbidden and ('/' === path or 'crowi' === getConfig('crowi', 'customize:behavior')) and not isUserPageList(path) and !isTrashPage() %}
         {% if '/' === path.slice(-1) %}
           {% include '../../widget/create_portal.html' %}
         {% endif %}

+ 1 - 1
src/server/views/layout-kibela/page.html

@@ -30,7 +30,7 @@
 
 </div>
 
-  {% if 'growi' === behaviorType() || 'crowi-plus' === behaviorType() %}
+  {% if 'growi' === getConfig('crowi', 'customize:behavior') || 'crowi-plus' === getConfig('crowi', 'customize:behavior') %}
   <div class="row page-list p-t-10 m-t-30 m-b-30 round-corner">
     <div class="col-md-10">
       {% include '../widget/page_list_and_timeline.html' %}

+ 1 - 1
src/server/views/layout-kibela/user_page.html

@@ -51,7 +51,7 @@
 
   </div>
 
-  {% if 'growi' === behaviorType() || 'crowi-plus' === behaviorType() %}
+  {% if 'growi' === getConfig('crowi', 'customize:behavior') || 'crowi-plus' === getConfig('crowi', 'customize:behavior') %}
   <div class="row page-list m-t-30">
     <div class="col-xs-12">
       {% include '../widget/page_list_and_timeline_kibela.html' %}

+ 1 - 1
src/server/views/layout-kibela/widget/header.html

@@ -41,7 +41,7 @@
         </div>
       </li>
     </ul>
-    {% endif %} {% if not page and ('/' === path or 'crowi' === behaviorType()) and not isUserPageList(path) and !isTrashPage()
+    {% endif %} {% if not page and ('/' === path or 'crowi' === getConfig('crowi', 'customize:behavior')) and not isUserPageList(path) and !isTrashPage()
     %} {% if '/' === path.slice(-1) %} {% include '../../widget/create_portal.html' %} {% endif %} {% endif %}
 
   </div>

+ 6 - 6
src/server/views/layout/layout.html

@@ -4,7 +4,7 @@
 <head>
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-  <title>{% block html_title %}{{ customTitle(path) }}{% endblock %}</title>
+  <title>{% block html_title %}{{ customizeService.generateCustomTitle(path) }}{% endblock %}</title>
   <meta name="description" content="">
   <meta name="author" content="">
 
@@ -12,7 +12,7 @@
 
   <meta name="apple-mobile-web-app-title" content="{{ appService.getAppTitle() }}">
 
-  {{ customHeader() }}
+  {{ getConfig('crowi', 'customize:header') | default('') }}
 
   {% include '../widget/headers/favicon.html' %}
   {% include '../widget/headers/ie11-polyfills.html' %}
@@ -49,12 +49,12 @@
   {% endif %}
 
   {{ cdnStyleTagsByGroup('basis') }}
-  {{ cdnHighlightJsStyleTag(highlightJsStyle()) }}
+  {{ cdnHighlightJsStyleTag(getConfig('crowi', 'customize:highlightJsStyle')) }}
 
   {% block html_additional_headers %}{% endblock %}
 
   <style>
-    {{ customCss() }}
+    {{ customizeService.getCustomCss() }}
   </style>
 </head>
 {% endblock %}
@@ -62,7 +62,7 @@
 {% block html_body %}
 <body
   class="main-container content-wrapper {% block html_base_css %}{% endblock %}
-      {% if !layoutType() || 'crowi' === layoutType() %}crowi{% elseif !layoutType() || 'kibela' === layoutType() %}kibela{% else %}growi{% endif %}"
+      {% if !getConfig('crowi', 'customize:layout') || 'crowi' === getConfig('crowi', 'customize:layout') %}crowi{% elseif !getConfig('crowi', 'customize:layout') || 'kibela' === getConfig('crowi', 'customize:layout') %}kibela{% else %}growi{% endif %}"
   data-me="{{ user._id.toString() }}"
   data-is-admin="{{ user.admin }}"
   data-plugin-enabled="{{ getConfig('crowi', 'plugin:isEnabledPlugins') }}"
@@ -208,7 +208,7 @@
 
 {% block custom_script %}
 <script>
-  {{ customScript() }}
+  {{ customizeService.getCustomScript() }}
 </script>
 {% endblock %}
 

+ 1 - 1
src/server/views/login.html

@@ -2,7 +2,7 @@
 
 {% block html_base_css %}login-page nologin{% endblock %}
 
-{% block html_title %}{{ customTitle(t('Sign in')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('Sign in')) }}{% endblock %}
 
 
 

+ 1 - 1
src/server/views/login/error.html

@@ -2,7 +2,7 @@
 
 {% block html_base_css %}error nologin{% endblock %}
 
-{% block html_title %}{{ customTitle('セットアップ') }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle('セットアップ') }}{% endblock %}
 
 
 

+ 1 - 1
src/server/views/me/api_token.html

@@ -1,7 +1,7 @@
 {% extends '../layout-growi/base/layout.html' %}
 
 
-{% block html_title %}{{ customTitle(t('API Settings')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('API Settings')) }}{% endblock %}
 
 
 {% block content_header %}

+ 1 - 1
src/server/views/me/external-accounts.html

@@ -1,6 +1,6 @@
 {% extends '../layout-growi/base/layout.html' %}
 
-{% block html_title %}{{ customTitle(t('user_management.external_account')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('user_management.external_account')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/me/index.html

@@ -1,6 +1,6 @@
 {% extends '../layout-growi/base/layout.html' %}
 
-{% block html_title %}{{ customTitle(t('User Settings')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('User Settings')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 1 - 1
src/server/views/me/password.html

@@ -1,6 +1,6 @@
 {% extends '../layout-growi/base/layout.html' %}
 
-{% block html_title %}{{ customTitle(t('Password Settings')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitle(t('Password Settings')) }}{% endblock %}
 
 {% block content_header %}
 <div class="header-wrap">

+ 3 - 3
src/server/views/page_presentation.html

@@ -6,7 +6,7 @@
     <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
 
-    {{ customHeader() }}
+    {{ getConfig('crowi', 'customize:header') | default('') }}
 
     <!-- polyfills for IE11 -->
     <script>
@@ -32,10 +32,10 @@
     <title>{{ path|path2name }} | {{ path }}</title>
 
     {{ cdnStyleTagsByGroup('basis') }}
-    {{ cdnHighlightJsStyleTag(highlightJsStyle()) }}
+    {{ cdnHighlightJsStyleTag(getConfig('crowi', 'customize:highlightJsStyle')) }}
 
     <style>
-      {{ customCss() }}
+      {{ customizeService.getCustomCss() }}
     </style>
   </head>
   <body>

+ 2 - 2
src/server/views/widget/page_content.html

@@ -21,7 +21,7 @@
 
   {% include 'page_alerts.html' %}
 
-  {% if !layoutType() || 'kibela' === layoutType() %}
+  {% if !getConfig('crowi', 'customize:layout') || 'kibela' === getConfig('crowi', 'customize:layout') %}
     {% include 'page_tabs_kibela.html' %}
   {% else %}
     {% include 'page_tabs.html' %}
@@ -40,7 +40,7 @@
         </div>
         <div id="page" class="m-t-15"></div>
       </div>
-    {% elseif 'crowi' === behaviorType() %}
+    {% elseif 'crowi' === getConfig('crowi', 'customize:behavior') %}
       <div class="tab-pane active" id="cancel-creating-portal">
       </div>
     {% endif %}

+ 2 - 2
src/server/views/widget/page_list_and_timeline.html

@@ -1,7 +1,7 @@
 <div class="page-list-container">
   <ul class="nav nav-tabs">
       <li class="active"><a href="#view-list" data-toggle="tab">{{ t('List View') }}</a></li>
-      {% if isEnabledTimeline() %}
+      {% if getConfig('crowi', 'customize:isEnabledTimeline') %}
       <li><a href="#view-timeline" data-toggle="tab">{{ t('Timeline View') }}</a></li>
       {% endif %}
   </ul>
@@ -23,7 +23,7 @@
     </div>
 
     {# timeline view #}
-    {% if isEnabledTimeline() %}
+    {% if getConfig('crowi', 'customize:isEnabledTimeline') %}
     <div class="tab-pane m-t-30" id="view-timeline" data-shown=0>
       {% for page in pages %}
       <div class="timeline-body" id="id-{{ page.id }}" data-page-id="{{ page.id }}" data-page-path="{{ page.path }}" data-revision="{{ page.revision.toString() }}">

+ 2 - 2
src/server/views/widget/page_list_and_timeline_kibela.html

@@ -1,7 +1,7 @@
 <div class="page-list-container">
   <ul class="nav nav-tabs customtab">
       <li class="active"><a href="#view-list" data-toggle="tab">{{ t('List View') }}</a></li>
-      {% if isEnabledTimeline() %}
+      {% if getConfig('crowi', 'customize:isEnabledTimeline') %}
       <li><a href="#view-timeline" data-toggle="tab">{{ t('Timeline View') }}</a></li>
       {% endif %}
   </ul>
@@ -23,7 +23,7 @@
     </div>
 
     {# timeline view #}
-    {% if isEnabledTimeline() %}
+    {% if getConfig('crowi', 'customize:isEnabledTimeline') %}
     <div class="tab-pane m-t-30" id="view-timeline" data-shown=0>
       {% for page in pages %}
       <div class="timeline-body" id="id-{{ page.id }}" data-page-id="{{ page.id }}" data-page-path="{{ page.path }}" data-revision="{{ page.revision._id }}">