1.0.5 • Published 5 years ago

vuepress-plugin-blog-multidir v1.0.5

Weekly downloads
8
License
MIT
Repository
github
Last release
5 years ago

vuepress-plugin-blog-multidir

A VuePress blog plugin which Support multiple folders

README | CHANGELOG

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'
  ]
}

Vuepress documentation

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

MIT

Keywords

vue vuepress plugin blog blog-multidir