From c1554038841bdd9a7193225be4192ec747a12b8a Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Mon, 10 Aug 2020 16:47:54 -0700 Subject: [PATCH] docs: Fix various capitalization errors. Signed-off-by: Anders Kaseorg --- CODE_OF_CONDUCT.md | 8 ++--- CONTRIBUTING.md | 2 +- README.md | 2 +- docs/contributing/accessibility.md | 4 +-- docs/contributing/code-reviewing.md | 4 +-- docs/contributing/gsod-ideas.md | 6 ++-- docs/contributing/index.rst | 2 +- docs/contributing/version-control.md | 4 +-- docs/development/authentication.md | 4 +-- docs/development/index.rst | 4 +-- docs/development/setup-advanced.md | 4 +-- docs/development/setup-vagrant.md | 36 +++++++++---------- docs/development/using.md | 2 +- docs/documentation/index.rst | 2 +- docs/documentation/user.md | 2 +- docs/git/cheat-sheet.md | 6 ++-- docs/git/fixing-commits.md | 2 +- docs/git/index.rst | 10 +++--- docs/git/overview.md | 2 +- docs/git/the-git-difference.md | 6 ++-- docs/git/working-copies.md | 2 +- docs/git/zulip-tools.md | 2 +- docs/index.rst | 16 ++++----- docs/overview/architecture-overview.md | 2 +- docs/overview/changelog.md | 4 +-- docs/overview/directory-structure.md | 6 ++-- docs/overview/gsoc-ideas.md | 4 +-- docs/overview/roadmap.md | 2 +- docs/production/index.rst | 2 +- docs/production/install-existing-server.md | 2 +- docs/production/install.md | 2 +- docs/production/mobile-push-notifications.md | 8 ++--- docs/production/multiple-organizations.md | 4 +-- docs/production/postgres.md | 2 +- docs/production/requirements.md | 10 +++--- docs/production/security-model.md | 8 ++--- docs/production/settings.md | 4 +-- docs/production/ssl-certificates.md | 2 +- docs/production/upgrade-or-modify.md | 4 +-- docs/subsystems/analytics.md | 4 +-- docs/subsystems/conversion.md | 32 ++++++++--------- docs/subsystems/events-system.md | 2 +- docs/subsystems/html-css.md | 8 ++--- docs/subsystems/index.rst | 2 +- docs/subsystems/input-pills.md | 4 +-- docs/subsystems/logging.md | 2 +- docs/subsystems/markdown.md | 2 +- docs/subsystems/realms.md | 10 +++--- docs/subsystems/schema-migrations.md | 2 +- docs/subsystems/sending-messages.md | 2 +- docs/subsystems/widgets.md | 2 +- docs/testing/index.rst | 2 +- docs/testing/linters.md | 2 +- docs/testing/manual-testing.md | 6 ++-- docs/testing/mypy.md | 2 +- docs/testing/philosophy.md | 3 +- docs/testing/testing-with-casper.md | 6 ++-- docs/testing/testing-with-django.md | 2 +- docs/translating/german.md | 6 ++-- docs/translating/hindi.md | 2 +- docs/translating/internationalization.md | 2 +- docs/translating/polish.md | 2 +- docs/translating/russian.md | 2 +- docs/translating/spanish.md | 4 +-- docs/translating/translating.md | 2 +- docs/tutorials/index.rst | 2 +- docs/tutorials/life-of-a-request.md | 4 +-- docs/tutorials/new-feature-tutorial.md | 12 +++---- docs/tutorials/reading-list.md | 8 ++--- docs/tutorials/shell-tips.md | 2 +- frontend_tests/casper_tests/04-compose.js | 4 +-- frontend_tests/node_tests/hotkey.js | 2 +- frontend_tests/puppeteer_tests/03-compose.js | 4 +-- static/js/input_pill.js | 2 +- static/js/message_viewport.js | 2 +- templates/corporate/zephyr-mirror.html | 6 ++-- templates/corporate/zephyr.html | 2 +- .../zerver/help/allow-image-link-previews.md | 4 +-- .../format-your-message-using-markdown.md | 2 +- templates/zerver/help/gdpr-compliance.md | 8 ++--- templates/zerver/help/high-contrast-mode.md | 2 +- .../zerver/help/include/sidebar_index.md | 2 +- templates/zerver/help/index.md | 2 +- templates/zerver/help/keyboard-shortcuts.md | 6 ++-- templates/zerver/help/mute-a-stream.md | 2 +- .../help/organize-the-streams-sidebar.md | 2 +- .../help/restrict-profile-picture-changes.md | 2 +- templates/zerver/help/saml-authentication.md | 4 +-- templates/zerver/help/zulip-in-a-terminal.md | 6 ++-- templates/zerver/history.html | 2 +- .../management/commands/send_custom_email.py | 2 +- ...285_remove_realm_google_hangouts_domain.py | 2 +- zerver/templatetags/app_filters.py | 2 +- 93 files changed, 206 insertions(+), 207 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index fe4c888160..7dd4470c25 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,7 +14,7 @@ This isn't an exhaustive list of things that you can't do. Rather, take it in the spirit in which it's intended --- a guide to make it easier to enrich all of us and the technical communities in which we participate. -## Expected Behavior +## Expected behavior The following behaviors are expected and requested of all community members: @@ -29,7 +29,7 @@ The following behaviors are expected and requested of all community members: * Community event venues may be shared with members of the public; be respectful to all patrons of these locations. -## Unacceptable Behavior +## Unacceptable behavior The following behaviors are considered harassment and are unacceptable within the Zulip community: @@ -53,7 +53,7 @@ within the Zulip community: presentations. * Advocating for, or encouraging, any of the behaviors above. -## Reporting and Enforcement +## Reporting and enforcement Harassment and other code of conduct violations reduce the value of the community for everyone. If someone makes you or anyone else feel unsafe or @@ -95,7 +95,7 @@ behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. -## License and Attribution +## License and attribution This Code of Conduct is adapted from the [Citizen Code of Conduct](http://citizencodeofconduct.org/) and the diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ed7628d82a..e1bf2e045d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -299,7 +299,7 @@ for ZSoC, we'll contact you when the GSoC results are announced. [gsoc-guide]: https://zulip.readthedocs.io/en/latest/overview/gsoc-ideas.html [gsoc-faq]: https://developers.google.com/open-source/gsoc/faq -## Zulip Outreach +## Zulip outreach **Upvoting Zulip**. Upvotes and reviews make a big difference in the public perception of projects like Zulip. We've collected a few sites below diff --git a/README.md b/README.md index 12cf65bdcd..f2a040d68f 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ You might be interested in: like Google Summer of Code. You may also be interested in reading our [blog](https://blog.zulip.org/) or -following us on [twitter](https://twitter.com/zulip). +following us on [Twitter](https://twitter.com/zulip). Zulip is distributed under the [Apache 2.0](https://github.com/zulip/zulip/blob/master/LICENSE) license. diff --git a/docs/contributing/accessibility.md b/docs/contributing/accessibility.md index 055fdead23..dec4b7baab 100644 --- a/docs/contributing/accessibility.md +++ b/docs/contributing/accessibility.md @@ -53,7 +53,7 @@ sometimes report false positives as well. They are a useful aid in quickly identifying potential problems and checking for regressions, but their recommendations should not be blindly obeyed. -## GitHub Issues +## GitHub issues Problems with Zulip's accessibility should be reported as [GitHub issues](https://github.com/zulip/zulip/issues) with the "accessibility" @@ -65,7 +65,7 @@ comment on the issue: If you want to help make Zulip more accessible, here is a list of the [currently open accessibility issues][accessibility-issues]. -## Additional Resources +## Additional resources For more information about making Zulip accessible to as many users as possible, the following resources may be useful. diff --git a/docs/contributing/code-reviewing.md b/docs/contributing/code-reviewing.md index 7d71f33f85..9e1387ca7f 100644 --- a/docs/contributing/code-reviewing.md +++ b/docs/contributing/code-reviewing.md @@ -183,7 +183,7 @@ feel free to do that in a new commit, then push your branch to GitHub and mention the branch in a comment on the pull request. That'll save the maintainer time and get the PR merged quicker. -## Additional Resources +## Additional resources We also strongly recommend reviewers to go through the following resources. @@ -194,7 +194,7 @@ We also strongly recommend reviewers to go through the following resources. * [Code Review - A consolidation of advice and stuff from the sinternet](https://gist.github.com/porterjamesj/002fb27dd70df003646df46f15e898de) article by James J. Porter -* [Zulip Code of Conduct](../code-of-conduct.md) +* [Zulip code of conduct](../code-of-conduct.md) [code-style]: ../contributing/code-style.md [commit-messages]: ../contributing/version-control.html#commit-messages diff --git a/docs/contributing/gsod-ideas.md b/docs/contributing/gsod-ideas.md index a817827542..1206469b0b 100644 --- a/docs/contributing/gsod-ideas.md +++ b/docs/contributing/gsod-ideas.md @@ -77,7 +77,7 @@ tools in the Zulip development environment). See for details on our various existing documentation systems. In part due to past work by a technical writer, Zulip has a -well-documented and easy to setup development environment for a +well-documented and easy-to-set-up development environment for a project of its scope. Use [our first-time Zulip developer guide](../overview/contributing.html#your-first-codebase-contribution) to get your Zulip development environment set up. If you have any @@ -202,12 +202,12 @@ proposal. It's also fine for you to come up with your own project ideas. For many of our projects, an important skill to develop is a good -command of Git; read [our Git Guide](../git/overview.md) in full to +command of Git; read [our Git guide](../git/overview.md) in full to learn how to use it well. Of particular importance is mastering using Git rebase so that you can construct commits that are readable, are clearly correct and that explain why they are correct. -**Project name**: REST API Documentation +**Project name**: REST API documentation Fill in the gaps in Zulip's [REST API documentation](https://zulip.com/api). Zulip has a diff --git a/docs/contributing/index.rst b/docs/contributing/index.rst index 638d4d5685..2c09286049 100644 --- a/docs/contributing/index.rst +++ b/docs/contributing/index.rst @@ -1,5 +1,5 @@ ####################### -Code Contribution Guide +Code contribution guide ####################### .. toctree:: diff --git a/docs/contributing/version-control.md b/docs/contributing/version-control.md index 84a3bb9716..6e4263919a 100644 --- a/docs/contributing/version-control.md +++ b/docs/contributing/version-control.md @@ -1,6 +1,6 @@ # Version control -## Commit Discipline +## Commit discipline We follow the Git project's own commit discipline practice of "Each commit is a minimal coherent idea". This discipline takes a bit of work, @@ -83,7 +83,7 @@ you need to do a refactoring partway through writing the feature. When that happens, we recommend you stash your partial feature, do the refactoring, commit it, and then unstash and finish implementing your feature. -## Commit Messages +## Commit messages First, check out [these](https://github.com/zulip/zulip/commit/4869e1b0b2bc6d56fcf44b7d0e36ca20f45d0521) diff --git a/docs/development/authentication.md b/docs/development/authentication.md index b60a9c6b9c..d395d7288f 100644 --- a/docs/development/authentication.md +++ b/docs/development/authentication.md @@ -24,7 +24,7 @@ lower-case naming convention for that file. Below, we document the procedure for each of the major authentication methods supported by Zulip. -### Email and Password +### Email and password Zulip's default EmailAuthBackend authenticates users by verifying control over their email address, and then allowing them to set a @@ -204,7 +204,7 @@ exactly what data is being used in the test without looking at other resources. It also gives us more freedom to edit the development environment directory without worrying about tests. -## Two Factor Authentication +## Two factor authentication Zulip uses [django-two-factor-auth][0] as a beta 2FA integration. diff --git a/docs/development/index.rst b/docs/development/index.rst index 23b1bbe3a5..56a89f445e 100644 --- a/docs/development/index.rst +++ b/docs/development/index.rst @@ -1,5 +1,5 @@ ####################### -Development Environment +Development environment ####################### .. toctree:: @@ -7,7 +7,7 @@ Development Environment Development environment installation Recommended setup (Vagrant) - Advanced Setup (non-Vagrant) + Advanced setup (non-Vagrant) Using the development environment Developing remotely Authentication in the development environment diff --git a/docs/development/setup-advanced.md b/docs/development/setup-advanced.md index c575cf018a..6b09f3cb20 100644 --- a/docs/development/setup-advanced.md +++ b/docs/development/setup-advanced.md @@ -1,4 +1,4 @@ -# Advanced Setup (non-Vagrant) +# Advanced setup (non-Vagrant) Contents: @@ -56,7 +56,7 @@ on using the Zulip development environment](../development/setup-vagrant.html#step-4-developing), ignoring the parts about `vagrant` (since you're not using it). -## Installing directly on Windows 10 (Experimental) +## Installing directly on Windows 10 (experimental) We will be using Microsoft's new feature [WSL 2](https://docs.microsoft.com/en-us/windows/wsl/wsl2-about) for diff --git a/docs/development/setup-vagrant.md b/docs/development/setup-vagrant.md index 61d48de8d3..a999ca1beb 100644 --- a/docs/development/setup-vagrant.md +++ b/docs/development/setup-vagrant.md @@ -12,18 +12,18 @@ all related services will run. Contents: * [Requirements](#requirements) * [Step 0: Set up Git & GitHub](#step-0-set-up-git-github) -* [Step 1: Install Prerequisites](#step-1-install-prerequisites) +* [Step 1: Install prerequisites](#step-1-install-prerequisites) * [Step 2: Get Zulip code](#step-2-get-zulip-code) * [Step 3: Start the development environment](#step-3-start-the-development-environment) * [Step 4: Developing](#step-4-developing) -* [Troubleshooting and Common Errors](#troubleshooting-and-common-errors) +* [Troubleshooting and common errors](#troubleshooting-and-common-errors) * [Specifying an Ubuntu mirror](#specifying-an-ubuntu-mirror) * [Specifying a proxy](#specifying-a-proxy) * [Customizing CPU and RAM allocation](#customizing-cpu-and-ram-allocation) **If you encounter errors installing the Zulip development -environment,** check [Troubleshooting and Common -Errors](#troubleshooting-and-common-errors). If that doesn't help, +environment,** check [troubleshooting and common +errors](#troubleshooting-and-common-errors). If that doesn't help, please visit [#provision help](https://chat.zulip.org/#narrow/stream/21-provision-help) in the [Zulip development community @@ -63,13 +63,13 @@ docs. You can skip this step if you already have Git, GitHub, and SSH access to GitHub working on your machine. -Follow our [Git Guide][set-up-git] in order to install Git, set up a +Follow our [Git guide][set-up-git] in order to install Git, set up a GitHub account, create an SSH key to access code on GitHub efficiently, etc. Be sure to create an ssh key and add it to your GitHub account using [these instructions](https://help.github.com/en/articles/generating-an-ssh-key). -### Step 1: Install Prerequisites +### Step 1: Install prerequisites Jump to: @@ -87,7 +87,7 @@ Jump to: Fusion][vmware-fusion-dl] with the [VMWare Fusion Vagrant plugin][vagrant-vmware-fusion-dl].) -Now you are ready for [Step 2: Get Zulip Code.](#step-2-get-zulip-code). +Now you are ready for [Step 2: Get Zulip code](#step-2-get-zulip-code). #### Ubuntu @@ -142,7 +142,7 @@ sudo systemctl enable docker sudo systemctl start docker ``` -Now you are ready for [Step 2: Get Zulip Code.](#step-2-get-zulip-code) +Now you are ready for [Step 2: Get Zulip code](#step-2-get-zulip-code). #### Debian @@ -200,7 +200,7 @@ true ``` If you see `true`, you are ready for [Step 2: Get Zulip -Code.](#step-2-get-zulip-code) +code](#step-2-get-zulip-code). Otherwise, if the above command prints `false` or nothing at all, then symlinks have not been enabled. @@ -223,7 +223,7 @@ $ echo $CYGWIN winsymlinks:native ``` -Now you are ready for [Step 2: Get Zulip Code.](#step-2-get-zulip-code) +Now you are ready for [Step 2: Get Zulip code](#step-2-get-zulip-code). (Note: The **GitHub Desktop client** for Windows has a bug where it will automatically set `git config core.symlink false` on a repository @@ -232,7 +232,7 @@ development environment, because we use symbolic links. For that reason, we recommend avoiding using GitHub Desktop client to clone projects and to instead follow these instructions exactly.) -### Step 2: Get Zulip Code +### Step 2: Get Zulip code 1. In your browser, visit and click the `fork` button. You will need to be logged in to GitHub to @@ -268,7 +268,7 @@ Checking out files: 100% (1912/1912), done.` ``` Now you are ready for [Step 3: Start the development -environment.](#step-3-start-the-development-environment) +environment](#step-3-start-the-development-environment). ### Step 3: Start the development environment @@ -392,7 +392,7 @@ should see something like: 2016-05-04 18:21:57,819 INFO 127.0.0.1 GET 200 209ms (db: 7ms/2q) /login/ (unauth@zulip via ?) ``` -Now you're ready for [Step 4: Developing.](#step-4-developing) +Now you're ready for [Step 4: Developing](#step-4-developing). ### Step 4: Developing @@ -424,10 +424,10 @@ there. See [Logging](../subsystems/logging.md) for further details on the run-dev.py console output. -#### Committing and pushing changes with git +#### Committing and pushing changes with Git -When you're ready to commit or push changes via git, you will do this by -running git commands in Terminal (macOS/Ubuntu) or Git BASH (Windows) in the +When you're ready to commit or push changes via Git, you will do this by +running Git commands in Terminal (macOS/Ubuntu) or Git BASH (Windows) in the directory where you cloned Zulip on your main machine. If you're new to working with Git/GitHub, check out our [Git & GitHub @@ -528,7 +528,7 @@ $ vagrant ssh $ ./tools/run-dev.py ``` -### Next Steps +### Next steps Next, read the following to learn more about developing for Zulip: @@ -538,7 +538,7 @@ Next, read the following to learn more about developing for Zulip: run the full test suite against any branches you push to your fork, which can help you optimize your development workflow). -### Troubleshooting and Common Errors +### Troubleshooting and common errors Below you'll find a list of common errors and their solutions. Most issues are resolved by just provisioning again (by running diff --git a/docs/development/using.md b/docs/development/using.md index 95be144bf7..beaa3ec041 100644 --- a/docs/development/using.md +++ b/docs/development/using.md @@ -1,4 +1,4 @@ -Using the Development Environment +Using the development environment ================================= This page describes the basic edit/refresh workflows for working with diff --git a/docs/documentation/index.rst b/docs/documentation/index.rst index 8e2d7d3385..9bb3fe9f7c 100644 --- a/docs/documentation/index.rst +++ b/docs/documentation/index.rst @@ -1,5 +1,5 @@ ##################### -Writing Documentation +Writing documentation ##################### .. toctree:: diff --git a/docs/documentation/user.md b/docs/documentation/user.md index 7445c520ac..ef4c2ce49f 100644 --- a/docs/documentation/user.md +++ b/docs/documentation/user.md @@ -230,7 +230,7 @@ All tips/warnings should appear inside tip/warning blocks. There should be only one tip/warning inside each block, and they usually should be formatted as a continuation of a numbered step. -### Tab Switcher +### Tab switcher Our Markdown processor supports easily creating a tab switcher widget design to easily show the instructions for different diff --git a/docs/git/cheat-sheet.md b/docs/git/cheat-sheet.md index 086e5ed567..18b2486ad7 100644 --- a/docs/git/cheat-sheet.md +++ b/docs/git/cheat-sheet.md @@ -1,8 +1,8 @@ -# Git Cheat Sheet +# Git cheat sheet See also [fixing commits][fix-commit] -## Common Commands +## Common commands - add - `git add foo.py` @@ -53,7 +53,7 @@ See also [fixing commits][fix-commit] - status - `git status` -## Detailed Cheat Sheet +## Detailed cheat sheet - add - `git add foo.py`: add `foo.py` to the staging area diff --git a/docs/git/fixing-commits.md b/docs/git/fixing-commits.md index 7338e01e5f..40a2880e84 100644 --- a/docs/git/fixing-commits.md +++ b/docs/git/fixing-commits.md @@ -1,4 +1,4 @@ -# Fixing Commits +# Fixing commits This is mostly from [here](https://help.github.com/en/articles/changing-a-commit-message#rewriting-the-most-recent-commit-message). diff --git a/docs/git/index.rst b/docs/git/index.rst index 67517d3856..6853d8b19a 100644 --- a/docs/git/index.rst +++ b/docs/git/index.rst @@ -1,21 +1,21 @@ ######### -Git Guide +Git guide ######### .. toctree:: :maxdepth: 3 - Quick Start + Quick start Set up Git - Zulip-specific-tools + Zulip-specific tools How Git is different Important Git terms Get Zulip code Working copies Using Git as you work - Pull Requests + Pull requests Collaborate Fixing commits Reviewing changes Get and stay out of trouble - Git Cheat Sheet + Git cheat sheet diff --git a/docs/git/overview.md b/docs/git/overview.md index bbbdcb7aef..c06d255436 100644 --- a/docs/git/overview.md +++ b/docs/git/overview.md @@ -1,4 +1,4 @@ -# Quick start: How Zulip uses Git and GitHub +# Quick start: how Zulip uses Git and GitHub This quick start provides a brief overview of how Zulip uses Git and GitHub. diff --git a/docs/git/the-git-difference.md b/docs/git/the-git-difference.md index 53441e3408..304eb7f423 100644 --- a/docs/git/the-git-difference.md +++ b/docs/git/the-git-difference.md @@ -8,14 +8,14 @@ from *Pro Git* by Scott Chacon and Ben Straub. Here are the top things to know: -- **Git works on snapshots:** Unlike other version control systems (e.g., +- **Git works on snapshots.** Unlike other version control systems (e.g., Subversion, Perforce, Bazaar), which track files and changes to those files made over time, Git tracks *snapshots* of your project. Each time you commit or otherwise make a change to your repository, Git takes a snapshot of your project and stores a reference to that snapshot. If a file hasn't changed, Git creates a link to the identical file rather than storing it again. -- **Most Git operations are local:** Git is a distributed version control +- **Most Git operations are local.** Git is a distributed version control system, so once you've cloned a repository, you have a complete copy of that repository's *entire history*. Staging, committing, branching, and browsing history are all things you can do locally without network access and without @@ -56,7 +56,7 @@ Here are the top things to know: changes but have not yet been marked for inclusion in the next commit; they have not been added to the index. -- **Git commit workflow is as follows:** Edit files in your *working tree*. Add +- **Git commit workflow is as follows.** Edit files in your *working tree*. Add to the *index* (that is *stage*) with `git add`. *Commit* to the HEAD of the current branch with `git commit`. diff --git a/docs/git/working-copies.md b/docs/git/working-copies.md index d31a2f4c86..a8cf00cb53 100644 --- a/docs/git/working-copies.md +++ b/docs/git/working-copies.md @@ -41,7 +41,7 @@ names. - **origin**: This is your fork. - **upstream**: This is the official Zulip repo. -## Relevant git commands +## Relevant Git commands The following commands are useful for moving commits between working copies: diff --git a/docs/git/zulip-tools.md b/docs/git/zulip-tools.md index 646a8d33ff..036b6441ea 100644 --- a/docs/git/zulip-tools.md +++ b/docs/git/zulip-tools.md @@ -3,7 +3,7 @@ This article documents several useful tools that can save you a lot of time when working with Git on the Zulip project. -## Set up git repo script +## Set up Git repo script **Extremely useful**. In the `tools` directory of [zulip/zulip][github-zulip-zulip] you'll find a bash script diff --git a/docs/index.rst b/docs/index.rst index baf3741109..2c3509dba6 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -32,14 +32,14 @@ installation `_ or `Contributing to Zulip Contents: * :ref:`Overview ` -* :ref:`Zulip in Production ` -* :ref:`Development Environment ` -* :ref:`Developer Tutorials ` -* :ref:`Git Guide ` -* :ref:`Code Contribution Guide ` -* :ref:`Code Testing ` -* :ref:`Subsystem Documentation ` -* :ref:`Writing Documentation ` +* :ref:`Zulip in production ` +* :ref:`Development environment ` +* :ref:`Developer tutorials ` +* :ref:`Git guide ` +* :ref:`Code contribution guide ` +* :ref:`Code testing ` +* :ref:`Subsystem documentation ` +* :ref:`Writing documentation ` * :ref:`Translating ` .. _overview: diff --git a/docs/overview/architecture-overview.md b/docs/overview/architecture-overview.md index 4ca10fd153..ce22b6a907 100644 --- a/docs/overview/architecture-overview.md +++ b/docs/overview/architecture-overview.md @@ -1,7 +1,7 @@ Zulip architectural overview ============================ -Key Codebases +Key codebases ------------- The main Zulip codebase is at . It diff --git a/docs/overview/changelog.md b/docs/overview/changelog.md index ca6ec3b785..6e0ecbad0d 100644 --- a/docs/overview/changelog.md +++ b/docs/overview/changelog.md @@ -1,4 +1,4 @@ -# Version History +# Version history All notable changes to the Zulip server are documented in this file. @@ -16,7 +16,7 @@ in bursts. - Redesigned the top navbar/search area to be much cleaner and show useful data like subscriber counts and stream descriptions in default views. -- Added a new "Recent Topics" widget, which lets one browse recent +- Added a new "recent topics" widget, which lets one browse recent and ongoing conversations at a glance. We expect this widget to replace "All messages" as the default view in Zulip in the next major release. diff --git a/docs/overview/directory-structure.md b/docs/overview/directory-structure.md index 31989759e9..a8024c0386 100644 --- a/docs/overview/directory-structure.md +++ b/docs/overview/directory-structure.md @@ -43,7 +43,7 @@ paths will be familiar to Django developers. ------------------------------------------------------------------- -### HTML Templates +### HTML templates See [our docs](../subsystems/html-css.md) for details on Zulip's templating systems. @@ -126,7 +126,7 @@ Django context (i.e. with database access). --------------------------------------------------------- -### API and Bots +### API and bots * See the [Zulip API repository](https://github.com/zulip/python-zulip-api). Zulip's Python API bindings, a number of Zulip integrations and @@ -163,7 +163,7 @@ This is used to deploy essentially all configuration in production. ----------------------------------------------------------------------- -### Jinja2 Compatibility Files +### Jinja2 compatibility files * `zproject/jinja2/__init__.py` Jinja2 environment. diff --git a/docs/overview/gsoc-ideas.md b/docs/overview/gsoc-ideas.md index 0cf9f6ed62..60eb3f0e32 100644 --- a/docs/overview/gsoc-ideas.md +++ b/docs/overview/gsoc-ideas.md @@ -518,7 +518,7 @@ we have enough strong applicants. well. You'll need to learn React Native as part of getting involved. There's tons of good online tutorials, courses, etc. -### Electron Desktop app +### Electron desktop app Code: [Our cross-platform desktop app written in JavaScript on Electron](https://github.com/zulip/zulip-desktop). @@ -528,7 +528,7 @@ Experts: Akash Nimare, Abhighyan Khaund application](https://github.com/zulip/zulip-desktop). There's plenty of feature/UI work to do, but focus areas for us include things to (1) improve the release process for the app, using - automated testing, typescript, etc. and (2) polish the UI. Browse + automated testing, TypeScript, etc. and (2) polish the UI. Browse the open issues and get involved! **Skills required**: JavaScript experience, Electron experience. You diff --git a/docs/overview/roadmap.md b/docs/overview/roadmap.md index 99d5f82dac..731ebc69e3 100644 --- a/docs/overview/roadmap.md +++ b/docs/overview/roadmap.md @@ -1,4 +1,4 @@ -# The Zulip Roadmap +# The Zulip roadmap Zulip has received a great deal of interest and attention since it was released as free and open source software by Dropbox. That attention diff --git a/docs/production/index.rst b/docs/production/index.rst index fe554358a6..ad9bf3662b 100644 --- a/docs/production/index.rst +++ b/docs/production/index.rst @@ -1,5 +1,5 @@ ################### -Zulip in Production +Zulip in production ################### .. toctree:: diff --git a/docs/production/install-existing-server.md b/docs/production/install-existing-server.md index eb3d5d6718..39586c7729 100644 --- a/docs/production/install-existing-server.md +++ b/docs/production/install-existing-server.md @@ -2,7 +2,7 @@ :orphan: ``` -# Production Installation on Existing Server +# Production installation on existing server Here are some tips for installing the latest release Zulip on a production server running Debian or Ubuntu. The Zulip installation diff --git a/docs/production/install.md b/docs/production/install.md index 54955cccc0..dd4582f7fa 100644 --- a/docs/production/install.md +++ b/docs/production/install.md @@ -1,4 +1,4 @@ -# Production Installation +# Production installation You'll need an Ubuntu or Debian system that satisfies [the installation requirements](../production/requirements.md). Alternatively, diff --git a/docs/production/mobile-push-notifications.md b/docs/production/mobile-push-notifications.md index dd5a475191..30a59eebaa 100644 --- a/docs/production/mobile-push-notifications.md +++ b/docs/production/mobile-push-notifications.md @@ -157,10 +157,10 @@ Zulip open source project understand how many people are using Zulip, and help us allocate resources towards supporting self-hosted installations. -Our use of these statistics is governed by the same ToS and -Privacy Policy that covers the Mobile Push Notifications Service -itself. If your organization does not want to submit these -statistics, you can disable this feature at any time by setting +Our use of these statistics is governed by the same Terms of Service +and Privacy Policy that covers the Mobile Push Notifications Service +itself. If your organization does not want to submit these statistics, +you can disable this feature at any time by setting `SUBMIT_USAGE_STATISTICS=False` in `/etc/zulip/settings.py`. ## Sending push notifications directly from your server diff --git a/docs/production/multiple-organizations.md b/docs/production/multiple-organizations.md index c510af9e85..c985bdb0b8 100644 --- a/docs/production/multiple-organizations.md +++ b/docs/production/multiple-organizations.md @@ -50,7 +50,7 @@ For servers hosting a large number of organizations, like = True` in `/etc/zulip/settings.py` so that the homepage for the server is a copy of the Zulip homepage. -### SSL Certificates +### SSL certificates You'll need to install an SSL certificate valid for all the (sub)domains you're using your Zulip server with. You can get an SSL @@ -125,7 +125,7 @@ like "Notification Bot", "Welcome Bot", etc. exist. In the future, we're considering moving these bots to exist in every realm, so that we wouldn't need the system realm anymore. -### Migrating / Troubleshooting +### Migrating / troubleshooting If you're migrating from a configuration using the root domain to one with realms hosted on subdomains, be sure to clear cookies in any diff --git a/docs/production/postgres.md b/docs/production/postgres.md index 01b8a3687a..0673c88d2d 100644 --- a/docs/production/postgres.md +++ b/docs/production/postgres.md @@ -139,7 +139,7 @@ with this approach, since it does bypass some of the work that pg_ctlcluster does. -#### Postgres Vacuuming alerts +#### Postgres vacuuming alerts The `autovac_freeze` postgres alert from `check_postgres` is particularly important. This alert indicates that the age (in terms diff --git a/docs/production/requirements.md b/docs/production/requirements.md index 9122491ac4..19d1d5cbe7 100644 --- a/docs/production/requirements.md +++ b/docs/production/requirements.md @@ -1,4 +1,4 @@ -# Requirements and Scalability +# Requirements and scalability To run a Zulip server, you will need: * A dedicated machine or VM @@ -26,7 +26,7 @@ disregard our advice and use a server that hosts other services, we can't support you, but [we do have some notes on issues you'll encounter](install-existing-server.md). -#### Operating System +#### Operating system Ubuntu 20.04 Focal, 18.04 Bionic, and Debian 10 Buster are supported for running Zulip in production. 64-bit is recommended. We recommend @@ -48,7 +48,7 @@ sudo apt update https://help.ubuntu.com/community/Repositories/Ubuntu [enable-universe]: https://help.ubuntu.com/community/Repositories/CommandLine#Adding_the_Universe_and_Multiverse_Repositories -#### Hardware Specifications +#### Hardware specifications * CPU and Memory: For installations with 100+ users you'll need a minimum of **2 CPUs** and **4GB RAM**. For installations with fewer @@ -66,7 +66,7 @@ https://help.ubuntu.com/community/Repositories/Ubuntu See our [documentation on scalability](#scalability) below for advice on hardware requirements for larger organizations. -#### Network and Security Specifications +#### Network and security specifications * Incoming HTTPS access (usually port 443, though this is [configurable](../production/deployment.html#using-an-alternate-port)) @@ -96,7 +96,7 @@ on hardware requirements for larger organizations. ## Credentials needed -#### SSL Certificate +#### SSL certificate Your Zulip server will need an SSL certificate for the domain name it uses. For most Zulip servers, the recommended (and simplest) way to diff --git a/docs/production/security-model.md b/docs/production/security-model.md index d80a2d9374..310f0a5f44 100644 --- a/docs/production/security-model.md +++ b/docs/production/security-model.md @@ -1,4 +1,4 @@ -# Security Model +# Security model This section attempts to document the Zulip security model. It likely does not cover every issue; if there are details you're curious about, @@ -25,7 +25,7 @@ announcement). entire message history, and thus someone with control over the server has access to that data as well. -## Encryption and Authentication +## Encryption and authentication * Traffic between clients (web, desktop and mobile) and the Zulip is encrypted using HTTPS. By default, all Zulip services talk to each @@ -90,7 +90,7 @@ strength allowed is controlled by two settings in [zxcvbn-paper]: https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_wheeler.pdf [Bon12]: http://ieeexplore.ieee.org/document/6234435/ -## Messages and History +## Messages and history * Zulip message content is rendered using a specialized Markdown parser which escapes content to protect against cross-site scripting @@ -132,7 +132,7 @@ strength allowed is controlled by two settings in [Configuring message editing and deletion](https://zulip.com/help/configure-message-editing-and-deletion) for more details. -## Users and Bots +## Users and bots * There are several types of users in a Zulip organization: Organization Owners, Organization Administrators, Members (normal users), Guests, diff --git a/docs/production/settings.md b/docs/production/settings.md index 9b04ba821f..7fd16170bb 100644 --- a/docs/production/settings.md +++ b/docs/production/settings.md @@ -21,7 +21,7 @@ su zulip -c '/home/zulip/deployments/current/scripts/restart-server' ## Specific settings -### Domain and Email settings +### Domain and email settings `EXTERNAL_HOST`: the user-accessible domain name for your Zulip installation (i.e., what users will type in their web browser). This @@ -34,7 +34,7 @@ maintaining this installation and who will get support and error emails. If you passed `--email` to the installer, this will be prefilled with that value. -### Authentication Backends +### Authentication backends `AUTHENTICATION_BACKENDS`: Zulip supports a wide range of popular options for authenticating users to your server, including Google diff --git a/docs/production/ssl-certificates.md b/docs/production/ssl-certificates.md index 222327e408..d01e6ae9ed 100644 --- a/docs/production/ssl-certificates.md +++ b/docs/production/ssl-certificates.md @@ -1,4 +1,4 @@ -# Installing SSL Certificates +# Installing SSL certificates To keep your communications secure, Zulip runs over HTTPS only. You'll need an SSL/TLS certificate. diff --git a/docs/production/upgrade-or-modify.md b/docs/production/upgrade-or-modify.md index f40d07b1c2..b509926643 100644 --- a/docs/production/upgrade-or-modify.md +++ b/docs/production/upgrade-or-modify.md @@ -63,7 +63,7 @@ doing the final upgrade at off hours, or buying a support contract. See the [troubleshooting guide](#troubleshooting-and-rollback) if you run into any issues or need to roll back the upgrade. -## Upgrading from a git repository +## Upgrading from a Git repository Zulip supports upgrading a production installation to any commit in a Git repository, which is great for [running pre-release changes from @@ -489,7 +489,7 @@ cd zulip git fetch --tags upstream git checkout acme-branch git rebase --onto 2.1.0 2.0.4 -# Fix any errors or merge conflicts; see Zulip's Git Guide for advice +# Fix any errors or merge conflicts; see Zulip's Git guide for advice # Use `git diff` to verify your changes are what you expect git diff 2.1.0 acme-branch diff --git a/docs/subsystems/analytics.md b/docs/subsystems/analytics.md index 989e1f1952..4662b801ca 100644 --- a/docs/subsystems/analytics.md +++ b/docs/subsystems/analytics.md @@ -123,7 +123,7 @@ efficient: year, most of whose values are 0. A related note is to be cautious about adding queries that are typically non-0 instead of being typically 0. -## Backend Testing +## Backend testing There are a few types of automated tests that are important for this sort of system: @@ -156,7 +156,7 @@ statistics, etc.). There is currently a reference implementation of a ## Analytics UI development and testing -### Setup and Testing +### Setup and testing The main testing approach for the /stats page UI is manual testing. For most UI testing, you can visit `/stats/realm/analytics` while diff --git a/docs/subsystems/conversion.md b/docs/subsystems/conversion.md index e351326b0b..2bed74bda7 100644 --- a/docs/subsystems/conversion.md +++ b/docs/subsystems/conversion.md @@ -61,11 +61,11 @@ Things that we still may need: We have a few major classes of data. They are listed below in the order that we process them in `do_export_realm()`: -#### Public Realm Data +#### Public realm data `Realm/RealmDomain/RealmEmoji/RealmFilter/DefaultStream`. -#### Cross Realm Data +#### Cross realm data `Client/zerver_userprofile_cross_realm` @@ -75,18 +75,18 @@ This includes `Client` and three bots. `UserProfile` or `Realm` (unless you somewhat painfully tie it back to users in a bottom-up fashion though other tables). -#### Disjoint User Data +#### Disjoint user data `UserProfile/UserActivity/UserActivityInterval/UserPresence`. -#### Recipient Data +#### Recipient data `Recipient/Stream/Subscription/Huddle`. These tables are tied back to users, but they introduce complications when you try to deal with multi-user subsets. -#### File-related Data +#### File-related data `Attachment` @@ -95,7 +95,7 @@ of `UserProfile`. Most importantly, of course, it requires us to grab files from S3. Finally, `Attachment`'s `m2m` relationship ties to `Message`. -#### Message Data +#### Message data `Message/UserMessage` @@ -116,13 +116,13 @@ process the data, which isn't surprising for a top-down approach.) The next section of the document talks about risk factors. -## Risk Mitigation +## Risk mitigation ### Generic considerations We have two major mechanisms for getting data: -##### Top Down +##### Top down Get realm data, then all users in realm, then all recipients, then all messages, etc. @@ -131,7 +131,7 @@ The problem with the top-down approach will be **filtering**. Also, if errors arise during top-down passes, it may be time consuming to re-run the processes. -##### Bottom Up +##### Bottom up Start with users, get their recipient data, etc. @@ -139,14 +139,14 @@ The problems with the bottom up approach will be **merging**. Also, if we run multiple bottom-up passes, there is the danger of duplicating some work, particularly on the message side of things. -### Approved Transfers +### Approved transfers We have not yet integrated the approved-transfer model, which tells us which users can be moved. ### Risk factors broken out by data categories -#### Message Data +#### Message data - models: `Message`/`UserMessage`. - assets: `messages-*.json`, subprocesses, partial files @@ -165,7 +165,7 @@ We currently have these measures in place for top-down processing: - messages are filtered by both sender and recipient -#### File Related Data +#### File related data - models: `Attachment` - assets: S3, `attachment.json`, `uploads-temp/`, image files in @@ -185,7 +185,7 @@ parts**: - At import time we have to populate the `m2m` table (but fortunately, this is pretty low risk in terms of breaking anything.) -#### Recipient Data +#### Recipient data - models: `Recipient/Stream/Subscription/Huddle` - assets: `realm.json`, `(user,stream,huddle)_(recipient,subscription)` @@ -219,7 +219,7 @@ Recommendation: We probably want to get a backup of all this data that is very simply bulk-exported from the entire DB, and we should obviously put it in a secure place. -#### Cross Realm Data +#### Cross realm data - models: `Client` - assets: `realm.json`, three bots (`notification`/`email`/`welcome`), `id_maps` @@ -245,7 +245,7 @@ example. As for possibly missing messages that the welcome bot and friends have sent in the past, I am not sure what our risk profile is there, but I imagine it is relatively low. -#### Disjoint User Data +#### Disjoint user data - models: `UserProfile/UserActivity/UserActivityInterval/UserPresence` - assets: `realm.json`, `password`, `api_key`, `avatar salt`, `id_maps` @@ -259,7 +259,7 @@ We have code in place to exclude `password` and `api_key` from `UserProfile` rows. The import process calls `set_unusable_password()`. -#### Public Realm Data +#### Public realm data - models: `Realm/RealmDomain/RealmEmoji/RealmFilter/DefaultStream` - asserts: `realm.json` diff --git a/docs/subsystems/events-system.md b/docs/subsystems/events-system.md index 9da8c96c7e..b5c654827b 100644 --- a/docs/subsystems/events-system.md +++ b/docs/subsystems/events-system.md @@ -1,4 +1,4 @@ -# Real-time Push and Events +# Real-time push and events Zulip's "events system" is the server-to-client push system that powers our real-time sync. This document explains how it works; to diff --git a/docs/subsystems/html-css.md b/docs/subsystems/html-css.md index ee7d8d7ccf..7bb41dd0b4 100644 --- a/docs/subsystems/html-css.md +++ b/docs/subsystems/html-css.md @@ -27,7 +27,7 @@ changes made in source files will immediately take effect in open browser windows, either by live-updating the CSS or reloading the browser window (following backend changes). -## CSS Style guidelines +## CSS style guidelines ### Avoid duplicated code @@ -147,7 +147,7 @@ relevant background as well. ### Primary build process Zulip's frontend is primarily JavaScript in the `static/js` directory; -we are working on migrating these to Typescript modules. Stylesheets +we are working on migrating these to TypeScript modules. Stylesheets are written in the Sass extension of CSS (with the scss syntax), they are converted from plain CSS, and we have yet to take full advantage of the features Sass offers. We use Webpack to transpile and build JS @@ -237,7 +237,7 @@ server is restarted, files are copied into that directory. without breaking the rendering of old messages (or doing a mass-rerender of old messages). -### CommonJS/Typescript modules +### CommonJS/TypeScript modules Webpack provides seamless interoperability between different module systems such as CommonJS, AMD and ES6. Our JS files are written in the @@ -257,7 +257,7 @@ analysis. TypeScript uses an ES6-like module system. Any declaration can be made public by adding the `export` keyword. Consuming variables, functions, etc exported from another module should be done with the `import` statement as oppose to accessing them from the -global `window` scope. Internally our typescript compiler is +global `window` scope. Internally our TypeScript compiler is configured to transpile TS to the ES6 module system. Read more about these module systems here: diff --git a/docs/subsystems/index.rst b/docs/subsystems/index.rst index ec341cb1c7..2cfe081683 100644 --- a/docs/subsystems/index.rst +++ b/docs/subsystems/index.rst @@ -1,5 +1,5 @@ ######################## -Subsystems Documentation +Subsystems documentation ######################## .. toctree:: diff --git a/docs/subsystems/input-pills.md b/docs/subsystems/input-pills.md index d2bef0f600..c3b7f7d87f 100644 --- a/docs/subsystems/input-pills.md +++ b/docs/subsystems/input-pills.md @@ -1,4 +1,4 @@ -# UI: Input Pills +# UI: input pills This is a high level and API explanation of the input pill interface in the frontend of the Zulip web application. @@ -15,7 +15,7 @@ A pill container should have the following markup: The pills will automatically be inserted in before the ".input" in order. -## Basic Usage +## Basic usage ```js var pill_containter = $("#input_container"); diff --git a/docs/subsystems/logging.md b/docs/subsystems/logging.md index df42946b5f..eb3b2212c1 100644 --- a/docs/subsystems/logging.md +++ b/docs/subsystems/logging.md @@ -1,4 +1,4 @@ -# Logging and Error reporting +# Logging and error reporting Having a good system for logging error reporting is essential to making a large project like Zulip successful. Without reliable error diff --git a/docs/subsystems/markdown.md b/docs/subsystems/markdown.md index 22c4a951ee..372fa589c7 100644 --- a/docs/subsystems/markdown.md +++ b/docs/subsystems/markdown.md @@ -196,7 +196,7 @@ and users are generally writing quickly. Zulip's Markdown strategy is based on the principles of giving users the power they need to express complicated ideas in a chat context while minimizing those two error rates. -## Zulip's Changes to Markdown +## Zulip's changes to Markdown Below, we document the changes that Zulip has against stock Python-Markdown; some of the features we modify / disable may already diff --git a/docs/subsystems/realms.md b/docs/subsystems/realms.md index 6d0476d462..cbdfd8927d 100644 --- a/docs/subsystems/realms.md +++ b/docs/subsystems/realms.md @@ -9,14 +9,14 @@ The [production docs on multiple realms](../production/multiple-organizations.md) are likely also relevant reading. -## Creating Realms +## Creating realms There are two main methods for creating realms. * Using unique link generator * Enabling open realm creation -#### Using Unique Link Generator +#### Using unique link generator ```bash ./manage.py generate_realm_creation_link @@ -28,10 +28,10 @@ after the creation of the realm. The link also expires if not used within 7 days. The expiration period can be changed by modifying `REALM_CREATION_LINK_VALIDITY_DAYS` in settings.py. -### Enabling Open Realm Creation +### Enabling open realm creation If you want anyone to be able to create new realms on your server, you -can enable Open Realm Creation. This will add a **Create new +can enable open realm creation. This will add a **Create new organization** link to your Zulip homepage footer, and anyone can create a new realm by visiting this link (**/new**). This feature is disabled by default in production instances, and can be @@ -55,7 +55,7 @@ releases had much less nice handling for subdomains. See our [docs on using subdomains](../production/multiple-organizations.md) for user-facing documentation on this. -### Working With Subdomains In Development Environment +### Working with subdomains in development environment By default, Linux does not provide a convenient way to use subdomains in your local development environment. To solve this problem, we use diff --git a/docs/subsystems/schema-migrations.md b/docs/subsystems/schema-migrations.md index 91c13a63a1..bf3248ea8b 100644 --- a/docs/subsystems/schema-migrations.md +++ b/docs/subsystems/schema-migrations.md @@ -1,4 +1,4 @@ -# Schema Migrations +# Schema migrations Zulip uses the [standard Django system for doing schema migrations](https://docs.djangoproject.com/en/1.10/topics/migrations/). diff --git a/docs/subsystems/sending-messages.md b/docs/subsystems/sending-messages.md index f7fe1c76de..6485e34bff 100644 --- a/docs/subsystems/sending-messages.md +++ b/docs/subsystems/sending-messages.md @@ -284,7 +284,7 @@ of about 1 second per 2000 users subscribed to receive the message. While these delays may not be immediately obvious to users (Zulip, like many other chat applications, [local echoes](../subsystems/markdown.md) messages that a user sends -as soon as the user hits “send”), latency beyond a second or two +as soon as the user hits “Send”), latency beyond a second or two significantly impacts the feeling of interactivity in a chat experience (i.e. it feels like everyone takes a long time to reply to even simple questions). diff --git a/docs/subsystems/widgets.md b/docs/subsystems/widgets.md index 86d28c2fcb..5bf8392ef6 100644 --- a/docs/subsystems/widgets.md +++ b/docs/subsystems/widgets.md @@ -231,7 +231,7 @@ but you don't want to have to modify the Zulip server codebase to turn on those features. This is where our "zform" architecture comes to the rescue. -## zform (Trivia Quiz bot) +## zform (trivia quiz bot) This section will describe our "zform" architecture. diff --git a/docs/testing/index.rst b/docs/testing/index.rst index 9543a64000..5929cbaa0e 100644 --- a/docs/testing/index.rst +++ b/docs/testing/index.rst @@ -1,5 +1,5 @@ ############ -Code Testing +Code testing ############ .. toctree:: diff --git a/docs/testing/linters.md b/docs/testing/linters.md index f4fc6c1408..bbb81d12c2 100644 --- a/docs/testing/linters.md +++ b/docs/testing/linters.md @@ -195,7 +195,7 @@ We use Puppet as our tool to manage configuration files, using puppet "manifests." To lint puppet manifests, we use the "parser validate" option of puppet. -#### HTML Templates +#### HTML templates Zulip uses two HTML templating systems: diff --git a/docs/testing/manual-testing.md b/docs/testing/manual-testing.md index 9ad579d98b..3addcb7835 100644 --- a/docs/testing/manual-testing.md +++ b/docs/testing/manual-testing.md @@ -11,7 +11,7 @@ This doc assumes you know how to set up a local development server and open the Zulip app in the browser. It also assumes a basic knowledge of how to use Zulip. -## Basic Stuff ## +## Basic stuff ## When testing Zulip manually, here are things to focus on: @@ -453,7 +453,7 @@ Test per-stream options: messages view - Verify stream subscriber counts in the main stream view -### User Settings ### +### User settings ### You can modify per-user settings by choosing "Settings" in the gear menu. Do these tasks as Cordelia. @@ -492,7 +492,7 @@ Do these tasks as Cordelia. - Turn on/off "Enable desktop notifications for new streams" and test. (We may eliminate this option soon.) -### Keyboard Shortcuts ### +### Keyboard shortcuts ### We mostly test keyboard shortcuts as part of other tasks. diff --git a/docs/testing/mypy.md b/docs/testing/mypy.md index 3b00783168..f5ce5662f6 100644 --- a/docs/testing/mypy.md +++ b/docs/testing/mypy.md @@ -87,7 +87,7 @@ an `Any` or `# type: ignore[code]` so you're not blocked waiting for help, add a `# TODO: ` comment so it doesn't get forgotten in code review, and ask for help in chat.zulip.org. -## mypy stubs for third-party modules. +## Mypy stubs for third-party modules For the Python standard library and some popular third-party modules, the [typeshed project](https://github.com/python/typeshed) has diff --git a/docs/testing/philosophy.md b/docs/testing/philosophy.md index a3f75e8657..7326f85fae 100644 --- a/docs/testing/philosophy.md +++ b/docs/testing/philosophy.md @@ -1,4 +1,4 @@ -# Testing Philosophy +# Testing philosophy Zulip's automated tests are a huge part of what makes the project able to make progress. This page records some of the key principles behind @@ -195,4 +195,3 @@ these tests are defense in depth; the main way we prevent invalid access to streams is not offering developers a way to get a Stream object in server code except as mediated through these security check functions. - diff --git a/docs/testing/testing-with-casper.md b/docs/testing/testing-with-casper.md index cdad57603c..cc694492f1 100644 --- a/docs/testing/testing-with-casper.md +++ b/docs/testing/testing-with-casper.md @@ -1,4 +1,4 @@ -# Web frontend black-box casperjs tests +# Web frontend black-box CasperJS tests These live in `frontend_tests/casper_tests/`. This is a "black box" integration test; we load the frontend in a real (headless) browser, @@ -17,7 +17,7 @@ You can run the casper tests with `./tools/test-js-with-casper` or as `./tools/test-js-with-casper 06-settings.js` to run a single test file from `frontend_tests/casper_tests/`. -## Debugging Casper.JS +## Debugging CasperJS When a Casper test fails, the first things to check (before you bother trying to use the Casper debugging tools are: @@ -46,7 +46,7 @@ can sometimes give insight into exactly what's happening. ### Remote debugging -Casper.js (via PhantomJS) has support for remote debugging. However, it +CasperJS (via PhantomJS) has support for remote debugging. However, it is not perfect. Here are some steps for using it and gotchas you might want to know; you'll likely also want to read the section on writing tests (below) if you get stuck, since the advice on how to write diff --git a/docs/testing/testing-with-django.md b/docs/testing/testing-with-django.md index 68b8edd75c..d53993b5ca 100644 --- a/docs/testing/testing-with-django.md +++ b/docs/testing/testing-with-django.md @@ -298,7 +298,7 @@ A common use is to prevent a call to a third-party service from using the Internet; `git grep mock.patch | grep requests` is a good way to find several examples of doing this. -## Zulip Testing Philosophy +## Zulip testing philosophy If there is one word to describe Zulip's philosophy for writing tests, it is probably "flexible." (Hopefully "thorough" goes without saying.) diff --git a/docs/translating/german.md b/docs/translating/german.md index b68c475afc..1386dc7b9a 100644 --- a/docs/translating/german.md +++ b/docs/translating/german.md @@ -7,7 +7,7 @@ following general translation rules. ## Rules -### Formal or Informal? +### Formal or informal? **Informal.** @@ -114,7 +114,7 @@ to get a feeling for the vocabulary. * Balance common verbs and nouns with specific IT-related translations of English terms - this can be tricky, try to check how other resources -were translated (e.g. GMail, Microsoft websites, Facebook) to decide +were translated (e.g. Gmail, Microsoft websites, Facebook) to decide what wouldn't sound awkward / rude in German. * For additional translation information, feel free to check out @@ -144,7 +144,7 @@ Since we try to avoid concatenating words whenever possible, don't use We go with "markiert" instead of "gesternt" (which is not even a proper German word) here, since it comes closer to the original meaning of "starred". -*"Markierte Nachricht" (GMail, Transifex), +*"Markierte Nachricht" (Gmail, Transifex), "Nachricht mit Stern" (WhatsApp)* *"Bereich" (Transifex), "Community" (Google+)* diff --git a/docs/translating/hindi.md b/docs/translating/hindi.md index 4e5013e006..52722d47e5 100644 --- a/docs/translating/hindi.md +++ b/docs/translating/hindi.md @@ -16,7 +16,7 @@ Use informal Hindi for translation: * Balance common verbs and nouns with specific IT-related translations of English terms - this can be tricky, try to check how other - resources were translated (e.g. GMail, Microsoft websites, Facebook) + resources were translated (e.g. Gmail, Microsoft websites, Facebook) to decide what wouldn't sound awkward / rude in Hindi. Some terms are very tricky to translate, so be sure to communicate diff --git a/docs/translating/internationalization.md b/docs/translating/internationalization.md index 3604be380f..1cd1055b45 100644 --- a/docs/translating/internationalization.md +++ b/docs/translating/internationalization.md @@ -1,4 +1,4 @@ -# Internationalization for Developers +# Internationalization for developers Zulip, like many popular applications, is designed with internationalization (i18n) in mind, which means users can fully use diff --git a/docs/translating/polish.md b/docs/translating/polish.md index 5871d5e032..89f786a5ab 100644 --- a/docs/translating/polish.md +++ b/docs/translating/polish.md @@ -30,7 +30,7 @@ Use semi-formal Polish for translation, some specifics: * Balance common verbs and nouns with specific IT-related translations of English terms - this can be tricky, try to check how other - resources were translated (e.g. GMail, Microsoft websites, Facebook) + resources were translated (e.g. Gmail, Microsoft websites, Facebook) to decide what wouldn't sound awkward in Polish. Some terms are very tricky to translate, so be sure to communicate diff --git a/docs/translating/russian.md b/docs/translating/russian.md index fc781fbd4f..4c8de9018c 100644 --- a/docs/translating/russian.md +++ b/docs/translating/russian.md @@ -1,4 +1,4 @@ -# Russian Translation Style Guide +# Russian translation style guide Вот некоторые правила, которых стоит придерживаться для поддержания качества перевода. Они продиктованы опытом - собственным и коллег, diff --git a/docs/translating/spanish.md b/docs/translating/spanish.md index 44fff2910e..189d87dc9c 100644 --- a/docs/translating/spanish.md +++ b/docs/translating/spanish.md @@ -1,4 +1,4 @@ -# Spanish Translation Style Guide +# Spanish translation style guide Use informal Spanish for translation: @@ -20,7 +20,7 @@ Use informal Spanish for translation: * Balance common verbs and nouns with specific IT-related translations of English terms - this can be tricky, try to check how other - resources were translated (e.g. GMail, Microsoft websites, Facebook) + resources were translated (e.g. Gmail, Microsoft websites, Facebook) to decide what wouldn't sound awkward / rude in Spanish. * Latest RAE rule ("solo" should diff --git a/docs/translating/translating.md b/docs/translating/translating.md index 62c1850b07..d0d0fbee70 100644 --- a/docs/translating/translating.md +++ b/docs/translating/translating.md @@ -1,4 +1,4 @@ -# Translation Guidelines +# Translation guidelines Zulip's has full support for Unicode (and partial support for RTL languages), so you can use your preferred language everywhere in diff --git a/docs/tutorials/index.rst b/docs/tutorials/index.rst index 1899e73a55..5f7e10ef31 100644 --- a/docs/tutorials/index.rst +++ b/docs/tutorials/index.rst @@ -1,5 +1,5 @@ ################### -Developer Tutorials +Developer tutorials ################### .. toctree:: diff --git a/docs/tutorials/life-of-a-request.md b/docs/tutorials/life-of-a-request.md index 118f5077ba..9a5c83b494 100644 --- a/docs/tutorials/life-of-a-request.md +++ b/docs/tutorials/life-of-a-request.md @@ -1,4 +1,4 @@ -# Life of a Request +# Life of a request It can sometimes be confusing to figure out how to write a new feature, or debug an existing one. Let us try to follow a request through the @@ -37,7 +37,7 @@ location /static/ { } ``` -## Nginx routes other requests [between django and tornado][tornado-django] +## Nginx routes other requests [between Django and Tornado][tornado-django] [tornado-django]: ../overview/architecture-overview.html?highlight=tornado#django-and-tornado diff --git a/docs/tutorials/new-feature-tutorial.md b/docs/tutorials/new-feature-tutorial.md index 9d7464f4f9..84def5565e 100644 --- a/docs/tutorials/new-feature-tutorial.md +++ b/docs/tutorials/new-feature-tutorial.md @@ -26,7 +26,7 @@ organized. And finally, the [message sending](../subsystems/sending-messages.md) documentation on the additional complexity involved in sending messages. -## General Process +## General process ### Files impacted @@ -50,12 +50,12 @@ organization in Zulip). The following files are involved in the process: (ex: pushing an organization change to other open browsers and updating the application's state). -**Backend Testing** +**Backend testing** - `zerver/tests/test_realm.py`: end-to-end API tests for updating realm settings. - `zerver/tests/test_events.py`: tests for possible race bugs in the zerver/lib/events.py implementation. -**Frontend Testing** +**Frontend testing** - `frontend_tests/casper_tests/10-admin.js`: end-to-end tests for the organization admin settings pages. - `frontend_tests/node_tests/dispatch.js` @@ -134,7 +134,7 @@ or JavaScript/TypeScript code that generates user-facing strings, be sure to **Testing:** There are two types of frontend tests: node-based unit tests and blackbox end-to-end tests. The blackbox tests are run in a -headless browser using Casper.js and are located in +headless browser using CasperJS and are located in `frontend_tests/casper_tests/`. The unit tests use Node's `assert` module are located in `frontend_tests/node_tests/`. For more information on writing and running tests, see the @@ -461,7 +461,7 @@ with the new value. E.g., for `authentication_methods`, we created This completes the backend implementation. A great next step is to write automated backend tests for your new feature. -### Backend Tests +### Backend tests To test the new setting syncs correctly with the `property_types` framework, one usually just needs to add a line in each of @@ -637,7 +637,7 @@ Here are few important cases you should consider when testing your changes: buttons, so changes and saving in one subsection shouldn't affect the others. -### Front End Tests +### Front end tests A great next step is to write front end tests. There are two types of frontend tests: [node-based unit tests](../testing/testing-with-node.md) and diff --git a/docs/tutorials/reading-list.md b/docs/tutorials/reading-list.md index 0d8df1cee0..b7399b55c3 100644 --- a/docs/tutorials/reading-list.md +++ b/docs/tutorials/reading-list.md @@ -154,13 +154,13 @@ Some titles have been shortened for organizational purposes. [TypeScript Declaration Files Introduction]: https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html -## Git/Version Control Systems (VCS) +## Git/version control systems (VCS) You may want to take a look first at our [Git and GitHub guide][]. [Git and GitHub guide]: ../git/index.md -## Computer Science/Algorithms +## Computer science/algorithms *Blog* - [GeeksforGeeks][] @@ -216,7 +216,7 @@ You may want to take a look first at our [Git and GitHub guide][]. [List of good projects for new contributors]: https://github.com/MunGell/awesome-for-beginners -## Competitions/Camps +## Competitions/camps [CodeForces][] @@ -226,7 +226,7 @@ You may want to take a look first at our [Git and GitHub guide][]. [Free Code Camp]: https://www.freecodecamp.com -## Massive Open Online Courses (MOOC) Platforms +## Massive open online courses (MOOC) platforms [Coursera][] diff --git a/docs/tutorials/shell-tips.md b/docs/tutorials/shell-tips.md index 1b85ffff74..4c905cea02 100644 --- a/docs/tutorials/shell-tips.md +++ b/docs/tutorials/shell-tips.md @@ -340,7 +340,7 @@ extremely useful and even easy to use (at least the 99% of the time). To learn more about how to use it, read [our docs](../git/index.md) on Git and -Github. +GitHub. [This cheatsheet][git-cheat-detailed] will be useful in your journey, as well. diff --git a/frontend_tests/casper_tests/04-compose.js b/frontend_tests/casper_tests/04-compose.js index 71114159fb..e398e02c44 100644 --- a/frontend_tests/casper_tests/04-compose.js +++ b/frontend_tests/casper_tests/04-compose.js @@ -222,7 +222,7 @@ casper.then(function () { casper.fill( 'form[action^="/json/messages"]', { - content: "**Markdown Preview** >> Test for Markdown preview", + content: "**Markdown preview** >> Test for Markdown preview", }, false ); @@ -235,7 +235,7 @@ casper.then(function () { casper.waitForSelectorTextChange("#preview_content", function () { casper.test.assertEquals( casper.getHTML("#preview_content"), - "

