diff --git a/CHANGES.md b/CHANGES.md index 8612f17be..8b8446672 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -93,6 +93,10 @@ root. - Fix cannot rename Design Token Sets when group of same name exists [Taiga Issue #10773](https://tree.taiga.io/project/penpot/issue/10773) - Fix problem when duplicating grid layout [Github #6391](https://github.com/penpot/penpot/issues/6391) - Fix issue that makes workspace shortcuts stop working [Taiga #11062](https://tree.taiga.io/project/penpot/issue/11062) +- Fix problem while syncing library colors and typographies [Taiga #11068](https://tree.taiga.io/project/penpot/issue/11068) +- Fix problem with path edition of shapes [Taiga #9496](https://tree.taiga.io/project/penpot/issue/9496) +- Fix exception on paste invalid html [Taiga #11047](https://tree.taiga.io/project/penpot/issue/11047) +- Fix share button being displayed with no permissions [Taiga #11086](https://tree.taiga.io/project/penpot/issue/11086) ## 2.6.2 diff --git a/README.md b/README.md index 148e31e82..bcbd8170d 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@
-[Penpot video](https://github.com/penpot/penpot/assets/5446186/b8ad0764-585e-4ddc-b098-9b4090d337cc) +[Penpot video](https://github.com/user-attachments/assets/08b83119-c090-4a74-86ed-7bfbdda9a793)
diff --git a/common/src/app/common/logic/libraries.cljc b/common/src/app/common/logic/libraries.cljc index 8bcf3c619..944588a93 100644 --- a/common/src/app/common/logic/libraries.cljc +++ b/common/src/app/common/logic/libraries.cljc @@ -596,7 +596,7 @@ (generate-sync-shape-direct changes file libraries container shape-id false))) (defmethod generate-sync-shape :colors - [_ changes library-id _ shape _ libraries _] + [_ changes library-id _ shape libraries _] (shape-log :debug (:id shape) nil :msg "Sync colors of shape" :shape (:name shape)) ;; Synchronize a shape that uses some colors of the library. The value of the @@ -607,7 +607,7 @@ #(ctc/sync-shape-colors % library-id library-colors)))) (defmethod generate-sync-shape :typographies - [_ changes library-id container shape _ libraries _] + [_ changes library-id container shape libraries _] (shape-log :debug (:id shape) nil :msg "Sync typographies of shape" :shape (:name shape)) ;; Synchronize a shape that uses some typographies of the library. The attributes diff --git a/common/src/app/common/schema.cljc b/common/src/app/common/schema.cljc index b9f662983..42329525b 100644 --- a/common/src/app/common/schema.cljc +++ b/common/src/app/common/schema.cljc @@ -211,8 +211,7 @@ (defn lazy-validator [s] - (let [s (schema s) - vfn (delay (validator s))] + (let [vfn (delay (validator s))] (fn [v] (@vfn v)))) (defn lazy-explainer diff --git a/common/src/app/common/types/shape/text.cljc b/common/src/app/common/types/shape/text.cljc index 1042e6f69..9b0e6908c 100644 --- a/common/src/app/common/types/shape/text.cljc +++ b/common/src/app/common/types/shape/text.cljc @@ -16,54 +16,56 @@ (def node-types #{"root" "paragraph-set" "paragraph"}) -(sm/register! - ^{::sm/type ::content} - [:map - [:type [:= "root"]] - [:key {:optional true} :string] - [:children - {:optional true} - [:maybe - [:vector {:min 1 :gen/max 2 :gen/min 1} - [:map - [:type [:= "paragraph-set"]] - [:key {:optional true} :string] - [:children - [:vector {:min 1 :gen/max 2 :gen/min 1} - [:map - [:type [:= "paragraph"]] - [:key {:optional true} :string] - [:fills {:optional true} - [:maybe - [:vector {:gen/max 2} ::shape/fill]]] - [:font-family {:optional true} :string] - [:font-size {:optional true} :string] - [:font-style {:optional true} :string] - [:font-weight {:optional true} :string] - [:direction {:optional true} :string] - [:text-decoration {:optional true} :string] - [:text-transform {:optional true} :string] - [:typography-ref-id {:optional true} [:maybe ::sm/uuid]] - [:typography-ref-file {:optional true} [:maybe ::sm/uuid]] - [:children - [:vector {:min 1 :gen/max 2 :gen/min 1} - [:map - [:text :string] - [:key {:optional true} :string] - [:fills {:optional true} - [:maybe - [:vector {:gen/max 2} ::shape/fill]]] - [:font-family {:optional true} :string] - [:font-size {:optional true} :string] - [:font-style {:optional true} :string] - [:font-weight {:optional true} :string] - [:direction {:optional true} :string] - [:text-decoration {:optional true} :string] - [:text-transform {:optional true} :string] - [:typography-ref-id {:optional true} [:maybe ::sm/uuid]] - [:typography-ref-file {:optional true} [:maybe ::sm/uuid]]]]]]]]]]]]]) +(def schema:content + [:map + [:type [:= "root"]] + [:key {:optional true} :string] + [:children + {:optional true} + [:maybe + [:vector {:min 1 :gen/max 2 :gen/min 1} + [:map + [:type [:= "paragraph-set"]] + [:key {:optional true} :string] + [:children + [:vector {:min 1 :gen/max 2 :gen/min 1} + [:map + [:type [:= "paragraph"]] + [:key {:optional true} :string] + [:fills {:optional true} + [:maybe + [:vector {:gen/max 2} ::shape/fill]]] + [:font-family {:optional true} :string] + [:font-size {:optional true} :string] + [:font-style {:optional true} :string] + [:font-weight {:optional true} :string] + [:direction {:optional true} :string] + [:text-decoration {:optional true} :string] + [:text-transform {:optional true} :string] + [:typography-ref-id {:optional true} [:maybe ::sm/uuid]] + [:typography-ref-file {:optional true} [:maybe ::sm/uuid]] + [:children + [:vector {:min 1 :gen/max 2 :gen/min 1} + [:map + [:text :string] + [:key {:optional true} :string] + [:fills {:optional true} + [:maybe + [:vector {:gen/max 2} ::shape/fill]]] + [:font-family {:optional true} :string] + [:font-size {:optional true} :string] + [:font-style {:optional true} :string] + [:font-weight {:optional true} :string] + [:direction {:optional true} :string] + [:text-decoration {:optional true} :string] + [:text-transform {:optional true} :string] + [:typography-ref-id {:optional true} [:maybe ::sm/uuid]] + [:typography-ref-file {:optional true} [:maybe ::sm/uuid]]]]]]]]]]]]]) +(sm/register! ::content schema:content) +(def valid-content? + (sm/lazy-validator schema:content)) (sm/register! ^{::sm/type ::position-data} diff --git a/docs/_includes/layouts/base.njk b/docs/_includes/layouts/base.njk index 54a3845d1..5fbb1469d 100644 --- a/docs/_includes/layouts/base.njk +++ b/docs/_includes/layouts/base.njk @@ -3,7 +3,6 @@ - @@ -15,7 +14,7 @@ {% metagen title=title or metadata.title, - desc=desc or metadata.desc, + desc=desc or metadata.desc or description or metadata.description, url="https://help.penpot.app" + page.url, img="https://help.penpot.app/img/th-help-center.jpg", img_alt=alt, diff --git a/docs/contributing-guide/coc/index.njk b/docs/contributing-guide/coc/index.njk index b9e3ffa86..43f310788 100644 --- a/docs/contributing-guide/coc/index.njk +++ b/docs/contributing-guide/coc/index.njk @@ -1,5 +1,6 @@ --- title: 04· Code of Conduct +desc: Learn about contributing to the Penpot project! This page outlines the Code of Conduct, reporting bugs, translations, core code contributions, & more. ---

Code of conduct

diff --git a/docs/contributing-guide/code-contributions/index.njk b/docs/contributing-guide/code-contributions/index.njk index 619295579..2c9ef6b51 100644 --- a/docs/contributing-guide/code-contributions/index.njk +++ b/docs/contributing-guide/code-contributions/index.njk @@ -1,5 +1,6 @@ --- title: 03· Core code contributions +desc: Learn how to contribute to Penpot's open-source design collaboration platform. Find guidelines for bug reporting, code contributions & more. ---

Core code contributions

diff --git a/docs/contributing-guide/index.njk b/docs/contributing-guide/index.njk index d6b0a74ca..b46ecd98e 100644 --- a/docs/contributing-guide/index.njk +++ b/docs/contributing-guide/index.njk @@ -1,5 +1,6 @@ --- title: Contributing +desc: Learn how to contribute to Penpot, the open-source design collaboration platform! Find guides on bug reporting, translations, code contributions, and more. eleventyNavigation: key: Contributing order: 3 diff --git a/docs/contributing-guide/libraries-templates/index.njk b/docs/contributing-guide/libraries-templates/index.njk index ce99f3a0f..2c477f433 100644 --- a/docs/contributing-guide/libraries-templates/index.njk +++ b/docs/contributing-guide/libraries-templates/index.njk @@ -1,5 +1,6 @@ --- title: 05· Libraries & Templates +desc: Contribute to Penpot's libraries & templates! Learn how to share your files and access resources. Try Penpot - It's free! ---

Libraries & templates

diff --git a/docs/contributing-guide/reporting-bugs/index.njk b/docs/contributing-guide/reporting-bugs/index.njk index 2b385f3e0..e424af52b 100644 --- a/docs/contributing-guide/reporting-bugs/index.njk +++ b/docs/contributing-guide/reporting-bugs/index.njk @@ -1,5 +1,6 @@ --- title: 01· Reporting bugs +desc: Learn how to contribute to Penpot, the open-source design and prototyping platform! Find guidelines for reporting bugs, translations, & code contributions. ---

Reporting bugs

diff --git a/docs/contributing-guide/translations/index.njk b/docs/contributing-guide/translations/index.njk index 2d5bfae2b..da7b15a0c 100644 --- a/docs/contributing-guide/translations/index.njk +++ b/docs/contributing-guide/translations/index.njk @@ -1,5 +1,6 @@ --- title: 02· Translations +desc: Contribute to Penpot! Learn how to translate Penpot into your language using Weblate. Add new translations, languages, or edit existing ones today. ---

Translations

diff --git a/docs/index.njk b/docs/index.njk index f5b601f7f..66a57a322 100644 --- a/docs/index.njk +++ b/docs/index.njk @@ -1,5 +1,6 @@ --- title: Help center +desc: Find user guides, technical documentation, plugin info, FAQs, and contributing guidelines in Penpot's help center. Join the open-source community! layout: layouts/home.njk twitter: "@penpotapp" image: img/placeholder.png diff --git a/docs/plugins/api.md b/docs/plugins/api.md index e378b6a72..9abf6a9fa 100644 --- a/docs/plugins/api.md +++ b/docs/plugins/api.md @@ -1,6 +1,7 @@ --- layout: layouts/plugins.njk title: 4. API +desc: Create, deploy, and use the Penpot plugin API with our comprehensive documentation. Get started today and expand Penpot's capabilities. --- # Penpot plugins API diff --git a/docs/plugins/beta-changelog.md b/docs/plugins/beta-changelog.md index 599f2bb97..1f5823575 100644 --- a/docs/plugins/beta-changelog.md +++ b/docs/plugins/beta-changelog.md @@ -1,5 +1,7 @@ --- layout: layouts/plugins-no-sidebar.njk +title: Beta changelog +desc: See the Penpot plugin API changelog for version 1.0! Find breaking changes, deprecations, new features, and updated documentation. Try Penpot for free. --- # Beta changelog diff --git a/docs/plugins/create-a-plugin.md b/docs/plugins/create-a-plugin.md index 39736e239..80c4a08df 100644 --- a/docs/plugins/create-a-plugin.md +++ b/docs/plugins/create-a-plugin.md @@ -1,6 +1,7 @@ --- layout: layouts/plugins.njk title: 2. Create a Plugin +desc: Dive into Penpot plugin development! This guide covers creating plugins from scratch or using templates, libraries, API communication, & deployment. --- # Create a Plugin diff --git a/docs/plugins/deployment.md b/docs/plugins/deployment.md index a225d0a58..d18616623 100644 --- a/docs/plugins/deployment.md +++ b/docs/plugins/deployment.md @@ -1,6 +1,7 @@ --- layout: layouts/plugins.njk title: 3. Deployment +desc: Deploy your free Penpot plugins! Learn about Netlify, Cloudflare, Surge & Penpot submission in this guide. Build and share your creations. --- # Deployment diff --git a/docs/plugins/examples-templates.md b/docs/plugins/examples-templates.md index c5c1105f4..1836b132c 100644 --- a/docs/plugins/examples-templates.md +++ b/docs/plugins/examples-templates.md @@ -1,6 +1,7 @@ --- layout: layouts/plugins.njk title: 5. Examples and templates +desc: Learn to create shapes, text, layouts, components, themes, and interactive prototypes. Start building now! See Penpot plugins with examples & templates! --- # Examples and templates @@ -117,7 +118,6 @@ Just a friendly reminder that it's important to have the comment permissions< Comments example - ## 5.2. Templates As we mentioned in the Create a plugin section, we've got two great options for you to get started with your plugin. diff --git a/docs/plugins/faq.md b/docs/plugins/faq.md index d883b39d6..405035859 100644 --- a/docs/plugins/faq.md +++ b/docs/plugins/faq.md @@ -1,6 +1,7 @@ --- layout: layouts/plugins.njk title: 6. FAQ +desc: Find answers to common questions about plugin development, from choosing the right Node version to creating components. See Penpot plugins! --- # FAQ diff --git a/docs/plugins/getting-started.md b/docs/plugins/getting-started.md index 89f42f61c..b2d2e5e9f 100644 --- a/docs/plugins/getting-started.md +++ b/docs/plugins/getting-started.md @@ -1,6 +1,7 @@ --- layout: layouts/plugins.njk title: 1. Getting started +desc: Dive into Penpot plugins! Extend Penpot's functionality by automating tasks and adding new features using JavaScript, HTML, & CSS. Get started now! --- # Getting started diff --git a/docs/plugins/index.njk b/docs/plugins/index.njk index 3390db4b3..63accb361 100644 --- a/docs/plugins/index.njk +++ b/docs/plugins/index.njk @@ -1,6 +1,7 @@ --- layout: layouts/plugins-home.njk title: Plugins +desc: "Get started with Penpot Plugins: Installation, development, and deployment. Access API documentation, examples, templates, and FAQs." eleventyNavigation: key: Plugins order: 5 diff --git a/docs/technical-guide/configuration.md b/docs/technical-guide/configuration.md index f944dbd45..7fac87c15 100644 --- a/docs/technical-guide/configuration.md +++ b/docs/technical-guide/configuration.md @@ -1,5 +1,6 @@ --- title: 2. Penpot Configuration +desc: Learn about self-hosting, configuration via environment variables, and authentication providers. Try Penpot - It's free! See Penpot's technical guide. --- # Penpot Configuration diff --git a/docs/technical-guide/developer/architecture/backend.md b/docs/technical-guide/developer/architecture/backend.md index 1fd2ab2a7..eb0517e9e 100644 --- a/docs/technical-guide/developer/architecture/backend.md +++ b/docs/technical-guide/developer/architecture/backend.md @@ -1,5 +1,6 @@ --- title: Backend app +desc: Dive into self-hosting, configuration, developer insights (architecture, data model), integration, and troubleshooting. See Penpot's Technical Guide. --- # Backend app diff --git a/docs/technical-guide/developer/architecture/common.md b/docs/technical-guide/developer/architecture/common.md index c6f2c7a55..8cb3e38e9 100644 --- a/docs/technical-guide/developer/architecture/common.md +++ b/docs/technical-guide/developer/architecture/common.md @@ -1,5 +1,6 @@ --- title: Common code +desc: Learn about architecture, data models, and development environments. See Penpot's technical guide for developers. Dive into common code. --- # Common code diff --git a/docs/technical-guide/developer/architecture/exporter.md b/docs/technical-guide/developer/architecture/exporter.md index 1846fceee..c2547ab31 100644 --- a/docs/technical-guide/developer/architecture/exporter.md +++ b/docs/technical-guide/developer/architecture/exporter.md @@ -1,5 +1,6 @@ --- title: Exporter app +desc: Learn about self-hosting, configuration, architecture (backend, frontend), data model, and development environment. See Penpot's technical guide. --- # Exporter app diff --git a/docs/technical-guide/developer/architecture/frontend.md b/docs/technical-guide/developer/architecture/frontend.md index 33febe237..c1caf3b4c 100644 --- a/docs/technical-guide/developer/architecture/frontend.md +++ b/docs/technical-guide/developer/architecture/frontend.md @@ -1,5 +1,6 @@ --- title: Frontend app +desc: Dive into the UI, data namespaces, ClojureScript, React, and worker app functionalities. View Penpot's frontend app architecture. Free to try! --- ### Frontend app diff --git a/docs/technical-guide/developer/architecture/index.md b/docs/technical-guide/developer/architecture/index.md index a4a5ed915..1160393d9 100644 --- a/docs/technical-guide/developer/architecture/index.md +++ b/docs/technical-guide/developer/architecture/index.md @@ -1,5 +1,6 @@ --- title: 3.01. Architecture +desc: Dive into architecture, backend, frontend, data models, and development environments. Contribute and self-host for free! See Penpot's technical guide. --- # Architecture diff --git a/docs/technical-guide/developer/common.md b/docs/technical-guide/developer/common.md index be8eacda2..ab2f51292 100644 --- a/docs/technical-guide/developer/common.md +++ b/docs/technical-guide/developer/common.md @@ -1,5 +1,6 @@ --- title: 3.04. Common Guide +desc: "View Penpot's technical guide: self-hosting, configuration, developer insights, architecture, data model, integration, and troubleshooting." --- # Common guide diff --git a/docs/technical-guide/developer/data-guide.md b/docs/technical-guide/developer/data-guide.md index 8ab9f3849..793ff365c 100644 --- a/docs/technical-guide/developer/data-guide.md +++ b/docs/technical-guide/developer/data-guide.md @@ -1,5 +1,6 @@ --- title: 3.08. Data Guide +desc: Learn about data structures, code organization, file operations, migrations, shape editing, and component syncing. See Penpot's technical guide. Try it free! --- # Data Guide diff --git a/docs/technical-guide/developer/data-model/index.md b/docs/technical-guide/developer/data-model/index.md index ffc6a13f7..6d384825f 100644 --- a/docs/technical-guide/developer/data-model/index.md +++ b/docs/technical-guide/developer/data-model/index.md @@ -1,5 +1,6 @@ --- title: 3.02. Data model +desc: Learn about self-hosting, configuration, developer tools, data models, architecture, and integrations. View Penpot's technical guide. Free to use! --- # Penpot Data Model diff --git a/docs/technical-guide/developer/devenv.md b/docs/technical-guide/developer/devenv.md index fbec40c7e..7e572c50f 100644 --- a/docs/technical-guide/developer/devenv.md +++ b/docs/technical-guide/developer/devenv.md @@ -1,5 +1,6 @@ --- title: 3.03. Dev environment +desc: Dive into Penpot's development environment. Learn about self-hosting, configuration, developer tools, architecture, and more. See the Penpot Technical Guide! --- # Development environment diff --git a/docs/technical-guide/developer/frontend.md b/docs/technical-guide/developer/frontend.md index 1f24b58d2..bbab7a6eb 100644 --- a/docs/technical-guide/developer/frontend.md +++ b/docs/technical-guide/developer/frontend.md @@ -1,5 +1,6 @@ --- title: 3.05. Frontend Guide +desc: "See Penpot's technical guide: self-hosting, configuration, developer insights (architecture, data model), frontend, backend, and integrations & more!" --- # Frontend Guide diff --git a/docs/technical-guide/developer/index.md b/docs/technical-guide/developer/index.md index 1e635f559..d15dbf993 100644 --- a/docs/technical-guide/developer/index.md +++ b/docs/technical-guide/developer/index.md @@ -1,5 +1,6 @@ --- title: 3. Developer Guide +desc: Dive into architecture, data models, and more. Start building today! See Penpot's technical guide for self-hosting, configuration, and developer insights. --- # Developer Guide diff --git a/docs/technical-guide/developer/subsystems/assets-storage.md b/docs/technical-guide/developer/subsystems/assets-storage.md index 62000d5a8..7108670c5 100644 --- a/docs/technical-guide/developer/subsystems/assets-storage.md +++ b/docs/technical-guide/developer/subsystems/assets-storage.md @@ -1,5 +1,6 @@ --- title: Assets storage +desc: Learn about assets storage, API, object buckets, sharing, and garbage collection. See Penpot's technical guide for developers. Try Penpot - It's free. --- # Assets storage diff --git a/docs/technical-guide/developer/subsystems/authentication.md b/docs/technical-guide/developer/subsystems/authentication.md index 97fa3a9e4..da437194e 100644 --- a/docs/technical-guide/developer/subsystems/authentication.md +++ b/docs/technical-guide/developer/subsystems/authentication.md @@ -1,5 +1,6 @@ --- title: Authentication +desc: Dive into Penpot today! Learn about self-hosting, configuration, developer insights, authentication, and more. View Penpot's technical guide. Try it free. --- # User authentication diff --git a/docs/technical-guide/developer/subsystems/index.md b/docs/technical-guide/developer/subsystems/index.md index 71dfb51c8..f53b59adb 100644 --- a/docs/technical-guide/developer/subsystems/index.md +++ b/docs/technical-guide/developer/subsystems/index.md @@ -1,5 +1,6 @@ --- title: 3.09. Penpot subsystems +desc: Learn about architecture, data models, and subsystems. View Penpot's technical guide for self-hosting, configuration, and development insights. Free! --- # Penpot subsystems @@ -12,4 +13,3 @@ implemented, over the whole app (backend, frontend or exporter), and points to the most relevant source files to look at to start exploring it. When some special considerations are needed (performance questions, limits, common "gotchas", historic reasons of some decisions, etc.) they are also noted. - diff --git a/docs/technical-guide/developer/ui.md b/docs/technical-guide/developer/ui.md index a646bd3d2..5105e2bc5 100644 --- a/docs/technical-guide/developer/ui.md +++ b/docs/technical-guide/developer/ui.md @@ -1,5 +1,6 @@ --- title: 3.10. UI Guide +desc: Learn UI development with React & Rumext, design system implementation, and performance considerations. See Penpot's technical guide. Free to use! --- # UI Guide diff --git a/docs/technical-guide/getting-started/docker.md b/docs/technical-guide/getting-started/docker.md index 9832623b6..5608c6882 100644 --- a/docs/technical-guide/getting-started/docker.md +++ b/docs/technical-guide/getting-started/docker.md @@ -1,5 +1,6 @@ --- title: 1.3 Install with Docker +desc: This Penpot technical guide covers self-hosting, Docker installation, configuration, updates, backups, and proxy setup with NGINX and Caddy. Try Penpot! ---

diff --git a/docs/technical-guide/getting-started/index.md b/docs/technical-guide/getting-started/index.md index bdf6812cb..175cf9919 100644 --- a/docs/technical-guide/getting-started/index.md +++ b/docs/technical-guide/getting-started/index.md @@ -1,5 +1,6 @@ --- title: 1. Self-hosting Guide +desc: Customize your Penpot instance today. Learn how to install with Elestio, Docker, or Kubernetes from the technical guide for self-hosting options. --- # Self-hosting Guide diff --git a/docs/technical-guide/getting-started/kubernetes.md b/docs/technical-guide/getting-started/kubernetes.md index ccfe79a5c..d2e9f969d 100644 --- a/docs/technical-guide/getting-started/kubernetes.md +++ b/docs/technical-guide/getting-started/kubernetes.md @@ -1,5 +1,6 @@ --- title: 1.4 Install with Kubernetes +desc: Learn how to install and configure Penpot on your Kubernetes cluster using Helm. Our technical guide provides step-by-step instructions for setup. --- # Install with Kubernetes diff --git a/docs/technical-guide/getting-started/recommended-settings.md b/docs/technical-guide/getting-started/recommended-settings.md index 0993b2234..1fc93e06a 100644 --- a/docs/technical-guide/getting-started/recommended-settings.md +++ b/docs/technical-guide/getting-started/recommended-settings.md @@ -1,5 +1,6 @@ --- title: 1.1 Recommended storage +desc: Learn recommended self-hosting settings, Docker & Kubernetes installs, configuration, and troubleshooting tips in Penpot's technical guide. --- # Recommended storage diff --git a/docs/technical-guide/getting-started/unofficial-options.md b/docs/technical-guide/getting-started/unofficial-options.md index 24f05f2a7..66692e676 100644 --- a/docs/technical-guide/getting-started/unofficial-options.md +++ b/docs/technical-guide/getting-started/unofficial-options.md @@ -1,5 +1,6 @@ --- title: 1.5 Unofficial self-host options +desc: Find guides for Docker, Kubernetes, and more in Penpot's Technical Guide for self-hosting options! Discover unofficial self-host options too. --- # Unofficial self-host options diff --git a/docs/technical-guide/index.md b/docs/technical-guide/index.md index 8f0b2783a..934734bd5 100644 --- a/docs/technical-guide/index.md +++ b/docs/technical-guide/index.md @@ -1,5 +1,6 @@ --- title: Technical Guide +desc: Get self-hosting instructions, integration details, and developer resources. Troubleshoot issues easily. Try Penpot free! See Penpot's technical guide. eleventyNavigation: key: Technical Guide order: 4 diff --git a/docs/technical-guide/integration.md b/docs/technical-guide/integration.md index a58cab66f..2d8d1c5a0 100644 --- a/docs/technical-guide/integration.md +++ b/docs/technical-guide/integration.md @@ -1,5 +1,6 @@ --- title: 4. Integration Guide +desc: Connect Penpot with other apps using webhooks and access tokens! Learn from Penpot's integration guide for seamless workflows. Try Penpot - It's free. --- # Integration Guide diff --git a/docs/technical-guide/troubleshooting.md b/docs/technical-guide/troubleshooting.md index 56274258b..f3e2028b0 100644 --- a/docs/technical-guide/troubleshooting.md +++ b/docs/technical-guide/troubleshooting.md @@ -1,5 +1,6 @@ --- title: 5. Troubleshooting Penpot +desc: Troubleshoot Penpot like a pro! Our technical guide offers tips and tricks for diagnosing issues, reading logs, and resolving problems. Get started now! --- # Troubleshooting Penpot diff --git a/docs/user-guide/components/index.njk b/docs/user-guide/components/index.njk index 44893da64..6aa8ba78c 100644 --- a/docs/user-guide/components/index.njk +++ b/docs/user-guide/components/index.njk @@ -1,10 +1,11 @@ --- title: 11· Components +desc: Streamline your design workflow with Penpot's Components guide! Learn to create, duplicate, group, and manage reusable components. ---

Components

Speed your workflow with the reusable power of components.

-

A component is an object or group of objects that can be reused multiple times across files. This can help you maintain consistency across a group of designs.

+

A component is an object or group of objects that can be reused multiple times across files. This can help you maintain consistency across a group of designs.

A component has two parts: