Partials are currently defined via MDX includes. This PR switches to pre-compile-time partials, which have a new syntax:
```
<$Partial path="path/to/file.mdx" />
```
## Rationale
This produces two improvements:
1. Partial substitution can occur in pipelines that don't use MDX compilation. For example, we can now do partial substitution before building the search index, so partial content will also be indexed.
2. After the App Router migration, the MDXProviders should've been deprecated, but were kept around for the sole reason of making partials work, and leading to us shipping unnecessary client-side code. We get a minor decrease in overall client bundle size (5.74 MB to 5.6 MB) by getting rid of the Providers.
## Breaking changes
Besides the change to partial syntax, the arguments are also less powerful than before because we are doing string substitution and don't have the full power of JS. Defining string variables is still possible (documented in the Contributing guide), and since that's all we actually do in practice, this shouldn't be too cumbersome. There is always the escape hatch of making a custom component for more complex content reuse cases.
* feat: add SOC 2 page to docs
* feat: more linking
* fix: make linters happy
* fix: prettier
* chore: make security page available
* typo: sp
* publish security
* chore: publish new security section
* change mobile menu to show Security on Security section
---------
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
Type docs pulled from JS client libraries were expected to be in version 0.22, which unfortunately is a bit old and incompatible with TypeScript 5. Therefore any JS lib that upgrades their toolchian to TS 5 will inadvertently break their type specs in docs.
This PR updates docs to also support 0.27 (the latest stable version, compatible with TS 5), in addition to the old version. Parallel support is required since many libs are still on the old version.
The main changes are:
- The comment shape has changed in typedoc.
- kindString has been deprecated in favor the kind numbers.
- indexSignatures are now plural (an array).
* feat: llms.txt
* feat: split llms.txt into multiple files
We have too many docs, so the concatenated text file uses an unreasonable amount of tokens. Chunk it up a little so it's more usable.
* docs InfoPopUp
* docs InfoTooltip
* Add mobile sheet for InfoTooltip
* add InfoTooltip to Info Tooltip contributing guide
* keyboard and screen reader behavior
* remove example
* remove hover trigger on mobile
---------
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
A `p` element appeared in the heading after we started using ReactMarkdonw to format it, which adds an extra margin. Need to get rid of it to restore spacing to what it was before.
* deleted all old pages except from FAQs
* added pricing section to feature docs pages
* adjusted all links to new pages (on Dashboard, in docs, on Pricing page)
* configured redirects from old billing docs pages to new pages
---------
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
* docs: Regenerate specs for all API docs references
* Fix the reference docs parsing.
* Update snapshots of docs tests.
* fix(ui): hide details panel for file params
* fix(ui): fix array display when inner type is not given
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
* docs: split telemetry and troubleshooting sections
* docs: update telemetry copy
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
* fix(ui): fix troubleshooting view in mobile
* format
* fix: troubleshooting search
Troubleshooting previews are displayed using a grid now, and hidden
doesn't work (overriden by grid behavior). Instead, applying
display:none when filtered out.
* sync to db
---------
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
Split guide layouts by section, so that nav data fetches can be pushed down to thesection where they're actually used. Limits blast radius of any data fetch problems, and also lets us push down client components in the future, since layouts now have context on the request path and we don't need a high-level usePathname.
Fix some issues with the script:
- GraphQL query strings were built from template literals without escaping, leading to errors when sending to GitHub API, now added escaping
- Lack of visibility when GitHub API errors because the actual errors array is buried below the expanded portion of the object output, now drilling down to the usable portion of the returned error
- When the sync bot auto-adds the database ID, it also reformats the TOML frontmatter, which leads to a spurious "content changed" update when the checksums don't match in the next check run. Resolve this by normalizing the frontmatter before calculating the checksum.
* Overhaul of Migrate within Supabase
* Added sub menus for overhaul of Migrate within supabase
* Re-structuring of content and pages
* Re-organize flow of the guide
* Prettier fix and small additions to dashboard restore guide
* update CLI guide to have dummy data for now
* Add structure for Windows specific instructions
* Add Postgres installation as partial
* Full first draft
* fix headings in main page
* Fix vale issues
* Proofread #1
* Small fixes
* Editing pass
* More edits after first tests.
* Final editting pass after testing
* Add common issues I ran into while testing and fixed installation instructions for MacOS
* Editing pass after more testing and proofreading
* Grammar fixes
* attempt at vale fixes
* Add tip for windows installation
* edits
* Fix dashboard restore hyperlink
---------
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
Local dev for troubleshooting sections doesn't work because getting the last-updated dates requires database access.
This fix shortcuts the last-updated dates check, so all "last-updated" dates will now show up as today's date for external contributors on local, but at least dev will work.
Forgot to change function argument when I changed the `getArticleSlug` signature.
Added `ts-check` annotations so TypeScript will catch these errors in the future.
Pages incorporating an external code sample on local dev will fail for contributors without the GitHub API key. This PR fixes the local DX by replacing such code samples with a local-only message describing the error, and asking contributors to check the preview site.
* lw13:d4
* www queues page (#30907)
* new products menu
* set up cron page
* set up cron page
* placeholder sections
* set up queues page
* update meta
* update Supabase Queues landing page content
* Updated the text to exclude queue creation/management from the API management section
* queues www page
---------
Co-authored-by: Wen Bo Xie <wenbo.xie3@gmail.com>
Co-authored-by: Greg Papas <gregpapas@Gregs-MacBook-Pro.local>
* feat: add queue module (#30853)
* feat: postgres integrations
Create a new global navigation and homepage menu section for the Postgres Integrations category.
reorg: move cron docs into postgres integrations
feat: postgres integrations
Create a new global navigation and homepage menu section for the Postgres Integrations category.
reorg: move cron docs into postgres integrations
docs homepage layout
feat: postgres integrations
Create a new global navigation and homepage menu section for the Postgres Integrations category.
reorg: move cron docs into postgres integrations
feat: postgres integrations
Create a new global navigation and homepage menu section for the Postgres Integrations category.
reorg: move cron docs into postgres integrations
docs homepage layout
feat: postgres integrations
Create a new global navigation and homepage menu section for the Postgres Integrations category.
reorg: move cron docs into postgres integrations
feat: postgres integrations
Create a new global navigation and homepage menu section for the Postgres Integrations category.
reorg: move cron docs into postgres integrations
docs homepage layout
* fix: add pg_cron back to extensions sidebar
* update Supabase Cron docs
* feat: add queues module
feat: add queues module
* remove staging url from screenshots
* remove outdated cron files
* typo
* queues description update
---------
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>
Co-authored-by: Wen Bo Xie <wenbo.xie3@gmail.com>
Co-authored-by: Oliver Rice <github@oliverrice.com>
* visibility timeout to window
* queues landing page sql example
* capitalize Dashboard
* cron blog post citus data callout update
* added draft of queues feature
* updated features bulleting
* pluralize queues
* fix Queues features page
* Inital bp
* queues docs updates
* format queues docs
* queues blog post updates
* edits
* Update the images for role in the docs quickstart for queues.
* updated images
* update images
* update more images
* Update 2024-12-05-supabase-queues.mdx
* fix breaks
* punchier title
* better ul
* clean up
* Retake screenshots
* grammar
* whitelines
* video + images
* update docs
* blog updates
* blog update
* api snippet
* api snippet fix
* queues features yt video
* api snippet fix
* update docs
* blog update
* api snippet fix and vale
* format
* vale off
* vale off
* blog update
---------
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>
Co-authored-by: Greg Papas <gregpapas@Gregs-MacBook-Pro.local>
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
Co-authored-by: Oliver Rice <github@oliverrice.com>
Co-authored-by: Terry Sutton <saltcod@gmail.com>
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Generate the troubleshooting slugs from the filepaths, not the titles. This will help with the automatic migration, since we don't have to worry about duplicate titles.
When a troubleshooting entry is created or updated in this repo, sync it to GitHub. This creates a new troubleshooting discussion if one does not exist, and updates the content on an existing troubleshooting discussion if it has changed.
To preserve the connections between GitHub discussions and Markdown files, record the discussion ID and URL to the database. The database ID is then written to the Markdown file, and a new PR is generated to commit the new Markdown with ID.
There is currently no mechanism to delete outdated discussions. That will be a follow-up.
Fix various scrolling bugs with reference pages:
- Take out smooth scrolling as it tends to lead to buggy scrolling position
- Add overscroll-behavior: contain to the nav, otherwise overscrolling on the nav scrolls the main page, which causes the nav to jump around unexpectedly
- Put aria-current calculation in useEffect as otherwise it doesn't trigger properly on first load
Add JSON schema validation for troubleshooting entries, and add columns for storing GitHub discussion metadata.
Also some minor UI tweaks for troubleshooting display.
* feat(docs): main troubleshooting page
* feat(docs): global troubleshooting page layout
* feat(docs): global troubleshooting page filter logic
* enhance(docs): troubleshooting page ui & filters
Improve UX and accessibility of global troubleshooting search page.
- Implement TroubleshootingFilterStateProvider for managing filter state
- Add TroubleshootingFilterEmptyState component
- Improve TroubleshootingFilter UI with applied filters display
- Update TroubleshootingPreview component with better layout and accessibility
- Add TroubleshootingEntryAssociatedErrors component for displaying related errors
- Refactor Troubleshooting utils and schemas
- Update troubleshooting content template
* feat(docs): individual troubleshooting pages
Add individual pages for detailed information on troubleshooting
entries. Small fixes to UI for troubleshooting displays.
- Wrap GlobalTroubleshootingPage with SidebarSkeleton
- Add TroubleshootingErrorListDetailed component for detailed error display
- Implement TroubleshootingBackLink component for navigation
- Update TroubleshootingPreview to use Next.js Link and include parent page
- Refactor Footer component to accept className prop
- Add hideFooter option to SidebarSkeleton
- Minor updates to TopNavBar and other utility functions
* fix: minor styling issues
* tweak(troubleshooting docs): use breadcrumbs
* tweak(troubleshooting docs): use sidebar for filter
* enhance(troubleshooting docs): navigation, keywords
Better navigation for individual troubleshooting entries, using a
version of the sidebar + keywords handling via search params for good
linking behavior
Details:
- Add TroubleshootingSidebar to TroubleshootingPage
- Implement query state management for keywords using nuqs
- Improve accessibility and styling of troubleshooting components
- Update empty state handling and related keywords display
- Upgrade nuqs package to version 1.19.1
* fix(docs): wrap useSearchParams in Suspense
* seo(docs): add canonical link to troubleshooting
* enhance(docs,troubleshooting): auto-reveal errors
On troubleshooting search pages, if the searched term matches a hidden
error, auto-reveal it when searching. When the search term is cleared,
hide programmatically-opened errors while preserving user-opened ones.
* enhance(docs,troubleshooting): search bar
Add search bar to individual troubleshooting pages
* fix(docs): breadcrumb links
Fix breadcrumb linking so it uses next/link instead of reloading entire
app on navigation.
* fix(docs): typo
* enh(docs): new troubleshooting design
* enh(docs): use new multi-select
* enh(docs): troubleshooting responsive styles
* Update apps/docs/content/troubleshooting/monitor-supavisor-postgres-connections.mdx
* Add all missing libraries in the packages/apps.
* Add all missing Vitest imports to the tests.
* Add some missing exports to ui.
* Fix the admonition export.
* Fix various minor bugs.
* Migrate the ui package to use vitest.