zulip/docs
David Rosa Tamsen dd10d30d1e docs: Add setting to conf.py to disable sticky_navigation
The left navigation bar defaults to "sticking" to the screen as you
scroll.  This commit adds the sticky_navigation setting to conf.py to
disable the default behavior.

This addresses part of #5265.
2017-11-07 16:48:15 -08:00
..
_static css: Enforce one selector per line. 2017-03-26 16:57:33 -07:00
images docs: Move GCI docs into main repo. 2017-06-22 09:30:28 -04:00
.gitignore gitignore: Anchor patterns that should be anchored. 2017-07-19 14:03:49 -07:00
Makefile docs: Print output URL in Makefile. 2017-06-14 20:16:08 -07:00
README.md tools: Add wrapper tool 'build-docs' for building documentation. 2017-06-14 20:16:02 -07:00
THIRDPARTY puppet: Remove pageduty_nagios.pl. 2017-10-05 18:46:09 -07:00
accessibility.md docs: Fix link to open accessibility issues. 2017-07-22 11:51:33 -07:00
analytics.md docs: Improve analytics onboarding documentation. 2017-09-25 06:23:30 -07:00
api-release-checklist.md docs: Fix recently changed URLs to Python packaging guide. 2017-06-12 22:39:15 -07:00
architecture-overview.md docs: Correct details about mobile and desktop codebases. 2017-10-20 11:57:26 -07:00
brief-install-vagrant-dev.md Update 'OS X' reference to macOS. 2017-06-05 22:11:34 -07:00
bug-reports.md docs: Add bug report guidelines. 2017-08-09 11:38:46 -07:00
changelog.md Release Zulip Server 1.7.0. 2017-10-25 09:27:39 -07:00
chat-zulip-org.md docs: Add a section documenting the chat.zulip.org traffic level. 2017-10-03 15:41:46 -07:00
chinese.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
client.md docs: Recommend check_send_stream_message for stream messages. 2017-10-02 15:27:26 -07:00
code-of-conduct.md repository: Add CODE_OF_CONDUCT.md. 2017-06-14 18:43:08 -07:00
code-reviewing.md docs: Write down some high-level thoughts on doing code reviews. 2017-06-27 08:23:55 -04:00
code-style.md code-style: Simplify discussion of third-party code. 2017-10-06 13:28:45 -07:00
conf.py docs: Add setting to conf.py to disable sticky_navigation 2017-11-07 16:48:15 -08:00
conversion.md docs: Rename misleading 'prod-install-docs' reference. 2017-05-28 22:21:13 -07:00
custom-apps.md docs: Update links to python-zulip-api project. 2017-07-18 00:07:17 -07:00
dependencies.md dependencies.md: Fix a typo. 2017-10-13 07:11:29 -07:00
dev-env-first-time-contributors.md docs: Fix broken anchor links to troubleshooting section. 2017-10-18 15:20:58 -07:00
dev-overview.md docs: Emphasise Travis CI setup in dev env setup docs. 2017-07-31 09:35:29 -07:00
dev-remote.md docs: Fix a bunch of documentation build warnings. 2017-05-13 10:09:20 -07:00
dev-setup-non-vagrant.md docs: Recommend Xenial over Trusty for new installations. 2017-10-20 14:34:48 -07:00
directory-structure.md docs: Move template section from translating.md to html-templates. 2017-08-23 13:43:29 -07:00
email.md docs: Update email testing section to include EmailLogBackEnd. 2017-10-04 14:44:58 -07:00
emoji.md docs: Update emoji tooling documentation. 2017-09-25 14:24:52 -07:00
events-system.md docs: Correct incorrect description in event-systems.md. 2017-08-15 07:24:32 -07:00
expensive-migrations.md docs/expensive-migrations: Revise a bit for clarity. 2017-10-20 14:21:58 -07:00
fixing-commits.md docs: Fix lint/whitespace errors in GCI docs. 2017-06-22 09:30:28 -04:00
french.md docs: Expand the french translation style guide. 2017-09-14 08:35:51 -07:00
front-end-build-process.md docs: Document how our dependencies are managed. 2017-09-22 11:09:58 -07:00
full-text-search.md docs: Fix markup issue in pgroonga docs. 2017-02-08 10:17:23 -08:00
german.md german.md: Use the singular 'they' pronoun. 2017-07-05 09:27:44 -07:00
git-cheat-sheet-detailed.md docs: Fix lint/whitespace errors in GCI docs. 2017-06-22 09:30:28 -04:00
git-cheat-sheet.md docs: Fix lint/whitespace errors in GCI docs. 2017-06-22 09:30:28 -04:00
git-guide.md docs: Remove the yarn.lock stutter. 2017-09-30 09:16:46 -07:00
hashchange-system.md docs: hashchange-system: add more detail and fix some sentences. 2017-03-23 15:15:44 -07:00
hotspots.md hotspots: Rename and update click_to_reply. 2017-09-15 04:14:52 -07:00
html-templates.md docs: Move template section from translating.md to html-templates. 2017-08-23 13:43:29 -07:00
html_css.md Rename "Administration" to "Organization" in the settings UI. 2017-04-07 17:32:56 -07:00
index.rst docs: Move docs on testing OAuth to their own page. 2017-11-03 13:38:59 -07:00
install-docker-dev.md docs: Simplify hierarchy of dev setup docs. 2016-11-29 14:13:09 -08:00
install-generic-unix-dev.md docs: Simplify hierarchy of dev setup docs. 2016-11-29 14:13:09 -08:00
install-ubuntu-without-vagrant-dev.md docs: Simplify hierarchy of dev setup docs. 2016-11-29 14:13:09 -08:00
integration-docs-guide.md template context: Give better names to the URLs for the API. 2017-10-30 18:29:29 -07:00
integration-guide.md docs: Clean up links for writing integration docs. 2017-10-26 15:14:11 -07:00
life-of-a-request.md nginx: Use the Django 404 page for files under static/. 2017-07-18 09:55:30 -07:00
linters.md docs: Add note about tools/linter_lib to lint docs. 2017-06-05 09:20:21 -07:00
logging.md docs/logging: Update for the revised log format. 2017-09-28 18:26:39 -07:00
management-commands.md docs: Update management command documentation. 2017-07-28 16:12:10 -07:00
manual-testing.md settings: Update text in templates. 2017-07-24 17:33:14 -07:00
markdown.md markdown_test_cases: Clean bugdown_matches_marked from the tex cases. 2017-11-07 11:55:25 -08:00
migration-renumbering.md refactor: Replace super(.*self) with Python 3-specific super(). 2017-10-30 14:30:25 -07:00
mypy.md docs: Use python 3 syntax for typing. 2017-11-04 19:58:05 -07:00
new-feature-tutorial.md docs: Use python 3 syntax for typing. 2017-11-04 19:58:05 -07:00
oauth.md docs/oauth: Update for Google UI changes, and for zulipdev.com. 2017-11-03 13:38:59 -07:00
password-strength.md passwords: Set default zxcvbn threshold to 10k guesses. 2017-10-08 15:48:44 -07:00
pointer.md unread: Add tool for marking all messages as unread for testing. 2017-04-25 15:40:12 -07:00
polish.md docs: Wrap long lines in translation guides. 2017-01-05 14:08:42 -08:00
prod-authentication-methods.md docs: Update link to python-social-auth. 2017-05-13 23:00:50 -07:00
prod-customize.md mobile: Update docs and portico URLs to point to new Android app. 2017-10-28 15:27:29 -07:00
prod-email.md docs/email: Document how to use a Gmail account with 2FA. 2017-10-12 11:38:01 -07:00
prod-install-existing-server.md docs: Fix buggy relative documentation link. 2017-08-24 19:59:59 -07:00
prod-install.md settings: Simplify setting ALLOWED_HOSTS, by handling EXTERNAL_HOST. 2017-11-03 13:38:59 -07:00
prod-maintain-secure-upgrade.md docs: Add more detail on the apt upgrade process and postgres. 2017-10-31 18:11:54 -07:00
prod-mobile-push-notifications.md mobile: Update docs and portico URLs to point to new Android app. 2017-10-28 15:27:29 -07:00
prod-multiple-organizations.md docs: Mention system bot realm in multiple organization docs. 2017-10-20 09:57:16 -07:00
prod-postgres.md lint: Check for long lines in all markdown files in general. 2017-01-05 15:06:34 -08:00
prod-requirements.md docs: Recommend Xenial over Trusty for new installations. 2017-10-20 14:34:48 -07:00
prod-troubleshooting.md Explain Django "Invalid HTTP_HOST header" log message. 2017-02-27 00:13:32 -08:00
prod.md docs: Fix a buggy link to realm-admin-docs. 2017-08-15 17:23:18 -07:00
queuing.md queues: Add new system for managing rabbitmq per-queue work. 2017-02-19 16:18:37 -08:00
reading-list.md Update reading-list.md 2017-06-01 09:35:18 -06:00
readme-symlink.md Rearrange docs table of contents for coherence. 2016-05-31 09:07:09 -07:00
realms.md docs: Mention system bot realm in multiple organization docs. 2017-10-20 09:57:16 -07:00
release-checklist.md docs: Update release checklist following 1.7.0 release. 2017-10-26 13:53:21 -07:00
request-remote-dev.md remote dev: Add code and instructions for creating digital ocean droplets. 2017-11-06 12:20:39 -08:00
requirements.readthedocs.txt Move doc building dependencies to requirements/docs.txt. 2016-06-20 16:05:42 -07:00
roadmap.md docs: Update changelog and roadmap through present. 2017-10-04 22:39:49 -07:00
running-bots-guide.md docs: Simplify the guide for running bots. 2017-10-04 12:11:27 -07:00
russian.md docs: Wrap long lines in Russian style guide. 2017-01-05 14:31:34 -08:00
schema-migrations.md docs: Document naming for schema migrations. 2017-07-10 16:03:16 -07:00
screenshot-and-gif-software.md Update "MacOS" text to "macOS" 2017-08-26 09:00:42 -07:00
security-model.md docs: Document API super user bots a bit more in security model docs. 2017-10-23 17:37:38 -07:00
settings.md docs: Move docs on testing OAuth to their own page. 2017-11-03 13:38:59 -07:00
shell-tips.md docs: Remove broken link to shell tips. 2017-10-01 23:27:29 -07:00
spanish.md docs: Improve Spanish style guide. 2017-01-28 19:08:14 -08:00
ssl-certificates.md docs: Document scripts/setup/generate-self-signed-certs. 2017-10-24 13:48:14 -07:00
swagger-api-docs.md Explain how to add Swagger REST API doc coverage in zulip.yaml. 2017-06-07 22:46:20 -07:00
testing-with-casper.md Rename "Administration" to "Organization" in the settings UI. 2017-04-07 17:32:56 -07:00
testing-with-django.md docs: Add type annotation. 2017-10-04 16:31:27 -07:00
testing-with-node.md node tests: Extract zrequire helper. 2017-08-09 12:32:09 -07:00
testing.md docs: Add guide for mocking in tests. 2017-09-08 13:18:28 -07:00
translating.md tools: Add new script to sync translations. 2017-10-05 23:07:16 -07:00
travis.md docs: Document that we use `ts` automatically in Travis CI. 2017-06-14 17:26:41 -07:00
typing-indicators.md docs: Fix lint in typing-indicators. 2017-09-26 13:57:03 -07:00
unread_messages.md Add page_params.unread_msgs.count. 2017-08-14 12:38:09 -07:00
user-docs.md compose: Add video link button, powered by Jitsi. 2017-10-30 17:13:47 -07:00
users.md Add draft document for user populations. 2016-11-08 15:28:04 -08:00
using-dev-environment.md Remove some some duplicate words in copy. 2017-01-23 23:15:04 -08:00
version-control.md docs: Fix a typo in version-control.md. 2017-09-29 18:04:07 -07:00
webhook-walkthrough.md docs: Use python 3 syntax for typing. 2017-11-04 19:58:05 -07:00
working-copies.md docs: Fix lint/whitespace errors in GCI docs. 2017-06-22 09:30:28 -04:00
writing-bots-guide.md docs: Specify the updated bot StateHandler API. 2017-10-25 15:37:28 -07:00
writing-views.md views: Fix imports of REQ/has_request_variables from the wrong place. 2017-10-27 15:07:31 -07:00
zulipbot-usage.md docs: Clarify who can collaborate in area label teams. 2017-09-28 17:26:07 -07:00

