vuepress-plugin-blog-multidir

Build your blog through multiple folders

This plugin is for Vuepress 1.01

# Installation

yarn add vuepress-plugin-blog-multidir
# or
npm i vuepress-plugin-blog-multidir

# Usage



 



module.exports = {
  plugins: [
    'blog-multidir'
  ]
}

Vuepress documentation (opens new window)

# 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 { path: permalink }
postsDir = {
  posts1: ':year',
  posts2: ':month'
}

# 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

::: tip TIP 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 (opens new window)

# Keywords

vue vuepress plugin blog blog-multidir