JSPM

vuepress-plugin-blog-multidir

1.0.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q44984F
  • License MIT

A VuePress blog plugin which Support multiple folders

Package Exports

  • vuepress-plugin-blog-multidir

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (vuepress-plugin-blog-multidir) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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