|
| 1 | +// @ts-check |
| 2 | +import { defineConfig } from 'astro/config'; |
| 3 | +import starlight from '@astrojs/starlight'; |
| 4 | +import rehypeExternalLinks from 'rehype-external-links'; |
| 5 | + |
| 6 | +// https://astro.build/config |
| 7 | +export default defineConfig({ |
| 8 | + site: 'https://spring.valkey.io', |
| 9 | + markdown: { |
| 10 | + rehypePlugins: [ |
| 11 | + [rehypeExternalLinks, { target: '_blank', rel: ['noopener', 'noreferrer'] }] |
| 12 | + ] |
| 13 | + }, |
| 14 | + integrations: [ |
| 15 | + starlight({ |
| 16 | + title: 'Spring Data Valkey', |
| 17 | + logo: { |
| 18 | + light: './src/assets/spring-data-valkey-logo-with-name-light.svg', |
| 19 | + dark: './src/assets/spring-data-valkey-logo-with-name-dark.svg', |
| 20 | + replacesTitle: true, |
| 21 | + }, |
| 22 | + customCss: ['./src/styles/custom.css', './src/styles/code-wrap.css'], |
| 23 | + favicon: '/favicon-32x32.png', |
| 24 | + social: [ |
| 25 | + { icon: 'github', label: 'GitHub', href: 'https://github.com/valkey-io/spring-data-valkey' } |
| 26 | + ], |
| 27 | + sidebar: [ |
| 28 | + { |
| 29 | + label: 'Overview', |
| 30 | + items: [ |
| 31 | + { label: 'Spring Data Valkey', slug: 'overview' }, |
| 32 | + { label: 'Spring Boot', slug: 'commons/spring-boot' }, |
| 33 | + { label: 'Features', slug: 'commons/features' }, |
| 34 | + { label: 'Migrating Spring Data', slug: 'commons/migration' }, |
| 35 | + ] |
| 36 | + }, |
| 37 | + { |
| 38 | + label: 'Valkey', |
| 39 | + items: [ |
| 40 | + { label: 'Valkey Overview', slug: 'valkey' }, |
| 41 | + { label: 'Getting Started', slug: 'valkey/getting-started' }, |
| 42 | + { label: 'Drivers', slug: 'valkey/drivers' }, |
| 43 | + { label: 'Connection Modes', slug: 'valkey/connection-modes' }, |
| 44 | + { label: 'ValkeyTemplate', slug: 'valkey/template' }, |
| 45 | + { label: 'Valkey Cache', slug: 'valkey/valkey-cache' }, |
| 46 | + { label: 'Cluster', slug: 'valkey/cluster' }, |
| 47 | + { label: 'Hash Mapping', slug: 'valkey/hash-mappers' }, |
| 48 | + { label: 'Pub/Sub Messaging', slug: 'valkey/pubsub' }, |
| 49 | + { label: 'Valkey Streams', slug: 'valkey/valkey-streams' }, |
| 50 | + { label: 'Scripting', slug: 'valkey/scripting' }, |
| 51 | + { label: 'Valkey Transactions', slug: 'valkey/transactions' }, |
| 52 | + { label: 'Pipelining', slug: 'valkey/pipelining' }, |
| 53 | + { label: 'Support Classes', slug: 'valkey/support-classes' }, |
| 54 | + ] |
| 55 | + }, |
| 56 | + { |
| 57 | + label: 'Valkey Repositories', |
| 58 | + items: [ |
| 59 | + { label: 'Valkey Repositories Overview', slug: 'repositories' }, |
| 60 | + { label: 'Core concepts', slug: 'repositories/core-concepts' }, |
| 61 | + { label: 'Defining Repository Interfaces', slug: 'repositories/definition' }, |
| 62 | + { label: 'Creating Repository Instances', slug: 'repositories/create-instances' }, |
| 63 | + { label: 'Usage', slug: 'valkey/valkey-repositories/usage' }, |
| 64 | + { label: 'Object Mapping Fundamentals', slug: 'repositories/object-mapping' }, |
| 65 | + { label: 'Object-to-Hash Mapping', slug: 'valkey/valkey-repositories/mapping' }, |
| 66 | + { label: 'Keyspaces', slug: 'valkey/valkey-repositories/keyspaces' }, |
| 67 | + { label: 'Secondary Indexes', slug: 'valkey/valkey-repositories/indexes' }, |
| 68 | + { label: 'Time To Live', slug: 'valkey/valkey-repositories/expirations' }, |
| 69 | + { label: 'Valkey-specific Query Methods', slug: 'valkey/valkey-repositories/queries' }, |
| 70 | + { label: 'Query by Example', slug: 'valkey/valkey-repositories/query-by-example' }, |
| 71 | + { label: 'Valkey Repositories Running on a Cluster', slug: 'valkey/valkey-repositories/cluster' }, |
| 72 | + { label: 'Valkey Repositories Anatomy', slug: 'valkey/valkey-repositories/anatomy' }, |
| 73 | + { label: 'Projections', slug: 'repositories/projections' }, |
| 74 | + { label: 'Custom Repository Implementations', slug: 'repositories/custom-implementations' }, |
| 75 | + { label: 'Publishing Events from Aggregate Roots', slug: 'repositories/core-domain-events' }, |
| 76 | + { label: 'Null Handling of Repository Methods', slug: 'repositories/null-handling' }, |
| 77 | + { label: 'CDI Integration', slug: 'valkey/valkey-repositories/cdi-integration' }, |
| 78 | + { label: 'Repository query keywords', slug: 'repositories/query-keywords-reference' }, |
| 79 | + { label: 'Repository query return types', slug: 'repositories/query-return-types-reference' }, |
| 80 | + ] |
| 81 | + }, |
| 82 | + { label: 'Observability', slug: 'observability' }, |
| 83 | + { label: 'Appendix', slug: 'appendix' }, |
| 84 | + { label: 'Valkey Project ↗', link: 'https://valkey.io/', attrs: { target: '_blank' } }, |
| 85 | + { label: 'Javadoc ↗', link: 'https://spring.valkey.io/spring-data-valkey/api/java/index.html', attrs: { target: '_blank' } }, |
| 86 | + { label: 'Spring Boot Javadoc ↗', link: 'https://spring.valkey.io/spring-boot-starter-data-valkey/api/java/index.html', attrs: { target: '_blank' } }, |
| 87 | + ], |
| 88 | + }), |
| 89 | + ], |
| 90 | +}); |
0 commit comments