zulip/docs
2017-09-15 08:59:21 -07:00
..
_static
images
.gitignore
accessibility.md
analytics.md
api-release-checklist.md
architecture-overview.md docs: Move template section from translating.md to html-templates. 2017-08-23 13:43:29 -07:00
bots-guide.md docs: bots guide: Add section for writing tests. 2017-09-15 08:59:21 -07:00
brief-install-vagrant-dev.md
bug-reports.md
changelog.md docs: Update documentation on push notifications. 2017-08-30 10:47:57 -07:00
chat-zulip-org.md meetings: Switch integrations meeting to Fridays 9 am (PST). 2017-09-14 10:18:15 -07:00
chinese.md
client.md
code-of-conduct.md
code-reviewing.md
code-style.md
conf.py
conversion.md
custom-apps.md
dev-env-first-time-contributors.md Vagrantfile: Provide a way to remove proxy from vagrant. 2017-09-15 03:55:32 -07:00
dev-overview.md
dev-remote.md
dev-setup-non-vagrant.md requirements: Replace py3_dev.txt with dev_lock.txt. 2017-08-22 10:10:57 -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
emoji.md
events-system.md docs: Correct incorrect description in event-systems.md. 2017-08-15 07:24:32 -07:00
expensive-migrations.md docs: Clean up release notes for the Zulip 1.7 release. 2017-08-16 13:28:05 -07:00
fixing-commits.md
french.md docs: Expand the french translation style guide. 2017-09-14 08:35:51 -07:00
front-end-build-process.md
full-text-search.md
german.md
git-cheat-sheet-detailed.md
git-cheat-sheet.md
git-guide.md
hashchange-system.md
hotspots.md hotspots: Rename and update click_to_reply. 2017-09-15 04:14:52 -07:00
html_css.md
html_unescape.py py3: Switch almost all shebang lines to use python3. 2017-08-16 17:54:43 -07:00
html-templates.md docs: Move template section from translating.md to html-templates. 2017-08-23 13:43:29 -07:00
index.rst docs: Move template section from translating.md to html-templates. 2017-08-23 13:43:29 -07:00
install-docker-dev.md
install-generic-unix-dev.md
install-ubuntu-without-vagrant-dev.md
integration-docs-guide.md
integration-guide.md docs: Clarify webhook-specific guides. 2017-08-22 10:38:48 -07:00
life-of-a-request.md
linters.md
logging.md
Makefile
management-commands.md
manual-testing.md
markdown.md
migration-renumbering.md py3: Fix up (almost) all script invocations to rely on shebangs. 2017-08-15 17:30:31 -07:00
mypy.md travis: Merge the static-analysis build into backend. 2017-08-29 15:42:01 -07:00
new-feature-tutorial.md docs: Describe memcache flush with a 'normal permission' command. 2017-09-12 08:27:58 -07:00
pointer.md
polish.md
prod-authentication-methods.md
prod-customize.md Capitalize s in Terms of service. 2017-09-06 09:49:19 -07:00
prod-email.md settings: Move NOREPLY_EMAIL_ADDRESS to DEFAULT_SETTINGS. 2017-08-15 17:21:40 -07:00
prod-install-existing-server.md docs: Fix buggy relative documentation link. 2017-08-24 19:59:59 -07:00
prod-install.md docs: Stop documenting how to create multiple organizations. 2017-08-23 20:07:17 -07:00
prod-maintain-secure-upgrade.md docs/prod*: Give clearer instructions for rolling back a deploy. 2017-08-15 17:41:07 -07:00
prod-mobile-push-notifications.md docs: Update documentation on push notifications. 2017-08-30 10:47:57 -07:00
prod-postgres.md
prod-requirements.md docs: Add tips on installing on an existing server. 2017-08-23 14:53:14 -07:00
prod-troubleshooting.md
prod.md docs: Fix a buggy link to realm-admin-docs. 2017-08-15 17:23:18 -07:00
queuing.md
reading-list.md
readme-symlink.md
README.md
realms.md
release-checklist.md
requirements.readthedocs.txt
roadmap.md Update roadmap.md. 2017-09-12 03:01:43 -07:00
russian.md
schema-migrations.md
screenshot-and-gif-software.md Update "MacOS" text to "macOS" 2017-08-26 09:00:42 -07:00
security-model.md
settings.md
shell-tips.md docs: Add docopt.org to shell understanding tips. 2017-09-15 01:40:59 -07:00
spanish.md
ssl-certificates.md
swagger-api-docs.md
testing-with-casper.md
testing-with-django.md docs: Remove legacy Python2/3 compatibility code. 2017-09-12 06:35:29 -07:00
testing-with-node.md
testing.md docs: Add guide for mocking in tests. 2017-09-08 13:18:28 -07:00
THIRDPARTY Remove Zulip API licensing information. 2017-08-16 07:03:39 -07:00
translating.md docs: Add a french translation style guide. 2017-08-29 09:40:03 -07:00
travis.md
unread_messages.md Add page_params.unread_msgs.count. 2017-08-14 12:38:09 -07:00
user-docs.md
users.md
using-dev-environment.md
version-control.md
webhook-walkthrough.md tests: Clean up subscribing from webhook tests. 2017-08-24 21:37:57 -07:00
working-copies.md
writing-views.md
zulipbot-usage.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.