mirror of
https://github.com/penpot/penpot-docs.git
synced 2024-07-06 05:41:47 +00:00
🐛 Tech guide header issues
This commit is contained in:
parent
95d8dd3ff0
commit
f308bddce6
|
@ -18,7 +18,7 @@ worker, that may be used to queue tasks to be scheduled and executed when the
|
|||
backend is idle. Other tasks are email sending, collecting data for telemetry
|
||||
and detecting unused media attachment, for removing them from the file storage.
|
||||
|
||||
# Backend structure
|
||||
## Backend structure
|
||||
|
||||
Penpot backend app code resides under `backend/src/app` path in the main repository.
|
||||
|
||||
|
@ -102,7 +102,7 @@ Rel(backend_app, redis, "Notifies", "pub/sub")
|
|||
storage and semaphores).
|
||||
* `util/` has a collection of generic utility functions.
|
||||
|
||||
## RPC calls
|
||||
### RPC calls
|
||||
|
||||
The RPC (Remote Procedure Call) subsystem consists of a mechanism that allows
|
||||
to expose clojure functions as an HTTP endpoint. We take advantage of being
|
||||
|
@ -125,7 +125,7 @@ conversions.
|
|||
This way, frontend can execute backend calls like it was calling an async function,
|
||||
with all the power of Clojure data structures.
|
||||
|
||||
## PubSub
|
||||
### PubSub
|
||||
|
||||
To manage subscriptions to a file, to be notified of changes, we use a redis
|
||||
server as a pub/sub broker. Whenever a user visits a file and opens a
|
||||
|
|
|
@ -29,7 +29,7 @@ the `#?` construct, like this, for example:
|
|||
|
||||
Some of the modules need some refactoring, to organize them more cleanly.
|
||||
|
||||
# Data model and business logic
|
||||
## Data model and business logic
|
||||
|
||||
* **geom** contains functions to manage 2D geometric entities.
|
||||
- **point** defines the 2D Point type and many geometric transformations.
|
||||
|
@ -63,7 +63,7 @@ Some of the modules need some refactoring, to organize them more cleanly.
|
|||
approaching the process incrementally, rewriting one module each time, as
|
||||
needed.
|
||||
|
||||
# Utilities
|
||||
## Utilities
|
||||
|
||||
The main ones are:
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ inside a file. Then, if takes a screenshot if we are exporting to a bitmap
|
|||
image, or extract the svg from the DOM if we want a vectorial export, and write
|
||||
it to a file that the user can download.
|
||||
|
||||
# Exporter structure
|
||||
## Exporter structure
|
||||
|
||||
Penpot exporter app code resides under `exporter/src/app` path in the main repository.
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Frontend app
|
||||
---
|
||||
|
||||
# Frontend app
|
||||
### Frontend app
|
||||
|
||||
The main application, with the user interface and the presentation logic.
|
||||
|
||||
|
@ -19,7 +19,7 @@ connection, disconnection and mouse movements. And also to receive changes made
|
|||
by other users that are editing the same file, so it may be updated in real
|
||||
time.
|
||||
|
||||
# Frontend structure
|
||||
## Frontend structure
|
||||
|
||||
Penpot frontend app code resides under `frontend/src/app` path in the main repository.
|
||||
|
||||
|
@ -130,7 +130,7 @@ Rel(ui_viewer, data_viewer, "Uses")
|
|||
|
||||
@enduml
|
||||
|
||||
## General namespaces
|
||||
### General namespaces
|
||||
|
||||
* **store** contains the global state of the application. Uses an event loop
|
||||
paradigm, similar to Redux, with a global state object and a stream of events
|
||||
|
@ -149,7 +149,7 @@ Rel(ui_viewer, data_viewer, "Uses")
|
|||
kinds of errors in the ui or the data events, notify the user in a useful way,
|
||||
and allow to recover and continue working.
|
||||
|
||||
## UI namespaces
|
||||
### UI namespaces
|
||||
|
||||
* **ui** is the root web component. It reads the current url and mounts the needed
|
||||
subcomponent depending on the route.
|
||||
|
@ -179,7 +179,7 @@ Rel(ui_viewer, data_viewer, "Uses")
|
|||
of penpot screens (text or numeric inputs, selects, forms, buttons...).
|
||||
|
||||
|
||||
## Data namespaces
|
||||
### Data namespaces
|
||||
|
||||
* **users** has events to login and register, fetch the user profile and update it.
|
||||
|
||||
|
@ -205,7 +205,7 @@ Rel(ui_viewer, data_viewer, "Uses")
|
|||
keyboard shortcuts.
|
||||
|
||||
|
||||
# Worker app
|
||||
## Worker app
|
||||
|
||||
Some operations are costly to make in real time, so we leave them to be
|
||||
executed asynchronously in a web worker. This way they don't impact the user
|
||||
|
|
Loading…
Reference in New Issue
Block a user