Markdown Preview >> Test for Markdown preview

", + "

Markdown preview >> Test for Markdown preview

", "Check Markdown is previewed properly" ); }); diff --git a/frontend_tests/node_tests/hotkey.js b/frontend_tests/node_tests/hotkey.js index ffa35bea2f..eb3789c8cb 100644 --- a/frontend_tests/node_tests/hotkey.js +++ b/frontend_tests/node_tests/hotkey.js @@ -286,7 +286,7 @@ run_test("basic_chars", () => { overlays.is_active = return_false; assert_mapping("d", "drafts.launch"); - // Test opening and closing of Recent Topics + // Test opening and closing of recent topics overlays.is_active = return_true; overlays.recent_topics_open = return_true; assert_mapping("t", "overlays.close_overlay"); diff --git a/frontend_tests/puppeteer_tests/03-compose.js b/frontend_tests/puppeteer_tests/03-compose.js index 603d96f86b..d5c844520c 100644 --- a/frontend_tests/puppeteer_tests/03-compose.js +++ b/frontend_tests/puppeteer_tests/03-compose.js @@ -192,12 +192,12 @@ async function test_markdown_rendering(page) { "", ); await common.fill_form(page, 'form[action^="/json/messages"]', { - content: "**Markdown Preview** >> Test for Markdown preview", + content: "**Markdown preview** >> Test for Markdown preview", }); await page.click("#markdown_preview"); await page.waitForSelector("#preview_content", {visible: true}); const expected_markdown_html = - "

