mirror of
https://github.com/zulip/zulip.git
synced 2026-07-15 21:03:26 +08:00
Currently (https://github.com/rtfd/recommonmark/issues/3) the recommonmark bridge (which allows Sphinx to read Markdown) does not support tables, so the directory structure doc is now a bulleted list instead of a set of tables.
116 lines
2.8 KiB
Markdown
116 lines
2.8 KiB
Markdown
Directory structure
|
|
===================
|
|
|
|
This page documents the Zulip directory structure and how to decide
|
|
where to put a file.
|
|
|
|
Scripts
|
|
-------
|
|
|
|
* `scripts/` Scripts that production deployments might run manually
|
|
(e.g., `restart-server`).
|
|
|
|
* `scripts/lib/` Scripts that are needed on production deployments but
|
|
humans should never run.
|
|
|
|
* `scripts/setup/` Tools that production deployments will only run
|
|
once, during installation.
|
|
|
|
* `tools/` Development tools.
|
|
|
|
---------------------------------------------------------
|
|
|
|
Bots
|
|
----
|
|
|
|
* `api/integrations/` Bots distributed as part of the Zulip API bundle.
|
|
|
|
* `bots/` Previously Zulip internal bots. These usually need a bit of
|
|
work.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Management commands
|
|
-------------------
|
|
|
|
* `zerver/management/commands/` Management commands one might run at a
|
|
production deployment site (e.g. scripts to change a value or
|
|
deactivate a user properly)
|
|
|
|
-------------------------------------------------------------------------
|
|
|
|
Views
|
|
-----
|
|
|
|
* `zerver/tornadoviews.py` Tornado views
|
|
|
|
* `zerver/views/webhooks.py` Webhook views
|
|
|
|
* `zerver/views/messages.py` message-related views
|
|
|
|
* `zerver/views/__init__.py` other Django views
|
|
|
|
----------------------------------------
|
|
|
|
Jinja2 Compatibility Files
|
|
--------------------------
|
|
|
|
* `zproject/jinja2/__init__.py` Jinja2 environment
|
|
|
|
* `zproject/jinja2/backends.py` Jinja2 backend
|
|
|
|
* `zproject/jinja2/compressors.py` Jinja2 compatible functions of
|
|
Django-Pipeline
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
Static assets
|
|
-------------
|
|
|
|
* `assets/` For assets not to be served to the web (e.g. the system to
|
|
generate our favicons)
|
|
|
|
* `static/` For things we do want to both serve to the web and
|
|
distribute to production deployments (e.g. the webpages)
|
|
|
|
---------------------------------------------------------------
|
|
|
|
Puppet
|
|
------
|
|
|
|
* `puppet/zulip/` For configuration for production deployments
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
Templates
|
|
---------
|
|
|
|
* `templates/zerver/` For Jinja2 templates for the backend (for zerver app)
|
|
|
|
* `static/templates/` Handlebars templates for the frontend
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
Tests
|
|
-----
|
|
|
|
* `zerver/tests/` Backend tests
|
|
|
|
* `frontend_tests/node_tests/` Node Frontend unit tests
|
|
|
|
* `frontend_tests/casper_tests/` Casper frontend tests
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
* `docs/` Source for this documentation
|
|
|
|
--------------------------------------------------------------
|
|
|
|
You can consult the repository's `.gitattributes` file to see exactly
|
|
which components are excluded from production releases (release
|
|
tarballs are generated using `tools/build-release-tarball`).
|