README.md

Documentation

Zulip has three major documentation systems:

  • Developer and sysadmin documentation: Documentation for people actually interacting with the Zulip codebase (either by developing it or installing it), and written in Markdown.

  • Core website documentation: Complete webpages for complex topics, written in HTML, JavaScript, and CSS (using the Django templating system). These roughly correspond to the documentation someone might look at when deciding whether to use Zulip. We don't expect to ever have more than about 10 pages written using this system.

  • General user documentation: Our scalable system for documenting Zulip's huge collection of specific features without a lot of overhead or duplicated code/syntax, written in Markdown. We expect to eventually have around 100 pages written using this system. The target audience for this system is individual Zulip users.

These three systems are documented in detail.

Developer and sysadmin documentation

What you are reading right now is part of the collection of documentation targeted at developers and people running their own Zulip servers. These docs are written in Commonmark Markdown with a small bit of rST. We've chosen Markdown because it is easy to write. The source for Zulip's developer documentation is at docs/ in the Zulip git repository, and they are served in production at zulip.readthedocs.io.

If you want to build the developer documentation locally (e.g. to test your changes), the dependencies are automatically installed as part of Zulip development environment provisioning, and you can build the documentation using:

./tools/build-docs

and then opening http://127.0.0.1:9991/docs/index.html in your browser. The raw files are available at file:///path/to/zulip/docs/_build/html/index.html in your browser (so you can also use e.g. firefox docs/_build/html/index.html from the root of your Zulip checkout).

If you are adding a new page to the table of contents, you will want to modify docs/index.rst and run make clean before make html, so that other docs besides your new one also get the new entry in the table of contents.

You can also usually test your changes by pushing a branch to GitHub and looking at the content on the GitHub web UI, since GitHub renders Markdown, though that won't be as faithful as the make html approach.

When editing dependencies for the Zulip documentation, you should edit requirements/docs.txt (which is used by ReadTheDocs to build the Zulip developer documentation, without installing all of Zulip's dependencies).

Core website documentation

Zulip has around 10 HTML documentation pages under templates/zerver for specific major topics, like the features list, client apps, integrations, hotkeys, API bindings, etc. These documents often have somewhat complex HTML and JavaScript, without a great deal of common pattern between them other than inheriting from the portico.html template. We generally avoid adding new pages to this collection unless there's a good reason, but we don't intend to migrate them, either, since this system gives us the flexibility to express these important elements of the product clearly.

General user documentation

To learn more about Zulip's general user documentation, visit our guide on writing user documentation here.