diff --git a/tools/README.md b/tools/README.md
index fc0b7d74e4..fe3b9d5f33 100644
--- a/tools/README.md
+++ b/tools/README.md
@@ -4,5 +4,5 @@ Note that tools that are also useful in production belong in
`scripts/` or should be Django management commands.
For more details, see
-http://zulip.readthedocs.io/en/latest/overview/directory-structure.html.
+https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.
diff --git a/tools/check-frontend-i18n b/tools/check-frontend-i18n
index c27102bc25..fced2e8faf 100755
--- a/tools/check-frontend-i18n
+++ b/tools/check-frontend-i18n
@@ -37,16 +37,16 @@ if __name__ == '__main__':
data = json.load(f)
found = find_handlebars(list(data.keys()))
- if found:
- print(WARNING + "Translation strings contain handlebars:" + ENDC)
- print('\n'.join(found))
-
- print(WARNING +
- "See http://zulip.readthedocs.io/en/latest/translating/translating.html#frontend-translations "
- "on how you can insert variables in the frontend translatable "
- "strings." +
- ENDC)
- print(FAIL + "Failed!" + ENDC)
- sys.exit(1)
- else:
+ if not found:
sys.exit(0)
+
+ print(WARNING + "Translation strings contain handlebars:" + ENDC)
+ print('\n'.join(found))
+
+ print(WARNING +
+ "See https://zulip.readthedocs.io/en/latest/translating/translating.html#frontend-translations "
+ "on how you can insert variables in the frontend translatable "
+ "strings." +
+ ENDC)
+ print(FAIL + "Failed!" + ENDC)
+ sys.exit(1)
diff --git a/tools/droplets/README.md b/tools/droplets/README.md
index 2d06c40a61..9223ba475d 100644
--- a/tools/droplets/README.md
+++ b/tools/droplets/README.md
@@ -97,9 +97,9 @@ Your remote Zulip dev server has been created!
at http://.zulipdev.org:9991.
See [Developing
-remotely](http://zulip.readthedocs.io/en/latest/development/remote.html) for tips on
+remotely](https://zulip.readthedocs.io/en/latest/development/remote.html) for tips on
using the remote dev instance and [Git & GitHub
-Guide](http://zulip.readthedocs.io/en/latest/contributing/git-guide.html) to learn how to
+Guide](https://zulip.readthedocs.io/en/latest/contributing/git-guide.html) to learn how to
use Git with Zulip.
```
diff --git a/tools/droplets/create.py b/tools/droplets/create.py
index f8e93b77b1..07addffb2d 100644
--- a/tools/droplets/create.py
+++ b/tools/droplets/create.py
@@ -198,10 +198,10 @@ Your remote Zulip dev server has been created!
http://{0}.zulipdev.org:9991.
""".format(username))
- print("See [Developing remotely](http://zulip.readthedocs.io/en/latest/development/remote.html) "
+ print("See [Developing remotely](https://zulip.readthedocs.io/en/latest/development/remote.html) "
"for tips on using the remote dev instance and "
- "[Git & GitHub Guide](http://zulip.readthedocs.io/en/latest/contributing/git-guide.html) to learn "
- "how to use Git with Zulip.\n")
+ "[Git & GitHub Guide](https://zulip.readthedocs.io/en/latest/contributing/git-guide.html) "
+ "to learn how to use Git with Zulip.\n")
print("Note that this droplet will automatically be deleted after a month of inactivity. "
"If you are leaving Zulip for more than a few weeks, we recommend pushing all of your "
"active branches to GitHub.")
diff --git a/tools/lib/provision.py b/tools/lib/provision.py
index 784bc494c1..a2da714ddd 100755
--- a/tools/lib/provision.py
+++ b/tools/lib/provision.py
@@ -80,7 +80,7 @@ try:
except OSError as err:
print("Error: Unable to create symlinks. Make sure you have permission to create symbolic links.")
print("See this page for more information:")
- print(" http://zulip.readthedocs.io/en/latest/development/setup-vagrant.html#os-symlink-error")
+ print(" https://zulip.readthedocs.io/en/latest/development/setup-vagrant.html#os-symlink-error")
sys.exit(1)
if platform.architecture()[0] == '64bit':
diff --git a/tools/linter_lib/custom_check.py b/tools/linter_lib/custom_check.py
index dde06d6023..f90aaf5618 100644
--- a/tools/linter_lib/custom_check.py
+++ b/tools/linter_lib/custom_check.py
@@ -139,6 +139,9 @@ def build_custom_checkers(by_lang):
whitespace_rules = [
# This linter should be first since bash_rules depends on it.
trailing_whitespace_rule,
+ {'pattern': 'http://zulip.readthedocs.io',
+ 'description': 'Use HTTPS when linking to ReadTheDocs',
+ },
{'pattern': '\t',
'strip': '\n',
'exclude': set(['tools/travis/success-http-headers.txt']),
diff --git a/zerver/fixtures/config.generate_data.json b/zerver/fixtures/config.generate_data.json
index 228630d0d9..dc4ff0f326 100644
--- a/zerver/fixtures/config.generate_data.json
+++ b/zerver/fixtures/config.generate_data.json
@@ -18,13 +18,13 @@
"emoji": [":thumbs_up:", ":thumbs_down:", ":shirt:", ":zulip:", ":tada:", ":earth_asia:",
":cop:", ":8ball:", ":boat:", ":egg:", ":heartpulse:", ":moon_ceremony:", ":cupid:", ":mag:"],
"links":
- ["http://zulip.readthedocs.io/en/latest/subsystems/emoji.html",
- "http://zulip.readthedocs.io/en/latest/subsystems/full-text-search.html",
- "http://zulip.readthedocs.io/en/latest/subsystems/analytics.html",
- "http://zulip.readthedocs.io/en/latest/translating/translating.html",
- "http://zulip.readthedocs.io/en/latest/subsystems/client.html",
- "http://zulip.readthedocs.io/en/latest/subsystems/logging.html",
- "http://zulip.readthedocs.io/en/latest/subsystems/release-checklist.html"],
+ ["https://zulip.readthedocs.io/en/latest/subsystems/emoji.html",
+ "https://zulip.readthedocs.io/en/latest/subsystems/full-text-search.html",
+ "https://zulip.readthedocs.io/en/latest/subsystems/analytics.html",
+ "https://zulip.readthedocs.io/en/latest/translating/translating.html",
+ "https://zulip.readthedocs.io/en/latest/subsystems/client.html",
+ "https://zulip.readthedocs.io/en/latest/subsystems/logging.html",
+ "https://zulip.readthedocs.io/en/latest/subsystems/release-checklist.html"],
"inline-code": [
"`(reduce (fn [m [k v]] (assoc m v k)) {} {:b 2 :a 1 :c 3})`" ,
"`select id, first-name, last-name from users where active = 1;`",
diff --git a/zerver/tests/test_events.py b/zerver/tests/test_events.py
index 22de321c45..3e8acbf1c7 100644
--- a/zerver/tests/test_events.py
+++ b/zerver/tests/test_events.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# See http://zulip.readthedocs.io/en/latest/subsystems/events-system.html for
+# See https://zulip.readthedocs.io/en/latest/subsystems/events-system.html for
# high-level documentation on how this system works.
from typing import Any, Callable, Dict, List, Optional, Set, Text, Tuple, Union
import os
diff --git a/zerver/worker/queue_processors.py b/zerver/worker/queue_processors.py
index 1eebffbd2d..c3e46e5213 100644
--- a/zerver/worker/queue_processors.py
+++ b/zerver/worker/queue_processors.py
@@ -1,4 +1,4 @@
-# Documented in http://zulip.readthedocs.io/en/latest/subsystems/queuing.html
+# Documented in https://zulip.readthedocs.io/en/latest/subsystems/queuing.html
from typing import Any, Callable, Dict, List, Mapping, Optional, cast
import signal