Markdown Preview >> Test for Markdown preview

"; + "

Markdown preview >> Test for Markdown preview

"; await page.waitForFunction(() => $("#preview_content").html() !== ""); markdown_preview_element = await page.$("#preview_content"); assert.equal( diff --git a/static/js/input_pill.js b/static/js/input_pill.js index 0b47eda3de..a09f47feed 100644 --- a/static/js/input_pill.js +++ b/static/js/input_pill.js @@ -316,7 +316,7 @@ exports.create = function (opts) { const id = $pill.data("id"); funcs.removePill(id); $next.trigger("focus"); - // the "backspace" key in FireFox will go back a page if you do + // the "backspace" key in Firefox will go back a page if you do // not prevent it. e.preventDefault(); } diff --git a/static/js/message_viewport.js b/static/js/message_viewport.js index 58240c8257..5bf204ca47 100644 --- a/static/js/message_viewport.js +++ b/static/js/message_viewport.js @@ -336,7 +336,7 @@ exports.user_initiated_animate_scroll = function (scroll_amount) { exports.recenter_view = function (message, opts) { opts = opts || {}; - // Barnowl-style recentering: if the pointer is too high, move it to + // BarnOwl-style recentering: if the pointer is too high, move it to // the 1/2 marks. If the pointer is too low, move it to the 1/7 mark. // See keep_pointer_in_view() for related logic to keep the pointer onscreen. diff --git a/templates/corporate/zephyr-mirror.html b/templates/corporate/zephyr-mirror.html index 7952015f34..54cec7df54 100644 --- a/templates/corporate/zephyr-mirror.html +++ b/templates/corporate/zephyr-mirror.html @@ -30,16 +30,16 @@ mirror script instead of using Webathena.

