mirror of
https://github.com/penpot/penpot.git
synced 2025-01-23 06:58:58 -05:00
📚 Update documentation.
This commit is contained in:
parent
6c67c3c71b
commit
c2fe4b0ccc
4 changed files with 62 additions and 66 deletions
|
@ -13,7 +13,7 @@ you can emit the event to reset zoom level by typing this at the
|
|||
console (there is autocompletion for help):
|
||||
|
||||
```javascript
|
||||
uxbox.main.store.emit_BANG_(uxbox.main.data.workspace.reset_zoom)
|
||||
app.main.store.emit_BANG_(app.main.data.workspace.reset_zoom)
|
||||
```
|
||||
|
||||
|
||||
|
@ -26,7 +26,7 @@ some annotations on screen, to help understanding what's happening.
|
|||
To activate it, open the javascript console and type
|
||||
|
||||
```javascript
|
||||
uxbox.util.debug.toggle_debug("option")
|
||||
app.util.debug.toggle_debug("option")
|
||||
```
|
||||
|
||||
Current options are `bounding-boxes`, `group`, `events` and
|
||||
|
@ -35,8 +35,8 @@ Current options are `bounding-boxes`, `group`, `events` and
|
|||
You can also activate or deactivate all visual aids with
|
||||
|
||||
```javascript
|
||||
uxbox.util.debug.debug_all()
|
||||
uxbox.util.debug.debug_none()
|
||||
app.util.debug.debug_all()
|
||||
app.util.debug.debug_none()
|
||||
```
|
||||
|
||||
|
||||
|
@ -46,11 +46,11 @@ There are also some useful functions to visualize the global state or
|
|||
any complex object. To use them from clojure:
|
||||
|
||||
```clojure
|
||||
(ns uxbox.util.debug)
|
||||
(ns app.util.debug)
|
||||
(logjs <msg> <var>) ; to print the value of a variable
|
||||
(tap <fn>) ; to include a function with side effect (e.g. logjs) in a transducer.
|
||||
|
||||
(ns uxbox.main.store)
|
||||
(ns app.main.store)
|
||||
(dump-state) ; to print in console all the global state
|
||||
(dump-objects) ; to print in console all objects in workspace
|
||||
```
|
||||
|
@ -58,8 +58,8 @@ any complex object. To use them from clojure:
|
|||
But last ones are most commonly used from javscript console:
|
||||
|
||||
```
|
||||
uxbox.main.store.dump_state()
|
||||
uxbox.main.store.dump_objects()
|
||||
app.main.store.dump_state()
|
||||
app.main.store.dump_objects()
|
||||
```
|
||||
|
||||
|
||||
|
@ -71,17 +71,17 @@ format located in `resources/images/icons`. The gulp task will
|
|||
generate the sprite and the embedd it into the `index.html`.
|
||||
|
||||
Then, you can reference the icon from the sprite using the
|
||||
`uxbox.builtins.icons/icon-xref` macro:
|
||||
`app.builtins.icons/icon-xref` macro:
|
||||
|
||||
```clojure
|
||||
(ns some.namespace
|
||||
(:require-macros [uxbox.builtins.icons :refer [icon-xref]]))
|
||||
(:require-macros [app.main.ui.icons :refer [icon-xref]]))
|
||||
|
||||
(icon-xref :arrow)
|
||||
```
|
||||
|
||||
For performance reasons, all used icons are statically defined in the
|
||||
`src/uxbox/buitings/icons.cljs` file.
|
||||
`src/app/main/ui/icons.cljs` file.
|
||||
|
||||
|
||||
|
||||
|
@ -96,7 +96,7 @@ looks like this:
|
|||
```json
|
||||
{
|
||||
"auth.email-or-username" : {
|
||||
"used-in" : [ "src/uxbox/main/ui/auth/login.cljs:61" ],
|
||||
"used-in" : [ "src/app/main/ui/auth/login.cljs:61" ],
|
||||
"translations" : {
|
||||
"en" : "Email or Username",
|
||||
"fr" : "adresse email ou nom d'utilisateur"
|
||||
|
@ -140,7 +140,7 @@ command for reformat the file, and track the usage locations (the
|
|||
"used-in" list) before commiting the file into the repository:
|
||||
|
||||
```bash
|
||||
clojure -Adev locales.clj collect src/uxbox/main/ resources/locales.json
|
||||
clojure -Adev locales.clj collect src/app/main/ resources/locales.json
|
||||
```
|
||||
|
||||
NOTE: Later, we will need to think and implement the way to export and
|
||||
|
@ -154,11 +154,11 @@ You have two aproaches for translate strings: one for general purpose
|
|||
and other specific for React components (that leverages reactivity for
|
||||
language changes).
|
||||
|
||||
The `uxbox.util.i18n/tr` is the general purpose function. This is a
|
||||
The `app.util.i18n/tr` is the general purpose function. This is a
|
||||
simple use case example:
|
||||
|
||||
```clojure
|
||||
(require '[uxbox.util.i18n :refer [tr])
|
||||
(require '[app.util.i18n :refer [tr])
|
||||
|
||||
(tr "auth.email-or-username")
|
||||
;; => "Email or Username"
|
||||
|
@ -169,7 +169,7 @@ need to pass an additional parameter marked as counter in order to
|
|||
allow the system know when to show the plural:
|
||||
|
||||
```clojure
|
||||
(require '[uxbox.util.i18n :as i18n :refer [tr]])
|
||||
(require '[app.util.i18n :as i18n :refer [tr]])
|
||||
|
||||
(tr "ds.num-projects" (i18n/c 10))
|
||||
;; => "10 projects"
|
||||
|
@ -178,11 +178,11 @@ allow the system know when to show the plural:
|
|||
;; => "1 project"
|
||||
```
|
||||
|
||||
For React components, you have `uxbox.util.i18n/use-locale` hook
|
||||
and the `uxbox.util.i18n/t` function:
|
||||
For React components, you have `app.util.i18n/use-locale` hook
|
||||
and the `app.util.i18n/t` function:
|
||||
|
||||
```clojure
|
||||
(require '[uxbox.util.i18n :as i18n :refer [t]])
|
||||
(require '[app.util.i18n :as i18n :refer [t]])
|
||||
|
||||
(mf/defc my-component
|
||||
[props]
|
||||
|
|
|
@ -11,7 +11,7 @@ good amount of content (usually used for just test the application or
|
|||
perform performance tweaks on queries).
|
||||
|
||||
In order to load fixtures, enter to the REPL environment executing the
|
||||
`bin/repl` script, and then execute `(uxbox.fixtures/run {:preset :small})`.
|
||||
`bin/repl` script, and then execute `(app.cli.fixtures/run {:preset :small})`.
|
||||
|
||||
You also can execute this as a standalone script with:
|
||||
|
||||
|
@ -34,8 +34,8 @@ If you have a REPL access to the running process, you can execute it
|
|||
from there:
|
||||
|
||||
```clojure
|
||||
(require 'uxbox.fixtures)
|
||||
(uxbox.fixtures/run :small)
|
||||
(require 'app.cli.fixtures)
|
||||
(app.cli.fixtures/run :small)
|
||||
```
|
||||
|
||||
To access to the running process repl you usually will execute this
|
||||
|
|
|
@ -19,7 +19,7 @@ Example:
|
|||
This asserts are only executed on development mode. On production
|
||||
environment all assets like this will be ignored by runtime.
|
||||
|
||||
**spec/assert**: using the `uxbox.common.spec/assert` macro.
|
||||
**spec/assert**: using the `app.common.spec/assert` macro.
|
||||
|
||||
Also, if you are using clojure.spec, you have the spec based
|
||||
`clojure.spec.alpha/assert` macro. In the same way as the
|
||||
|
@ -30,7 +30,7 @@ Example:
|
|||
|
||||
````clojure
|
||||
(require '[clojure.spec.alpha :as s]
|
||||
'[uxbox.common.spec :as us])
|
||||
'[app.common.spec :as us])
|
||||
|
||||
(s/def ::number number?)
|
||||
|
||||
|
@ -46,14 +46,14 @@ completely removed.
|
|||
Example:
|
||||
|
||||
```clojure
|
||||
(require '[uxbox.common.spec :as us])
|
||||
(require '[app.common.spec :as us])
|
||||
|
||||
(us/verify ::number 3)
|
||||
```
|
||||
|
||||
This macro enables you have assetions on production code.
|
||||
|
||||
**Why don't use the `clojure.spec.alpha/assert` instead of the `uxbox.common.spec/assert`?**
|
||||
**Why don't use the `clojure.spec.alpha/assert` instead of the `app.common.spec/assert`?**
|
||||
|
||||
The uxbox variant does not peforms additional runtime checks for know
|
||||
if asserts are disabled in "runtime". As a result it generates much
|
||||
|
|
|
@ -4,12 +4,8 @@
|
|||
|
||||
## Frontend configuration parameters ##
|
||||
|
||||
**Only available at build time!**
|
||||
Not needed.
|
||||
|
||||
- `-e UXBOX_PUBLIC_URI=...` (defaults to `http://localhost:6060`)
|
||||
- `-e UXBOX_GOOGLE_CLIENT_ID=...` (defaults to `true`)
|
||||
- `-e UXBOX_LOGIN_WITH_LDAP=...` (defaults to `false`)
|
||||
- `-e UXBOX_DEMO_WARNING=...` (defaults to `true`)
|
||||
|
||||
## Backend configuration parameters ##
|
||||
|
||||
|
@ -21,41 +17,41 @@ environment variables.
|
|||
This is a probably incomplete list of available options (with
|
||||
respective defaults):
|
||||
|
||||
- `UXBOX_HTTP_SERVER_PORT=6060`
|
||||
- `UXBOX_PUBLIC_URI=http://localhost:3449`
|
||||
- `UXBOX_DATABASE_USERNAME=` (default undefined, used from uri)
|
||||
- `UXBOX_DATABASE_PASSWORD=` (default undefined, used from uri)
|
||||
- `UXBOX_DATABASE_URI=postgresql://127.0.0.1/uxbox`
|
||||
- `UXBOX_MEDIA_DIRECTORY=resources/public/media`
|
||||
- `UXBOX_MEDIA_URI=http://localhost:6060/media/`
|
||||
- `UXBOX_ASSETS_DIRECTORY=resources/public/static`
|
||||
- `UXBOX_ASSETS_URI=ehttp://localhost:6060/static/`
|
||||
- `UXBOX_SENDMAIL_BACKEND=console`
|
||||
- `UXBOX_SENDMAIL_REPLY_TO=no-reply@nodomain.com`
|
||||
- `UXBOX_SENDMAIL_FROM=no-reply@nodomain.com`
|
||||
- `UXBOX_SMTP_HOST=` (default undefined)
|
||||
- `UXBOX_SMTP_PORT=` (default undefined)
|
||||
- `UXBOX_SMTP_USER=` (default undefined)
|
||||
- `UXBOX_SMTP_PASSWORD=` (default undefined)
|
||||
- `UXBOX_SMTP_SSL=` (default to `false`)
|
||||
- `UXBOX_SMTP_TLS=` (default to `false`)
|
||||
- `UXBOX_REGISTRATION_ENABLED=true`
|
||||
- `UXBOX_REGISTRATION_DOMAIN_WHITELIST=""` (comma-separated domains, defaults to `""` which means that all domains are allowed)
|
||||
- `UXBOX_DEBUG_HUMANIZE_TRANSIT=true`
|
||||
- `APP_HTTP_SERVER_PORT=6060`
|
||||
- `APP_PUBLIC_URI=http://localhost:3449`
|
||||
- `APP_DATABASE_USERNAME=` (default undefined, used from uri)
|
||||
- `APP_DATABASE_PASSWORD=` (default undefined, used from uri)
|
||||
- `APP_DATABASE_URI=postgresql://127.0.0.1/app`
|
||||
- `APP_MEDIA_DIRECTORY=resources/public/media`
|
||||
- `APP_MEDIA_URI=http://localhost:6060/media/`
|
||||
- `APP_ASSETS_DIRECTORY=resources/public/static`
|
||||
- `APP_ASSETS_URI=ehttp://localhost:6060/static/`
|
||||
- `APP_SENDMAIL_BACKEND=console`
|
||||
- `APP_SENDMAIL_REPLY_TO=no-reply@nodomain.com`
|
||||
- `APP_SENDMAIL_FROM=no-reply@nodomain.com`
|
||||
- `APP_SMTP_HOST=` (default undefined)
|
||||
- `APP_SMTP_PORT=` (default undefined)
|
||||
- `APP_SMTP_USER=` (default undefined)
|
||||
- `APP_SMTP_PASSWORD=` (default undefined)
|
||||
- `APP_SMTP_SSL=` (default to `false`)
|
||||
- `APP_SMTP_TLS=` (default to `false`)
|
||||
- `APP_REGISTRATION_ENABLED=true`
|
||||
- `APP_REGISTRATION_DOMAIN_WHITELIST=""` (comma-separated domains, defaults to `""` which means that all domains are allowed)
|
||||
- `APP_DEBUG_HUMANIZE_TRANSIT=true`
|
||||
|
||||
- `UXBOX_LDAP_AUTH_HOST=` (default undefined)
|
||||
- `UXBOX_LDAP_AUTH_PORT=` (default undefined)
|
||||
- `UXBOX_LDAP_AUTH_VERSION=3`
|
||||
- `UXBOX_LDAP_BIND_DN=` (default undefined)
|
||||
- `UXBOX_LDAP_BIND_PASSWORD=` (default undefined)
|
||||
- `UXBOX_LDAP_AUTH_SSL=` (default `false`)
|
||||
- `UXBOX_LDAP_AUTH_STARTTLS=` (default `false`)
|
||||
- `UXBOX_LDAP_AUTH_BASE_DN=` (default undefined)
|
||||
- `UXBOX_LDAP_AUTH_USER_QUERY=(|(uid=$username)(mail=$username))`
|
||||
- `UXBOX_LDAP_AUTH_USERNAME_ATTRIBUTE=uid`
|
||||
- `UXBOX_LDAP_AUTH_EMAIL_ATTRIBUTE=mail`
|
||||
- `UXBOX_LDAP_AUTH_FULLNAME_ATTRIBUTE=displayName`
|
||||
- `UXBOX_LDAP_AUTH_AVATAR_ATTRIBUTE=jpegPhoto`
|
||||
- `APP_LDAP_AUTH_HOST=` (default undefined)
|
||||
- `APP_LDAP_AUTH_PORT=` (default undefined)
|
||||
- `APP_LDAP_AUTH_VERSION=3`
|
||||
- `APP_LDAP_BIND_DN=` (default undefined)
|
||||
- `APP_LDAP_BIND_PASSWORD=` (default undefined)
|
||||
- `APP_LDAP_AUTH_SSL=` (default `false`)
|
||||
- `APP_LDAP_AUTH_STARTTLS=` (default `false`)
|
||||
- `APP_LDAP_AUTH_BASE_DN=` (default undefined)
|
||||
- `APP_LDAP_AUTH_USER_QUERY=(|(uid=$username)(mail=$username))`
|
||||
- `APP_LDAP_AUTH_USERNAME_ATTRIBUTE=uid`
|
||||
- `APP_LDAP_AUTH_EMAIL_ATTRIBUTE=mail`
|
||||
- `APP_LDAP_AUTH_FULLNAME_ATTRIBUTE=displayName`
|
||||
- `APP_LDAP_AUTH_AVATAR_ATTRIBUTE=jpegPhoto`
|
||||
|
||||
|
||||
## REPL ##
|
||||
|
@ -102,6 +98,6 @@ clojure -Adev -X:fn-media-loader :path ../path/to/config.edn
|
|||
If you have a REPL access to the running process, you can execute it from there:
|
||||
|
||||
```clojure
|
||||
(require 'uxbox.media-loader)
|
||||
(require 'app.cli.media-loader)
|
||||
(uxbox.media-loader/run* "/path/to/config.edn")
|
||||
```
|
||||
|
|
Loading…
Add table
Reference in a new issue