forked from bootstrap-vue/bootstrap-vue
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontent.js
96 lines (82 loc) · 3.62 KB
/
content.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import { importAll, parseVersion, parseFullVersion } from '~/utils'
import { version, dependencies, devDependencies, description } from '~/../package.json'
const componentsContext = require.context('~/../src/components/', true, /package.json/)
export const components = importAll(componentsContext)
const directivesContext = require.context('~/../src/directives/', true, /package.json/)
export const directives = importAll(directivesContext)
const iconsContext = require.context('~/../src/icons', false, /package.json/)
const icons = importAll(iconsContext) || {}
// Since there a lot of icons, we only return `BIcon` and `BIconstack` component, plus
// one extra example icon component which we modify the icon name to be `BIcon{IconName}`
// We sort the array to ensure `BIcon` appears first
icons[''].components = icons[''].components
.filter(c => c.component === 'BIconBlank' || !/^BIcon[A-Z]/.test(c.component))
.sort((a, b) => (a.component < b.component ? -1 : a.component > b.component ? 1 : 0))
.map(c => {
c = { ...c }
if (c.component === 'BIconBlank') {
c.component = 'BIcon{IconName}'
// We add a special `srcComponent` to grab the prop `$options` data from
c.srcComponent = 'BIconBlank'
}
return c
})
export { icons }
const referenceContext = require.context('~/markdown/reference', true, /meta.json/)
export const reference = importAll(referenceContext)
export const nav = [
{
title: 'Getting Started',
base: '',
exact: true
},
{
title: 'Components',
base: 'components/',
pages: components,
description: 'BootstrapVue components and component group plugins.'
},
{
title: 'Directives',
base: 'directives/',
pages: directives,
description: 'BootstrapVue directives and directive group plugins.'
},
{
title: 'Icons',
base: 'icons',
version: '2.3.0',
description: 'BootstrapVue icons.'
},
{
title: 'Reference',
base: 'reference/',
pages: reference,
description: 'BootstrapVue and Bootstrap reference, and additional resources documentation.'
}
]
// RegExp to grab the minor version from a full version
const minorRE = /^(\d+\.\d+)(\..+)$/
// RegExp to grab the major version from a full version
const majorRE = /^(\d+)(\.\d+\..+)$/
export const bootstrapVersion = parseVersion(dependencies.bootstrap)
export const bootstrapVersionMinor = bootstrapVersion.replace(minorRE, '$1')
export const bootstrapVersionMajor = bootstrapVersion.replace(majorRE, '$1')
export const bootstrapIconsVersion = parseFullVersion(devDependencies['bootstrap-icons'])
export const bootstrapIconsVersionMinor = bootstrapIconsVersion.replace(minorRE, '$1')
export const bootstrapIconsVersionMajor = bootstrapIconsVersion.replace(majorRE, '$1')
export const bootstrapIconsCount = 1200
export const popperVersion = parseVersion(dependencies['popper.js'])
export const popperVersionMinor = popperVersion.replace(minorRE, '$1')
export const popperVersionMajor = popperVersion.replace(majorRE, '$1')
export const portalVueVersion = parseVersion(dependencies['portal-vue'])
export const portalVueVersionMinor = portalVueVersion.replace(minorRE, '$1')
export const portalVueVersionMajor = portalVueVersion.replace(majorRE, '$1')
export const nuxtVersion = parseVersion(devDependencies.nuxt)
export const nuxtVersionMinor = nuxtVersion.replace(minorRE, '$1')
export const nuxtVersionMajor = nuxtVersion.replace(majorRE, '$1')
export const vueVersion = parseVersion(devDependencies.vue)
export const vueVersionMinor = vueVersion.replace(minorRE, '$1')
export const vueVersionMajor = vueVersion.replace(majorRE, '$1')
export const bvDescription = description
export { version }