zulip/docs
Tim Abbott b52f606c3a Revert "deps: Upgrade and move `jquery-mousewheel` from `static/third` to `npm`"
Apparently, the updated version of this has a serious scrolling
performance problem in the left sidebar that basically makes scrolling
in that area unusable.

This reverts commit b683b2d3c3.
2017-01-26 13:42:00 -08:00
..
_static docs: Add Git and GitHub Guide. 2016-10-17 16:18:16 -07:00
images docs: Rewrite user documentation styling guide. 2017-01-16 22:15:01 -08:00
.gitignore Initial sphinx setup from sphinx-quickstart 2015-08-18 17:31:32 -07:00
Makefile Initial sphinx setup from sphinx-quickstart 2015-08-18 17:31:32 -07:00
README.md Extract docs/user-docs.md from docs/README.md. 2017-01-16 21:58:25 -08:00
THIRDPARTY Revert "deps: Upgrade and move `jquery-mousewheel` from `static/third` to `npm`" 2017-01-26 13:42:00 -08:00
architecture-overview.md docs: Extract security-model.md. 2017-01-17 20:52:29 -08:00
bots-guide.md Update the commands in bots-guide.md to fit the new contrib_bots layout. 2017-01-22 05:42:46 -08:00
brief-install-vagrant-dev.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
changelog.md Update changelog. 2017-01-18 15:43:25 -08:00
chinese.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
code-of-conduct.md docs: Add code of conduct. 2016-11-26 18:40:16 -08:00
code-reviewing.md Add additional resources to code review. 2016-12-13 23:12:10 -08:00
code-style.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
conf.py lint: Clean up E123 PEP-8 rule. 2017-01-23 21:34:26 -08:00
conversion.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
custom-apps.md docs: Fix broken URL. 2017-01-22 13:04:37 -08:00
dev-env-first-time-contributors.md Add wrapper and log file output for provisioning. 2017-01-17 14:23:28 -08:00
dev-overview.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
dev-remote.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
dev-setup-non-vagrant.md Revert "docs: Remove broken docker links for now." 2017-01-20 11:01:12 -08:00
directory-structure.md Update integration-guide according to integrations redesign. 2017-01-26 12:27:38 -08:00
front-end-build-process.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
full-text-search.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
git-guide.md docs: Expand explanation for why we use rebase workflow. 2017-01-22 15:42:27 -08:00
html_css.md Extract media queries to media.css. 2016-08-05 10:32:55 -07:00
html_unescape.py Change shebangs from python2.7 to python. 2016-05-29 05:03:08 -07:00
index.rst docs: Extract security-model.md. 2017-01-17 20:52:29 -08: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-guide.md Update integration-guide according to integrations redesign. 2017-01-26 12:27:38 -08:00
life-of-a-request.md Fixed typos with receive 2017-01-12 04:52:44 -08:00
linters.md Note in linters doc that untracked files aren't linted. 2017-01-25 05:54:46 -08:00
logging.md Improve first-time contributor docs. 2016-05-31 07:47:45 -07:00
manual-testing.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
markdown.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
migration-renumbering.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
mypy.md mypy: Update docs to recommend typing.Text instead of six.text_type. 2016-12-26 16:11:37 -08:00
new-feature-tutorial.md lint: Check for long lines in all markdown files in general. 2017-01-05 15:06:34 -08:00
pointer.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
polish.md docs: Wrap long lines in translation guides. 2017-01-05 14:08:42 -08:00
prod-authentication-methods.md docs: Fix style in authentication methods doc. 2016-10-22 20:14:56 -07:00
prod-customize.md Always start python via shebang lines. 2016-11-26 14:46:37 -08:00
prod-install.md settings: Set an intelligent default for ALLOWED_HOSTS. 2017-01-06 14:46:47 -08:00
prod-maintain-secure-upgrade.md docs: Extract security-model.md. 2017-01-17 20:52:29 -08: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 requirements: Document more clearly ports required for Zulip. 2017-01-10 11:46:15 -08:00
prod-troubleshooting.md docs: Rename status/debug page to troubleshooting. 2016-08-25 09:37:33 -07:00
queuing.md Update documentation on development auto-reloading. 2016-06-26 20:20:13 -07:00
reading-list.md Remove broken K+R link from reading list. 2017-01-16 09:00:20 -08:00
readme-symlink.md Rearrange docs table of contents for coherence. 2016-05-31 09:07:09 -07:00
realms.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
release-checklist.md docs: Add a brief release checklist. 2016-11-04 10:52:48 -07:00
requirements.readthedocs.txt Move doc building dependencies to requirements/docs.txt. 2016-06-20 16:05:42 -07:00
roadmap.md docs: Fix heading for roadmap doc. 2017-01-10 23:01:32 -08:00
russian.md docs: Wrap long lines in Russian style guide. 2017-01-05 14:31:34 -08:00
schema-migrations.md Link to migration-renumbering.html in schema-migrations.md 2016-07-18 12:02:50 -07:00
security-model.md auth: Improve configuration/documentation for password strength. 2017-01-17 20:52:52 -08:00
settings.md docs: Fix typo in spelling of generate_secrets. 2016-10-05 17:47:14 -07:00
spanish.md translations: Reorder and update Spanish terms 2017-01-17 14:53:27 -08:00
ssl-certificates.md docs: Move SSL docs to a dedicated page. 2016-08-25 09:37:33 -07:00
testing-with-casper.md docs: Clean up testing with casper selectors discussion. 2017-01-03 16:56:50 -08:00
testing-with-django.md tests: Split out ZulipTestCase and WebhookTestCase to a separate file. 2016-11-10 19:29:43 -08:00
testing-with-node.md deps: Upgrade and move `underscore.js` from `static/third` to `npm` 2017-01-19 17:07:45 -08:00
testing.md docs: Change dev -> development everywhere. 2016-11-29 14:23:54 -08:00
translating.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
user-docs.md docs: Document *Administrator only feature* macro in user documentation styling guide. 2017-01-17 14:45:15 -08: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: Clarify commit message portion of version control docs. 2016-10-05 19:28:21 -07:00
writing-views.md lint: Check for long lines in all markdown files in general. 2017-01-05 15:06:34 -08: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:

cd docs/
make html

and then opening file:///path/to/zulip/docs/_build/html/index.html in your browser (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.