@@ -8,6 +8,11 @@ function prepare (siteData) {
8
8
page . frontmatter = { }
9
9
}
10
10
} )
11
+ if ( siteData . langs ) {
12
+ Object . keys ( siteData . langs ) . forEach ( path => {
13
+ siteData . langs [ path ] . path = path
14
+ } )
15
+ }
11
16
Object . freeze ( siteData )
12
17
}
13
18
@@ -28,36 +33,30 @@ export default {
28
33
$site ( ) {
29
34
return store . siteData
30
35
} ,
31
- $title ( ) {
32
- const title = this . $site . title
33
- return typeof title === 'object'
34
- ? title [ this . $basepath ]
35
- : title
36
- } ,
37
- $description ( ) {
38
- const description = this . $site . description
39
- return typeof description === 'object'
40
- ? description [ this . $basepath ]
41
- : description
42
- } ,
43
36
$langConfig ( ) {
44
37
const { langs } = this . $site
45
38
let targetLang
46
39
let defaultLang
47
- ( langs || [ ] ) . forEach ( ( lang , index ) => {
48
- if ( lang . path === '/' ) {
49
- defaultLang = langs [ index ]
50
- } else if ( this . $page . path . indexOf ( lang . path ) === 0 ) {
51
- targetLang = langs [ index ]
40
+ Object . keys ( langs ) . forEach ( path => {
41
+ if ( path === '/' ) {
42
+ defaultLang = langs [ path ]
43
+ } else if ( this . $page . path . indexOf ( path ) === 0 ) {
44
+ targetLang = langs [ path ]
52
45
}
53
46
} )
54
- return targetLang || defaultLang
47
+ return targetLang || defaultLang || { }
48
+ } ,
49
+ $title ( ) {
50
+ return this . $langConfig . title || this . $site . title || ''
51
+ } ,
52
+ $description ( ) {
53
+ return this . $langConfig . description || this . $site . description || ''
55
54
} ,
56
55
$lang ( ) {
57
- return this . $langConfig && this . $langConfig . lang || 'en'
56
+ return this . $langConfig . lang || 'en-US '
58
57
} ,
59
- $basepath ( ) {
60
- return this . $langConfig && this . $langConfig . path || '/'
58
+ $localePath ( ) {
59
+ return this . $langConfig . path || '/'
61
60
} ,
62
61
$page ( ) {
63
62
return findPageForPath (
0 commit comments