web application will warn you if the Zephyr mirroring script is not running.

-

If you already have Barnowl running in screen/tmux somewhere, +

If you already have BarnOwl running in screen/tmux somewhere, you can just run:

/mit/tabbott/zulip/zephyr_mirror.py

inside that screen session.

-

Mirroring without a Barnowl session

+

Mirroring without a BarnOwl session

-

If you are not already running a screen/tmux for Barnowl, you +

If you are not already running a screen/tmux for BarnOwl, you can setup a screen session to run the Zephyr mirroring script by running the following on a dialup such as linerva.mit.edu:

diff --git a/templates/corporate/zephyr.html b/templates/corporate/zephyr.html index 5b998d86e4..034f3ddbcd 100644 --- a/templates/corporate/zephyr.html +++ b/templates/corporate/zephyr.html @@ -42,7 +42,7 @@ /mit/tabbott/zulip/zephyr_mirror.py --sync-subscriptions

NOTE: Zulip supports several ways to control what messages you want to read - right now, but Zulip does not yet have a direct equivalent to Barnowl filters. + right now, but Zulip does not yet have a direct equivalent to BarnOwl filters. If you have more subscriptions than you generally read, we recommend that you use Zulip's "Mute" option to hide those subscriptions from your home view that you less commonly read. You can still easily access those streams diff --git a/templates/zerver/help/allow-image-link-previews.md b/templates/zerver/help/allow-image-link-previews.md index db5990f085..596f9ee2dd 100644 --- a/templates/zerver/help/allow-image-link-previews.md +++ b/templates/zerver/help/allow-image-link-previews.md @@ -12,9 +12,9 @@ images and/or website links. {settings_tab|organization-settings} -1. Under **Other Settings**, toggle **Show previews of uploaded and linked images**. +1. Under **Other settings**, toggle **Show previews of uploaded and linked images**. -1. Under **Other Settings**, toggle **Show previews of linked websites**. +1. Under **Other settings**, toggle **Show previews of linked websites**. {!save-changes.md!} diff --git a/templates/zerver/help/format-your-message-using-markdown.md b/templates/zerver/help/format-your-message-using-markdown.md index 8588a7d942..27a7227ed2 100644 --- a/templates/zerver/help/format-your-message-using-markdown.md +++ b/templates/zerver/help/format-your-message-using-markdown.md @@ -118,7 +118,7 @@ Organization administrators can also configure a default syntax highlighting language. In this configuration, one can use ````text` to display content without any syntax highlighting. -## Latex +## LaTeX ~~~ Inline: $$O(n^2)$$ diff --git a/templates/zerver/help/gdpr-compliance.md b/templates/zerver/help/gdpr-compliance.md index 62dfb2d8cb..3cb97ccfe6 100644 --- a/templates/zerver/help/gdpr-compliance.md +++ b/templates/zerver/help/gdpr-compliance.md @@ -1,4 +1,4 @@ -# GDPR Compliance +# GDPR compliance This page covers how Zulip interacts with the EU's landmark GDPR legislation; you can read the @@ -13,7 +13,7 @@ give them control over how their personal data is collected, processed, and used. The law applies to any company that collects or processes the data of European consumers. -## Controllers and Processors +## Controllers and processors There are two key relationships that are defined in the GDPR. As a customer of Zulip Cloud, you operate as the controller when using our @@ -35,7 +35,7 @@ personal data. These entities are commonly referred to as sub-processors. For example, Kandra Labs leverages cloud service providers like Amazon Web Services and Mailgun to host Zulip Cloud. -## How Zulip Supports GDPR Compliance +## How Zulip supports GDPR compliance We’re committed to the compliance of all parties including you, third-parties, and us. @@ -66,7 +66,7 @@ this page but not defined have the meaning set forth in Zulip's Terms of Service or superseding written agreement between Customer and Kandra Labs (the "Agreement"). -### Third Parties +### Third parties Zulip currently uses third party Subprocessors to provide infrastructure services, and to help us provide customer support and diff --git a/templates/zerver/help/high-contrast-mode.md b/templates/zerver/help/high-contrast-mode.md index 48f4aa860c..40c4308184 100644 --- a/templates/zerver/help/high-contrast-mode.md +++ b/templates/zerver/help/high-contrast-mode.md @@ -9,7 +9,7 @@ W3C's Web Content Accessibility Guidelines. 2. Under **Display settings**, select **High contrast mode**. -## Related Articles +## Related articles * [Accessibility in Zulip](https://zulip.readthedocs.io/en/latest/contributing/accessibility.html) * [View emoji as text](/help/view-emoji-as-text) diff --git a/templates/zerver/help/include/sidebar_index.md b/templates/zerver/help/include/sidebar_index.md index 301cb433f1..bee3ead6b1 100644 --- a/templates/zerver/help/include/sidebar_index.md +++ b/templates/zerver/help/include/sidebar_index.md @@ -115,7 +115,7 @@ * [Export your organization](/help/export-your-organization) * [Change organization URL](/help/change-organization-url) * [Deactivate your organization](/help/deactivate-your-organization) -* [GDPR Compliance](/help/gdpr-compliance) +* [GDPR compliance](/help/gdpr-compliance) ## Organization settings * [Restrict stream creation](/help/configure-who-can-create-streams) diff --git a/templates/zerver/help/index.md b/templates/zerver/help/index.md index 409d84a61c..aecc180583 100644 --- a/templates/zerver/help/index.md +++ b/templates/zerver/help/index.md @@ -1,4 +1,4 @@ -# Zulip User Documentation +# Zulip user documentation Zulip is a group chat app. Its most distinctive characteristic is that conversation within an organization is divided into “**streams**” diff --git a/templates/zerver/help/keyboard-shortcuts.md b/templates/zerver/help/keyboard-shortcuts.md index e7845ca7fe..6f6bae8564 100644 --- a/templates/zerver/help/keyboard-shortcuts.md +++ b/templates/zerver/help/keyboard-shortcuts.md @@ -137,10 +137,10 @@ title="thumbs up"/>**: `+` (including All messages), and don't contribute to unread counts. Read more about [muting topics](/help/mute-a-topic). -## Recent Topics +## Recent topics -* **View Recent Topics**: `t` -* **Hide Recent Topics**: `Esc` +* **View recent topics**: `t` +* **Hide recent topics**: `Esc` Keyboard navigation (e.g. arrow keys) works as expected. Use `Enter` to engage with elements. diff --git a/templates/zerver/help/mute-a-stream.md b/templates/zerver/help/mute-a-stream.md index a3c08193b4..9a3a355bca 100644 --- a/templates/zerver/help/mute-a-stream.md +++ b/templates/zerver/help/mute-a-stream.md @@ -32,6 +32,6 @@ Muted streams still appear in the left sidebar, though they are grayed out. {end_tabs} -## Related Articles +## Related articles * [Mute a topic](/help/mute-a-topic) diff --git a/templates/zerver/help/organize-the-streams-sidebar.md b/templates/zerver/help/organize-the-streams-sidebar.md index e5fd87a2e3..360ef5b28b 100644 --- a/templates/zerver/help/organize-the-streams-sidebar.md +++ b/templates/zerver/help/organize-the-streams-sidebar.md @@ -1,4 +1,4 @@ -# Organize the Streams sidebar +# Organize the streams sidebar At an organization level, we recommend starting with a few streams and growing organically, and doing a cleanup once every year or two to archive diff --git a/templates/zerver/help/restrict-profile-picture-changes.md b/templates/zerver/help/restrict-profile-picture-changes.md index fd6a6d9d5f..53ac2913dc 100644 --- a/templates/zerver/help/restrict-profile-picture-changes.md +++ b/templates/zerver/help/restrict-profile-picture-changes.md @@ -1,4 +1,4 @@ -# Restrict Profile picture change +# Restrict profile picture change {!admin-only.md!} diff --git a/templates/zerver/help/saml-authentication.md b/templates/zerver/help/saml-authentication.md index c2551266b0..9a52b04fbd 100644 --- a/templates/zerver/help/saml-authentication.md +++ b/templates/zerver/help/saml-authentication.md @@ -1,4 +1,4 @@ -# SAML Authentication +# SAML authentication Zulip supports using SAML authentication for Single Sign On, both when self-hosting or on the Zulip Cloud Plus plan. @@ -57,7 +57,7 @@ Zulip with various common SAML Identity Providers. * Optionally you can also send us an icon that should be shown on the button. 1. We will take care of the server-side setup and let you know as soon as it's ready. -## Related Articles +## Related articles * [SAML configuration][saml-readthedocs] for self-hosting. diff --git a/templates/zerver/help/zulip-in-a-terminal.md b/templates/zerver/help/zulip-in-a-terminal.md index 622b24c320..ac990d0d39 100644 --- a/templates/zerver/help/zulip-in-a-terminal.md +++ b/templates/zerver/help/zulip-in-a-terminal.md @@ -1,4 +1,4 @@ -# Zulip in a Terminal +# Zulip in a terminal At present, there are a few alpha-quality implementations of a terminal client for Zulip: @@ -8,9 +8,9 @@ terminal interface for Zulip using [Urwid](http://urwid.org). It is written in python and is being very actively developed; feedback and bug reports are very welcome! -* [Barnowl](https://github.com/aglasgall/barnowl/tree/zulip) is a +* [BarnOwl](https://github.com/aglasgall/barnowl/tree/zulip) is a multi-protocol terminal client for various chat systems, written in -Perl. [Barnowl itself](https://barnowl.mit.edu/) is very mature +Perl. [BarnOwl itself](https://barnowl.mit.edu/) is very mature software, and the Zulip integration has been used for a few years, but it isn't integrated into the mainline branch and needs work on documentation. diff --git a/templates/zerver/history.html b/templates/zerver/history.html index d4b27366a0..9a3d9cbaf0 100644 --- a/templates/zerver/history.html +++ b/templates/zerver/history.html @@ -35,7 +35,7 @@ that previously created Ksplice, software for live-patching a running Linux kernel. Zulip was inspired by - the Barnowl client for + the BarnOwl client for the Zephyr protocol, and the incredible community that Zephyr supported at MIT.

