mirror of https://github.com/zulip/zulip.git
templates: Replace default HTML title and meta-description elements.
Removes the default title element of "Zulip" from `base.html` and the default meta-description sentence from `meta_tags.html`. Also removes default open graph metadata. For portico templates that would would fail tests, set both `PAGE_TITLE` and `PAGE_DESCRIPTION` variables with appropriate content. Co-authored-by: Alya Abbott <alya@zulip.com>
This commit is contained in:
parent
7a0d659f14
commit
34f5218cc8
|
@ -1,6 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = "Download the Zulip app for your device" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Zulip has apps for every platform. Download the Zulip
|
||||
app for macOS, Windows, Linux, Android, iOS or Terminal." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<style media="screen">
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip attributions</title>
|
||||
{% endblock %}
|
||||
|
||||
{% set PAGE_TITLE = 'Zulip website attributions' %}
|
||||
{% set PAGE_DESCRIPTION = '' %}
|
||||
{% set PAGE_TITLE = "Website attributions | Zulip" %}
|
||||
{% set PAGE_DESCRIPTION = "Attributions for the Zulip website." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Case study: Asciidoctor open-source community</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Case study: Asciidoctor open-source community | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Learn how Zulip became the heart of the Asciidoctor
|
||||
community by enabling organized, inclusive and thoughtful discussion." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Case study: iDrift AS, distributed tech company</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Case study: iDrift AS, distributed tech company | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Learn why using Zulip significantly increases the
|
||||
size of the team for which a manager can meaningfully know what’s going on." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Case study: Lean theorem prover community</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Case study: Lean theorem prover community | Zulip" %}
|
||||
{% set PAGE_DESCRIPTION = "Zulip enables collaboration at scale: “We could never do what we’re doing on Slack or Discord.”" %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Case study: Recurse Center</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Case study: Recurse Center | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "“Switching to Zulip has turned out to be one of the
|
||||
best decisions we’ve made,” says Recurse Center co-founder and CEO Nick
|
||||
Bergson-Shilcock." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Case study: Rust programming language community</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Case study: Rust programming language community | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Learn why Rust development would not be moving at the
|
||||
pace that it has been without Zulip, and the organized, searchable conversations it enables." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Case study: Zulip at Technical University of Munich Department of Informatics</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Case study: Technical University of Munich Department of Informatics | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "How do you teach computer science to 1400 freshmen?
|
||||
“Zulip is the only app that makes hundreds of conversations manageable.”" %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Case study: Zulip at University of California San Diego</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Case study: University of California San Diego | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "How do you teach graduate-level mathematics to
|
||||
students across six continents? “I chose Zulip especially for the threaded model
|
||||
and the TeX integration.”" %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "communities" %}
|
||||
|
||||
{% set PAGE_TITLE = "Open communities directory | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Zulip communities that are open to the public, and
|
||||
have opted in to be listed." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = 'The Zulip development community' %}
|
||||
{% set PAGE_DESCRIPTION = 'Join the Zulip community to contribute, ask questions, or provide feedback to the creators of Zulip.' %}
|
||||
{% set PAGE_TITLE = "Development community | Zulip" %}
|
||||
|
||||
{% block title %}
|
||||
<title>The Zulip development community</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_DESCRIPTION = "Join the Zulip development community to contribute,
|
||||
ask questions, or provide feedback to the creators of Zulip. Everyone is
|
||||
welcome!" %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = 'Zulip features' %}
|
||||
{% set PAGE_DESCRIPTION = 'First class threading on top of everything you could want from real-time chat.' %}
|
||||
{% set PAGE_TITLE = "Features | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "From highly configurable notifications, to powerful
|
||||
formatting and flexible administration, Zulip has you covered." %}
|
||||
|
||||
{% block portico_content %}
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip: Efficient communication for your business.</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Zulip for business" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Zulip offers efficient communication for your
|
||||
business, with organized and inclusive threaded team chat. Free for
|
||||
light use!" %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip for communities</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Zulip for communities" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Zulip is designed with communities in mind, including
|
||||
open-source projects, research collaborations, and volunteer organizations.
|
||||
Reach out for a sponsorship!" %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = 'Teach a course with Zulip.' %}
|
||||
{% set PAGE_DESCRIPTION = 'Online, in-person, and anything in between' %}
|
||||
{% set PAGE_TITLE = "Zulip for education" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Teach a course with Zulip for Education: Online, in-person, and anything in between</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_DESCRIPTION = "Make Zulip the communication hub for your class.
|
||||
Online, in-person, and anything in between. Free for most classes!" %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = 'Zulip for conferences and events' %}
|
||||
{% set PAGE_DESCRIPTION = 'Conferences, workshops, hackathons. In-person, online, and anything in between.' %}
|
||||
{% set PAGE_TITLE = "Zulip for events and conferences" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip for conferences and events: Conferences, workshops, hackathons. In-person, online, and anything in between.</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_DESCRIPTION = "Make Zulip the communication hub for your
|
||||
conference, workshop, hackathon, or other event. In-person, online, and anything
|
||||
in between." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
(% set PAGE_TITLE = 'Modern chat for open source' %}
|
||||
{% set PAGE_DESCRIPTION = 'Zulip is the only modern team chat app that is ideal for both live and asynchronous conversations. Discuss issues, pull requests and feature ideas, engage with users, answer questions, and onboard new contributors.' %}
|
||||
{% set PAGE_TITLE = "Zulip for open-source projects" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip: the best group chat for open-source projects</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_DESCRIPTION = "Grow your community with thoughtful and inclusive
|
||||
discussion, using the only modern team chat app that is ideal for both live
|
||||
and asynchronous conversations." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = 'Zulip for research' %}
|
||||
{% set PAGE_DESCRIPTION = 'Chat for your project, research group, department or scientific field' %}
|
||||
{% set PAGE_TITLE = "Zulip for researchers and academics" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip for research: Chat for your project, research group, department or scientific field</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_DESCRIPTION = "Make Zulip the communication hub for your research
|
||||
group, department or scientific field. The only modern team chat ideal for both
|
||||
live and asynchronous conversations." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Use cases and customer stories</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Use cases and customer stories | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Learn how our customers are using Zulip." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = "Zulip: Open-source team chat with topic-based threading" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Zulip is the only modern team chat app that is
|
||||
designed for both live and asynchronous conversations. Organized to help you
|
||||
collaborate productively and efficiently." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip history</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "History of the Zulip project" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Learn how Zulip grew from a small startup to become
|
||||
the project with the most active open-source development community of any team
|
||||
chat software." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
@ -17,7 +19,7 @@
|
|||
<div class="hero bg-pycon">
|
||||
<div class="bg-dimmer"></div>
|
||||
<div class="content">
|
||||
<h1 class="center">Zulip History</h1>
|
||||
<h1 class="center">History of the Zulip project</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip jobs</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Jobs | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "We're hiring! Learn about our openings and how to
|
||||
apply." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = 'Zulip plans and pricing' %}
|
||||
{% set PAGE_DESCRIPTION = 'Get started today.' %}
|
||||
{% set PAGE_TITLE = "Plans and pricing | Zulip" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip plans and pricing</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_DESCRIPTION = "Choose between Zulip Cloud Free and Zulip Cloud
|
||||
Standard, or self-host our open-source software for free. Support contracts
|
||||
available." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip security</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "Security | Zulip" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Making sure your information stays protected is our
|
||||
highest priority. Learn how Zulip’s security strategy covers all aspects of our
|
||||
product and business." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = 'Self-host Zulip today.' %}
|
||||
{% set PAGE_DESCRIPTION = 'Open-source software that provides enterprise-grade reliability and security.' %}
|
||||
{% set PAGE_TITLE = "Self-host Zulip" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Self-host Zulip today. Open-source software that provides enterprise-grade reliability and security.</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_DESCRIPTION = "Open-source team chat with enterprise-grade
|
||||
reliability and security. Take charge of your mission-critical communication
|
||||
platform." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Zulip: the best group chat for open source projects</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_TITLE = "The Zulip team" %}
|
||||
|
||||
{% set PAGE_DESCRIPTION = "Zulip has the most active open-source
|
||||
development community of any team chat software, with over 1100 code
|
||||
contributors, and more than 75 with 100+ commits." %}
|
||||
|
||||
{% block portico_content %}
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{% extends "zerver/portico.html" %}
|
||||
{% set entrypoint = "landing-page" %}
|
||||
|
||||
{% set PAGE_TITLE = 'Team chat with first-class threading' %}
|
||||
{% set PAGE_DESCRIPTION = 'Most team chats are overwhelming to keep up with. Zulip takes a different approach.' %}
|
||||
{% set PAGE_TITLE = "How Zulip's topic-based threading improves team
|
||||
communication" %}
|
||||
|
||||
{% block title %}
|
||||
<title>The best group chat</title>
|
||||
{% endblock %}
|
||||
{% set PAGE_DESCRIPTION = "Make better decisions, faster with chat that’s
|
||||
organized right. Follow the discussions that matter to you, easily and
|
||||
efficiently, in real time or asynchronously." %}
|
||||
|
||||
{% block customhead %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
|
|
@ -11,8 +11,6 @@
|
|||
{% else %}
|
||||
{% if PAGE_TITLE %}
|
||||
<title>{{ PAGE_TITLE }}</title>
|
||||
{% else %}
|
||||
<title>Zulip</title>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
{% if allow_search_engine_indexing %}
|
||||
{% if PAGE_DESCRIPTION %}
|
||||
<meta name="description" content="{{ PAGE_DESCRIPTION }}" />
|
||||
{% else %}
|
||||
<meta name="description" content="Zulip combines the immediacy of real-time chat with an email threading model. With Zulip, you can catch up on important conversations while ignoring irrelevant ones." />
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<meta name="robots" content="noindex,nofollow" />
|
||||
|
@ -15,10 +13,9 @@
|
|||
<meta property="og:site_name" content="Zulip" />
|
||||
{% if PAGE_TITLE %}
|
||||
<meta property="og:title" content="{{ PAGE_TITLE }}" />
|
||||
{% endif %}
|
||||
{% if PAGE_DESCRIPTION %}
|
||||
<meta property="og:description" content="{{ PAGE_DESCRIPTION }}" />
|
||||
{% else %}
|
||||
<meta property="og:title" content="Chat for distributed teams" />
|
||||
<meta property="og:description" content="Zulip combines the immediacy of real-time chat with an email threading model. With Zulip, you can catch up on important conversations while ignoring irrelevant ones." />
|
||||
{% endif %}
|
||||
{% if PAGE_METADATA_IMAGE %}
|
||||
<meta property="og:image" content="{{ PAGE_METADATA_IMAGE }}" />
|
||||
|
|
|
@ -181,6 +181,7 @@ class DocPageTest(ZulipTestCase):
|
|||
self._test("/communities/", "Open communities directory")
|
||||
self._test("/development-community/", "Zulip development community")
|
||||
self._test("/features/", "Beautiful messaging")
|
||||
self._test("/jobs/", "Work with us")
|
||||
self._test("/self-hosting/", "Self-host Zulip")
|
||||
self._test("/security/", "TLS encryption")
|
||||
self._test("/use-cases/", "Use cases and customer stories")
|
||||
|
|
Loading…
Reference in New Issue