-
  let algolia = 'undefined';
  let env = process.env;
  if (theme.algolia_search.enable) {
    algolia = JSON.stringify({
      appId: env.ALGOLIA_APP_ID || config.algolia.appId || config.algolia.applicationID,
      apiKey: env.ALGOLIA_API_KEY || config.algolia.apiKey,
      indexName: env.ALGOLIA_INDEX_NAME || config.algolia.indexName,
      hits: theme.algolia_search.hits,
      // search languages
      languages: {
        input_placeholder: _p("search.algolia_search.input_placeholder"),
        hits_empty: _p("search.algolia_search.hits_empty"),
        hits_stats: _p("search.algolia_search.hits_stats"),
      }
    })
  }

  let localSearch = 'undefined';
  if (theme.local_search && theme.local_search.enable) {
    localSearch = JSON.stringify({
      path: theme.local_search.CDN ? theme.local_search.CDN : config.root + config.search.path,
      preload: theme.local_search.preload,
      languages: {
        // search languages
        hits_empty: _p("search.local_search.hits_empty"),
      }
    })
  }

  let translate = 'undefined';
  if (theme.translate && theme.translate.enable){
    translate = JSON.stringify({
      defaultEncoding: theme.translate.defaultEncoding,
      translateDelay: theme.translate.translateDelay,
      msgToTraditionalChinese: theme.translate.msgToTraditionalChinese,
      msgToSimplifiedChinese: theme.translate.msgToSimplifiedChinese
    })
  }

  let copyright = 'undefined';
  if (theme.copy.enable && theme.copy.copyright.enable){
    copyright = JSON.stringify({
      limitCount: theme.copy.copyright.limit_count,
      languages: {
        author: _p("copy_copyright.author") + ': ' + config.author,
        link: _p("copy_copyright.link") + ': ',
        source: _p("copy_copyright.source") + ': ' + config.title,
        info: _p("copy_copyright.info")
      }
    })
  }

  let Snackbar = 'undefined';
  if (theme.snackbar && theme.snackbar.enable) {
    Snackbar = JSON.stringify({
      chs_to_cht: _p("Snackbar.chs_to_cht"),
      cht_to_chs: _p("Snackbar.cht_to_chs"),
      day_to_night: _p("Snackbar.day_to_night"),
      night_to_day: _p("Snackbar.night_to_day"),
      bgLight: theme.snackbar.bg_light,
      bgDark: theme.snackbar.bg_dark,
      position: theme.snackbar.position,
    })
  }

  let noticeOutdate = 'undefined';
  if (theme.noticeOutdate && theme.noticeOutdate.enable) {
    noticeOutdate = JSON.stringify({
      limitDay: theme.noticeOutdate.limit_day,
      position: theme.noticeOutdate.position,
      messagePrev: theme.noticeOutdate.message_prev,
      messageNext: theme.noticeOutdate.message_next,
    })
  }

  let highlight = 'undefined';
  if ((config.highlight && config.highlight.enable) || (config.prismjs && config.prismjs.enable)) {
    highlight = JSON.stringify({
      plugin: config.highlight.enable ? 'highlighjs' : 'prismjs',
      highlightCopy: theme.highlight_copy,
      highlightLang: theme.highlight_lang,
      highlightHeightLimit: theme.highlight_height_limit
    })
  }

script.
  const GLOBAL_CONFIG = { 
    root: '!{config.root}',
    algolia: !{algolia},
    localSearch: !{localSearch},
    translate: !{translate},
    noticeOutdate: !{noticeOutdate},
    highlight: !{highlight},
    copy: {
      success: '!{_p("copy.success")}',
      error: '!{_p("copy.error")}',
      noSupport: '!{_p("copy.noSupport")}'
    },
    relativeDate: {
      homepage: !{theme.post_meta.page.date_format === 'relative'},
      post: !{theme.post_meta.post.date_format === 'relative'}
    },
    runtime: '!{theme.runtimeshow.enable ? _p("aside.card_webinfo.runtime.unit") : ""}',
    date_suffix: {
      just: '!{_p("date_suffix.just")}',
      min: '!{_p("date_suffix.min")}',
      hour: '!{_p("date_suffix.hour")}',
      day: '!{_p("date_suffix.day")}',
      month: '!{_p("date_suffix.month")}'
    },
    copyright: !{copyright},
    lightbox: '!{ theme.medium_zoom ? "mediumZoom" : (theme.fancybox ? "fancybox" : "null" )}',
    Snackbar: !{Snackbar},
    source: {
      justifiedGallery: {
        js: '!{url_for(theme.asset.flickr_justified_gallery_js)}',
        css: '!{url_for(theme.asset.flickr_justified_gallery_css)}'
      }
    },
    isPhotoFigcaption: !{theme.photofigcaption},
    islazyload: !{theme.lazyload.enable},
    isAnchor: !{theme.anchor}
  }