diff --git a/zerver/management/commands/send_custom_email.py b/zerver/management/commands/send_custom_email.py index dcf0763c31..c834939c24 100644 --- a/zerver/management/commands/send_custom_email.py +++ b/zerver/management/commands/send_custom_email.py @@ -17,7 +17,7 @@ class Command(ZulipBaseCommand): def add_arguments(self, parser: ArgumentParser) -> None: parser.add_argument('--entire-server', action="store_true", default=False, - help="Send to every user on the server. ") + help="Send to every user on the server.") parser.add_argument('--markdown-template-path', '--path', dest='markdown_template_path', required=True, diff --git a/zerver/migrations/0285_remove_realm_google_hangouts_domain.py b/zerver/migrations/0285_remove_realm_google_hangouts_domain.py index 8ad0822ae7..d185494086 100644 --- a/zerver/migrations/0285_remove_realm_google_hangouts_domain.py +++ b/zerver/migrations/0285_remove_realm_google_hangouts_domain.py @@ -18,7 +18,7 @@ VIDEO_CHAT_PROVIDERS = { def remove_google_hangouts_provider(apps: StateApps, schema_editor: DatabaseSchemaEditor) -> None: # We are removing the Google Hangout integration because Google has # removed the Hangouts brand. All the realms that used Hangouts as - # their video chat provided are now set to the default, jitsi. + # their video chat provided are now set to the default, Jitsi. Realm = apps.get_model('zerver', 'Realm') Realm.objects.filter(video_chat_provider=VIDEO_CHAT_PROVIDERS['google_hangouts']['id']).update( video_chat_provider=VIDEO_CHAT_PROVIDERS['jitsi_meet']['id'] diff --git a/zerver/templatetags/app_filters.py b/zerver/templatetags/app_filters.py index 201f739b1f..b44f8d5658 100644 --- a/zerver/templatetags/app_filters.py +++ b/zerver/templatetags/app_filters.py @@ -78,7 +78,7 @@ docs_without_macros = [ def render_markdown_path(markdown_file_path: str, context: Mapping[str, Any]={}, pure_markdown: bool=False) -> str: - """Given a path to a Markdown file, return the rendered html. + """Given a path to a Markdown file, return the rendered HTML. Note that this assumes that any HTML in the Markdown file is trusted; it is intended to be used for documentation, not user