We redirect existing URLs to the new URLs. We want to use
`/integrations/category/{category_slug}` for categories and
`/integrations/{integration_name}` instead of
`/integrations/doc/{integration_name}` for individual integrations page.
Last commit broke the back to list functionality and redirected back to
the `all` integrations page no matter which category you navigated from.
This commit fixes that.
This was a kept as a separate commit since that commit has a lot of
changes already and this felt like a commit that could live on it's own.
We take the user back to all in case of an invalid or mis-matched
category.
Decision made in https://chat.zulip.org/#narrow/channel/19-documentation/topic/integrations.20docs.20per-page.20info/near/2268569
Integrations and the related docs were all running as an SPA. But to run
them in single page, we had a lot of logic on the frontend to make this
happen. We noticed that we missed to replicate page title changes on the
frontend. With the added burden of maintaining that integrations.ts page
navigation code and the uncertainty of not knowing what we might have
missed to replicate on the frontend, we decided to just render all the
pages server side while keeping our search on the backend.
This commit splits index.html into two templates, catalog.html for
integrations catalog and doc.html for the individual integration details
page.
We use a @typed_endpoint instead of a class based view since there are
very few class based views left in our codebase and this felt like a
nice opportunity to have integrations use them as well.
We port over any special non-navigation logic we were doing in
integrations.ts serverside.
We used to use animations for the lozenges when changing categories, we
don't do that anymore, since every category is a new page fetch and
animation does not make sense in that case.
We also port over the logic of adding the `without-category` class to
the lozenge icon on the indivdidual integration doc page.
We have a few integrations with legacy set to true. We used to set
their display to none in the CSS for the catalog page and we used to
remove that legacy class in integrations.ts for the individual doc page.
We remove legacy integrations from `visible_integrations` now, while the
individual doc page of the legacy integration works just fine without
the use of `legacy` class anywhere.
The root pages for API, integrations and policies documentation
have a trailing slash for the canoncial URL, but the individual
articles on those pages do not have a trailing slash for the page
we want to mark as canonical.
Temporarily exclude Git from `test_integration_doc_endpoints`,
until the doc is updated.
The screenshot for this integration is added separately since this
adds a new screenshot for an integration whose doc is in the
python-zulip-api repo.
Since this breaks the sync between the docs and the screenshots, an
exclusion is added to make the tests pass.
Temporarily exclude jira-plugin from `test_integration_doc_endpoints`,
until the doc is updated.
The screenshot for this integration is added separately since this
adds a new screenshot for an integration whose doc is in the
python-zulip-api repo.
Since this breaks the sync between the docs and the screenshots, an
exclusion is added to make the tests pass.
The integration doc and the screenshot images are in different repos.
So, we cannot avoid going out of sync when adding or deleting image
files.
Added a new set to allow temporarily adding exclusions to the
`test_integration_doc_endpoints` test.
We do not test relative links here since relative links were only
used in the old help pages. We should probably remove the logic
for relative links after we have done the official cutover to the
starlight help center: #35654.
This commit removes the `/try-zulip` landing page.
The URLs are replaced with `chat.zulip.org/?show_try_zulip_modal`,
which leads to display a modal for spectators.
Fixes#34181.
Instead of a separate `test_integration_doc_images` function, the test
is executed as part of `test_integration_doc_endpoints`, to optimize
performance by re-using the doc response.
Function call hierarchy:
`_test` -> `_check_basic_fetch` -> `get_doc` -> `client_get`
All the functions in the chain return the request returned by
`client_get`, except for `_test`.
Now, `_test` also returns the response from the URL on the root
subdomain when the ROOT_DOMAIN_LANDING_PAGE is set to False.
This enables us to re-use the fetched reponse in our test functions,
and limit each URL to a single call of `client_get`.
In order to only generate relative links for Zulip Cloud billing
specific gear menu options in relevant help center articles, we
pass down settings.CORPORATE_ENABLED to be set as a global variable
for zerver/lib/markdown/help_relative_links.py so that self-hosted
servers' help center documentation will not have these links.
Updates the API doc for GET /users/me/subscriptions endpoint to
use channel in descriptions instead of stream.
Part of the stream to channel rename project.
Updates the API documentation for the /get_stream_id endpoint to
use channel in descriptions instead of stream.
Part of the stream to channel rename project.
Updates the base hash for the streams setting overlay to be
"channels" instead of "streams".
Because there are Welcome Bot and Notification Bot messages that
would have been sent with the "/#streams" hash, we will need to
support parsing those overlay hashes as an alias for "/#channels"
permanently.
Part of the stream to channels rename project.
[squash]: Update sponsorsip and question boxes for Cloud.
[squash]: Update tabs subtitles.
[squash]: Content for info boxes for self-hosted plans.
[squash]: Adjust content to fit design.
portico: Tweak /plans text.
This includes changing the URL to #settings/preferences, with a
transparent redirect so that existing links, like the one from Welcome
Bot, continue to work.