Files
directus/docs/.vuepress/config.js
Nicola Krumschmidt 1961dc188b Port the app to Vue 3 (#5339)
* Fix linting errors

* Fix remaining catch all routes

* Fix directive registration regression

* Replace $router global with composition function

* Fix v-bind overwrite order in nested-draggable

* Migrate vuedraggable

* Fix building with empty translation files

* Add comment regarding array equality check

* Fix markdown-it plugins import

* Fix newly introduced wrong store usage

* Fix v-button-group model

* Fix v-fancy-select model

* Fix v-field-template model

* Fix v-input model

* Fix v-item-group model

* Fix v-menu model

* Fix v-select model

* Fix v-tabs model

* Fix v-tabs-items model

* Fix v-textarea model

* Fix v-checkbox model

* Fix v-dialog model

* Fix v-drawer model

* Fix v-form model

* Fix v-list model

* Fix v-table model

* Fix v-detail model

* Fix v-radio model

* Fix v-switch model

* Fix files-navigation model

* Fix replace-file model

* Fix bookmark-add model

* Fix bookmark-edit model

* Fix drawer-batch model

* Fix drawer-item model

* Fix file-lightbox model

* Fix image-editor model

* Fix notifications-preview model

* Fix users-invite model

* Lowercase editor component name

* Fix collections-filter model

* Fix filter-input model

* Fix filter-sidebar-detail model

* Fix folder-picker model

* Fix interface-checkboxes model

* Fix interface-code model

* Fix interface-icon model

* Fix interface-repeater model

* Fix refresh-sidebar-detail model

* Fix search-input model

* Fix interface/display component option v-model usage

* Replace calling listener through $attrs with $emit and add emits option

* Add comment regarding useCustomSelection emits

* Fix context menu activation

* Fix collectionsStore access

* Fix popperjs

* Hotfix useGroupable

* Fix notifications-preview old prop name

* Fix module bar tooltip translation

* Fix useSync type signature

* Fix update:layoutOptions emit name

* Fix usePermissions missing imports regression

* Revert changes to docs vuepress instance

* Fix module-relative-resolve vite plugin when serving

* Fix docs

* Fix refresh on first load

* Fix creating new collection

* Fix loading of collection route

* Fix v-dialog/v-menu appear transition

* Access props directly

* Fix v-table clickable

* Fix v-drawer cancelable

* Fix v-icon clickable

* Fix v-input clickable

* Fix v-list-group clickable

* Fix v-list-item clickable

* Fix v-overlay clickable

* Fix header-bar primary button

* Fix v-table item.* slot

* Fix vue warning regarding exposed variables starting with _ or $

* Fix usePermissions

* Add package-lock.json

* Fix v-form unset regression

* Fix vue shims

* Fix useCustomSelection emit

* Make extensions arrays shallow

* Move teleport targets out of the vue app

* Fix v-field-select model

* Fix v-slider model

* Fix v-pagination model

* Fix card model

* Fix v-select item-value prop usage

* Fix layout-sidebar-detail model

* Fix form-field model

* Fix form-field-menu model

* Fix form-field-interface model

* Fix v-form model

* Use kebab-case for modelValue

* Update package-lock.json

* Add missing dependency

* Replace $t with i18n composable

* Replace remaining usages of $t

* Replace $te with i18n composable

* Replace $n with i18n composable

* Disable global injection in vue-i18n

* Replace i18n.global.t usage where composable is already imported

* Replace remaining i18n.global.t usage with composable

* Replace remaining i18n.global usages with composable

* Fix uploadFile emitter regression

* Remove inheritAttrs: false from file-info-sidebar-detail

* Hotfix v-input

* Update .eslintrc.js

* Fix use-preview

* Fix eslint issues

* Remove unused imports

* Fix extension getter type

* Refactor layout structure and fix tabular layout

* Fix build

* Fix cards layout

* Hotfix vuedraggable

* Dev is true again

* Register export-sidebar-detail globally

* Deconstruct layout state

* Fix calendar layout

* Fix cards/calendar layouts

* Fix layout options when switching layout

* Replace marked usage with md util

* Use useLayout everywhere

* Fix type issue

* Fix codemirror dynamic imports

* Fix data-fns dynamic import

* Fix useLayout selection

* Fix v-avatar scoped styling

* Remove unused v-button-group component

* Remove v-deep from v-card-actions

* Replace v-deep in v-dialog

* Use correct pseudoclasses for vue3

* Fix v-deep in v-field-template

* Replace v-deep in v-list-item-content

* Replace v-deep in v-list-item

* v-deep in v-list

* v-deep in v-notice

* Replace breakpoint mixin

* Replace v-deep in v-button

* Enforce empty line before block

* v-deep in v-pagination

* No white lines on the inner brackets of a block please

* Replace v-deep in v-select

* Fix stylelint rule

* Replace v-deep in v-table

* Replace v-deep in v-tabs

* Replace v-deep in rich text input

* Replace v-deep

* Replace v-deep elsewhere

* Needs more stylelint tweaks, but v-deep is done

* Fix translations interface

* Fix date layout

* Fix npm install

* Fix router catch all routes

* Fix layout options

* Remove call to next in router guards

* Remove vue router in-component guards

* Refactor module route registration

* Fix collections module navigation

* Fix settings module navigation

* Fix router-passthrough in devtools

* Refactor docs export and docs route registration

* Import docs routes using exported function

* Remove moduleRelativeResolve vite hack

* Re-add dev scripts

* Fix deprecated hljs usage

* Use activateContextMenu without parens

* Re-add readme/license/editorconfig

* Fix groupable

* Fix initial docs navigation

* Move global app css to app component

* Fix collection navigation icon color

* Fix field setup style

* Fix divider icon style

* Fix optional v-input slots

* Use $slots direct property access

* Fix docs font style

* Fix docs v-deep

* Fix docs add missing styles

* Remove docs style margin

* Fix save options color

* Fix nested v-slotted usage

* Fix v-button exact prop

* Fix v-list-item exact prop

* Fix package-lock.json

* Improve useSync type

* Fix route type error

* Fix bookmark router links

* Add redirect to route with bookmark

* Fix files module folder route

* Fix users module role route

* Add redirect routes to files and roles sub-routes

* Fix users module role active state

* Replace routerPassthrough function with object

* Nest file routes

* Improve module bar hidden check

* Remove slash from module router link

* Fix files and folder navigation

* Revert users route nesting

* Fix buttons in list

* Don't make nav item mandatory in left sidebar

* Fix infinite loop in box open

* Fix interactivity in v-list items

* Fix docs menu jumps

* Fix right click positioning

* Fix missing translations

* Fix close/open alignment of color interface

* Fix code editor interfaces

* Fix relation access in cards layout

* Remove template ref from collection-or-item

* Revert jest-environment-jsdom package update

* Fix package-lock.json

* Resolve vue3 TODO comments

* Fix layout presets

* Remove reactivity fix

* Remove Todo3 comment

* Fix icon color override

* Add error message to useLayoutState

* Add composable to properly transition dialog routes

* Fix new collection transition

* Fix add new role transition

* Fix add new file transition

* Fix activity item transition

* Fix error type in useItems

* Fix collection error dialog transition

* Fix field detail transition

* Fix permissions detail transition

* Fix store getters types

* Update package-lock

* Fix preview icon color

* Fix reference to selections

* Fix linter warnings

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-06-08 15:59:55 -04:00

833 lines
18 KiB
JavaScript
Executable File

module.exports = {
base: '/',
title: 'Directus Docs',
description: 'Directus 9. An Instant App & API for your SQL Database.',
ga: 'UA-24637628-7',
head: [
['link', { rel: 'manifest', href: '/manifest.json' }],
['link', { rel: 'mask-icon', href: '/safari-pinned-tab.svg', color: '#2CCDA6' }],
['link', { rel: 'shortcut icon', type: 'image/svg+xml', href: '/favicon.svg' }],
[
'link',
{
rel: 'apple-touch-icon',
type: 'image/svg+xml',
sizes: '180x180',
href: '/favicon.svg',
},
],
[
'link',
{
rel: 'icon',
type: 'image/svg+xml',
sizes: '32x32',
href: '/favicon.svg',
},
],
[
'link',
{
rel: 'icon',
type: 'image/svg+xml',
sizes: '16x16',
href: '/favicon.svg',
},
],
['meta', { name: 'application-name', content: 'Directus Docs' }],
['meta', { name: 'theme-color', content: '#2CCDA6' }],
['meta', { name: 'apple-mobile-web-app-title', content: 'Directus Docs' }],
['meta', { name: 'msapplication-TileColor', content: '#2CCDA6' }],
['meta', { name: 'msapplication-config', content: '/browserconfig.xml' }],
],
themeConfig: {
repo: 'directus/directus',
docsBranch: 'main',
logo: '/logo.svg',
editLinks: true,
docsDir: 'docs',
lastUpdated: true,
serviceWorker: false,
patterns: ['docs/**/*.md'],
sidebarDepth: 0,
activeHeaderLinks: false,
smoothScroll: false,
algolia: {
apiKey: '84890d566c1f9ad79ca62a1358e05c60',
indexName: 'directus',
},
nav: [
{ text: 'Website', link: 'https://directus.io' },
{ text: 'Cloud', link: 'https://directus.cloud' },
],
sidebar: [
{
title: 'Getting Started',
collapsable: false,
children: [
{
type: 'page',
path: '/getting-started/introduction',
title: 'Introduction',
},
{
type: 'page',
path: '/getting-started/quickstart',
title: 'Quickstart Guide',
},
{
type: 'page',
path: '/getting-started/installation',
title: 'Installation',
},
{
type: 'page',
path: '/getting-started/support',
title: 'Help & Support',
},
{
type: 'page',
path: '/getting-started/backing-directus',
title: 'Backing Directus',
},
],
},
{
title: 'Concepts',
children: [
{
type: 'page',
path: '/concepts/activity',
title: 'Activity',
},
{
type: 'page',
path: '/concepts/application',
title: 'Application',
},
{
type: 'page',
path: '/concepts/collections',
title: 'Collections',
},
{
type: 'page',
path: '/concepts/databases',
title: 'Databases',
},
{
type: 'page',
path: '/concepts/displays',
title: 'Displays',
},
{
type: 'page',
path: '/concepts/extensions',
title: 'Extensions',
},
{
type: 'page',
path: '/concepts/fields',
title: 'Fields',
},
{
type: 'page',
path: '/concepts/files',
title: 'Files',
},
{
type: 'page',
path: '/concepts/interfaces',
title: 'Interfaces',
},
{
type: 'page',
path: '/concepts/items',
title: 'Items',
},
{
type: 'page',
path: '/concepts/layouts',
title: 'Layouts',
},
{
type: 'page',
path: '/concepts/modules',
title: 'Modules',
},
{
type: 'page',
path: '/concepts/permissions',
title: 'Permissions',
},
{
type: 'page',
path: '/concepts/projects',
title: 'Projects',
},
{
type: 'page',
path: '/concepts/relationships',
title: 'Relationships',
},
{
type: 'page',
path: '/concepts/revisions',
title: 'Revisions',
},
{
type: 'page',
path: '/concepts/roles',
title: 'Roles',
},
{
type: 'page',
path: '/concepts/translations',
title: 'Translations',
},
{
type: 'page',
path: '/concepts/types',
title: 'Types',
},
{
type: 'page',
path: '/concepts/users',
title: 'Users',
},
],
},
{
title: 'Guides',
children: [
{
type: 'page',
path: '/guides/migrating-from-v8',
title: 'Migrating from v8',
},
{
type: 'divider',
},
{
type: 'page',
path: '/guides/api-config',
title: 'API Config',
},
{
type: 'page',
path: '/guides/api-endpoints',
title: 'API Endpoints',
},
{
type: 'page',
path: '/guides/api-hooks',
title: 'API Hooks',
},
{
type: 'page',
path: '/guides/collections',
title: 'Collections',
},
{
type: 'page',
path: '/guides/displays',
title: 'Displays',
},
{
type: 'page',
path: '/guides/email-templates',
title: 'Email Templates',
},
{
type: 'page',
path: '/guides/fields',
title: 'Fields',
},
{
type: 'page',
path: '/guides/files',
title: 'Files',
},
{
type: 'page',
path: '/guides/interfaces',
title: 'Interfaces',
},
{
type: 'page',
path: '/guides/items',
title: 'Items',
},
{
type: 'page',
path: '/guides/layouts',
title: 'Layouts',
},
{
type: 'page',
path: '/guides/migrations',
title: 'Migrations',
},
{
type: 'page',
path: '/guides/modules',
title: 'Modules',
},
{
type: 'page',
path: '/guides/permissions',
title: 'Permissions',
},
{
type: 'page',
path: '/guides/presets',
title: 'Presets',
},
{
type: 'page',
path: '/guides/projects',
title: 'Projects',
},
{
type: 'page',
path: '/guides/roles',
title: 'Roles',
},
{
type: 'page',
path: '/guides/styles',
title: 'Styles',
},
{
type: 'page',
path: '/guides/users',
title: 'Users',
},
{
type: 'page',
path: '/guides/webhooks',
title: 'Webhooks',
},
],
},
{
title: 'Reference',
children: [
{
type: 'page',
path: '/reference/command-line-interface',
title: 'Command Line Interface',
},
{
type: 'page',
path: '/reference/environment-variables',
title: 'Environment Variables',
},
{
type: 'page',
path: '/reference/config-files',
title: 'Config Files',
},
{
type: 'page',
path: '/reference/error-codes',
title: 'Error Codes',
},
{
type: 'page',
path: '/reference/field-transforms',
title: 'Field Transforms',
},
{
type: 'page',
path: '/reference/filter-rules',
title: 'Filter Rules',
},
{
type: 'page',
path: '/reference/sdk',
title: 'JavaScript SDK',
},
{
title: 'Vue Components',
type: 'group',
children: [
{
path: 'reference/app/components/',
title: 'Introduction',
type: 'page',
},
{
path: 'reference/app/components/v-avatar',
title: 'Avatar',
type: 'page',
},
{
path: 'reference/app/components/v-badge',
title: 'Badge',
type: 'page',
},
{
path: 'reference/app/components/v-breadcrumb',
title: 'Breadcrumb',
type: 'page',
},
{
path: 'reference/app/components/v-button',
title: 'Button',
type: 'page',
},
{
title: 'Card',
children: [
{
path: 'reference/app/components/v-card',
title: 'Card',
type: 'page',
},
{
path: 'reference/app/components/v-card-actions',
title: 'Card Actions',
type: 'page',
},
{
path: 'reference/app/components/v-card-subtitle',
title: 'Card Subtitle',
type: 'page',
},
{
path: 'reference/app/components/v-card-text',
title: 'Card Text',
type: 'page',
},
{
path: 'reference/app/components/v-card-title',
title: 'Card Title',
type: 'page',
},
],
},
{
path: 'reference/app/components/v-checkbox',
title: 'Checkbox',
type: 'page',
},
{
path: 'reference/app/components/v-chip',
title: 'Chip',
type: 'page',
},
{
path: 'reference/app/components/v-detail',
title: 'Detail',
type: 'page',
},
{
path: 'reference/app/components/v-dialog',
title: 'Dialog',
type: 'page',
},
{
path: 'reference/app/components/v-divider',
title: 'Divider',
type: 'page',
},
{
path: 'reference/app/components/v-drawer',
title: 'Drawer',
type: 'page',
},
{
path: 'reference/app/components/v-error',
title: 'Error',
type: 'page',
},
{
path: 'reference/app/components/v-fancy-select',
title: 'Fancy Select',
type: 'page',
},
{
path: 'reference/app/components/v-field-select',
title: 'Field Select',
type: 'page',
},
{
path: 'reference/app/components/v-field-template',
title: 'Field Template',
type: 'page',
},
{
path: 'reference/app/components/v-form',
title: 'Form',
type: 'page',
},
{
path: 'reference/app/components/v-hover',
title: 'Hover',
type: 'page',
},
{
path: 'reference/app/components/v-icon',
title: 'Icon',
type: 'page',
},
{
path: 'reference/app/components/v-info',
title: 'Info',
type: 'page',
},
{
path: 'reference/app/components/v-input',
title: 'Input',
type: 'page',
},
{
title: 'ItemGroup',
children: [
{
path: 'reference/app/components/v-item-group',
title: 'Item Group',
type: 'page',
},
{
path: 'reference/app/components/v-item',
title: 'Item',
type: 'page',
},
],
},
{
title: 'List',
children: [
{
path: 'reference/app/components/v-list-group',
title: 'List Group',
type: 'page',
},
{
path: 'reference/app/components/v-list-item-content',
title: 'List Item Content',
type: 'page',
},
{
path: 'reference/app/components/v-list-item-hint',
title: 'List Item Hint',
type: 'page',
},
{
path: 'reference/app/components/v-list-item-icon',
title: 'List Item Icon',
type: 'page',
},
{
path: 'reference/app/components/v-list-item',
title: 'List Item',
type: 'page',
},
{
path: 'reference/app/components/v-list',
title: 'List',
type: 'page',
},
],
},
{
path: 'reference/app/components/v-menu',
title: 'Menu',
type: 'page',
},
{
path: 'reference/app/components/v-notice',
title: 'Notice',
type: 'page',
},
{
path: 'reference/app/components/v-overlay',
title: 'Overlay',
type: 'page',
},
{
path: 'reference/app/components/v-pagination',
title: 'Pagination',
type: 'page',
},
{
title: 'Progress',
children: [
{
path: 'reference/app/components/v-progress-circular',
title: 'Progress Circular',
type: 'page',
},
{
path: 'reference/app/components/v-progress-linear',
title: 'Progress Linear',
type: 'page',
},
],
},
{
path: 'reference/app/components/v-radio',
title: 'Radio',
type: 'page',
},
{
path: 'reference/app/components/v-select',
title: 'Select',
type: 'page',
},
{
path: 'reference/app/components/v-sheet',
title: 'Sheet',
type: 'page',
},
{
path: 'reference/app/components/v-skeleton-loader',
title: 'Skeleton Loader',
type: 'page',
},
{
path: 'reference/app/components/v-slider',
title: 'Slider',
type: 'page',
},
{
path: 'reference/app/components/v-switch',
title: 'Switch',
type: 'page',
},
{
path: 'reference/app/components/v-table',
title: 'Table',
type: 'page',
},
{
title: 'Tabs',
children: [
{
path: 'reference/app/components/v-tabs',
title: 'Tabs',
type: 'page',
},
{
path: 'reference/app/components/v-tab',
title: 'Tab',
type: 'page',
},
{
path: 'reference/app/components/v-tabs-items',
title: 'Tabs Items',
type: 'page',
},
{
path: 'reference/app/components/v-tab-item',
title: 'Tab Item',
type: 'page',
},
],
},
{
path: 'reference/app/components/v-text-overflow',
title: 'Text Overflow',
type: 'page',
},
{
path: 'reference/app/components/v-textarea',
title: 'Textarea',
type: 'page',
},
{
title: 'Transitions',
children: [
{
path: 'reference/app/components/transition-bounce',
title: 'Transition Bounce',
type: 'page',
},
{
path: 'reference/app/components/transition-dialog',
title: 'Transition Dialog',
type: 'page',
},
{
path: 'reference/app/components/transition-expand',
title: 'Transition Expand',
type: 'page',
},
],
},
{
path: 'reference/app/components/v-upload',
title: 'Upload',
type: 'page',
},
],
},
],
},
{
title: 'API Reference',
children: [
{
type: 'page',
path: '/reference/api/introduction',
title: 'Introduction',
},
{
type: 'page',
path: '/reference/api/authentication',
title: 'Authentication',
},
{
type: 'page',
title: 'Query Parameters',
path: '/reference/api/query',
},
{
type: 'page',
title: 'Data Access',
path: '/reference/api/items',
},
{
type: 'page',
path: '/reference/api/assets',
title: 'Assets',
},
{
type: 'group',
title: 'System',
children: [
{
type: 'page',
path: '/reference/api/system/activity',
title: 'Activity',
},
{
type: 'page',
path: '/reference/api/system/authentication',
title: 'Authentication',
},
{
type: 'page',
path: '/reference/api/system/collections',
title: 'Collections',
},
{
type: 'page',
path: '/reference/api/system/extensions',
title: 'Extensions',
},
{
type: 'page',
path: '/reference/api/system/fields',
title: 'Fields',
},
{
type: 'page',
path: '/reference/api/system/files',
title: 'Files',
},
{
type: 'page',
path: '/reference/api/system/folders',
title: 'Folders',
},
{
type: 'page',
path: '/reference/api/system/permissions',
title: 'Permissions',
},
{
type: 'page',
path: '/reference/api/system/presets',
title: 'Presets',
},
{
type: 'page',
path: '/reference/api/system/relations',
title: 'Relations',
},
{
type: 'page',
path: '/reference/api/system/revisions',
title: 'Revisions',
},
{
type: 'page',
path: '/reference/api/system/roles',
title: 'Roles',
},
{
type: 'page',
path: '/reference/api/system/server',
title: 'Server',
},
{
type: 'page',
path: '/reference/api/system/settings',
title: 'Settings',
},
{
type: 'page',
path: '/reference/api/system/users',
title: 'Users',
},
{
type: 'page',
path: '/reference/api/system/utilities',
title: 'Utilities',
},
{
type: 'page',
path: '/reference/api/system/webhooks',
title: 'Webhooks',
},
],
},
],
},
{
title: 'Contributing',
children: [
{
type: 'page',
path: '/contributing/introduction',
title: 'Introduction',
},
{
type: 'page',
path: '/contributing/codebase-overview',
title: 'Codebase Overview',
},
{
type: 'page',
path: '/contributing/running-locally',
title: 'Running Locally',
},
{
type: 'page',
path: '/contributing/translations',
title: 'Translating the App',
},
],
},
],
},
markdown: {
toc: {
includeLevel: [2],
},
},
plugins: [
[
'vuepress-plugin-clean-urls',
{
normalSuffix: '/',
indexSuffix: '/',
notFoundPath: '/404.html',
},
],
],
};