vuepress-plugin-blog-multidir
v1.0.5vuepress-plugin-blog-multidir
A VuePress blog plugin which Support multiple folders
Build your blog through multiple folders
Installation
yarn add vuepress-plugin-blog-multidir
// or
npm i vuepress-plugin-blog-multidir
Usage
module.exports = {
plugins: [
'blog-multidir'
]
}
Options
aliasesRoot
- Type:
string
- default:
:root
Can't have the same name as your folder.
For internal use only.
categoryIndexPageUrl
- Type:
string
- Default:
/category/
tagIndexPageUrl
- Type:
string
- Default:
/tag/
categoryLayout
- Type:
string
- Default:
Tag
tagLayout
- Type:
string
- Default:
Tag
postLayout
- Type:
string
- Default:
Page
postsDir
- 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'
}
}
permalink
- Type:
string
,boolean(false)
- Default:
false
See Permalinks for a list of valid variables.
postsSorter
- 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
})
paginationDir
- 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
}
paginationLimit
- Type:
number
- Default:
12
paginatioPath
- Type:
string
- Default:
page/
computed
$pluginConfig
Plugin config information
$tags
Page information sorted by tags
$categories
Page information sorted by categories
$lists
Page information sorted by folders
$list
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
attention
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
.
License
Keywords
vue vuepress plugin blog blog-multidir
Metadata
- MIT
- Whatever
- tolking
- released 6/14/2019