A VuePress blog plugin which Support multiple folders
yarn add vuepress-plugin-blog-multidir
// or
npm i vuepress-plugin-blog-multidir
module.exports = {
plugins: [
'blog-multidir'
]
}
- Type:
string
- default:
:root
Can't have the same name as your folder.
For internal use only.
- Type:
string
- Default:
/category/
- Type:
string
- Default:
/tag/
- Type:
string
- Default:
Tag
- Type:
string
- Default:
Tag
- Type:
string
- Default:
Page
- Type:
string
,array
,Object
- Default:
posts
Configures the permalink
generated for you folder.
example
{
postsDir: 'posts'
// or
postsDir: ['posts1', 'posts2', 'posts3']
// or { dir: permalink }
postsDir: {
posts1: ':year',
posts2: ':month',
posts3: ':slug'
}
}
- Type:
string
,boolean(false)
- Default:
false
See Permalinks for a list of valid variables.
- Type:
function
- Default:
((prev, next) => {
const prevTime = new Date(prev.frontmatter.date).getTime()
const nextTime = new Date(next.frontmatter.date).getTime()
return prevTime - nextTime > 0 ? -1 : 1
})
- Type:
boolean
,string
,array
- Default:
true
example
{
paginationDir: true // Enable all paging
// or
paginationDir: false // Cancel all pages
// or
paginationDir: 'posts' // Enable single paging for `posts` folder
// or
paginationDir: ['posts1', 'posts2'] // Enable multiple paging
}
- Type:
number
- Default:
12
- Type:
string
- Default:
page/
Plugin config information
Page information sorted by tags
Page information sorted by categories
Page information sorted by folders
If you are in the pagination page. you can get
{
pageKeys,
pagination,
path,
posts
}
or If you are in the post page. you can get
{
index,
total,
dir,
lastPost,
nextPost
}
from this.$list
You don't need to create a index.md(or README.md)
file in a folder that needs Pagination
+- blog
+- posts
+- test.md
...
...
+- about
+- index.md
or set layout
// about -> index.md
---
layout: Page
---
You need to use display
to control where the current article is displayed
// posts -> test.md
---
display: home
---
A list of home pages will displayed.
// posts -> test.md
---
display: none
---
It will not be displayed.
However, you can still access it through the right path.
If you are in the pagination page. you can get the current page by this.$route.meta.current
.
vue vuepress plugin blog blog-multidir