docusaurus.config.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. // @ts-check
  2. // Note: type annotations allow type checking and IDEs autocompletion
  3. const lightCodeTheme = require('prism-react-renderer/themes/github');
  4. const darkCodeTheme = require('prism-react-renderer/themes/dracula');
  5. /** @type {import('@docusaurus/types').Config} */
  6. const config = {
  7. title: 'Immich',
  8. tagline: 'High performance self-hosted photo and video backup solution directly from your mobile phone',
  9. url: 'https://documentation.immich.app',
  10. baseUrl: '/',
  11. onBrokenLinks: 'throw',
  12. onBrokenMarkdownLinks: 'warn',
  13. favicon: 'img/favicon.png',
  14. // GitHub pages deployment config.
  15. // If you aren't using GitHub pages, you don't need these.
  16. organizationName: 'immich-app', // Usually your GitHub org/user name.
  17. projectName: 'immich', // Usually your repo name.
  18. deploymentBranch: 'main',
  19. // Even if you don't use internalization, you can use this field to set useful
  20. // metadata like html lang. For example, if your site is Chinese, you may want
  21. // to replace "en" with "zh-Hans".
  22. i18n: {
  23. defaultLocale: 'en',
  24. locales: ['en'],
  25. },
  26. presets: [
  27. [
  28. 'docusaurus-preset-openapi',
  29. /** @type {import('docusaurus-preset-openapi').Options} */
  30. ({
  31. docs: {
  32. showLastUpdateAuthor: true,
  33. showLastUpdateTime: true,
  34. sidebarPath: require.resolve('./sidebars.js'),
  35. // Please change this to your repo.
  36. // Remove this to remove the "edit this page" links.
  37. editUrl: 'https://github.com/immich-app/immich/tree/main/docs/',
  38. },
  39. api: {
  40. path: '../server/immich-openapi-specs.json',
  41. routeBasePath: '/docs/api',
  42. },
  43. // blog: {
  44. // showReadingTime: true,
  45. // editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
  46. // },
  47. theme: {
  48. customCss: require.resolve('./src/css/custom.css'),
  49. },
  50. }),
  51. ],
  52. ],
  53. themeConfig:
  54. /** @type {import('@docusaurus/preset-classic').ThemeConfig} */
  55. ({
  56. announcementBar: {
  57. id: 'site_announcement_immich',
  58. content: `⚠️ The project is under <strong>very active</strong> development. Expect bugs and changes. Do not use it as <strong>the only way</strong> to store your photos and videos!`,
  59. backgroundColor: '#593f00',
  60. textColor: '#ffefc9',
  61. isCloseable: false,
  62. },
  63. docs: {
  64. sidebar: {
  65. autoCollapseCategories: false,
  66. },
  67. },
  68. navbar: {
  69. logo: {
  70. alt: 'Immich University Logo',
  71. src: 'img/color-logo.png',
  72. srcDark: 'img/logo.png',
  73. },
  74. items: [
  75. {
  76. to: '/docs/overview/introduction',
  77. position: 'right',
  78. label: 'Docs',
  79. },
  80. {
  81. to: '/docs/api',
  82. position: 'right',
  83. label: 'API',
  84. },
  85. {
  86. to: '/blog',
  87. position: 'right',
  88. label: 'Blog',
  89. },
  90. {
  91. href: 'https://github.com/immich-app/immich',
  92. label: 'GitHub',
  93. position: 'right',
  94. },
  95. ],
  96. },
  97. footer: {
  98. style: 'light',
  99. links: [
  100. {
  101. title: 'Overview',
  102. items: [
  103. {
  104. label: 'Welcome',
  105. to: '/docs/overview/introduction',
  106. },
  107. {
  108. label: 'Installation',
  109. to: '/docs/install/requirements',
  110. },
  111. ],
  112. },
  113. {
  114. title: 'Community',
  115. items: [
  116. {
  117. label: 'Discord',
  118. href: 'https://discord.com/invite/D8JsnBEuKb',
  119. },
  120. ],
  121. },
  122. {
  123. title: 'More',
  124. items: [
  125. {
  126. label: 'Blog',
  127. to: '/blog',
  128. },
  129. {
  130. label: 'GitHub',
  131. href: 'https://github.com/immich-app/immich',
  132. },
  133. ],
  134. },
  135. ],
  136. copyright: `Immich is available as open source under the terms of the MIT License.`,
  137. },
  138. prism: {
  139. theme: lightCodeTheme,
  140. darkTheme: darkCodeTheme,
  141. },
  142. image: 'overview/img/feature-panel.png',
  143. }),
  144. };
  145. module.exports = config;