diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 2ad17e9ee..ad09cdd99 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -119,6 +119,7 @@ cydir cyrusimap datacenter DATAERR +datafiles datalake datastack datastax @@ -541,6 +542,7 @@ noout nopassword nopipelining nordirplus +noreferrer noscheme noselect nosep diff --git a/.gitignore b/.gitignore index 1e5d613ed..3fcc33693 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ lib/data/*.mjs .vitepress/local.js .vitepress/.temp /man/ +public/datafiles/ diff --git a/.vitepress/config.js b/.vitepress/config.js index 48541fc75..87e5c5851 100644 --- a/.vitepress/config.js +++ b/.vitepress/config.js @@ -4,6 +4,7 @@ import { pagefindPlugin } from 'vitepress-plugin-pagefind' import { generateSidebar } from 'vitepress-sidebar' import { dovecotMdExtend } from '../lib/markdown.js' import { getExcludes } from '../lib/utility.js' +import dovecotVitepressInit from '../lib/dovecot_vitepress_init.js' const base = '/2.4' const base_url = 'https://doc.dovecot.org' @@ -62,7 +63,8 @@ export default defineConfig({ chunkSizeWarningLimit: 1000, }, plugins: [ - pagefindPlugin() + pagefindPlugin(), + dovecotVitepressInit() ], }, diff --git a/components/DoveadmComponent.vue b/components/DoveadmComponent.vue index 050cec2b9..33c45e9d6 100644 --- a/components/DoveadmComponent.vue +++ b/components/DoveadmComponent.vue @@ -15,7 +15,7 @@ const d = Object.fromEntries(Object.entries(data.doveadm).filter(([k, v]) => (v.plugin && v.plugin == props.plugin)) || (props.tag && ((v.plugin && v.plugin == props.tag) || - (v.tags.includes(props.tag)))) + (v.tags?.includes(props.tag)))) ).sort()) const cliComponent = ref({}) diff --git a/components/EventsComponent.vue b/components/EventsComponent.vue index a383622e0..ec3d40add 100644 --- a/components/EventsComponent.vue +++ b/components/EventsComponent.vue @@ -14,7 +14,7 @@ const d = Object.fromEntries(Object.entries(data).filter(([k, v]) => (v.root && v.root == props.root)) || (props.tag && ((v.root && v.root == props.tag) || - (v.tags.includes(props.tag))))) + (v.tags?.includes(props.tag))))) ).sort()) diff --git a/components/SettingsComponent.vue b/components/SettingsComponent.vue index a5814fc48..e3388cd1e 100644 --- a/components/SettingsComponent.vue +++ b/components/SettingsComponent.vue @@ -22,10 +22,10 @@ const d = Object.fromEntries(Object.entries(data).filter(([k, v]) => /* Filter entries (by plugin or tag). */ ((!props.plugin && !tag) || (props.plugin && - (v.plugin && v.plugin.includes(props.plugin))) || + v.plugin?.includes(props.plugin)) || (tag && tag.find((t) => - (v.plugin && v.plugin.includes(t)) || - (v.tags.includes(t))) + v.plugin?.includes(t) || + v.tags?.includes(t)) )) && /* Apply filter. */ ((filter == 'all') || @@ -88,13 +88,13 @@ const d = Object.fromEntries(Object.entries(data).filter(([k, v]) => - + Allowed Values {{ v }} - + Dependencies - + See Also