zulip/docs
Greg Price cd897b7a99 docs/prod*: Simplify core install instructions a bit by cutting /root/zulip .
This works fine in my testing -- I followed it on a fresh `trusty` VM,
after just getting SSL certs with our LetsEncrypt instructions, and
the install completed successfully.

And in the source tree, the only evidence I can find of a potential
remaining dependency on the `/root/zulip` path is the Nagios config in
`puppet/zulip_ops/`.  That's actually already broken, in that it
depends on `/root/zulip/api/`, so we'll have to sort that out;
and in any case, it doesn't matter to most people installing Zulip.

Add a mention that the install script will move the just-unpacked
directory out from under you.  While we're here, add a few words about
where the deployed code is laid out.

Text of those last words tweaked by tabbott.
2017-08-15 17:46:42 -07: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 Refactor to delete mousewheel.js. 2017-07-03 11:04:20 -04:00
accessibility.md docs: Fix link to open accessibility issues. 2017-07-22 11:51:33 -07:00
analytics.md analytics: Refactor legacy 'zulip_internal' decorator. 2017-04-22 11:42:02 -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: Update /integrations links to new pushState routes. 2017-08-10 10:21:53 -07:00
bots-guide.md py3: Fix or remove (almost) all references to Python 2 venv in docs. 2017-08-08 15:48:12 -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 docs: Update changelog through today. 2017-07-27 21:57:41 -07:00
chat-zulip-org.md docs: Make it explicit that chat.zulip.org is a Zulip server. 2017-08-09 19:33:57 -07:00
chinese.md Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
client.md docs: Document zerver.models.Client's usage for analytics and webhooks. 2017-05-01 23:50:51 -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 Rename tools/lint-all to tools/lint. 2017-04-21 14:57:47 -07:00
conf.py docs: Update ReadTheDocs meta tags. 2017-06-20 20:59:16 -04: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
dev-env-first-time-contributors.md py3: Fix or remove (almost) all references to Python 2 venv in docs. 2017-08-08 15:48:12 -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: Remove a redundant step in dev setup. 2017-08-10 17:50:28 -07:00
directory-structure.md deps: Change npm to yarn for reliablity, security, and speed. 2017-08-05 12:29:06 -07:00
email.md docs: Update /integrations links to new pushState routes. 2017-08-10 10:21:53 -07:00
emoji.md docs: Add initial documentation on the emoji system. 2017-01-29 12:15:29 -08:00
events-system.md docs: Correct incorrect description in event-systems.md. 2017-08-15 07:24:32 -07:00
fixing-commits.md docs: Fix lint/whitespace errors in GCI docs. 2017-06-22 09:30:28 -04:00
front-end-build-process.md deps: Change npm to yarn for reliablity, security, and speed. 2017-08-05 12:29:06 -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 deps: Change npm to yarn for reliablity, security, and speed. 2017-08-05 12:29:06 -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 docs: Create hotspots subsystem documentation. 2017-08-05 18:32:37 -07:00
html_css.md Rename "Administration" to "Organization" in the settings UI. 2017-04-07 17:32:56 -07:00
html_unescape.py Change shebangs from python2.7 to python. 2016-05-29 05:03:08 -07:00
index.rst docs: Add bug report guidelines. 2017-08-09 11:38:46 -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 docs: Update /integrations links to new pushState routes. 2017-08-10 10:21:53 -07:00
integration-guide.md api: Update docs/integration-guide. 2017-07-31 21:25:13 -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 Improve first-time contributor docs. 2016-05-31 07:47:45 -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 docs: Clean up new markdown test docs. 2017-07-31 09:47:47 -07:00
migration-renumbering.md py3: Fix up (almost) all script invocations to rely on shebangs. 2017-08-15 17:30:31 -07:00
mypy.md mypy: Add documentation for requirements/mypy.txt. 2017-08-15 07:24:42 -07:00
new-feature-tutorial.md settings: Simplify testing code for bool realm settings. 2017-07-04 14:23:05 -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 docs: Mention a few highlights from settings.py. 2017-08-15 17:21:40 -07:00
prod-email.md settings: Move NOREPLY_EMAIL_ADDRESS to DEFAULT_SETTINGS. 2017-08-15 17:21:40 -07:00
prod-install.md docs/prod*: Simplify core install instructions a bit by cutting /root/zulip . 2017-08-15 17:46:42 -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: Clarify documentation on verifying push notifications. 2017-08-15 11:25:30 -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: Improve readability of the prod-email instructions. 2017-08-15 17:21:40 -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 Fix grammatical and spelling errors in Zulip/docs. 2017-01-16 20:16:12 -08:00
release-checklist.md docs: Add reminder to update ReadTheDocs config in release checklist. 2017-06-26 16:09:36 -07:00
requirements.readthedocs.txt Move doc building dependencies to requirements/docs.txt. 2016-06-20 16:05:42 -07:00
roadmap.md docs: Update which projects are marked complete in roadmap. 2017-05-09 14:34:53 -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 docs: Add tip to record GIFs with Chrome Capture. 2017-06-29 13:26:38 -07:00
security-model.md org-permissions: Add allow_edit_history organiztion setting. 2017-07-16 10:10:06 -07:00
settings.md docs: Add section explaining GitHub/Google auth for dev env. 2017-07-27 17:35:14 -07:00
shell-tips.md docs: Fix lint/whitespace errors in GCI docs. 2017-06-22 09:30:28 -04:00
spanish.md docs: Improve Spanish style guide. 2017-01-28 19:08:14 -08:00
ssl-certificates.md docs: Add a "production" overview page. 2017-07-27 21:44:58 -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: Expand documentation on Internet access in tests. 2017-07-04 13:17:25 -07:00
testing-with-node.md node tests: Extract zrequire helper. 2017-08-09 12:32:09 -07:00
testing.md py3: Fix or remove (almost) all references to Python 2 venv in docs. 2017-08-08 15:48:12 -07:00
translating.md docs: Add note for importing _() function in translating.md. 2017-07-05 12:01:59 -07:00
travis.md docs: Document that we use `ts` automatically in Travis CI. 2017-06-14 17:26:41 -07:00
unread_messages.md Add page_params.unread_msgs.count. 2017-08-14 12:38:09 -07:00
user-docs.md docs: Update user docs guide with new sidebar index. 2017-07-24 22:59:55 -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/version-control: Revise "Commit Messages" section. 2017-06-07 22:08:55 -07:00
webhook-walkthrough.md webhook-walkthrough: Mention Zulip's Markdown macros. 2017-07-03 20:09:34 -04:00
working-copies.md docs: Fix lint/whitespace errors in GCI docs. 2017-06-22 09:30:28 -04:00
writing-views.md docs: Document zerver.models.Client's usage for analytics and webhooks. 2017-05-01 23:50:51 -07:00
zulipbot-usage.md docs: Update zulipbot guide with new features. 2017-03-15 18:01:23 -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.