documentation/content/en/dev/code.md

1.9 KiB
Raw Blame History

title description menu
Code structure Where to find certain parts of the codebase.
docs
weight parent
30 dev

{{< hint style="danger" >}} This page is under construction. {{< /hint >}}

Code structure

The following overview should not be seen as complete or authoritative, but as a rough guidance to help you find your way in the application.

Ruby

Path Description
app/controllers Code that binds business logic to templates
app/helpers Code that can be used from views, i.e. common operations
app/lib Code that doesnt fit in the other categories
app/models Code that represents data entities
app/serializers Code that generates JSON from models
app/services Complex logical operations involving multiple models
app/views Templates for generating HTML or other output
app/workers Code that executes outside the request-response cycle
spec Automated test suite

JavaScript

Path Description
app/javascript/mastodon Code for the multi-column React.js application
app/javascript/packs Code for non-React.js pages

CSS and other assets

Path Description
app/javascript/images Images
app/javascript/styles Code that turns into CSS via Sass

Localizations

Path Description
config/locales Server-side localizations in the YML format
app/javascript/mastodon/locales Client-side localizations in the JSON format

Localization maintenance

All locale files are normalized to ensure consistent formatting and key order, which minimizes changesets in version control.

Command Description
i18n-tasks normalize Normalize server-side translations
yarn run manage:translations Normalize client-side translations