text: import Vue from 'vue'
  import { siteData } from './.temp/siteData'
  import { findPageForPath } from './util'
  
  function prepare (siteData) {
    siteData.pages.forEach(page => {
      if (!page.frontmatter) {
        page.frontmatter = {}
      }
    })
    if (siteData.locales) {
      Object.keys(siteData.locales).forEach(path => {
        siteData.locales[path].path = path
      })
    }
    Object.freeze(siteData)
  }
  
  prepare(siteData)
  const store = new Vue({
    data: { siteData }
  })
  
  if (module.hot) {
    module.hot.accept('./.temp/siteData', () => {
      prepare(siteData)
      store.siteData = siteData
    })
  }
  
  export default {
    computed: {
      $site () {
        return store.siteData
      },
      $localeConfig () {
        const { locales = {}} = this.$site
        let targetLang
        let defaultLang
        for (const path in locales) {
          if (path === '/') {
            defaultLang = locales[path]
          } else if (this.$page.path.indexOf(path) === 0) {
            targetLang = locales[path]
          }
        }
        return targetLang || defaultLang || {}
      },
      $title () {
        return this.$page.frontmatter.title || this.$localeConfig.title || this.$site.title || ''
      },
      $description () {
        return this.$page.frontmatter.description || this.$localeConfig.description || this.$site.description || ''
      },
      $lang () {
        return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US'
      },
      $localePath () {
        return this.$localeConfig.path || '/'
      },
      $themeLocaleConfig () {
        return (this.$site.themeConfig.locales || {})[this.$localePath] || {}
      },
      $page () {
        return findPageForPath(
          this.$site.pages,
          this.$route.path
        )
      }
    }
  }
  