Ctrl K
ComunidadGuías…

docs/assets.md

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[Table of contents](README.md#table-of-contents)

# Working with the stack assets

The cozy-stack has some assets: templates, CSS, JS, fonts, etc. For the
deployment in production, they are bundler in the go code and compiled to the
binary. But, it's also nice for developers to have them in a readable format
with a git history: they are also put in the `assets` directory, and some of
them are downloaded from other repositories and listed in `assets/.externals`.

## How to work on them on local?

In short:

```sh
$ scripts/build.sh debug-assets
$ go run . serve --assets debug-assets/
```

The first command creates a debug-assets directory, with symlinks for local
assets. It also downloads the external assets. The second command starts the
cozy-stack with those assets. If you modify one of the assets (local or
externals) and reload the page in your browser, you will see the new version.

Tip: if you are debugging an external asset, you may find it practical to
replace the file in `debug-assets` by a symlink from where you build this
asset. For example:

```sh
$ rm debug-assets/css/cozy-ui.min.css
$ ln -s path/to/cozy-ui/dist/cozy-ui.min.css debug/assets/css/cozy-ui.min.css
```

## `/dev` route

In development mode, a `/dev` route is available to render a template or a mail
with given parameter. For example:

### Emails

* http://cozy.localhost:8080/dev/mails/alert_account
* http://cozy.localhost:8080/dev/mails/archiver
* http://cozy.localhost:8080/dev/mails/confirm_flagship
* http://cozy.localhost:8080/dev/mails/export_error
* http://cozy.localhost:8080/dev/mails/import_error
* http://cozy.localhost:8080/dev/mails/import_success
* http://cozy.localhost:8080/dev/mails/magic_link
* http://cozy.localhost:8080/dev/mails/move_confirm
* http://cozy.localhost:8080/dev/mails/move_error
* http://cozy.localhost:8080/dev/mails/move_success
* http://cozy.localhost:8080/dev/mails/notifications_diskquota
* http://cozy.localhost:8080/dev/mails/notifications_oauthclients
* http://cozy.localhost:8080/dev/mails/notifications_sharing
* http://cozy.localhost:8080/dev/mails/passphrase_hint
* http://cozy.localhost:8080/dev/mails/passphrase_reset
* http://cozy.localhost:8080/dev/mails/sharing_request
* http://cozy.localhost:8080/dev/mails/sharing_to_confirm
* http://cozy.localhost:8080/dev/mails/support_request
* http://cozy.localhost:8080/dev/mails/two_factor?TwoFactorPasscode=123456
* http://cozy.localhost:8080/dev/mails/two_factor_mail_confirmation
* http://cozy.localhost:8080/dev/mails/update_email

### HTML pages

* http://cozy.localhost:8080/dev/templates/authorize.html
* http://cozy.localhost:8080/dev/templates/authorize_move.html
* http://cozy.localhost:8080/dev/templates/authorize_sharing.html
* http://cozy.localhost:8080/dev/templates/compat.html
* http://cozy.localhost:8080/dev/templates/confirm_auth.html
* http://cozy.localhost:8080/dev/templates/confirm_flagship.html?Email=jane@example.com
* http://cozy.localhost:8080/dev/templates/error.html?Error=oops&Button=Click%20me&ButtonURL=https://cozy.io/
* http://cozy.localhost:8080/dev/templates/import.html
* http://cozy.localhost:8080/dev/templates/install_flagship_app.html
* http://cozy.localhost:8080/dev/templates/instance_blocked.html?Reason=test
* http://cozy.localhost:8080/dev/templates/login.html
* http://cozy.localhost:8080/dev/templates/magic_link_twofactor.html
* http://cozy.localhost:8080/dev/templates/move_confirm.html?Email=jane@example.com
* http://cozy.localhost:8080/dev/templates/move_delegated_auth.html
* http://cozy.localhost:8080/dev/templates/move_in_progress.html
* http://cozy.localhost:8080/dev/templates/move_link.html?Link=https://jane.mycozy.cloud/&Illustration=no
* http://cozy.localhost:8080/dev/templates/move_vault.html
* http://cozy.localhost:8080/dev/templates/need_onboarding.html
* http://cozy.localhost:8080/dev/templates/new_app_available.html
* http://cozy.localhost:8080/dev/templates/oidc_login.html
* http://cozy.localhost:8080/dev/templates/oidc_twofactor.html
* http://cozy.localhost:8080/dev/templates/passphrase_choose.html
* http://cozy.localhost:8080/dev/templates/passphrase_reset.html?ShowBackButton=true&HasCiphers=true&HasHint=true
* http://cozy.localhost:8080/dev/templates/share_by_link_password.html
* http://cozy.localhost:8080/dev/templates/sharing_discovery.html?PublicName=Jane&RecipientDomain=mycozy.cloud&NotEmailError=true
* http://cozy.localhost:8080/dev/templates/oauth_clients_limit_exceeded.html
* http://cozy.localhost:8080/dev/templates/twofactor.html?TrustedDeviceCheckBox=true

## In production

The script `scripts/build.sh assets` download the externals assets, and
transform all the assets (local and externals) to go code. This command is used
by the maintainers of cozy-stack, so you should not have to worry about that
;-)

## Locales

The locales are managed on transifex. The `.po` files are put in `assets/locales`.
The master branch is synchronized with transifex via their github integration.

## Contexts

It's possible to overload some assets on a context with the `cozy-stack config
insert-asset` command. See [its
manpage](https://docs.cozy.io/en/cozy-stack/cli/cozy-stack_config_insert-asset/)
and [Customizing a context](https://docs.cozy.io/en/cozy-stack/config/#customizing-a-context)
for more details.