web: Save a 301 redirect from /features to /features/.

This commit is contained in:
Alex Vandiver 2023-03-23 03:20:05 +00:00 committed by Tim Abbott
parent 1d428af776
commit 14d19c00d7
10 changed files with 12 additions and 12 deletions

View File

@ -41,7 +41,7 @@ Zulip is a real-time team chat application meant to provide a great
experience for a wide range of organizations, from companies to experience for a wide range of organizations, from companies to
volunteer projects to groups of friends, ranging in size from a small volunteer projects to groups of friends, ranging in size from a small
team to 10,000s of users. It has [hundreds of team to 10,000s of users. It has [hundreds of
features](https://zulip.com/features) both larger and small, and features](https://zulip.com/features/) both larger and small, and
supports dedicated apps for iOS, Android, Linux, Windows, and macOS, supports dedicated apps for iOS, Android, Linux, Windows, and macOS,
all modern web browsers, several cross-protocol chat clients, and all modern web browsers, several cross-protocol chat clients, and
numerous dedicated [Zulip API](https://zulip.com/api) clients numerous dedicated [Zulip API](https://zulip.com/api) clients

View File

@ -13,7 +13,7 @@ principles are important in how we think about internationalization:
tagged for translation in both [HTML templates](#html-templates) and tagged for translation in both [HTML templates](#html-templates) and
code, and our linters attempt to enforce this. There are some code, and our linters attempt to enforce this. There are some
exceptions: we don't tag strings in Zulip's landing pages exceptions: we don't tag strings in Zulip's landing pages
(e.g. /features) and other documentation (e.g. /help) for (e.g. /features/) and other documentation (e.g. /help) for
translation at this time (though we do aim for those pages to be translation at this time (though we do aim for those pages to be
usable with tools like Google Translate). usable with tools like Google Translate).
- Translating all the strings in Zulip for a language and maintaining - Translating all the strings in Zulip for a language and maintaining

View File

@ -186,7 +186,7 @@ open source by hosting our Zulip instances.”
“Zulip is the heart of our community, and nearly everyone who participates “Zulip is the heart of our community, and nearly everyone who participates
absolutely loves it,” Dan says. “It really does provide [everything we absolutely loves it,” Dan says. “It really does provide [everything we
need](/features) to manage the discourse, including topic-based threads, need](/features/) to manage the discourse, including topic-based threads,
mentions, faceted search, moderation controls, polls, and emoji.” Speaking on mentions, faceted search, moderation controls, polls, and emoji.” Speaking on
behalf of the Asciidoctor and Antora projects, Dan wholeheartedly recommends behalf of the Asciidoctor and Antora projects, Dan wholeheartedly recommends
that other communities give it a try. “Many communities have been strained to that other communities give it a try. “Many communities have been strained to

View File

@ -43,7 +43,7 @@
<div class="feature-intro"> <div class="feature-intro">
<h1 class="center"> Make Zulip the communication hub for your class. </h1> <h1 class="center"> Make Zulip the communication hub for your class. </h1>
<p> <p>
<a href="/hello/">Zulip</a> is the only <a href="/features">modern team chat app</a> that is <a href="/why-zulip">ideal</a> for both live and asynchronous conversations. Post lecture notes and announcements, answer students questions, and coordinate with teaching staff all in one place. <a href="/hello/">Zulip</a> is the only <a href="/features/">modern team chat app</a> that is <a href="/why-zulip">ideal</a> for both live and asynchronous conversations. Post lecture notes and announcements, answer students questions, and coordinate with teaching staff all in one place.
</p> </p>
</div> </div>
@ -259,7 +259,7 @@
<li>All features on this page</li> <li>All features on this page</li>
<li>10,000 messages of search history</li> <li>10,000 messages of search history</li>
<li>File storage up to 5 GB total</li> <li>File storage up to 5 GB total</li>
<li><a href="/features">Full-featured</a> team chat service</li> <li><a href="/features/">Full-featured</a> team chat service</li>
<li><a href="/integrations/">Hundreds of integrations</a></li> <li><a href="/integrations/">Hundreds of integrations</a></li>
<li>Advanced <a href="/help/roles-and-permissions">roles</a> and <a href="/help/stream-permissions">permissions</a></li> <li>Advanced <a href="/help/roles-and-permissions">roles</a> and <a href="/help/stream-permissions">permissions</a></li>
</ul> </ul>

View File

@ -45,7 +45,7 @@
<div class="feature-intro"> <div class="feature-intro">
<h1 class="center"> Make Zulip the communication hub for your event. </h1> <h1 class="center"> Make Zulip the communication hub for your event. </h1>
<p> <p>
<a href="/hello/">Zulip</a> is the only <a href="/features">modern team chat app</a> that is <a href="/why-zulip">ideal</a> for both live and asynchronous conversations. Post presentations and announcements, host Q&A sessions, and coordinate among organizers. <a href="/hello/">Zulip</a> is the only <a href="/features/">modern team chat app</a> that is <a href="/why-zulip">ideal</a> for both live and asynchronous conversations. Post presentations and announcements, host Q&A sessions, and coordinate among organizers.
</p> </p>
</div> </div>

View File

@ -47,7 +47,7 @@
<div class="feature-intro"> <div class="feature-intro">
<h1 class="center"> Make Zulip the communication hub for your open-source community. </h1> <h1 class="center"> Make Zulip the communication hub for your open-source community. </h1>
<p> <p>
<a href="/hello/">Zulip</a> is the only <a href="/features">modern <a href="/hello/">Zulip</a> is the only <a href="/features/">modern
team chat app</a> that is <a href="/why-zulip">ideal</a> for both team chat app</a> that is <a href="/why-zulip">ideal</a> for both
live and asynchronous conversations. Discuss issues, pull requests live and asynchronous conversations. Discuss issues, pull requests
and feature ideas, engage with users, answer questions, and and feature ideas, engage with users, answer questions, and

View File

@ -47,7 +47,7 @@
<div class="feature-intro"> <div class="feature-intro">
<h1 class="center"> Make Zulip the communication hub for your research community. </h1> <h1 class="center"> Make Zulip the communication hub for your research community. </h1>
<p> <p>
<a href="/hello/">Zulip</a> is the only <a href="/features">modern team chat app</a> that is <a href="/why-zulip">ideal</a> for both live and asynchronous conversations. Coordinate with collaborators, post questions and ideas, and learn from others in your field. <a href="/hello/">Zulip</a> is the only <a href="/features/">modern team chat app</a> that is <a href="/why-zulip">ideal</a> for both live and asynchronous conversations. Coordinate with collaborators, post questions and ideas, and learn from others in your field.
</p> </p>
</div> </div>

View File

@ -138,8 +138,8 @@
<p><a href="/why-zulip">Zulip vs Slack &rarr;</a></p> <p><a href="/why-zulip">Zulip vs Slack &rarr;</a></p>
</div> </div>
<div class="other-resources-section"> <div class="other-resources-section">
<a href="/features"><img src="{{ static('images/landing-page/hello/featured.svg') }}" alt="" /></a> <a href="/features/"><img src="{{ static('images/landing-page/hello/featured.svg') }}" alt="" /></a>
<p><a href="/features">See all features &rarr;</a></p> <p><a href="/features/">See all features &rarr;</a></p>
</div> </div>
</div> </div>
</div> </div>

View File

@ -18,7 +18,7 @@
<ul class="feature-list"> <ul class="feature-list">
<li>10,000 messages of search history</li> <li>10,000 messages of search history</li>
<li>File storage up to 5 GB total</li> <li>File storage up to 5 GB total</li>
<li><a href="/features">Full-featured</a> team chat service</li> <li><a href="/features/">Full-featured</a> team chat service</li>
<li><a href="/integrations/">Hundreds of integrations</a></li> <li><a href="/integrations/">Hundreds of integrations</a></li>
<li>Advanced <a href="/help/roles-and-permissions">roles</a> and <a href="/help/stream-permissions">permissions</a></li> <li>Advanced <a href="/help/roles-and-permissions">roles</a> and <a href="/help/stream-permissions">permissions</a></li>
<li><a href="/help/roles-and-permissions">Guest accounts</a></li> <li><a href="/help/roles-and-permissions">Guest accounts</a></li>

View File

@ -72,7 +72,7 @@ class PorticoDocumentationSpider(BaseDocumentationSpider):
"http://localhost:9981/integrations/", "http://localhost:9981/integrations/",
"http://localhost:9981/policies/terms", "http://localhost:9981/policies/terms",
"http://localhost:9981/policies/privacy", "http://localhost:9981/policies/privacy",
"http://localhost:9981/features", "http://localhost:9981/features/",
"http://localhost:9981/why-zulip", "http://localhost:9981/why-zulip",
"http://localhost:9981/for/open-source", "http://localhost:9981/for/open-source",
"http://localhost:9981/for/business", "http://localhost:9981/for/business",