astro.config.mjs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. import { defineConfig } from 'astro/config';
  2. import starlight from '@astrojs/starlight';
  3. export default defineConfig({
  4. site: 'https://docs.database.pizza',
  5. integrations: [
  6. starlight({
  7. title: 'database.pizza docs',
  8. description: 'A safety-first SQL database for small and AI-built applications, with row history, schema history, and scoped, reviewable undo.',
  9. favicon: '/favicon.svg',
  10. customCss: ['./src/styles/custom.css'],
  11. components: {
  12. PageTitle: './src/components/PageTitle.astro',
  13. SiteTitle: './src/components/SiteTitle.astro',
  14. },
  15. head: [
  16. {
  17. tag: 'meta',
  18. attrs: { name: 'theme-color', content: '#090b09' },
  19. },
  20. {
  21. tag: 'link',
  22. attrs: { rel: 'alternate', type: 'text/plain', href: '/llms.txt', title: 'LLM documentation index' },
  23. },
  24. {
  25. tag: 'meta',
  26. attrs: { property: 'og:image', content: 'https://docs.database.pizza/og.png' },
  27. },
  28. {
  29. tag: 'meta',
  30. attrs: { property: 'og:image:alt', content: 'database.pizza documentation' },
  31. },
  32. {
  33. tag: 'meta',
  34. attrs: { name: 'twitter:card', content: 'summary_large_image' },
  35. },
  36. {
  37. tag: 'meta',
  38. attrs: { name: 'twitter:image', content: 'https://docs.database.pizza/og.png' },
  39. },
  40. ],
  41. social: [
  42. { icon: 'github', label: 'GitHub', href: 'https://github.com/database-pizza' },
  43. ],
  44. lastUpdated: true,
  45. pagination: true,
  46. expressiveCode: {
  47. themes: ['github-light', 'vesper'],
  48. styleOverrides: {
  49. borderRadius: '0.75rem',
  50. borderColor: 'var(--sl-color-gray-5)',
  51. frames: {
  52. editorActiveTabBackground: 'var(--sl-color-gray-6)',
  53. editorActiveTabForeground: 'var(--sl-color-white)',
  54. editorTabBarBackground: 'var(--sl-color-bg-nav)',
  55. editorTabBarBorderColor: 'var(--sl-color-gray-5)',
  56. },
  57. },
  58. },
  59. sidebar: [
  60. { label: 'Overview', link: '/' },
  61. {
  62. label: 'Start Here',
  63. items: [
  64. { label: 'Quickstart', link: '/getting-started/quickstart/' },
  65. { label: 'Connect', link: '/getting-started/connect/' },
  66. { label: 'Your first schema', link: '/getting-started/first-schema/' },
  67. ],
  68. },
  69. {
  70. label: 'History & recovery',
  71. items: [
  72. { label: 'Change history', link: '/history/change-history/' },
  73. { label: 'Undo & recovery', link: '/history/undo-recovery/' },
  74. ],
  75. },
  76. {
  77. label: 'Use Your Database',
  78. items: [
  79. { label: 'PostgreSQL clients', link: '/clients/postgresql/' },
  80. { label: 'HTTP query API', link: '/clients/http-api/' },
  81. { label: 'JavaScript', link: '/clients/javascript/' },
  82. { label: 'Python', link: '/clients/python/' },
  83. { label: 'REST API (preview)', link: '/clients/rest-api/' },
  84. { label: 'API keys & permissions', link: '/clients/api-keys/' },
  85. ],
  86. },
  87. {
  88. label: 'SQL Reference',
  89. items: [
  90. { label: 'SQL at a glance', link: '/sql-reference/overview/' },
  91. { label: 'Data types', link: '/sql-reference/data-types/' },
  92. { label: 'Statements', link: '/sql-reference/statements/' },
  93. { label: 'Expressions & operators', link: '/sql-reference/expressions/' },
  94. { label: 'Functions', link: '/sql-reference/functions/' },
  95. { label: 'Constraints', link: '/sql-reference/constraints/' },
  96. { label: 'Compatibility', link: '/sql-reference/compatibility/' },
  97. ],
  98. },
  99. {
  100. label: 'Indexes & Transactions',
  101. items: [
  102. { label: 'Indexes', link: '/engine/indexes/' },
  103. { label: 'Transactions', link: '/engine/transactions/' },
  104. { label: 'Concurrency', link: '/engine/concurrency/' },
  105. ],
  106. },
  107. {
  108. label: 'Engine Internals',
  109. items: [
  110. { label: 'Architecture', link: '/internals/architecture/' },
  111. { label: 'Query lifecycle', link: '/internals/query-lifecycle/' },
  112. { label: 'Storage model', link: '/internals/storage/' },
  113. { label: 'Catalog & schema', link: '/internals/catalog/' },
  114. { label: 'PostgreSQL protocol', link: '/internals/postgres-protocol/' },
  115. ],
  116. },
  117. {
  118. label: 'Guides',
  119. items: [
  120. { label: 'Import & export', link: '/guides/import-export/' },
  121. { label: 'Errors & troubleshooting', link: '/guides/errors/' },
  122. { label: 'Limits & quotas', link: '/guides/limits/' },
  123. ],
  124. },
  125. {
  126. label: 'For AI Tools',
  127. items: [
  128. { label: 'Using these docs with AI', link: '/ai/' },
  129. { label: 'llms.txt', link: '/llms.txt', attrs: { target: '_blank' } },
  130. { label: 'llms-full.txt', link: '/llms-full.txt', attrs: { target: '_blank' } },
  131. ],
  132. },
  133. ],
  134. }),
  135. ],
  136. });