Skip to content

Commit 2720a9b

Browse files
author
reco_luan
committed
style: package data handling methods
fix: change footer.vue display position
1 parent eb47a9e commit 2720a9b

File tree

8 files changed

+43
-39
lines changed

8 files changed

+43
-39
lines changed

components/Common.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
<slot></slot>
3333
<Comments :isShowComments="isComment"/>
3434
</div>
35-
<Footer class="footer" />
3635
</div>
3736
</transition>
3837
<GA></GA>
@@ -41,14 +40,13 @@
4140

4241
<script>
4342
import Navbar from '@theme/components/Navbar.vue'
44-
import Footer from '@theme/components/Footer.vue'
4543
import Sidebar from '@theme/components/Sidebar.vue'
4644
import { resolveSidebarItems } from '../util'
4745
import Password from '@theme/components/Password'
4846
import { setTimeout } from 'timers'
4947
5048
export default {
51-
components: { Sidebar, Navbar, Password, Footer },
49+
components: { Sidebar, Navbar, Password },
5250
5351
props: ['sidebar', 'isComment'],
5452

components/HomeBlog.vue

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,10 @@
5757
<script>
5858
import TagList from '@theme/components/TagList.vue'
5959
import NoteAbstract from '@theme/components/NoteAbstract.vue'
60+
import mixin from '@theme/mixins/index.js'
6061
6162
export default {
63+
mixins: [mixin],
6264
components: { NoteAbstract, TagList },
6365
data () {
6466
return {
@@ -71,13 +73,8 @@ export default {
7173
// 时间降序后的博客列表
7274
posts () {
7375
let posts = this.$site.pages
74-
posts = posts.filter(item => {
75-
const { home, date } = item.frontmatter
76-
return !(home == true || date === undefined)
77-
})
78-
posts.sort((a, b) => {
79-
return this._getTimeNum(b) - this._getTimeNum(a)
80-
})
76+
posts = this._filterPostData(posts)
77+
this._sortPostData(posts)
8178
return posts
8279
},
8380

layouts/Category.vue

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,10 @@
3636
<script>
3737
import Common from '@theme/components/Common.vue'
3838
import NoteAbstract from '@theme/components/NoteAbstract.vue'
39+
import mixin from '@theme/mixins/index.js'
3940
4041
export default {
42+
mixins: [mixin],
4143
components: { Common, NoteAbstract },
4244
4345
data () {
@@ -51,10 +53,9 @@ export default {
5153
computed: {
5254
// 时间降序后的博客列表
5355
posts () {
54-
const posts = this.$currentCategories.pages
55-
posts.sort((a, b) => {
56-
return this._getTimeNum(b) - this._getTimeNum(a)
57-
})
56+
let posts = this.$currentCategories.pages
57+
posts = this._filterPostData(posts)
58+
this._sortPostData(posts)
5859
this._setPage(1)
5960
return posts
6061
},

layouts/Layout.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div>
33
<Common>
4-
<component v-if="$frontmatter.home" :is="homeCom"></component>
4+
<component v-if="$frontmatter.home" :is="homeCom"></component>
55
<Page
66
v-else
77
:sidebar-items="sidebarItems">
@@ -12,6 +12,7 @@
1212
name="page-bottom"
1313
slot="bottom"/>
1414
</Page>
15+
<Footer v-if="$frontmatter.home" class="footer" />
1516
</Common>
1617
</div>
1718
</template>
@@ -20,11 +21,12 @@
2021
import Home from '@theme/components/Home.vue'
2122
import HomeBlog from '@theme/components/HomeBlog.vue'
2223
import Page from '@theme/components/Page.vue'
24+
import Footer from '@theme/components/Footer.vue'
2325
import Common from '@theme/components/Common.vue'
2426
import { resolveSidebarItems } from '../util'
2527
2628
export default {
27-
components: { HomeBlog, Home, Page, Common },
29+
components: { HomeBlog, Home, Page, Common, Footer },
2830
2931
computed: {
3032
sidebarItems () {
@@ -38,7 +40,7 @@ export default {
3840
homeCom () {
3941
const { type } = this.$themeConfig
4042
if (type !== undefined) {
41-
return type == 'blog' ? 'HomeBlog': type
43+
return type == 'blog' ? 'HomeBlog' : type
4244
}
4345
return 'Home'
4446
}

layouts/Tags.vue

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@
2222
import Common from '@theme/components/Common.vue'
2323
import TagList from '@theme/components/TagList.vue'
2424
import NoteAbstract from '@theme/components/NoteAbstract.vue'
25+
import mixin from '@theme/mixins/index.js'
2526
2627
export default {
28+
mixins: [mixin],
2729
components: { Common, NoteAbstract, TagList },
2830
data () {
2931
return {
@@ -39,13 +41,8 @@ export default {
3941
// 时间降序后的博客列表
4042
handlePosts () {
4143
let posts = this.$site.pages
42-
posts = posts.filter(item => {
43-
const { home, date } = item.frontmatter
44-
return !(home == true || date === undefined)
45-
})
46-
posts.sort((a, b) => {
47-
return this._getTimeNum(b) - this._getTimeNum(a)
48-
})
44+
posts = this._filterPostData(posts)
45+
this._sortPostData(posts)
4946
return posts
5047
}
5148
},
@@ -75,9 +72,7 @@ export default {
7572
let posts = []
7673
if (currentTag !== '全部') {
7774
posts = this.$tags.map[currentTag].pages
78-
posts.sort((a, b) => {
79-
return this._getTimeNum(b) - this._getTimeNum(a)
80-
})
75+
this._sortPostData(posts)
8176
} else {
8277
posts = this.handlePosts
8378
}
@@ -101,10 +96,6 @@ export default {
10196
_setPage (page) {
10297
this.currentPage = page
10398
this.$page.currentPage = page
104-
},
105-
// 获取时间的数字类型
106-
_getTimeNum (date) {
107-
return parseInt(new Date(date.frontmatter.date).getTime())
10899
}
109100
}
110101
}

layouts/TimeLines.vue

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@
2020

2121
<script>
2222
import Common from '@theme/components/Common.vue'
23+
import mixin from '@theme/mixins/index.js'
2324
2425
export default {
26+
mixins: [mixin],
2527
name: 'TimeLine',
2628
components: { Common },
2729
data () {
@@ -52,10 +54,7 @@ export default {
5254
// 根据分类获取页面数据
5355
getPages (tag) {
5456
let pages = this.$site.pages
55-
pages = pages.filter(item => {
56-
const { home, isTimeLine, date } = item.frontmatter
57-
return !(home == true || isTimeLine == true || date === undefined)
58-
})
57+
pages = this._filterPostData(pages)
5958
// reverse()是为了按时间最近排序排序
6059
this.pages = pages.length == 0 ? [] : pages
6160
for (let i = 0, length = pages.length; i < length; i++) {
@@ -68,11 +67,11 @@ export default {
6867
}
6968
7069
for (const key in this.formatPages) {
70+
const data = this.formatPages[key]
71+
this._sortPostData(data)
7172
this.formatPagesArr.unshift({
7273
year: key,
73-
data: this.formatPages[key].sort((a, b) => {
74-
return this._getTimeNum(b) - this._getTimeNum(a)
75-
})
74+
data
7675
})
7776
}
7877
},

mixins/index.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ export default {
55
const tagColorArr = ['#e15b64', '#f47e60', '#f8b26a', '#abbd81', '#849b87', '#e15b64', '#f47e60', '#f8b26a', '#f26d6d', '#67cc86', '#fb9b5f', '#3498db']
66
const index = Math.floor(Math.random() * tagColorArr.length)
77
return tagColorArr[index]
8+
},
9+
_filterPostData (posts) {
10+
posts = posts.filter(item => {
11+
const { home, date, publish } = item.frontmatter
12+
return !(home == true || date === undefined || publish === false)
13+
})
14+
return posts
15+
},
16+
_sortPostData (posts) {
17+
posts.sort((a, b) => {
18+
return this._getTimeNum(b) - this._getTimeNum(a)
19+
})
20+
},
21+
// 获取时间的数字类型
22+
_getTimeNum (date) {
23+
return parseInt(new Date(date.frontmatter.date).getTime())
824
}
925
}
1026
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vuepress-theme-reco",
3-
"version": "1.0.9-alpha.17",
3+
"version": "1.1.0-alpha.1",
44
"description": "this is a vuepress theme",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)