mirror of https://github.com/zulip/zulip.git
urls: Move URLs that don't belong on self-hosted servers to corporate URLs.
Use absolute URLs for these links in files which will be served to self-hosted servers.
This commit is contained in:
parent
f1a1868de8
commit
e54ded49c4
|
@ -2,7 +2,7 @@ from typing import Any
|
|||
|
||||
from django.conf.urls import include
|
||||
from django.urls import path
|
||||
from django.views.generic import TemplateView
|
||||
from django.views.generic import RedirectView, TemplateView
|
||||
|
||||
from corporate.views.billing_page import billing_home, update_plan
|
||||
from corporate.views.event_status import event_status, event_status_page
|
||||
|
@ -14,6 +14,14 @@ from corporate.views.support import support_request
|
|||
from corporate.views.upgrade import initial_upgrade, sponsorship, upgrade
|
||||
from corporate.views.webhook import stripe_webhook
|
||||
from zerver.lib.rest import rest_path
|
||||
from zerver.views.portico import (
|
||||
app_download_link_redirect,
|
||||
apps_view,
|
||||
hello_view,
|
||||
landing_view,
|
||||
plans_view,
|
||||
team_view,
|
||||
)
|
||||
|
||||
i18n_urlpatterns: Any = [
|
||||
# Zephyr/MIT
|
||||
|
@ -40,6 +48,66 @@ v1_api_and_json_patterns = [
|
|||
rest_path("billing/event/status", GET=event_status),
|
||||
]
|
||||
|
||||
landing_page_urls = [
|
||||
# Landing page, features pages, signup form, etc.
|
||||
path("hello/", hello_view),
|
||||
path("new-user/", RedirectView.as_view(url="/hello", permanent=True)),
|
||||
path("features/", landing_view, {"template_name": "zerver/features.html"}),
|
||||
path("plans/", plans_view, name="plans"),
|
||||
path("apps/", apps_view),
|
||||
path("apps/download/<platform>", app_download_link_redirect),
|
||||
path("apps/<platform>", apps_view),
|
||||
path(
|
||||
"developer-community/", RedirectView.as_view(url="/development-community/", permanent=True)
|
||||
),
|
||||
path(
|
||||
"development-community/",
|
||||
landing_view,
|
||||
{"template_name": "zerver/development-community.html"},
|
||||
),
|
||||
path("attribution/", landing_view, {"template_name": "zerver/attribution.html"}),
|
||||
path("team/", team_view),
|
||||
path("history/", landing_view, {"template_name": "zerver/history.html"}),
|
||||
path("why-zulip/", landing_view, {"template_name": "zerver/why-zulip.html"}),
|
||||
path("self-hosting/", landing_view, {"template_name": "zerver/self-hosting.html"}),
|
||||
path("security/", landing_view, {"template_name": "zerver/security.html"}),
|
||||
# /for pages
|
||||
path("use-cases/", landing_view, {"template_name": "zerver/use-cases.html"}),
|
||||
path("for/education/", landing_view, {"template_name": "zerver/for-education.html"}),
|
||||
path("for/events/", landing_view, {"template_name": "zerver/for-events.html"}),
|
||||
path("for/open-source/", landing_view, {"template_name": "zerver/for-open-source.html"}),
|
||||
path("for/research/", landing_view, {"template_name": "zerver/for-research.html"}),
|
||||
path("for/business/", landing_view, {"template_name": "zerver/for-business.html"}),
|
||||
path("for/companies/", RedirectView.as_view(url="/for/business/", permanent=True)),
|
||||
path(
|
||||
"for/communities/",
|
||||
landing_view,
|
||||
{"template_name": "zerver/for-communities.html"},
|
||||
),
|
||||
# We merged this into /for/communities.
|
||||
path(
|
||||
"for/working-groups-and-communities/",
|
||||
RedirectView.as_view(url="/for/communities/", permanent=True),
|
||||
),
|
||||
# case-studies
|
||||
path("case-studies/idrift/", landing_view, {"template_name": "zerver/idrift-case-study.html"}),
|
||||
path("case-studies/tum/", landing_view, {"template_name": "zerver/tum-case-study.html"}),
|
||||
path("case-studies/ucsd/", landing_view, {"template_name": "zerver/ucsd-case-study.html"}),
|
||||
path("case-studies/rust/", landing_view, {"template_name": "zerver/rust-case-study.html"}),
|
||||
path("case-studies/lean/", landing_view, {"template_name": "zerver/lean-case-study.html"}),
|
||||
path(
|
||||
"case-studies/asciidoctor/",
|
||||
landing_view,
|
||||
{"template_name": "zerver/asciidoctor-case-study.html"},
|
||||
),
|
||||
path(
|
||||
"case-studies/recurse-center/",
|
||||
landing_view,
|
||||
{"template_name": "zerver/recurse-center-case-study.html"},
|
||||
),
|
||||
]
|
||||
i18n_urlpatterns += landing_page_urls
|
||||
|
||||
# Make a copy of i18n_urlpatterns so that they appear without prefix for English
|
||||
urlpatterns = list(i18n_urlpatterns)
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
* Zulip is [100% open-source software][zulip-github], with no "open core" catch.
|
||||
When you self-host Zulip, you get the same software as [Zulip Cloud
|
||||
Standard](/plans/) customers.
|
||||
Standard](https://zulip.com/plans/) customers.
|
||||
|
||||
* Retain full control over your data and simplify compliance by self-hosting
|
||||
Zulip behind your firewall.
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
overhead. [Sign up](/new/) with just a few clicks.
|
||||
* Always updated to the latest version of Zulip.
|
||||
* Anyone can [start with Zulip Cloud Free](/new/). [Free or heavily
|
||||
discounted Zulip Cloud Standard](/plans/) pricing is available for
|
||||
discounted Zulip Cloud Standard](https://zulip.com/plans/) pricing is available for
|
||||
most non-business uses.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
You can start by reading about how [Zulip’s](/hello/) unique
|
||||
topic-based threading [combines the best of email and
|
||||
chat](/why-zulip/) to make [remote work](/for/business/) productive
|
||||
chat](/why-zulip/) to make [remote work](https://zulip.com/for/business/) productive
|
||||
and delightful.
|
||||
|
||||
We also highly recommend trying Zulip for yourself! You can:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Setting up Zulip for a class
|
||||
|
||||
Welcome to Zulip! This page will guide you through setting everything
|
||||
up for [teaching with Zulip](/for/education/). If you are using Zulip
|
||||
up for [teaching with Zulip](https://zulip.com/for/education/). If you are using Zulip
|
||||
for a different purpose, we recommend checking out the [Setting up
|
||||
your organization][setting-up] guide instead.
|
||||
|
||||
|
@ -18,7 +18,7 @@ us know!
|
|||
|
||||
## Trying out Zulip
|
||||
|
||||
You can start by reading about [Zulip for Education](/for/education/),
|
||||
You can start by reading about [Zulip for Education](https://zulip.com/for/education/),
|
||||
and how Zulip can become the communication hub for your class. Zulip
|
||||
is the only [modern team chat app](/features/) that is
|
||||
[ideal](/why-zulip/) for both live and asynchronous
|
||||
|
@ -53,7 +53,7 @@ ensure you can always move from our hosting to yours (and back).
|
|||
* Always updated to the latest version of Zulip.
|
||||
* Anyone can [start with Zulip Cloud Free](/new/), which works well for a typical class.
|
||||
* For large classes and departments, we offer [special Zulip for
|
||||
Education pricing](/for/education/#feature-pricing), with the same
|
||||
Education pricing](https://zulip.com/for/education/#feature-pricing), with the same
|
||||
features as Zulip Cloud Standard. You can always get started with
|
||||
Zulip Cloud Free, and upgrade down the line if needed.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Using Zulip for a class
|
||||
|
||||
Welcome to Zulip! This pages offers some tips for [using Zulip for a
|
||||
class](/for/education). If this is your first time using Zulip, we
|
||||
class](https://zulip.com/for/education). If this is your first time using Zulip, we
|
||||
recommend checking out [Getting started with
|
||||
Zulip](/help/getting-started-with-zulip) to get oriented.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Zulip Cloud billing
|
||||
|
||||
This page answers some frequently asked questions about [Zulip Cloud plans and
|
||||
pricing](/plans). If you have any other questions, please don't hesitate to
|
||||
pricing](https://zulip.com/plans). If you have any other questions, please don't hesitate to
|
||||
reach out at sales@zulip.com.
|
||||
|
||||
## Differences between Zulip Cloud plans
|
||||
|
|
|
@ -20,19 +20,19 @@
|
|||
<div class="dropdown-label first">Product<i class="fa fa-chevron-down"></i></div>
|
||||
<ul class="dropdown-list product-options">
|
||||
<li>
|
||||
<a href="/hello">Home</a>
|
||||
<a href="https://zulip.com">Home</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/why-zulip">Why Zulip</a>
|
||||
<a href="https://zulip.com/why-zulip">Why Zulip</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/features/">Features</a>
|
||||
<a href="https://zulip.com/features/">Features</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/self-hosting/">Self-hosting</a>
|
||||
<a href="https://zulip.com/self-hosting/">Self-hosting</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/security/">Security</a>
|
||||
<a href="https://zulip.com/security/">Security</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/integrations/">Integrations</a>
|
||||
|
@ -48,52 +48,52 @@
|
|||
<div class="dropdown-column">
|
||||
<li class="nav-header">Use cases</li>
|
||||
<li>
|
||||
<a href="/for/business/">Business</a>
|
||||
<a href="https://zulip.com/for/business/">Business</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/for/education/">Education</a>
|
||||
<a href="https://zulip.com/for/education/">Education</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/for/research/">Research</a>
|
||||
<a href="https://zulip.com/for/research/">Research</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/for/events/">Events and conferences</a>
|
||||
<a href="https://zulip.com/for/events/">Events and conferences</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/for/open-source/">Open source projects</a>
|
||||
<a href="https://zulip.com/for/open-source/">Open source projects</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/for/communities/">Communities</a>
|
||||
<a href="https://zulip.com/for/communities/">Communities</a>
|
||||
</li>
|
||||
</div>
|
||||
<div class="dropdown-column">
|
||||
<li class="nav-header">Customer stories</li>
|
||||
<li>
|
||||
<a href="/case-studies/idrift/">iDrift AS company</a>
|
||||
<a href="https://zulip.com/case-studies/idrift/">iDrift AS company</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/case-studies/tum/">Technical University of Munich</a>
|
||||
<a href="https://zulip.com/case-studies/tum/">Technical University of Munich</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/case-studies/ucsd/">University of California San Diego</a>
|
||||
<a href="https://zulip.com/case-studies/ucsd/">University of California San Diego</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/case-studies/lean/">Lean theorem prover community</a>
|
||||
<a href="https://zulip.com/case-studies/lean/">Lean theorem prover community</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/case-studies/asciidoctor/">Asciidoctor open-source community</a>
|
||||
<a href="https://zulip.com/case-studies/asciidoctor/">Asciidoctor open-source community</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/case-studies/rust/">Rust language community</a>
|
||||
<a href="https://zulip.com/case-studies/rust/">Rust language community</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/case-studies/recurse-center/">Recurse Center</a>
|
||||
<a href="https://zulip.com/case-studies/recurse-center/">Recurse Center</a>
|
||||
</li>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
<li data-on-page="plans">
|
||||
<a href="/plans/">Pricing</a>
|
||||
<a href="https://zulip.com/plans/">Pricing</a>
|
||||
</li>
|
||||
<div class="dropdown nav-dropdown">
|
||||
<div class="dropdown-label">Resources<i class="fa fa-chevron-down"></i></div>
|
||||
|
@ -107,7 +107,7 @@
|
|||
<a href="/help">Help center</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/development-community/" target=”_blank”>
|
||||
<a href="https://zulip.com/development-community/" target=”_blank”>
|
||||
Community chat
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
@ -77,14 +77,6 @@ from zerver.views.message_flags import (
|
|||
)
|
||||
from zerver.views.message_send import render_message_backend, send_message_backend, zcommand_backend
|
||||
from zerver.views.muting import mute_user, unmute_user, update_muted_topic
|
||||
from zerver.views.portico import (
|
||||
app_download_link_redirect,
|
||||
apps_view,
|
||||
hello_view,
|
||||
landing_view,
|
||||
plans_view,
|
||||
team_view,
|
||||
)
|
||||
from zerver.views.presence import (
|
||||
get_presence_backend,
|
||||
get_statuses_for_realm,
|
||||
|
@ -621,61 +613,6 @@ i18n_urls = [
|
|||
path("integrations/doc-html/<integration_name>", integration_doc),
|
||||
path("integrations/", integrations_view),
|
||||
path("integrations/<path:path>", integrations_view),
|
||||
# Landing page, features pages, signup form, etc.
|
||||
path("hello/", hello_view),
|
||||
path("new-user/", RedirectView.as_view(url="/hello", permanent=True)),
|
||||
path("features/", landing_view, {"template_name": "zerver/features.html"}),
|
||||
path("plans/", plans_view, name="plans"),
|
||||
path("apps/", apps_view),
|
||||
path("apps/download/<platform>", app_download_link_redirect),
|
||||
path("apps/<platform>", apps_view),
|
||||
path(
|
||||
"development-community/",
|
||||
landing_view,
|
||||
{"template_name": "zerver/development-community.html"},
|
||||
),
|
||||
# Renamed to have a cleared URL.
|
||||
path(
|
||||
"developer-community/", RedirectView.as_view(url="/development-community/", permanent=True)
|
||||
),
|
||||
path("attribution/", landing_view, {"template_name": "zerver/attribution.html"}),
|
||||
path("team/", team_view),
|
||||
path("history/", landing_view, {"template_name": "zerver/history.html"}),
|
||||
path("why-zulip/", landing_view, {"template_name": "zerver/why-zulip.html"}),
|
||||
path("for/education/", landing_view, {"template_name": "zerver/for-education.html"}),
|
||||
path("for/events/", landing_view, {"template_name": "zerver/for-events.html"}),
|
||||
path("for/open-source/", landing_view, {"template_name": "zerver/for-open-source.html"}),
|
||||
path("for/research/", landing_view, {"template_name": "zerver/for-research.html"}),
|
||||
path("for/business/", landing_view, {"template_name": "zerver/for-business.html"}),
|
||||
path("for/companies/", RedirectView.as_view(url="/for/business/", permanent=True)),
|
||||
path("case-studies/idrift/", landing_view, {"template_name": "zerver/idrift-case-study.html"}),
|
||||
path("case-studies/tum/", landing_view, {"template_name": "zerver/tum-case-study.html"}),
|
||||
path("case-studies/ucsd/", landing_view, {"template_name": "zerver/ucsd-case-study.html"}),
|
||||
path("case-studies/rust/", landing_view, {"template_name": "zerver/rust-case-study.html"}),
|
||||
path("case-studies/lean/", landing_view, {"template_name": "zerver/lean-case-study.html"}),
|
||||
path(
|
||||
"case-studies/asciidoctor/",
|
||||
landing_view,
|
||||
{"template_name": "zerver/asciidoctor-case-study.html"},
|
||||
),
|
||||
path(
|
||||
"case-studies/recurse-center/",
|
||||
landing_view,
|
||||
{"template_name": "zerver/recurse-center-case-study.html"},
|
||||
),
|
||||
path(
|
||||
"for/communities/",
|
||||
landing_view,
|
||||
{"template_name": "zerver/for-communities.html"},
|
||||
),
|
||||
# We merged this into /for/communities.
|
||||
path(
|
||||
"for/working-groups-and-communities/",
|
||||
RedirectView.as_view(url="/for/communities/", permanent=True),
|
||||
),
|
||||
path("use-cases/", landing_view, {"template_name": "zerver/use-cases.html"}),
|
||||
path("self-hosting/", landing_view, {"template_name": "zerver/self-hosting.html"}),
|
||||
path("security/", landing_view, {"template_name": "zerver/security.html"}),
|
||||
]
|
||||
|
||||
# Make a copy of i18n_urls so that they appear without prefix for english
|
||||
|
|
Loading…
Reference in New Issue