├── .dockerignore ├── .drone.yml ├── .git-blame-ignore-revs ├── .gitignore ├── .prettierrc ├── .scss-lint.yml ├── .vscode ├── extensions.json └── settings.json ├── Dockerfile ├── README.md ├── Taxonomy.md ├── bin ├── add-menu.js ├── build-index.js ├── build.sh ├── compress.js ├── download-images.js └── drone ├── content ├── _content.gotmpl ├── _index.md ├── customising │ ├── advanced │ │ ├── _index.md │ │ ├── editor-configuration │ │ │ ├── _index.md │ │ │ ├── base-filter-legacy.md │ │ │ ├── base-filter.md │ │ │ ├── default-dashboard-filter.md │ │ │ ├── display-filter.md │ │ │ ├── editing-features.md │ │ │ ├── image-cropping.md │ │ │ ├── image-source-policy.md │ │ │ ├── images │ │ │ │ ├── iframely-settings-screen.png │ │ │ │ ├── inline_links.png │ │ │ │ ├── insert-panel-advanced-component-groups.png │ │ │ │ ├── properties-panel-transform-component.png │ │ │ │ ├── search-filters.png │ │ │ │ └── text-popover.png │ │ │ ├── login.md │ │ │ ├── menu-and-dashboards.md │ │ │ └── text-editing.md │ │ ├── editor │ │ │ ├── _index.md │ │ │ ├── browser-api.md │ │ │ ├── document-drag-drop.md │ │ │ ├── editor-api.md │ │ │ └── vue-component-registry.md │ │ ├── import-api.md │ │ ├── logging.md │ │ ├── search-customisation.md │ │ └── server-events.md │ ├── angular-migration │ │ ├── _index.md │ │ ├── dashboard-card-and-cells.md │ │ ├── dashboard-display-filters.md │ │ ├── filter-for-dashboards.md │ │ ├── includes.md │ │ └── metadata-plugins.md │ ├── assistants │ │ ├── _index.md │ │ ├── assistant-custom-error-message.png │ │ ├── assistant-focused-component-button.png │ │ ├── assistant-metadata-button.png │ │ ├── assistant-proposal.png │ │ └── k-menu-assistants.png │ ├── server-configuration │ │ ├── _index.md │ │ ├── images │ │ │ └── custom_preview.png │ │ ├── single-sign-on.md │ │ └── storage │ │ │ ├── _index.md │ │ │ ├── azure-blob-storage │ │ │ ├── 0-goto-storageaccount.png │ │ │ ├── 1-new-storageaccount.png │ │ │ ├── 2-fill-storageaccount-config.png │ │ │ ├── 3-fill-storageaccount-config.png │ │ │ ├── 4-new-container.png │ │ │ ├── 5-SAS-storage-account.png │ │ │ ├── 6-copy-SAS-Token.png │ │ │ └── index.md │ │ │ └── google-cloud-storage.md │ └── server │ │ ├── _index.md │ │ ├── document-lifecycle │ │ ├── _index.md │ │ ├── assets │ │ │ ├── document-creation-lifecycle.drawio │ │ │ ├── document-creation-lifecycle.png │ │ │ ├── document-publication-lifecycle.drawio │ │ │ └── document-publication-lifecycle.png │ │ ├── document-creation.md │ │ └── document-publication.md │ │ ├── document-version.md │ │ ├── images │ │ ├── print-layout.png │ │ ├── print-metadata-department.png │ │ ├── print-preview-inexisting-component.png │ │ ├── print-preview.png │ │ ├── print-template.png │ │ └── roles-configurations.png │ │ ├── metadata-plugins.md │ │ ├── roles.md │ │ ├── server-api │ │ ├── _index.md │ │ ├── dashboard-source-api.md │ │ ├── data-source-api.md │ │ ├── images │ │ │ └── datasource-dropdown.png │ │ ├── project-seeding-api.md │ │ └── public-api.md │ │ ├── server-cli.md │ │ ├── server-hooks.md │ │ └── server-initalization.md ├── guides │ ├── authentication │ │ ├── _index.md │ │ ├── access-hooks.md │ │ ├── access-rights │ │ │ ├── access-rights.png │ │ │ └── index.md │ │ ├── attribute-based-access-control.md │ │ ├── azure-ad-login │ │ │ ├── 0-goto-AAD.png │ │ │ ├── 1-create-registration.png │ │ │ ├── 2-app-callback-url.png │ │ │ ├── 3-enable-access-tokens.png │ │ │ ├── 4-add-client-secret.png │ │ │ ├── 5-copy-client-secret.png │ │ │ ├── 6-configure-scopes.png │ │ │ ├── 7-open-config-organization.png │ │ │ ├── 8-users-and-groups.png │ │ │ └── index.md │ │ └── user-management.md │ ├── deprecation-phase.md │ ├── documents │ │ ├── _index.md │ │ ├── document-design │ │ │ ├── _index.md │ │ │ ├── add-design-component.md │ │ │ ├── bullet-list-example.md │ │ │ ├── data-migrations │ │ │ │ ├── data-migration-run-complete.png │ │ │ │ ├── data-migration-run-help.png │ │ │ │ └── index.md │ │ │ ├── document-design-intro │ │ │ │ ├── add-component-patch.patch │ │ │ │ ├── add-default-content.patch │ │ │ │ ├── index.md │ │ │ │ ├── publish-config.png │ │ │ │ └── rearrange-component.png │ │ │ ├── embedded-design │ │ │ │ ├── bump-to-embedded-design.png │ │ │ │ └── index.md │ │ │ ├── publish-design.md │ │ │ └── responsive-bg-images.md │ │ ├── document-lifecycle │ │ │ ├── _index.md │ │ │ └── restore-a-document │ │ │ │ └── index.md │ │ ├── includes │ │ │ ├── _index.md │ │ │ ├── document-teasers.md │ │ │ ├── editable-document-teasers.md │ │ │ ├── instagram.png │ │ │ ├── list-teasers.md │ │ │ ├── my-teaser.png │ │ │ ├── oembed │ │ │ │ ├── advanced-provider.png │ │ │ │ ├── index.md │ │ │ │ └── simple-provider.png │ │ │ ├── teaser-include.png │ │ │ ├── toolbar-teaser.png │ │ │ ├── twitter-embed │ │ │ │ ├── index.md │ │ │ │ └── twitter-include.png │ │ │ └── youtube-embed │ │ │ │ ├── index.md │ │ │ │ ├── youtube-include-sidebar.png │ │ │ │ └── youtube_include.png │ │ └── metadata │ │ │ ├── _index.md │ │ │ └── metadata-examples │ │ │ ├── index.md │ │ │ └── slug-metadata-form.png │ ├── editor │ │ ├── _index.md │ │ ├── assistants │ │ │ ├── index.md │ │ │ └── k-menu-assistants.png │ │ ├── author-management │ │ │ ├── author-content-type.png │ │ │ ├── index.md │ │ │ ├── link-author-in-article.png │ │ │ └── map-author.png │ │ ├── custom-dashboard-filters │ │ │ ├── filter-dropdown.png │ │ │ ├── index.md │ │ │ └── multi-filter-dropdown.png │ │ ├── custom-table-dashboard-cell.png │ │ ├── custom-table-dashboard-cells.md │ │ ├── declarative-document-copy │ │ │ ├── copy-article.png │ │ │ ├── copy-basics.png │ │ │ ├── copy-design-to-design.png │ │ │ ├── copy-layout-l1-to-layout-l2-modified-components.png │ │ │ ├── copy-layout-l1-to-layout-l2-unknown-copy-false.png │ │ │ └── index.md │ │ ├── document-copy-flows.md │ │ ├── document-creation-flow.md │ │ ├── document-previews │ │ │ └── index.md │ │ ├── document-print-flows.md │ │ ├── document-soft-lock │ │ │ ├── document-soft-lock.png │ │ │ └── index.md │ │ ├── document-transform-flows.md │ │ ├── filter-migration.md │ │ ├── icons.md │ │ ├── image-gallery.md │ │ ├── images │ │ │ ├── custom-proofreading-task.png │ │ │ ├── custom-review-task.png │ │ │ ├── image-gallery-content-type.png │ │ │ ├── image-gallery-teaser-placeholder.png │ │ │ ├── image-gallery-teaser.png │ │ │ └── tasks.png │ │ ├── menus │ │ │ ├── index.md │ │ │ ├── menu-creation.png │ │ │ └── menu-metadata.png │ │ ├── metadata-translations │ │ │ ├── index.md │ │ │ └── metadata-translations-form.png │ │ ├── multi-language-content │ │ │ ├── dashboard.png │ │ │ ├── index.md │ │ │ └── metadata.png │ │ ├── multi-language-ui │ │ │ ├── index.md │ │ │ ├── label-german.png │ │ │ └── language-switcher.png │ │ ├── notifications │ │ │ ├── comments-mentioning.png │ │ │ ├── index.md │ │ │ └── notification-config.png │ │ ├── project-document-copy │ │ │ ├── document-drag-and-drop.gif │ │ │ └── index.md │ │ ├── proofreading-dashboard.md │ │ ├── proofreading-task.md │ │ ├── publish-control │ │ │ ├── _index.md │ │ │ ├── delivery │ │ │ │ ├── delivery.png │ │ │ │ └── index.md │ │ │ ├── embargo │ │ │ │ ├── embargo-disabled.png │ │ │ │ ├── embargo-indefinite.png │ │ │ │ ├── embargo-publish-later.png │ │ │ │ ├── embargo-until.png │ │ │ │ └── index.md │ │ │ ├── publish-control-basics.md │ │ │ ├── publish-control-migration.md │ │ │ ├── scheduled-publishing │ │ │ │ ├── index.md │ │ │ │ ├── publish-later-now.png │ │ │ │ ├── publish-later.png │ │ │ │ └── un-publish-later.png │ │ │ ├── significant-update │ │ │ │ ├── index.md │ │ │ │ └── significant-update.png │ │ │ └── visible-publication-date │ │ │ │ ├── index.md │ │ │ │ ├── publication-date-edit.png │ │ │ │ └── publication-date-view.png │ │ ├── push-notifications │ │ │ ├── article.png │ │ │ ├── dashboard.png │ │ │ └── index.md │ │ ├── review-task.md │ │ └── teaser-preview │ │ │ ├── index.md │ │ │ └── teaser-preview.gif │ ├── integrations │ │ ├── _index.md │ │ ├── cross-project-content-sharing │ │ │ ├── index.md │ │ │ ├── li-document-references-card.png │ │ │ └── useDashboard-table-dashboard.png │ │ ├── desknet-global-integration-migration.md │ │ ├── desknet-legacy │ │ │ ├── desknet-config.png │ │ │ └── index.md │ │ ├── desknet-schedule │ │ │ ├── desknet-schedule-metadata-field.png │ │ │ ├── desknet-schedule-side-panel.png │ │ │ └── index.md │ │ ├── desknet-to-kordiam-migration.md │ │ ├── desknet.md │ │ ├── dpa-import.md │ │ ├── google-vision.md │ │ ├── handsontable │ │ │ ├── Handsontable-config.png │ │ │ ├── Rendered-Handsontable.png │ │ │ └── index.md │ │ ├── hugo-dnd │ │ │ └── index.md │ │ ├── kordiam-global-integration-migration.md │ │ ├── kordiam-legacy │ │ │ ├── index.md │ │ │ └── kordiam-config.png │ │ ├── kordiam-schedule │ │ │ ├── index.md │ │ │ ├── kordiam-schedule-metadata-field.png │ │ │ └── kordiam-schedule-side-panel.png │ │ ├── kordiam.md │ │ ├── li2xliff │ │ │ └── index.md │ │ ├── print │ │ │ ├── index.md │ │ │ ├── print-layout.png │ │ │ ├── print-metadata-department.png │ │ │ ├── print-preview-inexisting-component.png │ │ │ ├── print-preview.png │ │ │ └── print-template.png │ │ ├── retresco.md │ │ └── woodwing-assets.md │ ├── media-library │ │ ├── _index.md │ │ ├── image-services.md │ │ ├── media-library-setup │ │ │ ├── editing-toolbar.png │ │ │ ├── fp_crop_default.png │ │ │ ├── fp_select_center.png │ │ │ ├── fp_select_chapel.png │ │ │ ├── fp_select_mountain.png │ │ │ ├── image-editor-button.png │ │ │ ├── image-editor.png │ │ │ ├── index.md │ │ │ ├── poster-image-frame-selection.png │ │ │ ├── poster-image.png │ │ │ ├── transcoding-state-done.png │ │ │ └── transcoding-state-zero.png │ │ ├── media-sources │ │ │ ├── images │ │ │ │ └── media-sources.png │ │ │ └── index.md │ │ ├── revoke-media.md │ │ └── video-includes │ │ │ ├── index.md │ │ │ ├── video-include-placeholder.png │ │ │ └── video-include-player.png │ ├── organisation │ │ ├── _index.md │ │ ├── categories-and-routing.md │ │ ├── routing-system.md │ │ └── sitemaps-and-feeds.md │ ├── search │ │ ├── _index.md │ │ ├── custom-index.md │ │ ├── multi-cluster-indexing.md │ │ ├── publication-index-legacy.md │ │ └── publication-index.md │ └── setup │ │ ├── _index.md │ │ ├── change-http-port.md │ │ ├── editor-customization.md │ │ ├── import-legacy-system-documents.md │ │ ├── link-local-dependencies.md │ │ ├── project-secrets.md │ │ ├── server-customization.md │ │ └── setup-windows.md ├── illu-guides.png ├── illu-learn.svg ├── illu-operations.png ├── illu-referrence.png ├── learn │ ├── _index.md │ └── video-tour.md ├── operations │ ├── architecture.md │ ├── docker.md │ ├── external-services.md │ ├── hardware-requirements.md │ ├── high-availability-setup.md │ ├── images │ │ ├── architecture-delivery.png │ │ ├── architecture-editing.png │ │ ├── architecture-external-services.png │ │ ├── architecture-proxy.png │ │ ├── architecture-stacks-apps.png │ │ ├── grafana-dashboard-panel-loki.png │ │ ├── grafana-dashboard-panel-prometheus.png │ │ └── grafana-logs-and-traces.png │ ├── maintenance │ │ ├── how-to-do-a-load-test.md │ │ └── how-to-varnish.md │ ├── npm-packages.md │ ├── npm │ │ ├── access-private-npm-modules.md │ │ ├── generating-npm-tokens.md │ │ ├── hotfix-legacy-release.md │ │ └── publish-packages.md │ ├── proxy.md │ ├── releases │ │ ├── _index.md │ │ ├── release-2021-03.md │ │ ├── release-2021-06.md │ │ ├── release-2021-09.md │ │ ├── release-2021-11.md │ │ ├── release-2022-03.md │ │ ├── release-2022-05.md │ │ ├── release-2022-07.md │ │ ├── release-2022-09.md │ │ ├── release-2022-11.md │ │ ├── release-2023-01.md │ │ ├── release-2023-03.md │ │ ├── release-2023-05.md │ │ ├── release-2023-07.md │ │ ├── release-2023-09.md │ │ ├── release-2023-11.md │ │ ├── release-2024-01.md │ │ ├── release-2024-03.md │ │ ├── release-2024-05.md │ │ ├── release-2024-07.md │ │ ├── release-2024-09-document-info-panel.png │ │ ├── release-2024-09-wide-side-panels.png │ │ ├── release-2024-09.md │ │ ├── release-2024-11-inbox-permission.png │ │ ├── release-2024-11.md │ │ ├── release-2025-01-brands-condition.png │ │ ├── release-2025-01-timeline-mode.png │ │ ├── release-2025-01-user-needs.png │ │ ├── release-2025-01-visibility-mode.png │ │ ├── release-2025-01.md │ │ ├── release-2025-03-smart-quotes.png │ │ ├── release-2025-03.md │ │ ├── release-2025-05-image-editor-button.png │ │ ├── release-2025-05-image-editor.png │ │ ├── release-2025-05-remove-metadata-translations.png │ │ ├── release-2025-05.md │ │ └── release-2025-07.md │ ├── self-hosting.md │ └── telemetry.md └── reference │ ├── _index.md │ ├── cli │ ├── _index.md │ ├── cli-dotfile.md │ └── managing-project-configs.md │ ├── document │ ├── _index.md │ ├── content │ │ ├── _index.md │ │ ├── component-model.md │ │ ├── component-tree.md │ │ ├── directives-models.md │ │ └── livingdocs-model.md │ ├── document-design │ │ ├── _index.md │ │ ├── component-property.png │ │ ├── directives │ │ │ ├── _index.md │ │ │ ├── anchor-link-dialog.png │ │ │ ├── char-limit.png │ │ │ ├── container.md │ │ │ ├── editable.md │ │ │ ├── html.md │ │ │ ├── image-crop.png │ │ │ ├── image.md │ │ │ ├── include.md │ │ │ ├── link.md │ │ │ ├── style.md │ │ │ ├── toggle.md │ │ │ └── video.md │ │ └── legacy-design │ │ │ ├── design-config-v1-to-v2.md │ │ │ └── design-config-v1.md │ ├── includes │ │ ├── _index.md │ │ ├── editor-customization.md │ │ ├── images │ │ │ ├── multiselect.png │ │ │ └── time-diagram-doc-include.jpg │ │ ├── introduction.md │ │ ├── server-customization.md │ │ └── service-multiselect.md │ ├── metadata │ │ ├── _index.md │ │ ├── images │ │ │ ├── li-buy-in-closed.png │ │ │ ├── li-buy-in-dashboard.png │ │ │ ├── li-buy-in-initial.png │ │ │ ├── li-datetime-validity-ui.png │ │ │ ├── li-estimated-time-of-completion-buttons.png │ │ │ ├── li-estimated-time-of-completion-date-range.png │ │ │ ├── li-estimated-time-of-completion-single-date.png │ │ │ ├── li-exposure-boost-algorithm-switch.png │ │ │ ├── li-exposure-boost-metadata-form.png │ │ │ ├── li-exposure-boost-table-dashboard.png │ │ │ ├── li-issue-management-overview.png │ │ │ ├── li-issue-management-page-view.png │ │ │ ├── li-issue-management-remove.png │ │ │ ├── li-issue-management-view-articles.png │ │ │ ├── li-push-messages-dashboard.png │ │ │ ├── li-push-messages-dialog.png │ │ │ ├── li-target-length.png │ │ │ ├── li-team-dashboard.png │ │ │ ├── li-team-meta.png │ │ │ ├── li-teaser-container-child-settings.png │ │ │ ├── li-teaser-container-settings.png │ │ │ ├── li-teaser-default-ui.png │ │ │ ├── li-teaser-overview.jpg │ │ │ ├── li-teaser-side-table.png │ │ │ ├── li-tree-multilang.png │ │ │ ├── li-user-needs-creationd-flow.png │ │ │ ├── li-user-needs-dashboard.png │ │ │ ├── li-user-needs-display-filter.png │ │ │ ├── li-user-needs-meta.png │ │ │ └── max-length.png │ │ ├── li-document-search-example.png │ │ ├── li-list-reference-example.png │ │ ├── li-numeric-list-example.png │ │ ├── li-reference-list-example.png │ │ └── plugins │ │ │ ├── _index.md │ │ │ ├── images │ │ │ ├── li-color-ui.png │ │ │ ├── li-document-reference-ui.png │ │ │ ├── li-enum-ui.png │ │ │ ├── li-metadata-translations-ui.png │ │ │ ├── li-reference-ui.png │ │ │ └── li-video-reference-ui.png │ │ │ ├── li-boolean.md │ │ │ ├── li-bundled-documents.md │ │ │ ├── li-buy-in.md │ │ │ ├── li-category.md │ │ │ ├── li-color.md │ │ │ ├── li-date.md │ │ │ ├── li-datetime-validity.md │ │ │ ├── li-datetime.md │ │ │ ├── li-dependencies.md │ │ │ ├── li-desknet-global.md │ │ │ ├── li-desknet-integration.md │ │ │ ├── li-desknet-schedule.md │ │ │ ├── li-distribution-dates.md │ │ │ ├── li-distribution-planning.md │ │ │ ├── li-distribution-schedule.md │ │ │ ├── li-document-reference.md │ │ │ ├── li-document-references.md │ │ │ ├── li-document-search.md │ │ │ ├── li-document-soft-lock.md │ │ │ ├── li-enum.md │ │ │ ├── li-estimated-time-of-completion.md │ │ │ ├── li-exposure-boost.md │ │ │ ├── li-external-id.md │ │ │ ├── li-google-vision.md │ │ │ ├── li-image.md │ │ │ ├── li-imatrics-nlp-tags.md │ │ │ ├── li-integer.md │ │ │ ├── li-invalid.md │ │ │ ├── li-issue-management.md │ │ │ ├── li-kordiam-global.md │ │ │ ├── li-kordiam-integration.md │ │ │ ├── li-kordiam-schedule.md │ │ │ ├── li-language.md │ │ │ ├── li-list-reference.md │ │ │ ├── li-manual-document-status.md │ │ │ ├── li-media-language.md │ │ │ ├── li-metadata-translations.md │ │ │ ├── li-moderated-collab.md │ │ │ ├── li-named-crops.md │ │ │ ├── li-numeric-list.md │ │ │ ├── li-poster-image.md │ │ │ ├── li-print.md │ │ │ ├── li-publish-date.md │ │ │ ├── li-push-messages.md │ │ │ ├── li-push-notifications.md │ │ │ ├── li-reference-list.md │ │ │ ├── li-reference.md │ │ │ ├── li-retresco.md │ │ │ ├── li-routing.md │ │ │ ├── li-string-list.md │ │ │ ├── li-system-boolean.md │ │ │ ├── li-system-date.md │ │ │ ├── li-system-datetime.md │ │ │ ├── li-system-enum.md │ │ │ ├── li-system-integer.md │ │ │ ├── li-system-target-length.md │ │ │ ├── li-system-text.md │ │ │ ├── li-target-length.md │ │ │ ├── li-task-v2.md │ │ │ ├── li-team.md │ │ │ ├── li-teaser.md │ │ │ ├── li-text.md │ │ │ ├── li-ticker-host-reference.md │ │ │ ├── li-transcoding-state.md │ │ │ ├── li-tree.md │ │ │ ├── li-unique-id.md │ │ │ ├── li-user-needs.md │ │ │ └── li-video-reference.md │ ├── migration │ │ ├── _index.md │ │ ├── data-migration.md │ │ └── on-read-migration.md │ └── references │ │ └── _index.md │ ├── project-config │ ├── _index.md │ ├── brands.md │ ├── categories.md │ ├── components.md │ ├── content-types.md │ ├── deliveries.md │ ├── design-settings.md │ ├── editor-settings.md │ ├── external-systems.md │ ├── finite-products.md │ ├── images │ │ ├── asset-inbox-button.png │ │ ├── custom_user_menu.png │ │ ├── inbox-assignment.png │ │ ├── inbox-documents.png │ │ ├── inline_links.png │ │ ├── send-to-inbox-context-menu-button.png │ │ ├── table-dashboard-cell-print.png │ │ ├── table-dashboard-cell-statistics.png │ │ ├── table-dashboard-task-list.png │ │ ├── table_dashboard_language_cell.png │ │ ├── table_dashboard_main_cell.png │ │ ├── table_dashboard_publish_state_cell.png │ │ ├── text-count.png │ │ ├── text_formatting.png │ │ └── text_formatting_placeholder.png │ ├── import-export.md │ ├── media-types.md │ ├── notifications.md │ └── settings.md │ ├── public-api │ ├── _content.gotmpl │ ├── _index.md │ ├── api-versioning-schedule.svg │ ├── changelog │ │ ├── 2024-07 │ │ │ └── document-command-api-new-commands.md │ │ ├── 2024-11 │ │ │ ├── deprecate-menu-tool.md │ │ │ └── document-command-api-new-commands.md │ │ ├── 2025-01 │ │ │ └── brand-conditions.md │ │ ├── 2025-03 │ │ │ ├── api-versioning.md │ │ │ └── media-library-serve-image.md │ │ ├── 2025-05 │ │ │ ├── kordiam-rebranding-remove-desknet-endpoints.md │ │ │ └── menu-tool-removal.md │ │ └── _index.md │ ├── open-api.md │ ├── publications │ │ ├── references.png │ │ └── search-filters.md │ └── versioning.md │ └── webhooks │ ├── _index.md │ ├── webhook-detail.png │ └── webhooks.png ├── data ├── endpoints │ ├── add-delivery-status.yaml │ ├── auth-errors.yaml │ ├── auth-example.yaml │ ├── composition-beta.yaml │ ├── composition.yaml │ ├── document-commands.yaml │ ├── first-response.yaml │ ├── get-categories.yaml │ ├── get-category.yaml │ ├── get-channel-configuration.yaml │ ├── get-design-configuration.yaml │ ├── get-latest-design-configuration.yaml │ ├── get-latest-publication-beta.yaml │ ├── get-latest-publication-v1.yaml │ ├── get-latest-publication.yaml │ ├── get-list-by-id.yaml │ ├── get-lists.yaml │ ├── get-media-library-entries.yaml │ ├── get-media-library-entry.yaml │ ├── get-media-library-incoming-document-references.yaml │ ├── get-media-library-incoming-media-references.yaml │ ├── get-menus.yaml │ ├── get-project-config.yaml │ ├── get-project-configuration.yaml │ ├── get-sitemap-entries.yaml │ ├── get-sitemap-index.yaml │ ├── health-check.yaml │ ├── import-documents-status.yaml │ ├── import-documents.yaml │ ├── import-files-status.yaml │ ├── import-files.yaml │ ├── import-images-status.yaml │ ├── import-images.yaml │ ├── import-media-library-entries.yaml │ ├── import-videos-status.yaml │ ├── import-videos.yaml │ ├── incoming-document-references.yaml │ ├── incoming-media-references.yaml │ ├── incoming-references.yaml │ ├── latest-draft-beta.yaml │ ├── latest-draft.yaml │ ├── latest-publications-beta.yaml │ ├── latest-publications-v1.yaml │ ├── latest-publications.yaml │ ├── media-library-serve-image.yaml │ ├── patch-media-library-entry.yaml │ ├── publication-events.yaml │ ├── publication-renditions.yaml │ ├── resolve-path.yaml │ ├── retresco-re-enrich.yaml │ └── search-publications.yaml ├── openapi.yaml ├── releases.json └── sections.yaml ├── hugo.yaml ├── nginx.conf ├── package-lock.json ├── package.json ├── redirects.map ├── renovate.json └── themes └── hugo-docs ├── .gitignore ├── assets ├── base │ ├── animations.scss │ ├── breakpoints.scss │ ├── colors-chroma.scss │ ├── colors.scss │ ├── materialdesignicons.css │ ├── mixins.scss │ ├── reset.scss │ ├── spaces.scss │ ├── spacing-elements.scss │ └── typography.scss ├── elements │ ├── anchor.scss │ ├── api-example.scss │ ├── arrow.scss │ ├── article.scss │ ├── badge.scss │ ├── breadcrumbs.scss │ ├── buttons.scss │ ├── check.scss │ ├── checkbox.scss │ ├── code-teaser.scss │ ├── cols.scss │ ├── cross.scss │ ├── feature-info.scss │ ├── flag.scss │ ├── footer.scss │ ├── general.scss │ ├── github.scss │ ├── header.scss │ ├── highlight.scss │ ├── history-button.scss │ ├── history.scss │ ├── illu-teaser.scss │ ├── info.scss │ ├── input-field.scss │ ├── list.scss │ ├── logo.scss │ ├── menu-search.scss │ ├── newsletter-form.scss │ ├── page.scss │ ├── pagination.scss │ ├── pill.scss │ ├── release-header.scss │ ├── scopes-pill.scss │ ├── search-box.scss │ ├── search-results-document.scss │ ├── search-results-line.scss │ ├── search-results.scss │ ├── section-label.scss │ ├── section-teaser.scss │ ├── section-teasers.scss │ ├── section.scss │ ├── shortcut.scss │ ├── shortcuts.scss │ ├── table-of-contents.scss │ ├── table.scss │ ├── tag.scss │ ├── teaser-and-code.scss │ ├── text-button.scss │ ├── tip.scss │ ├── topic.scss │ ├── topics.scss │ ├── video.scss │ └── warning.scss ├── script.js ├── search.js ├── style.scss └── svg │ ├── info.svg │ ├── li-docs.svg │ ├── li.svg │ ├── not-found.svg │ ├── repo.svg │ └── warning.svg ├── layouts ├── 404.html ├── _default │ ├── _markup │ │ └── render-blockquote.html │ ├── baseof.html │ ├── section.html │ ├── section.searchindex.json │ └── single.html ├── api-reference-section │ └── single.html ├── changelog │ └── section.html ├── guides │ ├── section.html │ └── single.html ├── home.html ├── index.searchindex.json ├── metadata-plugins │ ├── section.html │ └── single.html ├── partials │ ├── _api-endpoints.html │ ├── _api-versions.html │ ├── added-in.html │ ├── api-example-resource.html │ ├── api-version-array-matches.html │ ├── api-version-matches.html │ ├── api-version-range.html │ ├── api-version-selector.html │ ├── api-version-sequence.html │ ├── api-version-string.html │ ├── check-cross.html │ ├── deprecated-in.html │ ├── edit-page.html │ ├── footer.html │ ├── html-header-global-meta.html │ ├── menu-children.html │ ├── menu.html │ ├── navigation.html │ ├── openapi-template.gotmpl │ ├── removed-in.html │ ├── required-for.html │ ├── sidebar.html │ └── topbar.html ├── redirect │ └── single.html ├── release-notes │ ├── section.html │ └── single.html ├── robots.txt └── shortcodes │ ├── a.html │ ├── added-in.html │ ├── check.html │ ├── cols.html │ ├── cross.html │ ├── deprecated-in.html │ ├── feature-info.html │ ├── github.html │ ├── illu-teaser.html │ ├── img.html │ ├── info.html │ ├── newsletter-form.html │ ├── openapi-list.html │ ├── openapi.html │ ├── release-notes-overview.html │ ├── release.html │ ├── removed-in.html │ ├── required-for.html │ ├── system-versions.html │ ├── tip.html │ └── warning.html ├── static └── favicon.ico └── theme.toml /.dockerignore: -------------------------------------------------------------------------------- 1 | public 2 | node_modules 3 | -------------------------------------------------------------------------------- /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # This file contains a list of ignored commit hashes 2 | # To make use of ignored revs: git config --local blame.ignoreRevsFile .git-blame-ignore-revs 3 | 4 | # Apply prettier 5 | 37813174ca465d92ae939a535e5fa16d46fa998e 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .hugo_build.lock 3 | node_modules 4 | public 5 | resources 6 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["prettier-plugin-go-template"], 3 | "overrides": [ 4 | { 5 | "files": ["*.html"], 6 | "options": { 7 | "parser": "go-template" 8 | } 9 | } 10 | ], 11 | "singleQuote": true, 12 | "trailingComma": "none", 13 | "bracketSpacing": false, 14 | "semi": false, 15 | "singleAttributePerLine": true, 16 | "printWidth": 100 17 | } 18 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["esbenp.prettier-vscode", "jinliming2.vscode-go-template"] 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.defaultFormatter": "esbenp.prettier-vscode" 3 | } 4 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM livingdocs/node:18 as builder 2 | ADD package*.json /app/ 3 | WORKDIR /app 4 | RUN apk add --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community hugo && npm ci 5 | ADD . /app 6 | RUN npm run build 7 | 8 | FROM alpine:3 9 | WORKDIR /app 10 | COPY --from=builder /app/public /app/public 11 | COPY --from=builder /app/nginx.conf /app/redirects.map /app/ 12 | RUN apk add nginx nginx-mod-http-brotli && chown -R nginx:nginx /app 13 | CMD ["nginx", "-c", "/app/nginx.conf"] 14 | EXPOSE 8080 15 | -------------------------------------------------------------------------------- /Taxonomy.md: -------------------------------------------------------------------------------- 1 | # Taxonomy 2 | 3 | ## Features 4 | 5 | - custom-server-feature 6 | - document-copy 7 | - notifications 8 | - tasks 9 | - soft-lock 10 | - ... 11 | 12 | ## Project Config Properties 13 | 14 | See list form server 15 | 16 | - contentType 17 | - component 18 | - settings 19 | - ... 20 | 21 | ## APIs 22 | 23 | - public-api 24 | - server-hooks 25 | - webhooks 26 | -------------------------------------------------------------------------------- /bin/add-menu.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict' 3 | const fs = require('fs') 4 | const files = require('glob').sync('**/*.md', { 5 | nodir: true, 6 | absolute: true 7 | }) 8 | 9 | const menu = process.argv.slice(2)[0] 10 | if (!menu) throw new Error('A menu parameter is required') 11 | 12 | for (const file of files) { 13 | let content = fs.readFileSync(file, 'utf8').trim().split('\n') 14 | if (content[0].includes('---')) continue 15 | 16 | let title = '' 17 | if (content[0].startsWith('#')) { 18 | title = content.shift().replace(/^[# ]+/, '') 19 | } 20 | 21 | content.unshift('---') 22 | if (title) content.unshift(`title: ${title}`) 23 | content.unshift(`menu: ${menu}`) 24 | content.unshift('---') 25 | 26 | fs.writeFileSync(file, `${content.join('\n')}\n`) 27 | console.log(`Update ${file}`) 28 | } 29 | -------------------------------------------------------------------------------- /bin/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | # Check for fast mode 5 | fast=false; 6 | while [ $# -gt 0 ]; do 7 | if [[ $1 == "--fast" ]]; then 8 | fast=true 9 | fi 10 | shift 11 | done 12 | 13 | # Delete previous build 14 | rm -Rf public 15 | 16 | # Build 17 | if [[ $fast == false ]]; then 18 | hugo --minify 19 | else 20 | hugo 21 | fi 22 | 23 | # Update search 24 | node ./bin/build-index.js 25 | 26 | # Compress 27 | if [[ $fast == false ]]; then 28 | node ./bin/compress.js 29 | fi 30 | -------------------------------------------------------------------------------- /bin/drone: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | export DRONE_SERVER=https://drone.livingdocs.io 4 | drone sign livingdocsIO/documentation --save 5 | git add .drone.yml 6 | -------------------------------------------------------------------------------- /content/customising/advanced/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Advanced 3 | description: Advanced configuration options which you should only use in agreement with Livingdocs. 4 | icon: lightbulb-question 5 | weight: 5 6 | menus: 7 | customising: 8 | weight: 5 9 | --- 10 | -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Editor Config 3 | description: Indepth list of editor config options. 4 | icon: table-cog 5 | weight: 6 6 | menus: 7 | customising: 8 | parent: Advanced 9 | weight: 6 10 | --- 11 | -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/default-dashboard-filter.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Search and Filters 3 | menus: 4 | customising: 5 | parent: Editor Config 6 | --- 7 | 8 | {{< img src="images/search-filters.png" alt="Search filters" >}} 9 | 10 | ## Overview 11 | 12 | Filters on a dashboard are highly customisable in Livingdocs. 13 | 14 | - One can define filters with a UI to mutate the filter in a dashboard (`displayFilters`) 15 | - One can define `baseFilters` that are invisible and always applied per dashboard 16 | - One can use [Core DisplayFilter]({{< ref "/customising/advanced/editor-configuration/display-filter.md" >}}) or [Custom DisplayFilter]({{< ref "/guides/editor/custom-dashboard-filters" >}}). 17 | 18 | See the [Table Dashboard configuration]({{< ref "/reference/project-config/editor-settings#displayfilters" >}}) documentation for more details. 19 | -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/images/iframely-settings-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/advanced/editor-configuration/images/iframely-settings-screen.png -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/images/inline_links.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/advanced/editor-configuration/images/inline_links.png -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/images/insert-panel-advanced-component-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/advanced/editor-configuration/images/insert-panel-advanced-component-groups.png -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/images/properties-panel-transform-component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/advanced/editor-configuration/images/properties-panel-transform-component.png -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/images/search-filters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/advanced/editor-configuration/images/search-filters.png -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/images/text-popover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/advanced/editor-configuration/images/text-popover.png -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/login.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Login 3 | menus: 4 | customising: 5 | parent: Editor Config 6 | --- 7 | 8 | In addition to the Livingdocs login, you can configure additional login providers. 9 | 10 | ```js 11 | auth: { 12 | providers: [ 13 | { 14 | id: 'myLoginProvider', 15 | strategy: 'link', 16 | label: 'Log in via myLoginProvider', 17 | url: 'http://localhost:9090/auth/myLoginProvider' 18 | } 19 | ] 20 | } 21 | ``` 22 | 23 | Only strategies of type `link` are supported at the moment. For an example see our [AzureAD login guide]({{< ref "/guides/authentication/azure-ad-login" >}}). 24 | 25 | ### Login screen 26 | 27 | ```js 28 | app: { 29 | ui: { 30 | login: { 31 | requestAccess: { 32 | label: 'No Account?', 33 | url: 'http://livingdocs.io/trial/', 34 | urlText: 'Request beta access' 35 | } 36 | } 37 | } 38 | } 39 | ``` 40 | 41 | Customize the label and link below to login (to request a login). 42 | -------------------------------------------------------------------------------- /content/customising/advanced/editor-configuration/menu-and-dashboards.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Main Navigation 3 | menus: 4 | customising: 5 | parent: Editor Config 6 | --- 7 | 8 | This documentation describes the configuration possibilities of the main navigation within the editor (instance-wide). The basic configuration of the main navigation has to be set in the [project config]({{< ref "/reference/project-config/editor-settings" >}}). 9 | 10 | ## Custom Card for Default Dashboard 11 | 12 | Currently we have 3 types of default dashboards: `articles`, `pages`, `dataRecords` 13 | 14 | It's possible to customise the default card (one entry in the list). This is useful when you want to show additional data on the dashboard such as the open tasks on an article. 15 | 16 | ```js 17 | // editor config 18 | search: { 19 | articleSearch: { 20 | listItemComponent: 'custom-dashboard-list-item' 21 | } 22 | } 23 | ``` 24 | 25 | Note that the custom component can only use document metadata that has been explicitly [whitelisted]({{< ref "/customising/server-configuration#search" >}}). 26 | -------------------------------------------------------------------------------- /content/customising/advanced/editor/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Editor Extensions 3 | description: How to make the editor fitting your needs. 4 | icon: puzzle 5 | weight: 7 6 | menus: 7 | customising: 8 | parent: Advanced 9 | weight: 7 10 | --- 11 | -------------------------------------------------------------------------------- /content/customising/advanced/editor/browser-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Accessing the document content in the browser 3 | draft: true 4 | weight: 3 5 | menus: 6 | customising: 7 | parent: Editor Extensions 8 | --- 9 | 10 | ## Working with the current document 11 | 12 | ```js 13 | // Get the currently loaded livingdocs-framework document 14 | const livingdoc = doc.editor.livingdoc 15 | 16 | // Get the design of the document 17 | const design = livingdoc.design 18 | ``` 19 | 20 | ## Working with designs 21 | 22 | ```js 23 | // Get all components of a design as an array 24 | doc.design.get('timeline').list() 25 | 26 | // Get an individual component template 27 | doc.design.get('timeline').get('peephole') 28 | ``` 29 | -------------------------------------------------------------------------------- /content/customising/advanced/editor/editor-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Editor API 3 | weight: 2 4 | menus: 5 | customising: 6 | parent: Editor Extensions 7 | --- 8 | 9 | When you require the `@livingdocs/editor` core npm package, it returns the core API. 10 | This object exposes functions you can use to extend the editor. 11 | 12 | ```js 13 | const liEditor = require('@livingdocs/editor')() 14 | // call functions on liEditor object to customize its behavior 15 | liEditor.mount() 16 | ``` 17 | -------------------------------------------------------------------------------- /content/customising/angular-migration/dashboard-card-and-cells.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Dashboard Card and Cells 3 | description: 4 | weight: 5 5 | menus: 6 | customising: 7 | parent: Angular Migration 8 | weight: 5 9 | --- 10 | 11 | ## Dashboard Card and Cells 12 | 13 | If you are using `Legacy Dashboards` (they are linked in the mainNavigation with `{liItem: 'articles'}` or `{liItem: 'pages'}` or `{liItem: 'dataRecords'}`) replace them with [Table Dashboards]({{< ref "/reference/project-config/editor-settings#example-table-dashboard">}}). 14 | -------------------------------------------------------------------------------- /content/customising/angular-migration/dashboard-display-filters.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Dashboard Display Filters 3 | description: 4 | weight: 2 5 | menus: 6 | customising: 7 | parent: Angular Migration 8 | weight: 2 9 | --- 10 | 11 | Currently Dashboard Display Filters do not have that much core support as Metadata Plugins, but there is different strategies for an Angular migration: 12 | 13 | 1. The best option is to replace your Angular filter with one of the core filters [Named Filter or Metadata Filter]({{< ref "/customising/advanced/editor-configuration/display-filter" >}}) 14 | 2. The second best option is to replace it with a [Custom List V2 Filter]({{< ref "/guides/editor/custom-dashboard-filters" >}}) 15 | 3. The least proposed solution is to create a [Custom Vue Component Filter]({{< ref "guides/editor/custom-dashboard-filters">}}) 16 | -------------------------------------------------------------------------------- /content/customising/angular-migration/includes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Includes 3 | description: 4 | weight: 4 5 | menus: 6 | customising: 7 | parent: Angular Migration 8 | weight: 4 9 | --- 10 | 11 | ## Include Options at the Sidebar 12 | 13 | If you have one of the Sidebar Components `angular-modal` or `angular-component` you have to replace them. 14 | 15 | 1. The best option is to use a [ParamsSchema]({{< ref "/reference/document/includes/server-customization#paramsSchema" >}}) to generate the Include options at the sidebar. The declaration is similar to [Metadata Plugins]({{< ref "reference/document/metadata/plugins">}}). 16 | 2. In case `ParamsSchema` does not provide enough flexibility (and we can't build an extension for you) you can use a [Vue Component]({{< ref "/reference/document/includes/editor-customization#custom-include-user-interface-with-vue" >}}) 17 | -------------------------------------------------------------------------------- /content/customising/assistants/assistant-custom-error-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/assistants/assistant-custom-error-message.png -------------------------------------------------------------------------------- /content/customising/assistants/assistant-focused-component-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/assistants/assistant-focused-component-button.png -------------------------------------------------------------------------------- /content/customising/assistants/assistant-metadata-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/assistants/assistant-metadata-button.png -------------------------------------------------------------------------------- /content/customising/assistants/assistant-proposal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/assistants/assistant-proposal.png -------------------------------------------------------------------------------- /content/customising/assistants/k-menu-assistants.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/assistants/k-menu-assistants.png -------------------------------------------------------------------------------- /content/customising/server-configuration/images/custom_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server-configuration/images/custom_preview.png -------------------------------------------------------------------------------- /content/customising/server-configuration/storage/azure-blob-storage/0-goto-storageaccount.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server-configuration/storage/azure-blob-storage/0-goto-storageaccount.png -------------------------------------------------------------------------------- /content/customising/server-configuration/storage/azure-blob-storage/1-new-storageaccount.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server-configuration/storage/azure-blob-storage/1-new-storageaccount.png -------------------------------------------------------------------------------- /content/customising/server-configuration/storage/azure-blob-storage/2-fill-storageaccount-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server-configuration/storage/azure-blob-storage/2-fill-storageaccount-config.png -------------------------------------------------------------------------------- /content/customising/server-configuration/storage/azure-blob-storage/3-fill-storageaccount-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server-configuration/storage/azure-blob-storage/3-fill-storageaccount-config.png -------------------------------------------------------------------------------- /content/customising/server-configuration/storage/azure-blob-storage/4-new-container.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server-configuration/storage/azure-blob-storage/4-new-container.png -------------------------------------------------------------------------------- /content/customising/server-configuration/storage/azure-blob-storage/5-SAS-storage-account.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server-configuration/storage/azure-blob-storage/5-SAS-storage-account.png -------------------------------------------------------------------------------- /content/customising/server-configuration/storage/azure-blob-storage/6-copy-SAS-Token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server-configuration/storage/azure-blob-storage/6-copy-SAS-Token.png -------------------------------------------------------------------------------- /content/customising/server/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Server Extensions 3 | description: Configure, initialize and extend your server to get the flexibility you want. 4 | icon: toy-brick 5 | weight: 3 6 | menus: 7 | customising: 8 | weight: 3 9 | --- 10 | -------------------------------------------------------------------------------- /content/customising/server/document-lifecycle/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Document Lifecycle 3 | description: Learn about the steps each document goes through during its lifecycle. 4 | icon: recycle 5 | weight: 5 6 | menus: 7 | customising: 8 | parent: Server Extensions 9 | weight: 5 10 | --- 11 | 12 | Each document goes through a series of steps during `Document Creation`, `Document Update` and `Document Publication`. It gathers the parameters, does validation, calls hooks and finally stores and indexes the document. Along the way, it also runs functions called hooks, giving developers the opportunity to add their own code at specific stages. 13 | -------------------------------------------------------------------------------- /content/customising/server/document-lifecycle/assets/document-creation-lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server/document-lifecycle/assets/document-creation-lifecycle.png -------------------------------------------------------------------------------- /content/customising/server/document-lifecycle/assets/document-publication-lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server/document-lifecycle/assets/document-publication-lifecycle.png -------------------------------------------------------------------------------- /content/customising/server/images/print-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server/images/print-layout.png -------------------------------------------------------------------------------- /content/customising/server/images/print-metadata-department.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server/images/print-metadata-department.png -------------------------------------------------------------------------------- /content/customising/server/images/print-preview-inexisting-component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server/images/print-preview-inexisting-component.png -------------------------------------------------------------------------------- /content/customising/server/images/print-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server/images/print-preview.png -------------------------------------------------------------------------------- /content/customising/server/images/print-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server/images/print-template.png -------------------------------------------------------------------------------- /content/customising/server/images/roles-configurations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server/images/roles-configurations.png -------------------------------------------------------------------------------- /content/customising/server/server-api/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Server API 3 | description: An overview across the Public API, Data Source API, Project Seeding API and Dashboard Source API. 4 | icon: api 5 | weight: 6 6 | menus: 7 | customising: 8 | parent: Server Extensions 9 | weight: 3 10 | --- 11 | -------------------------------------------------------------------------------- /content/customising/server/server-api/images/datasource-dropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/customising/server/server-api/images/datasource-dropdown.png -------------------------------------------------------------------------------- /content/guides/authentication/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Authentication and Authorization 3 | linkTitle: Authentication 4 | weight: 200 5 | menus: 6 | guides: 7 | weight: 9 8 | --- 9 | -------------------------------------------------------------------------------- /content/guides/authentication/access-rights/access-rights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/access-rights/access-rights.png -------------------------------------------------------------------------------- /content/guides/authentication/access-rights/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: guides 3 | title: Access Rights and Groups 4 | description: Learn how to manage groups and their permissions. 5 | weight: 1 6 | --- 7 | 8 | In Livingdocs, access rights are set on a group. A group is a many-2-many relation of users to projects. 9 | So in general for a given project you will have many groups. One group, the "Owners" group is always created by default. 10 | The screenshot below shows you how to set the access rights for a given group. 11 | 12 | {{< img src="access-rights.png" alt="Access Rights" >}} 13 | 14 | _You reach this screen by clicking on "Preferences" > "Project Admin" > "Groups" in the main menu_ 15 | 16 | ## Scopes and Policies 17 | 18 | Livingdocs has scopes and policies which define granular system level access controls. Scopes define high-level api access like `Manage menus` or `View lists`, whereas the policies define content-specific access like `Create documents of contentType regular` or `Read documents of contentType page`. 19 | Users inherit the permission of the specific groups they get assigned to. 20 | 21 | All permissions are additive, so if a user is in two groups, the user will have the permissions of both groups. 22 | -------------------------------------------------------------------------------- /content/guides/authentication/azure-ad-login/0-goto-AAD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/azure-ad-login/0-goto-AAD.png -------------------------------------------------------------------------------- /content/guides/authentication/azure-ad-login/1-create-registration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/azure-ad-login/1-create-registration.png -------------------------------------------------------------------------------- /content/guides/authentication/azure-ad-login/2-app-callback-url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/azure-ad-login/2-app-callback-url.png -------------------------------------------------------------------------------- /content/guides/authentication/azure-ad-login/3-enable-access-tokens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/azure-ad-login/3-enable-access-tokens.png -------------------------------------------------------------------------------- /content/guides/authentication/azure-ad-login/4-add-client-secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/azure-ad-login/4-add-client-secret.png -------------------------------------------------------------------------------- /content/guides/authentication/azure-ad-login/5-copy-client-secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/azure-ad-login/5-copy-client-secret.png -------------------------------------------------------------------------------- /content/guides/authentication/azure-ad-login/6-configure-scopes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/azure-ad-login/6-configure-scopes.png -------------------------------------------------------------------------------- /content/guides/authentication/azure-ad-login/7-open-config-organization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/azure-ad-login/7-open-config-organization.png -------------------------------------------------------------------------------- /content/guides/authentication/azure-ad-login/8-users-and-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/authentication/azure-ad-login/8-users-and-groups.png -------------------------------------------------------------------------------- /content/guides/authentication/user-management.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: guides 3 | title: User Management 4 | description: Assign permissions to users through groups. 5 | weight: 5 6 | --- 7 | 8 | ## Video Guide 9 | 10 | This video shows the use management of Livingdocs and how to assign permissions to users through groups. 11 | 12 | {{< vimeo id="429650395" class="video-wrapper" >}} 13 | -------------------------------------------------------------------------------- /content/guides/deprecation-phase.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Deprecation Phase 3 | weight: 1 4 | --- 5 | 6 | # Why 7 | 8 | With Livingdocs, we continuously improve our product with releases every other month instead of a big new version every couple of years. Sometimes we built something that hurts while moving on and we need to deprecate some functionality to keep innovating. 9 | 10 | # What 11 | 12 | When deprecating features, we start a formal process: 13 | 14 | - Release -3: 6 months ahead, the technical release notes mention the deprecation for a first time. A deprecation message is logged in the server and/or editor console when the feature is in use. We prefer to log on server startup to not mess with your logs if possible. The message clearly states in which release the feature will be removed. 15 | - Release -2: (4 months ahead) logging continues 16 | - Release -1: (2 months ahead) logging continues 17 | - Release 0: Feature is removed, breaking change is mentioned in the release notes. 18 | -------------------------------------------------------------------------------- /content/guides/documents/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Documents 3 | weight: 300 4 | menus: 5 | guides: 6 | weight: 3 7 | --- 8 | -------------------------------------------------------------------------------- /content/guides/documents/document-design/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: guides 3 | title: Document Design 4 | weight: 301 5 | --- 6 | -------------------------------------------------------------------------------- /content/guides/documents/document-design/data-migrations/data-migration-run-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/document-design/data-migrations/data-migration-run-complete.png -------------------------------------------------------------------------------- /content/guides/documents/document-design/data-migrations/data-migration-run-help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/document-design/data-migrations/data-migration-run-help.png -------------------------------------------------------------------------------- /content/guides/documents/document-design/document-design-intro/publish-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/document-design/document-design-intro/publish-config.png -------------------------------------------------------------------------------- /content/guides/documents/document-design/document-design-intro/rearrange-component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/document-design/document-design-intro/rearrange-component.png -------------------------------------------------------------------------------- /content/guides/documents/document-design/embedded-design/bump-to-embedded-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/document-design/embedded-design/bump-to-embedded-design.png -------------------------------------------------------------------------------- /content/guides/documents/document-lifecycle/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: guides 3 | title: Document Lifecycle 4 | weight: 304 5 | --- 6 | -------------------------------------------------------------------------------- /content/guides/documents/includes/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Document Includes 3 | weight: 303 4 | --- 5 | -------------------------------------------------------------------------------- /content/guides/documents/includes/instagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/includes/instagram.png -------------------------------------------------------------------------------- /content/guides/documents/includes/my-teaser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/includes/my-teaser.png -------------------------------------------------------------------------------- /content/guides/documents/includes/oembed/advanced-provider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/includes/oembed/advanced-provider.png -------------------------------------------------------------------------------- /content/guides/documents/includes/oembed/simple-provider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/includes/oembed/simple-provider.png -------------------------------------------------------------------------------- /content/guides/documents/includes/teaser-include.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/includes/teaser-include.png -------------------------------------------------------------------------------- /content/guides/documents/includes/toolbar-teaser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/includes/toolbar-teaser.png -------------------------------------------------------------------------------- /content/guides/documents/includes/twitter-embed/twitter-include.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/includes/twitter-embed/twitter-include.png -------------------------------------------------------------------------------- /content/guides/documents/includes/youtube-embed/youtube-include-sidebar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/includes/youtube-embed/youtube-include-sidebar.png -------------------------------------------------------------------------------- /content/guides/documents/includes/youtube-embed/youtube_include.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/includes/youtube-embed/youtube_include.png -------------------------------------------------------------------------------- /content/guides/documents/metadata/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Document Metadata 3 | weight: 302 4 | --- 5 | -------------------------------------------------------------------------------- /content/guides/documents/metadata/metadata-examples/slug-metadata-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/documents/metadata/metadata-examples/slug-metadata-form.png -------------------------------------------------------------------------------- /content/guides/editor/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Editor 3 | weight: 400 4 | menus: 5 | guides: 6 | weight: 2 7 | --- 8 | -------------------------------------------------------------------------------- /content/guides/editor/assistants/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Assistants 3 | description: Take the editor experience to the next level and hook into Livingdocs Assistants 4 | weight: 1 5 | --- 6 | 7 | {{< info >}} 8 | The content of this page has been migrated to the dedicated [Assistants page]({{< ref "/customising/assistants" >}}) in the customising section. 9 | {{< /info >}} 10 | -------------------------------------------------------------------------------- /content/guides/editor/assistants/k-menu-assistants.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/assistants/k-menu-assistants.png -------------------------------------------------------------------------------- /content/guides/editor/author-management/author-content-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/author-management/author-content-type.png -------------------------------------------------------------------------------- /content/guides/editor/author-management/link-author-in-article.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/author-management/link-author-in-article.png -------------------------------------------------------------------------------- /content/guides/editor/author-management/map-author.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/author-management/map-author.png -------------------------------------------------------------------------------- /content/guides/editor/custom-dashboard-filters/filter-dropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/custom-dashboard-filters/filter-dropdown.png -------------------------------------------------------------------------------- /content/guides/editor/custom-dashboard-filters/multi-filter-dropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/custom-dashboard-filters/multi-filter-dropdown.png -------------------------------------------------------------------------------- /content/guides/editor/custom-table-dashboard-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/custom-table-dashboard-cell.png -------------------------------------------------------------------------------- /content/guides/editor/declarative-document-copy/copy-article.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/declarative-document-copy/copy-article.png -------------------------------------------------------------------------------- /content/guides/editor/declarative-document-copy/copy-basics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/declarative-document-copy/copy-basics.png -------------------------------------------------------------------------------- /content/guides/editor/declarative-document-copy/copy-design-to-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/declarative-document-copy/copy-design-to-design.png -------------------------------------------------------------------------------- /content/guides/editor/declarative-document-copy/copy-layout-l1-to-layout-l2-modified-components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/declarative-document-copy/copy-layout-l1-to-layout-l2-modified-components.png -------------------------------------------------------------------------------- /content/guides/editor/declarative-document-copy/copy-layout-l1-to-layout-l2-unknown-copy-false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/declarative-document-copy/copy-layout-l1-to-layout-l2-unknown-copy-false.png -------------------------------------------------------------------------------- /content/guides/editor/document-soft-lock/document-soft-lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/document-soft-lock/document-soft-lock.png -------------------------------------------------------------------------------- /content/guides/editor/images/custom-proofreading-task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/images/custom-proofreading-task.png -------------------------------------------------------------------------------- /content/guides/editor/images/custom-review-task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/images/custom-review-task.png -------------------------------------------------------------------------------- /content/guides/editor/images/image-gallery-content-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/images/image-gallery-content-type.png -------------------------------------------------------------------------------- /content/guides/editor/images/image-gallery-teaser-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/images/image-gallery-teaser-placeholder.png -------------------------------------------------------------------------------- /content/guides/editor/images/image-gallery-teaser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/images/image-gallery-teaser.png -------------------------------------------------------------------------------- /content/guides/editor/images/tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/images/tasks.png -------------------------------------------------------------------------------- /content/guides/editor/menus/menu-creation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/menus/menu-creation.png -------------------------------------------------------------------------------- /content/guides/editor/menus/menu-metadata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/menus/menu-metadata.png -------------------------------------------------------------------------------- /content/guides/editor/metadata-translations/metadata-translations-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/metadata-translations/metadata-translations-form.png -------------------------------------------------------------------------------- /content/guides/editor/multi-language-content/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/multi-language-content/dashboard.png -------------------------------------------------------------------------------- /content/guides/editor/multi-language-content/metadata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/multi-language-content/metadata.png -------------------------------------------------------------------------------- /content/guides/editor/multi-language-ui/label-german.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/multi-language-ui/label-german.png -------------------------------------------------------------------------------- /content/guides/editor/multi-language-ui/language-switcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/multi-language-ui/language-switcher.png -------------------------------------------------------------------------------- /content/guides/editor/notifications/comments-mentioning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/notifications/comments-mentioning.png -------------------------------------------------------------------------------- /content/guides/editor/notifications/notification-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/notifications/notification-config.png -------------------------------------------------------------------------------- /content/guides/editor/project-document-copy/document-drag-and-drop.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/project-document-copy/document-drag-and-drop.gif -------------------------------------------------------------------------------- /content/guides/editor/publish-control/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Publish Control 3 | weight: 1 4 | --- 5 | -------------------------------------------------------------------------------- /content/guides/editor/publish-control/delivery/delivery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/delivery/delivery.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/embargo/embargo-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/embargo/embargo-disabled.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/embargo/embargo-indefinite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/embargo/embargo-indefinite.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/embargo/embargo-publish-later.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/embargo/embargo-publish-later.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/embargo/embargo-until.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/embargo/embargo-until.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/embargo/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Publication Embargo 3 | description: Add an embargo to prevent the publication of an article. 4 | weight: 6 5 | --- 6 | 7 | This guide will show you how to set a publication embargo to prevent the publication of an article. 8 | 9 | ![indefinite-embargo](./embargo-indefinite.png) 10 | 11 | Embargos can only be set for un-published articles. 12 | 13 | ![embargo-disabled](./embargo-disabled.png) 14 | 15 | ## Indefinite Embargo 16 | 17 | An article gets indefinitely embargoed by checking the "Indefinite embargo" checkbox. This will prevent the publication of the article and also prohibits scheduling a "Publish Later" date. 18 | 19 | ![indefinite-embargo](./embargo-indefinite.png) 20 | 21 | ## Embargo with an expiration date 22 | 23 | When an embargo is set with an expiration date, then any publication is prevent but a publication can be scheduled for after the expiration of the embargo. 24 | 25 | ![embargo-until](./embargo-until.png) 26 | 27 | ![publish-later](./embargo-publish-later.png) 28 | 29 | ## Configuration 30 | 31 | The publication embargo is by default disabled. 32 | 33 | ```js 34 | { 35 | handle: 'myArticle', 36 | // ... 37 | publishControl: { 38 | embargo: true, // default: false 39 | } 40 | } 41 | ``` 42 | -------------------------------------------------------------------------------- /content/guides/editor/publish-control/publish-control-basics.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Publish Control Basics 3 | description: Publish, unpublish, scheduled publish, scheduled unpublish documents 4 | weight: 1 5 | --- 6 | 7 | ## Overview 8 | 9 | The «Publish Control» feature allows users to manage the publication and distribution flow of documents. 10 | 11 | ## Configuration 12 | 13 | You can enable and configure the «Publish Control» per Content-Type: 14 | In it's most basic form, Publish Control allows for immediate publish and unpublish only: 15 | 16 | ```js 17 | { 18 | handle: 'myArticle', 19 | // ... 20 | publishControl: {} 21 | } 22 | ``` 23 | 24 | You can enable the single capabilities per content-type, in this case Scheduled Publishing: 25 | 26 | ```js 27 | { 28 | handle: 'myArticle', 29 | // ... 30 | publishControl: { 31 | publishSchedule: true, // default: false 32 | unpublishSchedule: true // default: false, rarely used, only enable that with a very specific reason 33 | } 34 | } 35 | ``` 36 | -------------------------------------------------------------------------------- /content/guides/editor/publish-control/scheduled-publishing/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Scheduled Publishing 3 | description: View and edit the scheduled publication date. 4 | weight: 3 5 | --- 6 | 7 | This guide will show you how to enable and use scheduled auto publishing / un-publishing. 8 | 9 | Click the "Publish later" button to set a future auto publish date. 10 | 11 | ![publish-later](./publish-later.png) 12 | 13 | A confirmation message is shown, if one wants to publish instantly while a publish later date is set. 14 | 15 | ![publish-later-now](./publish-later-now.png) 16 | 17 | Click the "Un-Publish Later" button to set a future auto un-publish date. 18 | 19 | ![un-publish-later](./un-publish-later.png) 20 | 21 | ## Configuration 22 | 23 | Publish later and un-publish later is by default disabled. 24 | 25 | ```js 26 | { 27 | handle: 'myArticle', 28 | // ... 29 | publishControl: { 30 | publishSchedule: true, // default: false 31 | unpublishSchedule: true // default: false, rarely used, only enable that with a very specific reason 32 | } 33 | } 34 | ``` 35 | -------------------------------------------------------------------------------- /content/guides/editor/publish-control/scheduled-publishing/publish-later-now.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/scheduled-publishing/publish-later-now.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/scheduled-publishing/publish-later.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/scheduled-publishing/publish-later.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/scheduled-publishing/un-publish-later.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/scheduled-publishing/un-publish-later.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/significant-update/significant-update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/significant-update/significant-update.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/visible-publication-date/publication-date-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/visible-publication-date/publication-date-edit.png -------------------------------------------------------------------------------- /content/guides/editor/publish-control/visible-publication-date/publication-date-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/publish-control/visible-publication-date/publication-date-view.png -------------------------------------------------------------------------------- /content/guides/editor/push-notifications/article.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/push-notifications/article.png -------------------------------------------------------------------------------- /content/guides/editor/push-notifications/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/push-notifications/dashboard.png -------------------------------------------------------------------------------- /content/guides/editor/teaser-preview/teaser-preview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/editor/teaser-preview/teaser-preview.gif -------------------------------------------------------------------------------- /content/guides/integrations/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Integrations 3 | weight: 800 4 | menus: 5 | guides: 6 | weight: 8 7 | --- 8 | -------------------------------------------------------------------------------- /content/guides/integrations/cross-project-content-sharing/li-document-references-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/cross-project-content-sharing/li-document-references-card.png -------------------------------------------------------------------------------- /content/guides/integrations/cross-project-content-sharing/useDashboard-table-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/cross-project-content-sharing/useDashboard-table-dashboard.png -------------------------------------------------------------------------------- /content/guides/integrations/desknet-legacy/desknet-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/desknet-legacy/desknet-config.png -------------------------------------------------------------------------------- /content/guides/integrations/desknet-schedule/desknet-schedule-metadata-field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/desknet-schedule/desknet-schedule-metadata-field.png -------------------------------------------------------------------------------- /content/guides/integrations/desknet-schedule/desknet-schedule-side-panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/desknet-schedule/desknet-schedule-side-panel.png -------------------------------------------------------------------------------- /content/guides/integrations/google-vision.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Google Vision API 3 | description: Tag images with Google Vision 4 | weight: 6 5 | --- 6 | 7 | ## Video Guide 8 | 9 | In this video we show how to setup the Google Vision API Plugin for images in the Media Library. 10 | 11 | {{< vimeo id="447850743" class="video-wrapper" >}} 12 | -------------------------------------------------------------------------------- /content/guides/integrations/handsontable/Handsontable-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/handsontable/Handsontable-config.png -------------------------------------------------------------------------------- /content/guides/integrations/handsontable/Rendered-Handsontable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/handsontable/Rendered-Handsontable.png -------------------------------------------------------------------------------- /content/guides/integrations/kordiam-legacy/kordiam-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/kordiam-legacy/kordiam-config.png -------------------------------------------------------------------------------- /content/guides/integrations/kordiam-schedule/kordiam-schedule-metadata-field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/kordiam-schedule/kordiam-schedule-metadata-field.png -------------------------------------------------------------------------------- /content/guides/integrations/kordiam-schedule/kordiam-schedule-side-panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/kordiam-schedule/kordiam-schedule-side-panel.png -------------------------------------------------------------------------------- /content/guides/integrations/print/print-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/print/print-layout.png -------------------------------------------------------------------------------- /content/guides/integrations/print/print-metadata-department.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/print/print-metadata-department.png -------------------------------------------------------------------------------- /content/guides/integrations/print/print-preview-inexisting-component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/print/print-preview-inexisting-component.png -------------------------------------------------------------------------------- /content/guides/integrations/print/print-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/print/print-preview.png -------------------------------------------------------------------------------- /content/guides/integrations/print/print-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/integrations/print/print-template.png -------------------------------------------------------------------------------- /content/guides/integrations/woodwing-assets.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Woodwing Assets 3 | description: Integrate Woodwing Assets into the Media Library 4 | weight: 5 5 | --- 6 | 7 | ## Video Guide 8 | 9 | In this video we show how to setup and use the integration of the WoodWing assets image system with Livingdocs. 10 | 11 | {{< vimeo id="444823016" class="video-wrapper" >}} 12 | -------------------------------------------------------------------------------- /content/guides/media-library/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Media Library 3 | weight: 600 4 | menus: 5 | guides: 6 | weight: 4 7 | --- 8 | -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/editing-toolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/editing-toolbar.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/fp_crop_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/fp_crop_default.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/fp_select_center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/fp_select_center.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/fp_select_chapel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/fp_select_chapel.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/fp_select_mountain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/fp_select_mountain.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/image-editor-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/image-editor-button.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/image-editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/image-editor.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/poster-image-frame-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/poster-image-frame-selection.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/poster-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/poster-image.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/transcoding-state-done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/transcoding-state-done.png -------------------------------------------------------------------------------- /content/guides/media-library/media-library-setup/transcoding-state-zero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-library-setup/transcoding-state-zero.png -------------------------------------------------------------------------------- /content/guides/media-library/media-sources/images/media-sources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/media-sources/images/media-sources.png -------------------------------------------------------------------------------- /content/guides/media-library/video-includes/video-include-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/video-includes/video-include-placeholder.png -------------------------------------------------------------------------------- /content/guides/media-library/video-includes/video-include-player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/guides/media-library/video-includes/video-include-player.png -------------------------------------------------------------------------------- /content/guides/organisation/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Organisation 3 | weight: 500 4 | menus: 5 | guides: 6 | weight: 5 7 | --- 8 | -------------------------------------------------------------------------------- /content/guides/search/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Search 3 | weight: 700 4 | menu: 5 | guides: 6 | weight: 7 7 | --- 8 | -------------------------------------------------------------------------------- /content/guides/setup/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Setup and Development 3 | linktitle: Setup 4 | weight: 100 5 | menu: 6 | guides: 7 | weight: 1 8 | --- 9 | -------------------------------------------------------------------------------- /content/guides/setup/setup-windows.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Setup Windows Environment 3 | description: Setup requirements like Docker and WSL in Windows 4 | weight: 5 5 | --- 6 | 7 | - Install docker for windows 8 | - Install Windows Subsystem 2 for Linux (WSL2): 9 | [https://learn.microsoft.com/en-us/windows/wsl/install](https://learn.microsoft.com/en-us/windows/wsl/install) 10 | - ubuntu version 11 | - In Powershell execute `bash` 12 | - checkout the repository directly in linux otherwise your system will be very slow 13 | - Run all the npm and node steps in the bash from linux 14 | - As information when you start the editor you have to type manually the url http://localhost:9000 15 | - Run all the docker commands in powershell (use docker desktop on windows) 16 | - You can connnect to the bash folders `\\wsl.localhost\Ubuntu\home` 17 | -------------------------------------------------------------------------------- /content/illu-guides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/illu-guides.png -------------------------------------------------------------------------------- /content/illu-learn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /content/illu-operations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/illu-operations.png -------------------------------------------------------------------------------- /content/illu-referrence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/illu-referrence.png -------------------------------------------------------------------------------- /content/learn/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Learn 3 | --- 4 | -------------------------------------------------------------------------------- /content/operations/images/architecture-delivery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/images/architecture-delivery.png -------------------------------------------------------------------------------- /content/operations/images/architecture-editing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/images/architecture-editing.png -------------------------------------------------------------------------------- /content/operations/images/architecture-external-services.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/images/architecture-external-services.png -------------------------------------------------------------------------------- /content/operations/images/architecture-proxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/images/architecture-proxy.png -------------------------------------------------------------------------------- /content/operations/images/architecture-stacks-apps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/images/architecture-stacks-apps.png -------------------------------------------------------------------------------- /content/operations/images/grafana-dashboard-panel-loki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/images/grafana-dashboard-panel-loki.png -------------------------------------------------------------------------------- /content/operations/images/grafana-dashboard-panel-prometheus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/images/grafana-dashboard-panel-prometheus.png -------------------------------------------------------------------------------- /content/operations/images/grafana-logs-and-traces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/images/grafana-logs-and-traces.png -------------------------------------------------------------------------------- /content/operations/npm-packages.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: NPM Packages 3 | hideSectionTeaser: true 4 | --- 5 | 6 | ## Livingdocs npm packages 7 | 8 | The Livingdocs core is distributed via private npm packages. 9 | As a customer, you can get a token to access them and install them in your custom projects: 10 | 11 | ``` 12 | @livingdocs/framework 13 | @livingdocs/server 14 | @livingdocs/editor 15 | @livingdocs/livingdocs-cli 16 | ``` 17 | 18 | ## Core APIs 19 | 20 | Both the core server and the editor npm package expose an API when required 21 | 22 | - [Editor core API]({{< ref "/customising/advanced/editor/editor-api" >}}) 23 | - [Server core API]({{< ref "/customising/server/server-api/data-source-api" >}}) 24 | -------------------------------------------------------------------------------- /content/operations/npm/access-private-npm-modules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Access @livingdocs organisation on NPM 3 | hideSectionTeaser: true 4 | --- 5 | 6 | ## NPM tokens 7 | 8 | To access private packages, you need a read access token. You can find a pre-generated tokens with read access in the **secrets** 9 | 10 | ## Access tokens 11 | 12 | For **private repositories**, we add the read-only token to the `.npmrc` under source control. 13 | 14 | ```sh 15 | echo "//registry.npmjs.org/:_authToken=" >> .npmrc 16 | ``` 17 | 18 | For **public repositories**, add the `.npmrc` file to the `.gitignore` and fetch the token from an environment variable. 19 | 20 | ```sh 21 | export NPM_TOKEN= 22 | echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc 23 | ``` 24 | 25 | **Never add write tokens to the `.npmrc` file** 26 | 27 | If you need to override a read-only token in the `.npmrc` file (eg. when you want to temporarily use a token with write access), you can pass the write token as CLI arg. 28 | 29 | ```sh 30 | npm --//registry.npmjs.org/:_authToken= 31 | ``` 32 | -------------------------------------------------------------------------------- /content/operations/proxy.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Running Livingdocs behind a proxy 3 | linkTitle: Proxy Setup 4 | description: How to run Livingdocs behind a proxy. 5 | icon: arrow-decision 6 | menu: operations 7 | --- 8 | 9 | Where applicable, Livingdocs respects the environment variables `HTTPS_PROXY` and `HTTP_PROXY` by default and routes all external requests through the given proxy. 10 | 11 | ```bash 12 | HTTPS_PROXY=https://my.proxy.com 13 | HTTP_PROXY=http://my.proxy.com 14 | ``` 15 | 16 | For more fine-grained control, you can adapt the proxy settings of each external service in your configuration file. 17 | -------------------------------------------------------------------------------- /content/operations/releases/release-2024-09-document-info-panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2024-09-document-info-panel.png -------------------------------------------------------------------------------- /content/operations/releases/release-2024-09-wide-side-panels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2024-09-wide-side-panels.png -------------------------------------------------------------------------------- /content/operations/releases/release-2024-11-inbox-permission.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2024-11-inbox-permission.png -------------------------------------------------------------------------------- /content/operations/releases/release-2025-01-brands-condition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2025-01-brands-condition.png -------------------------------------------------------------------------------- /content/operations/releases/release-2025-01-timeline-mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2025-01-timeline-mode.png -------------------------------------------------------------------------------- /content/operations/releases/release-2025-01-user-needs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2025-01-user-needs.png -------------------------------------------------------------------------------- /content/operations/releases/release-2025-01-visibility-mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2025-01-visibility-mode.png -------------------------------------------------------------------------------- /content/operations/releases/release-2025-03-smart-quotes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2025-03-smart-quotes.png -------------------------------------------------------------------------------- /content/operations/releases/release-2025-05-image-editor-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2025-05-image-editor-button.png -------------------------------------------------------------------------------- /content/operations/releases/release-2025-05-image-editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2025-05-image-editor.png -------------------------------------------------------------------------------- /content/operations/releases/release-2025-05-remove-metadata-translations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/operations/releases/release-2025-05-remove-metadata-translations.png -------------------------------------------------------------------------------- /content/reference/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Documentation 3 | --- 4 | -------------------------------------------------------------------------------- /content/reference/cli/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: CLI 3 | description: Manage your Livingdocs Project Config on the command line. 4 | icon: console-line 5 | renderSummaries: true 6 | renderTOC: false 7 | weight: 5 8 | menus: 9 | reference: 10 | weight: 8 11 | --- 12 | 13 | ## Repo 14 | 15 | {{< github "livingdocsIO/livingdocs-cli" "Livingdocs command line utility" >}} 16 | 17 | ## When to use the CLI 18 | 19 | The `livingdocs-cli` is used to update a Livingdocs [Project Config](.././project-config). 20 | 21 | It's the only way of changing project config and components if you are using the [Livingdocs Service](https://edit.livingdocs.io/). 22 | 23 | The CLI is not made to interact with the [Public API](.././public-api). For that you can call directly the API or use the [Node SDK](.././sdk). 24 | 25 | ## Installation 26 | 27 | ``` 28 | npm install -g livingdocs-cli 29 | ``` 30 | 31 | Check that the installation was successful. 32 | 33 | ``` 34 | livingdocs-cli --help 35 | ``` 36 | 37 | You can now start [managing project config](./managing-project-configs). 38 | -------------------------------------------------------------------------------- /content/reference/document/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Document 3 | description: Everything you need to know about documents and their contents. 4 | icon: file-document 5 | weight: 3 6 | menus: 7 | reference: 8 | weight: 5 9 | --- 10 | -------------------------------------------------------------------------------- /content/reference/document/document-design/component-property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/document-design/component-property.png -------------------------------------------------------------------------------- /content/reference/document/document-design/directives/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Directives 3 | menus: 4 | reference: 5 | parent: Document Design 6 | --- 7 | -------------------------------------------------------------------------------- /content/reference/document/document-design/directives/anchor-link-dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/document-design/directives/anchor-link-dialog.png -------------------------------------------------------------------------------- /content/reference/document/document-design/directives/char-limit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/document-design/directives/char-limit.png -------------------------------------------------------------------------------- /content/reference/document/document-design/directives/image-crop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/document-design/directives/image-crop.png -------------------------------------------------------------------------------- /content/reference/document/document-design/directives/video.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Video 3 | description: The video directive declared on `video` tags enable a user to make the video editable. 4 | menus: 5 | reference: 6 | parent: Directives 7 | weight: 3 8 | --- 9 | 10 | ## Example 11 | 12 | ```js 13 | { 14 | name: 'video', 15 | label: 'Video', 16 | iconUrl: `https://livingdocs-assets.s3.amazonaws.com/magazine-design/assets/images/icons-components/icon_image.svg`, 17 | directives: [ 18 | { 19 | name: 'video', 20 | type: 'video', 21 | video: { 22 | controls: 'true', 23 | loop: 'false', 24 | autoplay: 'false', 25 | muted: 'false', 26 | preload: 'auto' 27 | } 28 | } 29 | ], 30 | html: dedent` 31 |
32 |
33 |
35 |
36 |
Caption
37 |
Source
38 |
39 |
40 | ` 41 | } 42 | ``` 43 | -------------------------------------------------------------------------------- /content/reference/document/includes/images/multiselect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/includes/images/multiselect.png -------------------------------------------------------------------------------- /content/reference/document/includes/images/time-diagram-doc-include.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/includes/images/time-diagram-doc-include.jpg -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-buy-in-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-buy-in-closed.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-buy-in-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-buy-in-dashboard.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-buy-in-initial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-buy-in-initial.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-datetime-validity-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-datetime-validity-ui.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-estimated-time-of-completion-buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-estimated-time-of-completion-buttons.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-estimated-time-of-completion-date-range.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-estimated-time-of-completion-date-range.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-estimated-time-of-completion-single-date.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-estimated-time-of-completion-single-date.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-exposure-boost-algorithm-switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-exposure-boost-algorithm-switch.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-exposure-boost-metadata-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-exposure-boost-metadata-form.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-exposure-boost-table-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-exposure-boost-table-dashboard.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-issue-management-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-issue-management-overview.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-issue-management-page-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-issue-management-page-view.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-issue-management-remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-issue-management-remove.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-issue-management-view-articles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-issue-management-view-articles.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-push-messages-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-push-messages-dashboard.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-push-messages-dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-push-messages-dialog.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-target-length.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-target-length.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-team-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-team-dashboard.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-team-meta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-team-meta.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-teaser-container-child-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-teaser-container-child-settings.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-teaser-container-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-teaser-container-settings.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-teaser-default-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-teaser-default-ui.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-teaser-overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-teaser-overview.jpg -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-teaser-side-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-teaser-side-table.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-tree-multilang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-tree-multilang.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-user-needs-creationd-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-user-needs-creationd-flow.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-user-needs-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-user-needs-dashboard.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-user-needs-display-filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-user-needs-display-filter.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/li-user-needs-meta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/li-user-needs-meta.png -------------------------------------------------------------------------------- /content/reference/document/metadata/images/max-length.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/images/max-length.png -------------------------------------------------------------------------------- /content/reference/document/metadata/li-document-search-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/li-document-search-example.png -------------------------------------------------------------------------------- /content/reference/document/metadata/li-list-reference-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/li-list-reference-example.png -------------------------------------------------------------------------------- /content/reference/document/metadata/li-numeric-list-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/li-numeric-list-example.png -------------------------------------------------------------------------------- /content/reference/document/metadata/li-reference-list-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/li-reference-list-example.png -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Metadata Plugins List 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata 7 | --- 8 | 9 | This overview contains a list of all metadata plugins provided by Livingdocs. 10 | 11 | Go to [Metadata]({{< ref "/reference/document/metadata" >}}) to get an overview of the metadata concept. 12 | 13 | You can [create your own plugins]({{< ref "/guides/documents/metadata/metadata-examples" >}}) in the downstream. 14 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/images/li-color-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/plugins/images/li-color-ui.png -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/images/li-document-reference-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/plugins/images/li-document-reference-ui.png -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/images/li-enum-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/plugins/images/li-enum-ui.png -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/images/li-metadata-translations-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/plugins/images/li-metadata-translations-ui.png -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/images/li-reference-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/plugins/images/li-reference-ui.png -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/images/li-video-reference-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/document/metadata/plugins/images/li-video-reference-ui.png -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-bundled-documents.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-bundled-documents 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: A list of documents belonging to a bundle. 8 | support: 9 | document: true 10 | media: false 11 | include: false 12 | creationFlow: false 13 | pushMessage: false 14 | tableDashboard: false 15 | displayFilter: false 16 | searchIndexing: true 17 | systemMetadata: true 18 | planningSystem: true 19 | description: | 20 | Used for managing bundles of documents. 21 | defaultUI: None 22 | storageFormat: | 23 | { 24 | $ref: 'documents', 25 | references: [ 26 | { 27 | id: 28 | } 29 | ] 30 | } 31 | contentTypeConfig: |2 32 | handle: 'myHandle', 33 | type: 'li-bundled-documents', 34 | config: { 35 | index: true // optional, default: false. {{< added-in "release-2023-07" >}} 36 | } 37 | --- 38 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-category.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-category 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: Single category selection. 8 | support: 9 | document: true 10 | media: false 11 | include: true 12 | creationFlow: true 13 | pushMessage: false 14 | tableDashboard: true 15 | displayFilter: true 16 | searchIndexing: true 17 | systemMetadata: false 18 | planningSystem: false 19 | defaultUI: Select input, with category tree view and search 20 | storageFormat: | 21 | { 22 | id: , 23 | path: 24 | } 25 | contentTypeConfig: |2 26 | handle: 'myHandle', 27 | type: 'li-category', 28 | config: { 29 | index: true // optional, default: false. {{< added-in "release-2023-07" >}} 30 | } 31 | --- 32 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-dependencies.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-dependencies 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | support: 8 | document: true 9 | media: false 10 | include: false 11 | creationFlow: false 12 | pushMessage: false 13 | tableDashboard: false 14 | displayFilter: false 15 | searchIndexing: false 16 | systemMetadata: false 17 | planningSystem: false 18 | defaultUI: None 19 | storageFormat: | 20 | { 21 | js: [ 22 | { 23 | src: , 24 | code: , 25 | inline: , 26 | library: , 27 | namespace: , 28 | componentIds: [ 29 | 30 | ] 31 | } 32 | ], 33 | css: [ 34 | { 35 | src: , 36 | code: , 37 | inline: , 38 | library: , 39 | namespace: , 40 | componentIds: [ 41 | 42 | ] 43 | } 44 | ] 45 | } 46 | contentTypeConfig: |2 47 | handle: 'myHandle' 48 | type: 'li-dependencies', 49 | --- 50 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-document-soft-lock.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-document-soft-lock 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: Enables a user to temporarily lock a document while editing. 8 | support: 9 | document: true 10 | media: false 11 | include: false 12 | creationFlow: false 13 | pushMessage: false 14 | tableDashboard: false 15 | displayFilter: false 16 | searchIndexing: false 17 | systemMetadata: true 18 | planningSystem: false 19 | description: Enables a user to temporarily lock a document while editing. 20 | defaultUI: None 21 | storageFormat: | 22 | { 23 | userId: , 24 | userName: , 25 | locktime: , 26 | tabId: 27 | } 28 | contentTypeConfig: |2 29 | handle: 'myHandle', 30 | type: 'li-document-soft-lock' 31 | --- 32 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-external-id.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-external-id 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: An input field to save an external id of another system. 8 | support: 9 | document: true 10 | media: true 11 | include: false 12 | creationFlow: false 13 | pushMessage: false 14 | tableDashboard: false 15 | displayFilter: false 16 | searchIndexing: true 17 | systemMetadata: false 18 | planningSystem: false 19 | webhookConditions: true 20 | description: | 21 | A `li-external-id` metadata field can be used to save an external id of another system. For example if you want to have an article reference to your original system. At the moment `li-external-id` by default renders a text area in the UI. If you want to hide it add the config object with `hideFromForm: true` 22 | defaultUI: Text input 23 | storageFormat: 24 | contentTypeConfig: |2 25 | handle: 'myHandle' 26 | type: 'li-external-id', 27 | config: { 28 | hideFromForm: true, // default false 29 | index: true // optional, default: false. {{< added-in "release-2023-07" >}} 30 | } 31 | --- 32 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-google-vision.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-google-vision 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | support: 8 | document: false 9 | media: true 10 | include: false 11 | creationFlow: false 12 | pushMessage: false 13 | tableDashboard: false 14 | displayFilter: false 15 | searchIndexing: true 16 | systemMetadata: false 17 | planningSystem: false 18 | defaultUI: Specialised UI in the Media Library Image Detail View, no config possible 19 | storageFormat: | 20 | { 21 | labels: [], 22 | webEntities: [] 23 | } 24 | contentTypeConfig: |2 25 | handle: 'myHandle' 26 | type: 'li-google-vision', 27 | config: { 28 | // common 29 | hideFromForm: false, // optional, default: false 30 | index: true // optional, default: false. {{< added-in "release-2023-07" >}} 31 | } 32 | ui: { 33 | label: 'foo', // optional, default: start case of handle 34 | config: { 35 | readOnly: true // optional, default: false 36 | } 37 | } 38 | --- 39 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-image.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-image 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | support: 8 | document: true 9 | media: true 10 | include: false 11 | creationFlow: false 12 | pushMessage: false 13 | tableDashboard: false 14 | displayFilter: false 15 | searchIndexing: false 16 | systemMetadata: false 17 | planningSystem: false 18 | defaultUI: UI to select, upload, delete, and crop an image 19 | storageFormat: | 20 | { 21 | originalUrl: , 22 | url: , 23 | mediaId: , 24 | height: , 25 | width: , 26 | mimeType: , 27 | imageService: , 28 | crops: [ 29 | 30 | ], 31 | focalPoint: { 32 | x: , 33 | y: 34 | } 35 | } 36 | contentTypeConfig: |2 37 | handle: 'myHandle' 38 | type: 'li-image' 39 | --- 40 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-list-reference.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-list-reference 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | support: 8 | document: false 9 | media: false 10 | include: true 11 | creationFlow: false 12 | pushMessage: false 13 | tableDashboard: false 14 | displayFilter: false 15 | searchIndexing: true 16 | systemMetadata: false 17 | planningSystem: false 18 | defaultUI: Selected list, or list selection dialog 19 | storageFormat: | 20 | { 21 | $ref: 'list', 22 | reference: { 23 | id: , 24 | count: , 25 | priority: 26 | } 27 | } 28 | contentTypeConfig: |2 29 | handle: 'myHandle' 30 | type: 'li-list-reference', 31 | config: { 32 | // common 33 | hideFromForm: false, // optional, default: false 34 | required: true, // optional, default: false 35 | requiredErrorMessage: 'Provide a value', // optional 36 | index: true, // optional, default: false. {{< added-in "release-2023-07" >}} 37 | // specific 38 | defaultCount: true 39 | } 40 | --- 41 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-manual-document-status.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-manual-document-status 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | support: 8 | document: true 9 | media: false 10 | include: false 11 | creationFlow: false 12 | pushMessage: false 13 | tableDashboard: false 14 | displayFilter: true 15 | searchIndexing: true 16 | systemMetadata: true 17 | planningSystem: false 18 | defaultUI: Manage manual document statuses 19 | storageFormat: 20 | contentTypeConfig: |2 21 | handle: 'myHandle' 22 | type: 'li-manual-document-status', 23 | config: { 24 | placeholder: ms.$ref('LivingdocsTranslatableString'), 25 | statuses: ms.arrayOf(ms.strictObj({ 26 | value: 'string', 27 | label: ms.required.$ref('LivingdocsTranslatableString'), 28 | color: 'string' 29 | })) 30 | } 31 | --- 32 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-media-language.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-media-language 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: | 8 | {{< removed-in "release-2023-09" >}}. Use [`li-metadata-translations`]({{< ref "/reference/document/metadata/plugins/li-metadata-translations" >}}) instead. 9 | support: 10 | document: false 11 | media: true 12 | include: false 13 | tableDashboard: false 14 | displayFilter: false 15 | searchIndexing: false 16 | systemMetadata: false 17 | planningSystem: false 18 | removedIn: release-2023-09 19 | description: | 20 | Metadata type `li-media-language` has been replaced with [`li-metadata-translations`]({{< ref "/reference/document/metadata/plugins/li-metadata-translations" >}}). 21 | defaultUI: None 22 | storageFormat: | 23 | { 24 | locale: , 25 | label: 26 | } 27 | contentTypeConfig: |2 28 | handle: 'myHandle' 29 | type: 'li-media-language' 30 | --- 31 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-moderated-collab.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-moderated-collab 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | support: 8 | document: true 9 | media: false 10 | include: false 11 | creationFlow: false 12 | pushMessage: false 13 | tableDashboard: false 14 | displayFilter: false 15 | searchIndexing: false 16 | systemMetadata: true 17 | planningSystem: false 18 | webhookConditions: true 19 | description: No longer supported. 20 | defaultUI: None 21 | storageFormat: 22 | contentTypeConfig: |2 23 | handle: 'myHandle' 24 | type: 'li-moderated-collab' 25 | --- 26 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-named-crops.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-named-crops 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: Define Named Crops on a Media Library Image. 8 | support: 9 | document: false 10 | media: true 11 | include: false 12 | creationFlow: false 13 | pushMessage: false 14 | tableDashboard: false 15 | displayFilter: false 16 | searchIndexing: false 17 | systemMetadata: false 18 | planningSystem: false 19 | description: Define Named Crops on a Media Library Image. 20 | defaultUI: Crop management 21 | storageFormat: | 22 | { 23 | crops: [ 24 | { 25 | name: , 26 | x: , 27 | y: , 28 | width: , 29 | height: , 30 | isAutomatic: 31 | } 32 | ], 33 | focalPoint: { 34 | x: , 35 | y: 36 | } 37 | } 38 | contentTypeConfig: |2 39 | handle: 'myHandle' 40 | type: 'li-named-crops' 41 | --- 42 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-poster-image.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-poster-image 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: Set a poster image for a video. 8 | support: 9 | document: false 10 | media: true 11 | include: false 12 | creationFlow: false 13 | pushMessage: false 14 | tableDashboard: false 15 | displayFilter: false 16 | searchIndexing: false 17 | systemMetadata: false 18 | planningSystem: false 19 | description: Set a poster image for a video. 20 | defaultUI: Poster Image selection, has some special UI within Video Media Library Entries 21 | storageFormat: | 22 | { 23 | originalUrl: , 24 | url: , 25 | mediaId: , 26 | height: , 27 | width: , 28 | mimeType: , 29 | imageService: , 30 | crops: [ 31 | { 32 | name: , 33 | x: , 34 | y: , 35 | width: , 36 | height: , 37 | isAutomatic: 38 | } 39 | ] 40 | } 41 | contentTypeConfig: |2 42 | handle: 'myHandle' 43 | type: 'li-poster-image' 44 | --- 45 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-print.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-print 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | support: 8 | document: true 9 | media: false 10 | include: false 11 | creationFlow: false 12 | pushMessage: false 13 | tableDashboard: false 14 | displayFilter: false 15 | searchIndexing: false 16 | systemMetadata: false 17 | planningSystem: false 18 | storageFormat: | 19 | { 20 | name: , 21 | status: , 22 | publicationDate: , 23 | publication: { 24 | id: , 25 | name: 26 | }, 27 | department: { 28 | id: , 29 | name: 30 | }, 31 | template: { 32 | id: , 33 | name: 34 | }, 35 | layout: { 36 | id: , 37 | name: 38 | } 39 | } 40 | contentTypeConfig: |2 41 | handle: 'print' // Must use print as the handle 42 | type: 'li-print' 43 | --- 44 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-publish-date.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-publish-date 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: Holds the first publication date, which is user editable. 8 | support: 9 | document: true 10 | media: false 11 | include: false 12 | creationFlow: false 13 | pushMessage: false 14 | tableDashboard: false 15 | displayFilter: false 16 | searchIndexing: true 17 | systemMetadata: false 18 | planningSystem: false 19 | webhookConditions: true 20 | description: | 21 | Holds the first publication date, which is user editable. 22 | 23 | For greater flexibility use [Publish Control]({{< ref "/guides/editor/publish-control">}}) instead. 24 | defaultUI: Datetime input 25 | storageFormat: 26 | contentTypeConfig: |2 27 | handle: 'myHandle', 28 | type: 'li-publish-date', 29 | config: { 30 | index: true // optional, default: false. {{< added-in "release-2023-07" >}} 31 | }, 32 | --- 33 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-retresco.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-retresco 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: Manage tags 8 | support: 9 | document: true 10 | media: false 11 | include: false 12 | creationFlow: false 13 | pushMessage: false 14 | tableDashboard: false 15 | displayFilter: true 16 | searchIndexing: true 17 | systemMetadata: false 18 | planningSystem: false 19 | description: Please see the [Retresco integration guide]({{< ref "/guides/integrations/retresco" >}}) for details on how to setup the integration. 20 | defaultUI: Retresco tag management 21 | storageFormat: | 22 | { 23 | contentVersion: , 24 | entities: [ 25 | { 26 | id: , 27 | type: , 28 | name: , 29 | score: , 30 | inappropriate: , 31 | userAdded: , 32 | isMain: // {{< added-in "release-2024-09" >}} 33 | } 34 | ] 35 | } 36 | contentTypeConfig: |2 37 | handle: 'myHandle' 38 | type: 'li-retresco' 39 | --- 40 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-routing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-routing 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: Define aliases. 8 | support: 9 | document: true 10 | media: false 11 | include: false 12 | creationFlow: false 13 | pushMessage: false 14 | tableDashboard: false 15 | displayFilter: false 16 | searchIndexing: true 17 | systemMetadata: false 18 | planningSystem: false 19 | defaultUI: None 20 | storageFormat: | 21 | { 22 | path: 23 | } 24 | contentTypeConfig: |2 25 | handle: 'myHandle' 26 | type: 'li-routing' 27 | --- 28 | -------------------------------------------------------------------------------- /content/reference/document/metadata/plugins/li-ticker-host-reference.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: li-ticker-host-reference 3 | type: metadata-plugins 4 | menus: 5 | reference: 6 | parent: Metadata Plugins List 7 | summary: A reference to the host document of a ticker entry. 8 | support: 9 | document: true 10 | media: false 11 | include: false 12 | creationFlow: false 13 | pushMessage: false 14 | tableDashboard: false 15 | displayFilter: false 16 | searchIndexing: true 17 | systemMetadata: false 18 | planningSystem: false 19 | description: | 20 | A reference to the host document of a ticker entry. 21 | defaultUI: Not rendered 22 | storageFormat: | 23 | { 24 | $ref: 'document', 25 | reference: { 26 | id: 27 | } 28 | } 29 | contentTypeConfig: |2 30 | handle: 'tickerHost' 31 | type: 'li-ticker-host-reference', 32 | config: { 33 | index: true 34 | } 35 | --- 36 | -------------------------------------------------------------------------------- /content/reference/project-config/categories.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Categories 3 | weight: 9 4 | menus: 5 | reference: 6 | parent: Project Config 7 | --- 8 | 9 | The categories are normally used together with the routing system to represent the idiomatic department structure in a newspaper. Read our [Setup Categories Guide]({{< ref "/guides/organisation/categories-and-routing.md" >}}) for more infos on the actual use cases. 10 | 11 | You can define an array of available categories: 12 | 13 | ```js 14 | categories: [ 15 | { 16 | id: 'home', 17 | label: 'Home', 18 | path: '/', 19 | parent: 20 | archived: false, 21 | metadata: { 22 | foo: 'bar' // You can store arbitrary data here 23 | } 24 | }, 25 | { 26 | id: 'breaking-news', 27 | label: 'Breaking News', 28 | path: '/breaking', 29 | parent: 'home', 30 | archived: false, 31 | metadata: { 32 | bar: 'foo' 33 | } 34 | } 35 | ] 36 | ``` 37 | 38 | Categories can have a path for the routing. 39 | 40 | They should never be deleted but the `archived` flag set to true. 41 | 42 | Categories have a `metadata` object that contain additional information such as ad campaign ids for a certain category (e.g. ads specific to the "Sports" category). 43 | -------------------------------------------------------------------------------- /content/reference/project-config/components.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Components 3 | weight: 5 4 | menus: 5 | reference: 6 | parent: Project Config 7 | --- 8 | 9 | The components config is an array of document design components. 10 | For details how to create and customize a design please refer to 11 | [Document Design]({{< ref "/reference/document/document-design" >}}). 12 | 13 | Example with a title and a paragraph component: 14 | 15 | ```js 16 | components: [ 17 | { 18 | name: 'title', 19 | label: 'Title', 20 | iconUrl: 'https://livingdocs-assets.s3.amazonaws.com/magazine-design/assets/images/icons-components/icon_header_simple.svg', 21 | directives: [ 22 | { 23 | type: 'editable', 24 | name: 'title', 25 | maxLength: 5 26 | } 27 | ], 28 | html: '

\n Title\n

' 29 | }, 30 | { 31 | name: "p", 32 | label: "Paragraph", 33 | iconUrl: 'https://livingdocs-assets.s3.amazonaws.com/magazine-design/assets/images/icons-components/icon_text.svg', 34 | html: '

\n Paragraph\n

' 35 | } 36 | ] 37 | ``` 38 | -------------------------------------------------------------------------------- /content/reference/project-config/design-settings.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Design Settings 3 | weight: 4 4 | menus: 5 | reference: 6 | parent: Project Config 7 | --- 8 | 9 | The designSettings config describes general settings for your components. 10 | Both the designSettings and components together form a document design. 11 | 12 | For details how to create and customize a document design please refer to 13 | [Document Design]({{< ref "/reference/document/document-design" >}}). 14 | 15 | ```js 16 | designSettings: { 17 | label: 'My Document Design', 18 | description: 'A set of components which can be used in my project.', 19 | author: 'Livingdocs', 20 | 21 | componentGroups: [{...}], 22 | defaultComponents: {...}, 23 | componentProperties: [{...}] 24 | } 25 | ``` 26 | -------------------------------------------------------------------------------- /content/reference/project-config/external-systems.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: External Systems 3 | weight: 11 4 | menus: 5 | reference: 6 | parent: Project Config 7 | --- 8 | 9 | External Systems define a relation to a source system. External Systems usually have stored the original document which will be one way synced to Livingdocs via Import. 10 | 11 | An example: 12 | 13 | ```js 14 | externalSystems: [ 15 | { 16 | handle: 'legacy-cms', 17 | label: 'Legacy CMS' 18 | url: { 19 | origin: 'https://legacy-cms.example.com', 20 | pathPattern: '/{{id}}/{{metadata.cmsId}}' 21 | } 22 | } 23 | ] 24 | ``` 25 | 26 | An External System defines an URL with `origin` and a `pathPattern`. The `pathPattern` can have placeholders which will be replaced with real values during runtime to build the final URL to the source system. 27 | 28 | - `{{id}}` -> replaced by Livingdocs `documentId` 29 | - `{{metadata.cmsId}}` -> replaced by a metadata field with the handle `cmsId` 30 | -------------------------------------------------------------------------------- /content/reference/project-config/finite-products.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Finite Products 3 | weight: 11 4 | menus: 5 | reference: 6 | parent: Project Config 7 | --- 8 | 9 | Finite Products let's you define edition like documents. 10 | 11 | Typically you will define at least two content types for this feature. 12 | 13 | A `data-record` serving as the main edition document that holds references to pages within this edition with the metadata plugin [`li-issue-management`]({{< ref "reference/document/metadata/plugins/li-issue-management.md" >}}). 14 | 15 | And then one or more `page-like` contentTypes for the pages of the edition. 16 | 17 | Example configuration of such a setup: 18 | 19 | ```js 20 | finiteProducts: [ 21 | { 22 | issueContentType: 'digitalEdition', 23 | issueMemberContentTypes: ['digitalEditionPage'] 24 | } 25 | ] 26 | ``` 27 | 28 | And in your `issueContentType` you will have to define at least one metadata property of type `li-issue-management` for this to work. You can find more details at the [documentation for `li-issue-management`]({{< ref "reference/document/metadata/plugins/li-issue-management.md" >}}). 29 | -------------------------------------------------------------------------------- /content/reference/project-config/images/asset-inbox-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/asset-inbox-button.png -------------------------------------------------------------------------------- /content/reference/project-config/images/custom_user_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/custom_user_menu.png -------------------------------------------------------------------------------- /content/reference/project-config/images/inbox-assignment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/inbox-assignment.png -------------------------------------------------------------------------------- /content/reference/project-config/images/inbox-documents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/inbox-documents.png -------------------------------------------------------------------------------- /content/reference/project-config/images/inline_links.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/inline_links.png -------------------------------------------------------------------------------- /content/reference/project-config/images/send-to-inbox-context-menu-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/send-to-inbox-context-menu-button.png -------------------------------------------------------------------------------- /content/reference/project-config/images/table-dashboard-cell-print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/table-dashboard-cell-print.png -------------------------------------------------------------------------------- /content/reference/project-config/images/table-dashboard-cell-statistics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/table-dashboard-cell-statistics.png -------------------------------------------------------------------------------- /content/reference/project-config/images/table-dashboard-task-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/table-dashboard-task-list.png -------------------------------------------------------------------------------- /content/reference/project-config/images/table_dashboard_language_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/table_dashboard_language_cell.png -------------------------------------------------------------------------------- /content/reference/project-config/images/table_dashboard_main_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/table_dashboard_main_cell.png -------------------------------------------------------------------------------- /content/reference/project-config/images/table_dashboard_publish_state_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/table_dashboard_publish_state_cell.png -------------------------------------------------------------------------------- /content/reference/project-config/images/text-count.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/text-count.png -------------------------------------------------------------------------------- /content/reference/project-config/images/text_formatting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/text_formatting.png -------------------------------------------------------------------------------- /content/reference/project-config/images/text_formatting_placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/project-config/images/text_formatting_placeholder.png -------------------------------------------------------------------------------- /content/reference/public-api/_content.gotmpl: -------------------------------------------------------------------------------- 1 | 4 | {{ $endpoints := partialCached "_api-endpoints" $ true }} 5 | 6 | {{ $sectionsStat := os.Stat "data/sections.yaml" }} 7 | {{ range $section := $.Site.Data.sections }} 8 | 9 | 10 | 11 | {{ $sectionEndpoints := slice }} 12 | {{ range .endpoints }} 13 | {{ $toMerge := where $endpoints "endpointId" "eq" . }} 14 | {{ if eq (len $toMerge) 0 }} 15 | {{ errorf (printf "The section '%s' in data/sections.yaml referenced an unavailable endpoint: '%s'" $section.title .) }} 16 | {{ end }} 17 | {{ $sectionEndpoints = $sectionEndpoints | append $toMerge }} 18 | {{ end }} 19 | {{ $params := merge $section (dict "endpoints" $sectionEndpoints) }} 20 | 21 | {{ $.AddPage (dict 22 | "title" $section.title 23 | "kind" (or $section.kind "page") 24 | "type" "api-reference-section" 25 | "dates" (dict "lastmod" $sectionsStat.ModTime) 26 | "weight" $section.weight 27 | "path" (or $section.path $section.title) 28 | "content" (dict "mediaType" "text/markdown" "value" "") 29 | "params" $params) 30 | }} 31 | {{ end }} 32 | -------------------------------------------------------------------------------- /content/reference/public-api/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Public API 3 | description: Quick tour of public API documentation and how to use the public API to query documents from Livingdocs. 4 | icon: file-tree 5 | renderTOC: false 6 | weight: 1 7 | --- 8 | 9 | ## Video Guide 10 | 11 | Quick tour how to read the public API documentation and how to use the public API to query documents from Livingdocs. 12 | 13 | {{< vimeo id="429650615" class="video-wrapper" >}} 14 | -------------------------------------------------------------------------------- /content/reference/public-api/changelog/2024-07/document-command-api-new-commands.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Document Command API: New Commands' 3 | type: changelog-entry 4 | weight: 1 5 | 6 | change: 7 | type: feature 8 | date: 2024-07 9 | --- 10 | 11 | We have extended the [Document Command API]({{< ref "/reference/public-api/document-command-api" >}}) with two new commands, which are also available for [Assistants]({{< ref "/customising/assistants" >}}). 12 | 13 | #### `removeComponent` 14 | 15 | ```js 16 | { 17 | operation: 'removeComponent', 18 | componentId: 'doc-4a2b3g4d5' 19 | } 20 | ``` 21 | 22 | #### `unpublish` 23 | 24 | ```js 25 | { 26 | operation: 'unpublish' 27 | } 28 | ``` 29 | -------------------------------------------------------------------------------- /content/reference/public-api/changelog/2024-11/deprecate-menu-tool.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Deprecate Menu Tool 3 | type: changelog-entry 4 | weight: 1 5 | 6 | change: 7 | date: 2024-11 8 | type: deprecation 9 | --- 10 | 11 | The Menu Tool is deprecated and will be removed in release-2025-05. Please migrate your menus to data records, using the `li-tree` plugin and, if needed, the `li-unique-id` metadata plugin. For detailed instructions on [setting up menus with data records]({{< ref "/guides/editor/menus" >}}), refer to our guide. We are here to assist with the migration as needed. 12 | -------------------------------------------------------------------------------- /content/reference/public-api/changelog/2025-03/api-versioning.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: API Versioning 3 | type: changelog-entry 4 | weight: 1 5 | 6 | change: 7 | date: 2025-03 8 | type: feature 9 | --- 10 | 11 | We're introducing a new [API Versioning Strategy]({{< ref "/reference/public-api/versioning" >}}) that allows us to iterate on the API without breaking existing integrations. 12 | 13 | With the introduction of a new versioning strategy, the `v1` and `beta` versions are now available as `2025-03` version. If you use any of those versions, you can safely change your integration to the `2025-03` version, which now contains both functionalities without any other changes. 14 | -------------------------------------------------------------------------------- /content/reference/public-api/changelog/2025-03/media-library-serve-image.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Media Library: Serve Image' 3 | type: changelog-entry 4 | weight: 1 5 | 6 | change: 7 | date: 2025-03 8 | type: feature 9 | --- 10 | 11 | We’ve added a new public API endpoint: 12 | 13 | `/api/2025-03/mediaLibrary/serve-image/:key` 14 | 15 | This endpoint provides access to an image in its original dimensions, as long as it has not been revoked or marked as invalid. It can serve as a source for proxies or image processing services. 16 | 17 | Please check the [API reference]({{< ref "/reference/public-api/media-library/#serve-image" >}}) for more details. 18 | -------------------------------------------------------------------------------- /content/reference/public-api/changelog/2025-05/menu-tool-removal.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Removal of Menu Tool' 3 | type: changelog-entry 4 | weight: 1 5 | 6 | change: 7 | date: 2025-05 8 | type: breaking-change 9 | --- 10 | 11 | The Menu Tool has been removed, along with its [public API endpoint]({{< ref "/reference/public-api/menus/#get-menus-for-a-channel" >}}). As a result, the following endpoints no longer exist: 12 | 13 | ❌ `GET` `/api/v1/menus/:channelHandle?` 14 | ❌ `GET` `/api/beta/menus/:channelHandle?` 15 | ❌ `GET` `/api/2025-03/menus/:channelHandle?` 16 | 17 | We suggest migrating your menus to data records. For detailed instructions on setting them up, refer to our [guide]({{< ref "/guides/editor/menus" >}}). -------------------------------------------------------------------------------- /content/reference/public-api/changelog/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Changelog 3 | type: changelog 4 | weight: 1 5 | menus: public-api 6 | 7 | cascade: 8 | target: 9 | path: '{/reference/public-api/changelog/**}' 10 | build: 11 | render: never 12 | sitemap: 13 | disable: true 14 | --- 15 | 16 | In the Public API Changelog you’ll find an overview of all significant changes to our API, including new features, deprecations, and breaking changes. Our goal is to provide a clear and structured update history, helping you stay informed about improvements and necessary adjustments. 17 | 18 | Please consult the [API Versioning Strategy]({{< ref "/reference/public-api/versioning" >}}) for more information on how we manage API versions. 19 | 20 | Bug fixes are not listed here. If you encounter issues, please report them to the Livingdocs Customer Solutions team. 21 | -------------------------------------------------------------------------------- /content/reference/public-api/open-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Open API 3 | weight: 1 4 | # renderTOC: false 5 | menus: public-api 6 | --- 7 | 8 | ## OpenAPI 9 | 10 | The [Livingdocs Public API]({{< ref "/reference/public-api" >}}) can be tested and consumed with an [OpenAPI v3 specification file]({{< openapi "/openapi.json" >}}). 11 | 12 | Thanks to the [OpenAPI specification](https://spec.openapis.org/oas/v3.1.0.html), it's possible to quickly test the API using [Swagger UI](https://editor-next.swagger.io/?url={{< openapi "/openapi.json" >}}). And import the full collection of existing API endpoints into Insomnia or Postman. 13 | 14 | The easiest way to import the current endpoint collection is from a URL, both Postman and Insomnia support it. 15 | 16 | ``` 17 | {{< openapi "/openapi.json" >}} 18 | ``` 19 | 20 | ## Release specific versions 21 | 22 | All available Versions: 23 | {{< openapi-list >}} 24 | -------------------------------------------------------------------------------- /content/reference/public-api/publications/references.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/public-api/publications/references.png -------------------------------------------------------------------------------- /content/reference/webhooks/webhook-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/webhooks/webhook-detail.png -------------------------------------------------------------------------------- /content/reference/webhooks/webhooks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/content/reference/webhooks/webhooks.png -------------------------------------------------------------------------------- /data/endpoints/auth-errors.yaml: -------------------------------------------------------------------------------- 1 | title: Common Errors 2 | description: | 3 | Common error responses you can expect when working with the public Api. 4 | 5 | responses: 6 | - code: '401' 7 | collapsible: false 8 | body: | 9 | { 10 | "status": 401, 11 | "error": "Unauthorized", 12 | "error_details": { 13 | "access_token": "The access token expired." 14 | } 15 | } 16 | - code: '403' 17 | collapsible: false 18 | body: | 19 | { 20 | "status": 403, 21 | "error": "Forbidden", 22 | "error_details": { 23 | "access_token": "The request requires higher privileges" 24 | } 25 | } 26 | - code: '404' 27 | collapsible: false 28 | body: | 29 | { 30 | "status": 404, 31 | "error": "Not Found", 32 | "error_details": { 33 | "url": "/api/:apiVersion/foo" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /data/endpoints/health-check.yaml: -------------------------------------------------------------------------------- 1 | title: Check API Status 2 | useCases: | 3 | - Health check for operations 4 | 5 | query: | 6 | curl -k -X GET "https://server.livingdocs.io/api/:apiVersion/health" 7 | endpoint: 8 | method: GET 9 | path: /api/:apiVersion/health 10 | responses: 11 | - code: '200' 12 | body: | 13 | { 14 | "status": "ok" 15 | } 16 | 17 | openapi: 18 | tags: 19 | - Health 20 | operationId: getApiStatus 21 | summary: Check API Status 22 | description: Check API Status 23 | responses: 24 | '200': 25 | description: Status ok 26 | -------------------------------------------------------------------------------- /hugo.yaml: -------------------------------------------------------------------------------- 1 | languageCode: en-us 2 | theme: hugo-docs 3 | uglyURLs: false 4 | refLinksErrorLevel: ERROR 5 | baseURL: https://docs.livingdocs.io/ 6 | title: Livingdocs Documentation 7 | enableGitInfo: true 8 | enableEmoji: true 9 | enableInlineShortcodes: true 10 | enableRobotsTXT: true 11 | 12 | markup: 13 | goldmark: 14 | renderer: 15 | unsafe: true 16 | 17 | highlight: 18 | codeFences: true 19 | guessSyntax: true 20 | hl_Lines: '' 21 | lineNoStart: 1 22 | lineNos: false 23 | lineNumbersInTable: true 24 | noClasses: false 25 | tabWidth: 2 26 | 27 | tableOfContents: 28 | endLevel: 4 29 | ordered: false 30 | startLevel: 1 31 | 32 | minify: 33 | tdewolff: 34 | html: 35 | keepWhitespace: false 36 | 37 | services: 38 | googleAnalytics: 39 | id: GTM-K6QTH5K 40 | 41 | imaging: 42 | quality: 75 43 | 44 | disableKinds: 45 | - taxonomy 46 | - term 47 | 48 | outputFormats: 49 | SearchIndex: 50 | baseName: search 51 | mediaType: application/json 52 | 53 | outputs: 54 | home: [HTML, RSS, SearchIndex] 55 | 56 | params: 57 | branch: main 58 | -------------------------------------------------------------------------------- /nginx.conf: -------------------------------------------------------------------------------- 1 | load_module modules/ngx_http_brotli_filter_module.so; 2 | load_module modules/ngx_http_brotli_static_module.so; 3 | 4 | daemon off; 5 | user nginx nginx; 6 | worker_processes 1; 7 | error_log stderr warn; 8 | worker_rlimit_nofile 8192; 9 | pid /var/run/nginx.pid; 10 | 11 | events { 12 | worker_connections 1024; 13 | } 14 | 15 | http { 16 | include /etc/nginx/mime.types; 17 | sendfile on; 18 | tcp_nopush on; 19 | gzip_static on; 20 | brotli_static on; 21 | port_in_redirect off; 22 | server_name_in_redirect off; 23 | 24 | # Redirects 25 | map_hash_bucket_size 256; 26 | 27 | map $request_uri $uri_without_slash { 28 | "~(?(.+))/$" $u; 29 | default $request_uri; 30 | } 31 | 32 | map $uri_without_slash $redirect_uri { 33 | include redirects.map; 34 | default ""; 35 | } 36 | 37 | server { 38 | listen 8080; 39 | access_log /dev/stdout; 40 | root /app/public; 41 | 42 | location ~ ^/openapi(.*)\.json$ { 43 | add_header Access-Control-Allow-Origin *; 44 | } 45 | 46 | if ($redirect_uri != "") { 47 | rewrite ^(.*)$ $redirect_uri redirect; 48 | } 49 | 50 | index index.html; 51 | error_page 404 /404.html; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "livingdocs", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "dependencies": { 7 | "clipboard": "^2.0.11", 8 | "domhandler": "^5.0.3", 9 | "domutils": "^3.2.2", 10 | "glob": "^11.0.1", 11 | "htmlparser2": "^10.0.0", 12 | "lunr": "^2.3.9", 13 | "serve": "^14.2.4" 14 | }, 15 | "scripts": { 16 | "build": "./bin/build.sh", 17 | "build:fast": "./bin/build.sh --fast", 18 | "start": "exec hugo server --buildDrafts --buildFuture --openBrowser --navigateToChanged", 19 | "start:production": "serve ./public" 20 | }, 21 | "repository": { 22 | "type": "git", 23 | "url": "git+https://github.com/livingdocsIO/documentation.git" 24 | }, 25 | "author": "", 26 | "license": "ISC", 27 | "bugs": { 28 | "url": "https://github.com/upfrontIO/livingdocs/issues" 29 | }, 30 | "homepage": "https://github.com/livingdocsIO/documentation#readme", 31 | "release": { 32 | "npmPublish": false, 33 | "extends": "@livingdocs/semantic-release-presets/github-verify", 34 | "branches": [ 35 | "main" 36 | ] 37 | }, 38 | "devDependencies": { 39 | "prettier": "3.5.3", 40 | "prettier-plugin-go-template": "0.0.15" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /redirects.map: -------------------------------------------------------------------------------- 1 | /reference-docs/public-api/ /reference/public-api/; 2 | /reference/public-api/publications/latest-draft-beta /reference/public-api/drafts/latest-draft-beta/; 3 | /reference/public-api/search /reference/public-api/publications/search/; 4 | /reference/document/metadata/metadata-plugin-list /reference/document/metadata/plugins/; 5 | /guides/editor/menu-tool /guides/editor/menus/; 6 | /guides/push_notifications /guides/editor/push-notifications/; 7 | /guides/integrations/desknet-migration /guides/integrations/desknet-global-integration-migration/; 8 | /guides/integrations/desknet-kordiam /guides/integrations/desknet-to-kordiam-migration/; 9 | /reference/public-api/publications/latest-publication-beta /reference/public-api/publications/latest-publication?version=beta; 10 | /reference/public-api/publications/latest-publications-beta /reference/public-api/publications/latest-publications?version=beta; 11 | /reference/public-api/drafts/latest-draft-beta /reference/public-api/drafts/latest-draft?version=beta; 12 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": ["local>livingdocsIO/renovate-config-public"] 4 | } 5 | -------------------------------------------------------------------------------- /themes/hugo-docs/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | public/ 3 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/base/animations.scss: -------------------------------------------------------------------------------- 1 | $transition-time: 250ms; 2 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/base/breakpoints.scss: -------------------------------------------------------------------------------- 1 | $breakpoint-tablet: 776px; 2 | $breakpoint-desktop: 1024px; 3 | $breakpoint-widescreen: 1280px; 4 | $breakpoint-ultrawide: 1650px; 5 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/base/colors.scss: -------------------------------------------------------------------------------- 1 | // neutron colors 2 | $color-black: #141414; 3 | $color-grey-1: #424242; 4 | $color-grey-2: #6b6b6b; 5 | $color-grey-3: #949494; 6 | $color-grey-4: #b8b8b8; 7 | $color-grey-5: #d4d4d4; 8 | $color-grey-6: #eaeaea; 9 | $color-grey-7: #f2f2f2; 10 | $color-grey-8: #f8f8f8; 11 | $color-grey-9: #fcfcfc; 12 | $color-white: #fff; 13 | 14 | $color-shadow: rgba($color-black, 0.1); 15 | $color-shadow--highlight: rgba($color-black, 0.125); 16 | 17 | // saturn colors 18 | // 1 19 | $color-blue-1: #636ff7; 20 | $color-cyan-1: #12b2b2; 21 | $color-green-1: #1fc47a; 22 | $color-orange-1: #f7b100; 23 | $color-red-1: #de3e73; 24 | $color-violet-1: #bf69f0; 25 | $color-yellow-1: #ffcf30; 26 | // 2 27 | $color-blue-2: #c7ccff; 28 | $color-cyan-2: #cffaf6; 29 | $color-green-2: #cbf7e1; 30 | $color-orange-2: #ffeaa6; 31 | $color-red-2: #ffd1e0; 32 | $color-violet-2: #f0d6ff; 33 | $color-yellow-2: #ffebad; 34 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/base/spaces.scss: -------------------------------------------------------------------------------- 1 | $space-xs: 5px; 2 | $space-s: 10px; 3 | $space-m: 20px; 4 | $space-l: 50px; 5 | $space-xl: 100px; 6 | 7 | $rounded-corners: 4px; 8 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/base/spacing-elements.scss: -------------------------------------------------------------------------------- 1 | $header-height: 7 * $space-s; 2 | $page-sidebar-width: 2.5 * $space-xl; 3 | $toc-width: 2.5 * $space-xl; 4 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/anchor.scss: -------------------------------------------------------------------------------- 1 | .anchor { 2 | @extend %font-s-xs; 3 | position: absolute; 4 | top: 50%; 5 | left: -24px; 6 | padding-right: 1.5 * $space-s; 7 | transform: translateY(-50%); 8 | color: $color-grey-4; 9 | cursor: pointer; 10 | 11 | &:hover { 12 | color: $color-black; 13 | } 14 | 15 | svg { 16 | visibility: hidden; 17 | vertical-align: middle; 18 | height: 1.5 * $space-s; 19 | width: 1.5 * $space-s; 20 | } 21 | } 22 | 23 | .anchor-offset { 24 | position: relative; 25 | top: -1.5 * $space-m; 26 | visibility: hidden; 27 | } 28 | 29 | h1, 30 | h2, 31 | h3, 32 | h4, 33 | h5 { 34 | &:hover { 35 | .anchor { 36 | svg { 37 | @include media-query(desktop) { 38 | visibility: visible; 39 | } 40 | } 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/arrow.scss: -------------------------------------------------------------------------------- 1 | .arrow { 2 | display: flex; 3 | position: relative; 4 | width: 4px; 5 | height: 4px; 6 | border: solid currentColor; 7 | border-width: 0 1px 1px 0; 8 | padding: 2px; 9 | transform-origin: 75% 75%; 10 | transform: rotate(45deg) translate(-1px, 2px); 11 | 12 | &--down { 13 | transform: rotate(45deg); 14 | } 15 | 16 | &--right { 17 | transform: rotate(-45deg); // define xy transforms once we use this modifier 18 | } 19 | 20 | &--left { 21 | transform: rotate(135deg); // define xy transforms once we use this modifier 22 | } 23 | 24 | &--up { 25 | transform: rotate(-135deg) translate(2px, -1px); 26 | } 27 | 28 | &--topic { 29 | position: absolute; 30 | right: 14px; 31 | top: calc(50% - 4px); 32 | margin-bottom: 3px; 33 | margin-right: $space-s; 34 | cursor: pointer; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/article.scss: -------------------------------------------------------------------------------- 1 | .article { 2 | margin-right: 0; 3 | word-break: break-word; 4 | 5 | @include media-query(widescreen) { 6 | max-width: 620px; 7 | } 8 | 9 | @include media-query(ultrawide) { 10 | max-width: 750px; 11 | } 12 | 13 | &__title { 14 | position: relative; 15 | margin-top: 0; 16 | 17 | &:first-child { 18 | margin-top: -5px; // -5px to make up for line-height related superfluous space on top of title 19 | } 20 | } 21 | 22 | &__content { 23 | a { 24 | &:not([class]) { 25 | @include text-link(); 26 | } 27 | } 28 | 29 | img { 30 | max-width: 100%; 31 | height: auto; 32 | } 33 | 34 | hr { 35 | border-bottom: 4px solid $color-grey-6; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/badge.scss: -------------------------------------------------------------------------------- 1 | .badge { 2 | @extend %font-s-xs; 3 | padding: 2px $space-s; 4 | color: $color-white; 5 | text-align: center; 6 | background-color: $color-green-1; 7 | border-radius: 13px; 8 | 9 | &--red { 10 | background-color: $color-red-1; 11 | } 12 | 13 | &--cyan { 14 | background-color: $color-cyan-1; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/breadcrumbs.scss: -------------------------------------------------------------------------------- 1 | .breadcrumbs { 2 | @extend %font-s-xs; 3 | display: none; 4 | gap: $space-xs; 5 | max-width: 100%; 6 | padding: 0; 7 | margin: 3px 0 $space-m 0; // 3px top margin to align nicely with navi and TOC 8 | overflow: auto; 9 | font-weight: 500; 10 | list-style: none; 11 | text-transform: uppercase; 12 | 13 | @include media-query(tablet) { 14 | display: flex; 15 | } 16 | 17 | li { 18 | display: flex; 19 | flex-shrink: 0; 20 | gap: $space-xs; 21 | 22 | &::before { 23 | content: '/'; 24 | color: $color-blue-2; 25 | } 26 | 27 | &:first-child::before { 28 | content: ''; 29 | display: none; 30 | } 31 | } 32 | 33 | a { 34 | color: $color-blue-1; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/check.scss: -------------------------------------------------------------------------------- 1 | .check { 2 | color: $color-green-1; 3 | } 4 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/cross.scss: -------------------------------------------------------------------------------- 1 | .cross { 2 | color: $color-red-1; 3 | } 4 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/feature-info.scss: -------------------------------------------------------------------------------- 1 | .feature-info { 2 | margin-top: 30px; 3 | margin-bottom: $space-m; 4 | } 5 | 6 | .feature-info + h3 { 7 | margin-top: -0.5em; 8 | } 9 | 10 | .feature-info-pill { 11 | display: inline-block; 12 | border-radius: $rounded-corners; 13 | 14 | @extend %font-s-xs; 15 | background-color: $color-cyan-2; 16 | } 17 | 18 | .feature-info-pill__header { 19 | position: relative; 20 | display: inline-block; 21 | border-top-left-radius: $rounded-corners; 22 | border-bottom-left-radius: $rounded-corners; 23 | text-transform: capitalize; 24 | padding: $space-xs $space-s; 25 | color: $color-white; 26 | background-color: $color-cyan-1; 27 | 28 | &::after { 29 | content: ''; 30 | display: block; 31 | width: 0; 32 | height: 0; 33 | border: $space-xs solid transparent; 34 | border-left: $space-xs solid $color-cyan-1; 35 | box-sizing: content-box; 36 | position: absolute; 37 | top: 50%; 38 | left: 100%; 39 | transform: translateY(-50%); 40 | } 41 | } 42 | 43 | .feature-info-pill__content { 44 | display: inline-block; 45 | padding: $space-xs $space-s; 46 | } 47 | 48 | .feature-info-pill__header + .feature-info-pill__content { 49 | padding-left: $space-s; 50 | } 51 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/flag.scss: -------------------------------------------------------------------------------- 1 | .flag { 2 | color: $color-green-1; 3 | 4 | &::after { 5 | content: '\a0/'; 6 | font-family: li-specialchars; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/footer.scss: -------------------------------------------------------------------------------- 1 | .footer { 2 | @extend %font-s-xs; 3 | display: flex; 4 | flex-direction: column; 5 | gap: $space-s; 6 | padding: $space-l 0 0; 7 | margin-top: $space-xl; 8 | margin-bottom: $space-l; 9 | border-top: 1px solid $color-grey-6; 10 | 11 | &__social { 12 | list-style: none; 13 | display: flex; 14 | gap: $space-m; 15 | 16 | img { 17 | height: $space-m; 18 | } 19 | } 20 | 21 | &__address { 22 | list-style: none; 23 | display: flex; 24 | flex-wrap: wrap; 25 | gap: $space-s; 26 | 27 | a { 28 | color: inherit; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/general.scss: -------------------------------------------------------------------------------- 1 | *, 2 | *::before, 3 | *::after { 4 | box-sizing: border-box; 5 | } 6 | 7 | html { 8 | scroll-behavior: smooth; 9 | } 10 | 11 | body { 12 | @extend %font-s; 13 | font-family: 14 | system-ui, 15 | -apple-system, 16 | BlinkMacSystemFont, 17 | 'Segoe UI', 18 | Roboto, 19 | Oxygen, 20 | Ubuntu, 21 | Cantarell, 22 | 'Open Sans', 23 | 'Helvetica Neue', 24 | sans-serif; 25 | background-color: $color-white; 26 | color: $color-black; 27 | margin: 0; 28 | height: 100%; 29 | display: block; 30 | } 31 | 32 | em { 33 | color: $color-black; 34 | background-color: rgba($color-cyan-2, 0.4); 35 | padding-right: 0.2em; 36 | padding-left: 0.2em; 37 | -webkit-box-decoration-break: clone; 38 | box-decoration-break: clone; 39 | font-style: normal; 40 | } 41 | 42 | a { 43 | text-decoration: none; 44 | } 45 | 46 | b, 47 | strong, 48 | label { 49 | font-weight: 500; 50 | } 51 | 52 | textarea, 53 | input[type='text'], 54 | input[type='email'], 55 | input[type='button'], 56 | input[type='submit'] { 57 | -webkit-appearance: none; 58 | border-radius: 0; 59 | } 60 | 61 | :focus { 62 | outline: none; 63 | } 64 | 65 | ::placeholder { 66 | color: $color-grey-4; 67 | opacity: 1; 68 | } 69 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/github.scss: -------------------------------------------------------------------------------- 1 | .github-repo { 2 | border: 1px solid $color-grey-5; 3 | border-radius: $rounded-corners; 4 | padding: $space-m; 5 | margin-bottom: $space-m; 6 | 7 | &__icon { 8 | width: 18px; 9 | height: 18px; 10 | vertical-align: middle; 11 | } 12 | 13 | &__link { 14 | padding-left: $space-xs; 15 | color: $color-blue-1; 16 | } 17 | 18 | &__desc { 19 | @extend %font-s-xs; 20 | padding-top: $space-s; 21 | margin-bottom: $space-s; 22 | color: $color-grey-2; 23 | } 24 | 25 | &__info { 26 | @extend %font-xxs; 27 | display: flex; 28 | align-items: center; 29 | gap: $space-xs; 30 | color: $color-grey-2; 31 | margin-bottom: 0; 32 | } 33 | 34 | &__lang-color { 35 | width: 12px; 36 | height: 12px; 37 | border: 1px solid $color-yellow-1; 38 | border-radius: 50%; 39 | background-color: $color-yellow-2; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/header.scss: -------------------------------------------------------------------------------- 1 | .header { 2 | display: flex; 3 | justify-content: space-between; 4 | align-items: center; 5 | height: $header-height; 6 | max-width: $breakpoint-ultrawide; 7 | margin: 0 auto; 8 | position: fixed; 9 | border-bottom: 1px solid $color-grey-6; 10 | padding: 0 $space-m; 11 | z-index: 2; 12 | top: 0; 13 | right: 0; 14 | bottom: auto; 15 | left: 0; 16 | width: auto; 17 | background-color: $color-white; 18 | transition: top $transition-time; 19 | 20 | .is-scrolled & { 21 | @include media-query(desktop) { 22 | top: -$header-height; 23 | } 24 | } 25 | 26 | &__left { 27 | display: flex; 28 | align-items: center; 29 | 30 | @include media-query(tablet) { 31 | width: 5 * $space-l; 32 | } 33 | } 34 | 35 | &__burger { 36 | width: 1.5 * $space-m; 37 | height: 1.5 * $space-m; 38 | margin-right: $space-m; 39 | cursor: pointer; 40 | user-select: none; 41 | 42 | @include media-query(desktop) { 43 | display: none; 44 | } 45 | } 46 | 47 | &__brand { 48 | user-select: none; 49 | } 50 | 51 | &__right { 52 | width: 3 * $space-l; 53 | 54 | @include media-query(tablet) { 55 | width: 5 * $space-l; 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/history-button.scss: -------------------------------------------------------------------------------- 1 | .history-button { 2 | @include box-shadow; 3 | display: inline-flex; 4 | max-width: 100%; 5 | align-items: center; 6 | border-radius: $rounded-corners; 7 | overflow: hidden; 8 | user-select: none; 9 | cursor: pointer; 10 | 11 | &:hover { 12 | @include box-shadow(highlight); 13 | } 14 | 15 | &__interaction { 16 | display: flex; 17 | justify-content: center; 18 | align-items: center; 19 | flex-shrink: 0; 20 | width: $space-m; 21 | height: 2 * $space-m; 22 | background-color: $color-white; 23 | } 24 | 25 | &__label { 26 | @extend %font-s-xs; 27 | line-height: 2 * $space-m; 28 | padding: 0 $space-s; 29 | color: $color-black; 30 | background-color: $color-white; 31 | white-space: nowrap; 32 | text-overflow: ellipsis; 33 | overflow: hidden; 34 | border-left: 1px solid $color-grey-6; 35 | } 36 | 37 | &--open { 38 | .arrow { 39 | @extend .arrow--down; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/history.scss: -------------------------------------------------------------------------------- 1 | .history { 2 | margin-bottom: $space-m; 3 | 4 | &.explode { 5 | @include explode-to-max-width; 6 | } 7 | } 8 | 9 | .history__content-wrapper { 10 | height: 0; 11 | overflow: hidden; 12 | margin-top: 0; 13 | opacity: 0; 14 | 15 | transition: 16 | height 1.5 * $transition-time ease, 17 | margin-top 1.5 * $transition-time ease, 18 | opacity 1.5 * $transition-time ease; 19 | 20 | &.show { 21 | margin-top: $space-m; 22 | opacity: 1; 23 | } 24 | 25 | .history__content { 26 | padding: $space-m; 27 | background-color: $color-grey-8; 28 | border-radius: $rounded-corners; 29 | 30 | table { 31 | width: 100%; 32 | margin-top: 0; 33 | margin-bottom: 0; 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/illu-teaser.scss: -------------------------------------------------------------------------------- 1 | .illu-teaser { 2 | @include box-shadow; 3 | position: relative; 4 | display: flex; 5 | flex-direction: column; 6 | border-radius: 3 * $rounded-corners; 7 | overflow: hidden; 8 | 9 | &:hover { 10 | @include box-shadow(highlight); 11 | } 12 | 13 | &__image-wrapper { 14 | position: relative; 15 | width: 100%; 16 | height: 0; 17 | padding-bottom: 50%; 18 | } 19 | 20 | &__image { 21 | position: absolute; 22 | top: 0; 23 | left: 0; 24 | height: 100% !important; /* must get rid of this! */ 25 | width: 100%; 26 | object-fit: cover; 27 | object-position: 50% 50%; 28 | } 29 | 30 | &__text { 31 | @extend %font-l-m; 32 | padding: $space-m; 33 | } 34 | 35 | &__link { 36 | position: absolute; 37 | top: 0; 38 | right: 0; 39 | bottom: 0; 40 | left: 0; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/info.scss: -------------------------------------------------------------------------------- 1 | .info { 2 | @extend %font-s; 3 | display: block; 4 | padding: $space-m; 5 | margin-bottom: $space-m; 6 | border-radius: $rounded-corners; 7 | color: $color-black; 8 | background-color: $color-grey-8; 9 | 10 | &__header { 11 | margin-bottom: 0.6em; 12 | } 13 | 14 | &__icon { 15 | width: 18px; 16 | height: 18px; 17 | vertical-align: text-top; 18 | margin-right: $space-xs; 19 | } 20 | 21 | :last-child { 22 | margin-bottom: 0; 23 | } 24 | 25 | &-warning { 26 | background-color: $color-yellow-2; 27 | } 28 | 29 | &-alert { 30 | background-color: $color-red-2; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/input-field.scss: -------------------------------------------------------------------------------- 1 | .input-field { 2 | position: relative; 3 | text-align: left; 4 | 5 | &__input { 6 | @extend %font-forms; 7 | height: 2.25 * $space-m; 8 | width: 100%; 9 | padding: $space-xs 0; 10 | border: 0 solid $color-white; 11 | border-bottom-width: 1px; 12 | border-radius: 0 !important; 13 | background-color: transparent; 14 | transition: border-color $transition-time ease; 15 | color: $color-white; 16 | 17 | &:focus, 18 | &[value], 19 | &[value=''], 20 | &:not(:placeholder-shown) { 21 | + .input-field__label { 22 | transform: scale(0.75) translate(0, -20px); 23 | } 24 | } 25 | } 26 | 27 | &__label { 28 | @extend %font-forms; 29 | position: absolute; 30 | top: 0; 31 | left: 0; 32 | height: 2 * $space-m; 33 | padding: $space-xs 0; 34 | line-height: 2 * $space-m - 2 * $space-xs; 35 | color: $color-white; 36 | transform-origin: 0 0; 37 | transition: transform $transition-time ease; 38 | cursor: text; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/logo.scss: -------------------------------------------------------------------------------- 1 | .logo { 2 | display: flex; 3 | align-items: center; 4 | 5 | &__dot { 6 | height: 3 * $space-s; 7 | 8 | @include media-query(tablet) { 9 | height: 3.5 * $space-s; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/menu-search.scss: -------------------------------------------------------------------------------- 1 | .menu-search { 2 | position: relative; 3 | 4 | &__icon { 5 | fill: $color-grey-3; 6 | position: absolute; 7 | left: 0; 8 | top: 11px; 9 | height: 22px; 10 | 11 | &--cancel { 12 | right: 0; 13 | left: auto; 14 | fill: $color-grey-3; 15 | visibility: hidden; 16 | position: absolute; 17 | cursor: pointer; 18 | 19 | &.visible { 20 | visibility: visible; 21 | } 22 | } 23 | } 24 | 25 | &__field { 26 | @extend %font-forms; 27 | width: 100%; 28 | height: 45px; 29 | padding: $space-s 3 * $space-s; 30 | border: 0; 31 | border-bottom: 1px solid $color-grey-5; 32 | border-radius: 0; 33 | transition: border-color $transition-time; 34 | color: $color-black; 35 | appearance: none; 36 | -moz-appearance: none; 37 | -webkit-appearance: none; 38 | 39 | &:focus { 40 | outline: none; 41 | border-color: $color-black; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/newsletter-form.scss: -------------------------------------------------------------------------------- 1 | .newsletter-form { 2 | @include explode-to-max-width; 3 | display: flex; 4 | flex-direction: column; 5 | align-items: center; 6 | gap: $space-m; 7 | padding: $space-l; 8 | background-color: $color-violet-1; 9 | border-radius: 12px; 10 | text-align: center; 11 | color: $color-white; 12 | 13 | &__title { 14 | @extend %font-l; 15 | width: 100%; 16 | max-width: 8 * $space-xl; 17 | margin: 0; 18 | } 19 | 20 | &__form { 21 | display: flex; 22 | flex-direction: column; 23 | align-items: stretch; 24 | gap: $space-m; 25 | width: 100%; 26 | max-width: 8 * $space-xl; 27 | } 28 | 29 | &__row { 30 | width: 100%; 31 | justify-content: center; 32 | } 33 | 34 | .input-field { 35 | margin-bottom: $space-m; 36 | } 37 | 38 | .cols > & { 39 | width: auto; 40 | margin-right: 0; 41 | } 42 | 43 | @include media-query(tablet) { 44 | &__row { 45 | display: flex; 46 | margin: 0 auto; 47 | gap: $space-m; 48 | } 49 | 50 | .input-field { 51 | margin-bottom: 0; 52 | flex-grow: 1; 53 | max-width: calc((100% - 2 * #{$space-m}) / 3); 54 | } 55 | 56 | .text-button { 57 | flex-grow: 1; 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | display: flex; 3 | flex-wrap: wrap; 4 | padding-top: $space-m; 5 | margin-top: $space-m; 6 | margin-bottom: $space-l; 7 | border-top: 1px solid $color-grey-6; 8 | 9 | @include media-query(desktop) { 10 | flex-wrap: nowrap; 11 | gap: $space-m; // scss-lint:disable PropertySpelling 12 | } 13 | 14 | &__prev, 15 | &__next { 16 | width: 100%; 17 | margin-bottom: $space-m; 18 | 19 | @include media-query(desktop) { 20 | flex-basis: 50%; 21 | max-width: calc(50% - #{$space-m} / 2); 22 | margin-bottom: 0; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/pill.scss: -------------------------------------------------------------------------------- 1 | .pill { 2 | @extend %font-s-xs; 3 | padding: 4px $space-s; 4 | color: $color-black; 5 | text-align: center; 6 | background-color: $color-grey-7; 7 | border-radius: 15px; 8 | cursor: pointer; 9 | user-select: none; 10 | white-space: nowrap; 11 | 12 | transition: border $transition-time ease-in; 13 | border: 1px solid transparent; 14 | 15 | &:hover { 16 | border-color: $color-black; 17 | } 18 | 19 | &.is-active { 20 | background-color: $color-green-2; 21 | } 22 | 23 | &--small { 24 | @extend %font-xs; 25 | padding: 2px $space-s; 26 | border-radius: 11px; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/release-header.scss: -------------------------------------------------------------------------------- 1 | .release-header { 2 | display: flex; 3 | flex-direction: column; 4 | gap: $space-m; 5 | padding-top: $space-s; 6 | padding-bottom: 2 * $space-m; 7 | margin-bottom: 2 * $space-m; 8 | border-bottom: 1px solid $color-black; 9 | 10 | &__badges { 11 | display: flex; 12 | gap: $space-s; 13 | } 14 | 15 | &__title { 16 | @extend %font-xl; 17 | } 18 | 19 | &__link { 20 | a { 21 | @extend %font-s-xs; 22 | @include text-link(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/scopes-pill.scss: -------------------------------------------------------------------------------- 1 | .scopes-pill { 2 | display: flex; 3 | flex-direction: column; 4 | gap: $space-m; 5 | padding-top: $space-s; 6 | padding-bottom: 2 * $space-m; 7 | margin-bottom: 2 * $space-m; 8 | border-bottom: 1px solid $color-black; 9 | 10 | &__badges { 11 | display: flex; 12 | gap: $space-s; 13 | } 14 | 15 | &__title { 16 | @extend %font-xl; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/search-box.scss: -------------------------------------------------------------------------------- 1 | .search-box { 2 | @include box-shadow(); 3 | position: absolute; 4 | display: flex; 5 | flex-direction: column; 6 | margin-top: 27px; 7 | right: 0; 8 | width: 4 * $space-xl; 9 | max-width: calc(100vw - 2 * #{$space-m}); 10 | border-radius: $rounded-corners; 11 | background-color: $color-white; 12 | max-height: 0; 13 | opacity: 0; 14 | transition: 15 | max-height $transition-time, 16 | opacity $transition-time; 17 | overflow: hidden; 18 | 19 | &.visible { 20 | max-height: calc(100vh - 8 * #{$space-m}); 21 | opacity: 1; 22 | } 23 | 24 | &__header { 25 | @include mobile-scroll(); 26 | @include box-shadow(); 27 | display: flex; 28 | flex-shrink: 0; 29 | justify-content: flex-start; 30 | align-items: center; 31 | gap: $space-xs; 32 | position: relative; 33 | padding: 1.5 * $space-s; 34 | overflow-x: auto; 35 | } 36 | 37 | &__main { 38 | @include mobile-scroll(); 39 | overflow: auto; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/search-results-document.scss: -------------------------------------------------------------------------------- 1 | .search-results-document { 2 | @extend %font-s-xs; 3 | padding: 1.5 * $space-s; 4 | 5 | &:not(:last-child) { 6 | border-bottom: 1px solid $color-grey-6; 7 | } 8 | 9 | &__title { 10 | display: block; 11 | font-weight: 500; 12 | color: $color-black; 13 | } 14 | 15 | &.is-focussed { 16 | background-color: $color-grey-8; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/search-results-line.scss: -------------------------------------------------------------------------------- 1 | .search-results-line { 2 | color: $color-black; 3 | 4 | &__title { 5 | font-weight: 500; 6 | } 7 | 8 | &__text { 9 | @extend %font-s-xs; 10 | color: $color-grey-3; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/search-results.scss: -------------------------------------------------------------------------------- 1 | .search-results { 2 | &__no-results { 3 | @extend %font-s-xs; 4 | padding: 1.5 * $space-s; 5 | color: $color-grey-4; 6 | text-align: center; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/section-label.scss: -------------------------------------------------------------------------------- 1 | .section-label { 2 | @extend %font-xs; 3 | line-height: calc(15px * 1.45); 4 | display: block; 5 | padding: $space-s $space-m; 6 | margin: 2 * $space-m 0 0 0; 7 | text-transform: uppercase; 8 | color: $color-grey-4; 9 | 10 | @include media-query(desktop) { 11 | padding-top: $space-xs; 12 | padding-bottom: $space-xs; 13 | } 14 | 15 | &.active { 16 | color: $color-cyan-1; 17 | background-color: rgba($color-cyan-2, 0.4); 18 | } 19 | 20 | &--table-of-contents { 21 | content: 'Contents'; 22 | display: block; 23 | padding: 0; 24 | margin-top: $space-s; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/section-teasers.scss: -------------------------------------------------------------------------------- 1 | .section-teasers { 2 | display: flex; 3 | flex-wrap: wrap; 4 | gap: $space-m; 5 | justify-content: space-between; 6 | 7 | &--wide { 8 | @include media-query(desktop) { 9 | width: calc(100vw - #{$page-sidebar-width + $space-m + $space-l}); 10 | } 11 | 12 | @include media-query(widescreen) { 13 | width: calc(100vw - #{$page-sidebar-width + 2 * $space-l}); 14 | } 15 | 16 | @include media-query(ultrawide) { 17 | width: #{$breakpoint-ultrawide - $page-sidebar-width - 2 * $space-l}; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/section.scss: -------------------------------------------------------------------------------- 1 | .section { 2 | margin-right: 0; 3 | word-break: break-word; 4 | width: 100%; 5 | 6 | &__title { 7 | position: relative; 8 | margin-top: 0; 9 | } 10 | 11 | &__content { 12 | a { 13 | &:not([class]) { 14 | @include text-link(); 15 | } 16 | } 17 | 18 | img { 19 | max-width: 100%; 20 | height: auto; 21 | } 22 | 23 | hr { 24 | border-bottom: 4px solid $color-grey-6; 25 | } 26 | } 27 | 28 | &__subsection { 29 | margin-bottom: 50px; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/shortcut.scss: -------------------------------------------------------------------------------- 1 | .shortcut { 2 | &__link { 3 | @extend %font-s; 4 | color: $color-black; 5 | font-weight: 500; 6 | } 7 | 8 | &--active { 9 | .shortcut { 10 | &__link { 11 | color: $color-green-1; 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/shortcuts.scss: -------------------------------------------------------------------------------- 1 | .shortcuts { 2 | display: none; 3 | gap: $space-m; 4 | list-style: none; 5 | margin: 0; 6 | 7 | @include media-query(desktop) { 8 | display: flex; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/table-of-contents.scss: -------------------------------------------------------------------------------- 1 | #TableOfContents { 2 | // scss-lint:disable SelectorFormat 3 | ul { 4 | li { 5 | a { 6 | @extend %font-s-xs; 7 | display: block; 8 | padding: $space-xs 0; 9 | color: inherit; 10 | } 11 | } 12 | } 13 | } 14 | 15 | .page__toc { 16 | #TableOfContents { 17 | // scss-lint:disable SelectorFormat 18 | ul { 19 | list-style-type: none; 20 | padding: 0; 21 | margin: 0; 22 | 23 | li { 24 | ul { 25 | // scss-lint:disable SelectorDepth 26 | list-style-type: none; 27 | padding: 0; 28 | margin-left: 14px; 29 | } 30 | 31 | // this gets rid of empty toc hierarchy levels 32 | & > ul:first-child:last-child { 33 | margin-left: 0; 34 | } 35 | } 36 | } 37 | 38 | > ul::before { 39 | @extend .section-label; 40 | @extend .section-label--table-of-contents; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/table.scss: -------------------------------------------------------------------------------- 1 | .table, 2 | table { 3 | @include explode-to-max-width; 4 | width: 100%; 5 | margin: $space-l 0; 6 | border-spacing: 0; 7 | border-collapse: collapse; 8 | 9 | &--fit-parent { 10 | width: 100%; 11 | margin-right: 0; 12 | } 13 | } 14 | 15 | thead { 16 | border-bottom: 1px solid $color-black; 17 | font-weight: 500; 18 | } 19 | 20 | tbody { 21 | font-weight: 400; 22 | } 23 | 24 | tr:not(:last-child) { 25 | border-bottom: 1px solid $color-grey-6; 26 | } 27 | 28 | th { 29 | font-weight: 500; 30 | } 31 | 32 | th, 33 | td { 34 | @extend %font-xs; 35 | min-width: $space-l; 36 | padding: $space-xs; 37 | text-align: left; 38 | vertical-align: top; 39 | word-break: initial; 40 | } 41 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/tag.scss: -------------------------------------------------------------------------------- 1 | .tag { 2 | @extend %font-xs; 3 | display: inline-flex; 4 | background-color: $color-grey-8; 5 | padding: 2px $space-xs; 6 | border: 1px solid $color-grey-6; 7 | color: $color-grey-3; 8 | 9 | &--spaced { 10 | margin-right: $space-xs; 11 | margin-bottom: $space-xs; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/teaser-and-code.scss: -------------------------------------------------------------------------------- 1 | .teaser-and-code { 2 | &__code { 3 | height: 0; 4 | margin-top: 0; 5 | margin-bottom: 0; 6 | overflow: hidden; 7 | opacity: 0; 8 | 9 | transition: 10 | height 1.5 * $transition-time ease, 11 | margin-top 1.5 * $transition-time ease, 12 | opacity 1.5 * $transition-time ease; 13 | 14 | &.show { 15 | height: auto; 16 | margin-top: $space-m; 17 | opacity: 1; 18 | } 19 | } 20 | 21 | .chroma { 22 | margin-bottom: 0; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/tip.scss: -------------------------------------------------------------------------------- 1 | .tip { 2 | padding: $space-m; 3 | background-color: $color-grey-8; 4 | border-radius: 12px; 5 | hyphens: auto; 6 | 7 | &__title { 8 | @extend %font-s-xs; 9 | font-weight: 500; 10 | margin-top: 0; 11 | margin-bottom: $space-s; 12 | } 13 | 14 | &__text { 15 | @extend %font-s-xs; 16 | 17 | &:last-child { 18 | margin-bottom: 0; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/topic.scss: -------------------------------------------------------------------------------- 1 | .topic { 2 | a { 3 | @extend %font-s-xs; 4 | color: inherit; 5 | text-decoration: none; 6 | display: block; 7 | position: relative; 8 | padding: $space-s 14px $space-s calc(var(--menu-level, 1) * 14px + 8px); 9 | cursor: pointer; 10 | 11 | @include media-query(desktop) { 12 | padding-top: $space-xs; 13 | padding-bottom: $space-xs; 14 | } 15 | 16 | &:hover { 17 | background-color: rgba($color-grey-5, 0.15); 18 | text-decoration: none; 19 | } 20 | } 21 | 22 | &.active { 23 | > a { 24 | color: $color-cyan-1; 25 | background-color: rgba($color-cyan-2, 0.4); 26 | 27 | .arrow { 28 | @extend .arrow--up; 29 | } 30 | } 31 | } 32 | 33 | &.open { 34 | > a .arrow { 35 | @extend .arrow--up; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/topics.scss: -------------------------------------------------------------------------------- 1 | .topics { 2 | list-style: none; 3 | padding: 0; 4 | margin: 0; 5 | 6 | .topic-level-1 & { 7 | display: none; 8 | } 9 | 10 | .topic.active > &, 11 | .topic.open > & { 12 | display: block; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/video.scss: -------------------------------------------------------------------------------- 1 | .video-wrapper { 2 | position: relative; 3 | padding-bottom: 62.25%; // default hugo value: 56.25%; 4 | height: 0; 5 | overflow: hidden; 6 | margin-bottom: 20px; 7 | border: 1px solid $color-grey-6; 8 | 9 | iframe { 10 | position: absolute; 11 | top: 0; 12 | left: 0; 13 | width: 100%; 14 | height: 100%; 15 | border: 0; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/elements/warning.scss: -------------------------------------------------------------------------------- 1 | .warning { 2 | @extend %font-s; 3 | display: block; 4 | padding: $space-m; 5 | margin-bottom: $space-m; 6 | border-radius: $rounded-corners; 7 | color: $color-black; 8 | background-color: $color-yellow-2; 9 | 10 | &__icon { 11 | width: 18px; 12 | height: 18px; 13 | vertical-align: text-top; 14 | margin-right: $space-xs; 15 | } 16 | 17 | :last-child { 18 | margin-bottom: 0; 19 | } 20 | 21 | .highlight { 22 | @extend .highlight--fit-parent; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/svg/info.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/svg/li.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/svg/not-found.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Image Not Found 4 | 5 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/svg/repo.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /themes/hugo-docs/assets/svg/warning.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/404.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
6 | {{ if (ne .Title "Get started with Livingdocs") }} 7 | {{ partial "edit-page.html" . }} 8 | {{ end }} 9 | 10 | 11 |

Uh-oh

12 | 13 |
14 |

Sorry, but we can't find the page… 😞

15 |

Go to homepage

16 |
17 |
18 | {{ end }} 19 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/_default/_markup/render-blockquote.html: -------------------------------------------------------------------------------- 1 | {{ if eq .Type "alert" }} 2 |
3 |

4 | {{ $info := resources.Get (printf "svg/%s.svg" .AlertType) | fingerprint }} 5 | 10 | {{ with .AlertTitle }} 11 | {{ . }} 12 | {{ else }} 13 | {{ or (i18n .AlertType) (title .AlertType) }} 14 | {{ end }} 15 |

16 | {{ .Text }} 17 |
18 | {{ else }} 19 |
20 | {{ .Text }} 21 |
22 | {{ end }} 23 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/_default/baseof.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 13 | 17 | 21 | {{ .Page.Title }} - {{ .Section | default "Documentation" | humanize }} 22 | 23 | {{ block "meta" . }}{{ end }} 24 | {{ partialCached "html-header-global-meta.html" . }} 25 | 26 | 27 | {{ block "top" . }}{{ partial "topbar.html" . }}{{ end }} 28 | 29 | 30 |
31 | {{ partial "sidebar.html" . }} 32 |
33 | {{ block "main" . }}{{ end }} 34 |
35 | {{ block "side" . }}{{ end }} 36 |
37 | 38 | 39 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/_default/section.searchindex.json: -------------------------------------------------------------------------------- 1 | [ 2 | {{- range $index, $page := where .Site.Pages "Section" .Section -}} 3 | {{- if ne $index 0 -}} , {{- end -}} 4 | {{- $entry := (dict "url" $page.RelPermalink) -}} 5 | {{- if $page.Params.tags -}} {{- $entry = merge $entry (dict "section" (delimit $page.Params.tags ", ")) -}} {{- end -}} 6 | {{- $entry = merge $entry (dict "categories" $page.Params.categories) -}} 7 | {{- $entry = merge $entry (dict "title" $page.Title) -}} 8 | {{- $entry = merge $entry (dict "description" $page.Description) -}} 9 | {{- $entry = merge $entry (dict "body" ($page.Content | jsonify)) -}} 10 | {{- $entry | jsonify -}} 11 | {{- end -}} 12 | ] 13 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |

4 | {{ .Title }} 5 | {{ if (ne (.Param "renderEditButton") false) }} 6 | {{ partial "edit-page.html" . }} 7 | {{ end }} 8 |

9 | 10 |
{{ .Content }}
11 | 14 |
15 | {{ end }} 16 | 17 | {{ define "side" }} 18 | {{ if (ne (.Param "renderTOC") false) }} 19 |
20 | {{ .TableOfContents }} 21 |
22 | {{ end }} 23 | {{ end }} 24 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/api-reference-section/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |

4 | {{ .Title }} 5 | {{ if (ne (.Param "renderEditButton") false) }} 6 | {{ partial "edit-page.html" . }} 7 | {{ end }} 8 |

9 | 10 |
11 | {{ $page := .Page }} 12 | {{ range $endpoint := .Params.endpoints }} 13 | {{ partial "api-example-resource.html" (dict "page" $page "endpoint" $endpoint) }} 14 | {{ end }} 15 |
16 | 19 |
20 | {{ end }} 21 | 22 | {{ define "side" }} 23 | {{ if (ne (.Param "renderTOC") false) }} 24 |
25 | {{ .TableOfContents }} 26 |
27 | {{ end }} 28 | {{ end }} 29 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/guides/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 | 18 | 19 |

20 | {{ .Title }} 21 | {{ if (ne (.Param "renderEditButton") false) }} 22 | {{ partial "edit-page.html" . }} 23 | {{ end }} 24 |

25 | 26 |
{{ .Content }}
27 | 28 | 31 |
32 | {{ end }} 33 | 34 | {{ define "side" }} 35 | {{ if (ne (.Param "renderTOC") false) }} 36 |
37 | {{ .TableOfContents }} 38 |
39 | {{ end }} 40 | {{ end }} 41 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/home.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
6 |

7 | {{ .Title }} 8 | {{ if (ne (.Param "renderEditButton") false) }} 9 | {{ partial "edit-page.html" . }} 10 | {{ end }} 11 |

12 | 13 |
14 | {{ .Content }} 15 |
16 | 17 | 20 |
21 | {{ end }} 22 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/index.searchindex.json: -------------------------------------------------------------------------------- 1 | {{- $pages := .Site.AllPages -}} 2 | {{- $pages = where $pages "Params.hidden" "!=" true -}} 3 | {{- $pages = where $pages "Params.excludeFromSearch" "!=" true -}} 4 | [ 5 | {{- range $index, $page := $pages -}} 6 | {{- $entry := (dict "url" $page.RelPermalink) -}} 7 | {{- $entry = merge $entry (dict "type" $page.Type) -}} 8 | {{- $entry = merge $entry (dict "section" $page.Section) -}} 9 | {{- $entry = merge $entry (dict "categories" $page.Params.categories) -}} 10 | {{- $entry = merge $entry (dict "keywords" $page.Params.keywords) -}} 11 | {{- $entry = merge $entry (dict "title" $page.Title) -}} 12 | {{- $entry = merge $entry (dict "description" ($page.Description | .Page.RenderString | plainify)) -}} 13 | {{- $entry = merge $entry (dict "body" ($page.Content | jsonify)) -}} 14 | {{- if ne $index 0 -}} , {{- end -}} 15 | {{- $entry | jsonify -}} 16 | {{- end -}} 17 | ] 18 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/_api-endpoints.html: -------------------------------------------------------------------------------- 1 | {{ $versions := partial "_api-versions" $ }} 2 | {{ $endpoints := slice }} 3 | {{ $upcoming := slice }} 4 | {{ range where $versions "upcoming" "eq" true }} 5 | {{ $upcoming = $upcoming | append .version }} 6 | {{ end }} 7 | 8 | {{ range $key, $value := $.Site.Data.endpoints }} 9 | {{ if not $value.apiVersionConstraints }} 10 | {{ $value = merge $value (dict "apiVersionConstraints" (dict "neq" "beta")) }} 11 | {{ end }} 12 | 13 | {{ if not $.Site.BuildDrafts }} 14 | {{ $constraint := $value.apiVersionConstraints }} 15 | {{ if and $constraint.eq (in $upcoming $constraint.eq) }}{{ continue }}{{ end }} 16 | {{ if and $constraint.gt (in $upcoming $constraint.gt) }}{{ continue }}{{ end }} 17 | {{ if and $constraint.gte (in $upcoming $constraint.gte) }}{{ continue }}{{ end }} 18 | {{ end }} 19 | 20 | {{ $stat := os.Stat (printf "data/endpoints/%s.yaml" $key) }} 21 | {{ $endpoint := merge $value (dict "endpointId" (or $value.endpointId $key) "hidden" true "endpointFile" $key "osStat" $stat) }} 22 | {{ $endpoints = $endpoints | append $endpoint }} 23 | {{ end }} 24 | 25 | {{ return $endpoints }} 26 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/_api-versions.html: -------------------------------------------------------------------------------- 1 | {{ $minimumVersion := partial "api-version-sequence" "2025-03" }} 2 | {{ $versions := slice }} 3 | {{ $versions = $versions | append (dict "release" "release-2025-01" "version" "v1" "sequence" 1 "upcoming" false) }} 4 | {{ $versions = $versions | append (dict "release" "release-2025-01" "version" "beta" "sequence" 2 "upcoming" false) }} 5 | 6 | {{ range (sort .Site.Data.releases "key" "desc") }} 7 | {{ $version := slicestr .key 8 }} 8 | {{ $sequence := partial "api-version-sequence" $version }} 9 | {{ if lt $sequence $minimumVersion }}{{ continue }}{{ end }} 10 | 11 | {{ $versions = $versions | append (dict "release" .key "version" $version "sequence" $sequence "upcoming" (eq .upcoming true)) }} 12 | {{ end }} 13 | 14 | {{ return (sort $versions "sequence" "desc") }} 15 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/added-in.html: -------------------------------------------------------------------------------- 1 | {{- $href := print "/operations/releases/" .release "/" -}} 2 | {{- if .block -}} 3 |

4 | Added in: {{ .release }} 5 |

6 | {{- else -}} 7 | Added in: {{ .release }} 10 | {{- end -}} 11 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/api-version-array-matches.html: -------------------------------------------------------------------------------- 1 | {{ $page := .page }} 2 | {{ $endpoint := .endpoint }} 3 | 4 | {{ $versions := slice }} 5 | {{ if not $endpoint.apiVersionConstraints }} 6 | {{ $versions = hugo.Store.Get "api-versions" }} 7 | {{ else }} 8 | {{ range $v := hugo.Store.Get "api-versions" }} 9 | {{ $matchesApiVersion := partial "api-version-matches" (dict "matcher" $endpoint.apiVersionConstraints "version" $v.version ) }} 10 | {{ if not $matchesApiVersion }}{{ continue }}{{ end }} 11 | {{ $versions = $versions | append $v }} 12 | {{ end }} 13 | {{ end }} 14 | {{ return $versions }} 15 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/api-version-matches.html: -------------------------------------------------------------------------------- 1 | {{ $matcher := .matcher }} 2 | {{ $sequence := (partialCached "api-version-sequence" .version .version) }} 3 | 4 | {{ $match := false }} 5 | {{ range $key, $value := $matcher }} 6 | {{ $matcherSequence := (partialCached "api-version-sequence" $value $value) }} 7 | {{ if and (eq $key "eq") (eq $sequence $matcherSequence) }} 8 | {{ $match = true }} 9 | {{ else if and (eq $key "neq") (ne $sequence $matcherSequence) }} 10 | {{ $match = true }} 11 | {{ else if and (eq $key "lte") (le $sequence $matcherSequence) }} 12 | {{ $match = true }} 13 | {{ else if and (eq $key "lt") (lt $sequence $matcherSequence) }} 14 | {{ $match = true }} 15 | {{ else if and (eq $key "gte") (ge $sequence $matcherSequence) }} 16 | {{ $match = true }} 17 | {{ else if and (eq $key "gt") (gt $sequence $matcherSequence) }} 18 | {{ $match = true }} 19 | {{ else }} 20 | {{ $match = false }} 21 | {{ break }} 22 | {{ end }}} 23 | {{ end }} 24 | 25 | {{ return $match }} 26 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/api-version-range.html: -------------------------------------------------------------------------------- 1 | {{ $versions := partial "api-version-array-matches" (dict "page" .page "endpoint" .endpoint) }} 2 | 3 | {{ $value := "" }} 4 | {{ if eq (len $versions) 1 }} 5 | {{ $value = (index $versions 0).version }} 6 | {{ else if eq (len $versions) 2 }} 7 | {{ $value = printf "%s and %s" (index $versions 1).version (index $versions 0).version }} 8 | {{ else if gt (len $versions) 2 }} 9 | {{ $value = printf "%s to %s" (index $versions (sub (len $versions) 1)).version (index $versions 0).version }}} 10 | {{ end }} 11 | {{ return $value }} 12 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/api-version-selector.html: -------------------------------------------------------------------------------- 1 | {{ $page := .page }} 2 | {{ $endpoint := .endpoint }} 3 | {{ $currentVersion := .version }} 4 | 5 | {{ $versionedEndpoints := where (hugo.Store.Get "api-endpoints") "endpointId" "eq" $endpoint.endpointId }} 6 | {{ if gt (len $versionedEndpoints) 1 }} 7 | 26 | {{ end }} 27 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/api-version-sequence.html: -------------------------------------------------------------------------------- 1 | {{ $version := 0 }} 2 | {{ if eq . "v1" }} 3 | {{ $version = 1 }} 4 | {{ else if eq . "beta" }} 5 | {{ $version = 2 }} 6 | {{ else }} 7 | {{ $version = (printf "%s-01" . | time).Unix }} 8 | {{ end }} 9 | {{ return $version }} 10 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/api-version-string.html: -------------------------------------------------------------------------------- 1 | {{ $versions := partial "api-version-array-matches" (dict "page" .page "endpoint" .endpoint) }} 2 | {{ $index := 0 }} 3 | {{ if eq .oldest true }}{{ $index = (sub (len $versions) 1) }}{{ end }} 4 | {{ return (index $versions $index).version }} 5 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/check-cross.html: -------------------------------------------------------------------------------- 1 | {{ if . }} 2 | 3 | {{ else }} 4 | 5 | {{ end }} 6 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/deprecated-in.html: -------------------------------------------------------------------------------- 1 | {{- $href := print "/operations/releases/" .release "/" -}} 2 | {{- if .block -}} 3 |

4 | Deprecated in: {{ .release }} 5 |

6 | {{- else -}} 7 | Deprecated in: {{ .release }} 10 | {{- end -}} 11 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/edit-page.html: -------------------------------------------------------------------------------- 1 | {{ if .File }} 2 | 8 | 15 | 19 | 20 | 21 | {{ end }} 22 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/html-header-global-meta.html: -------------------------------------------------------------------------------- 1 | {{- $built := resources.Get "style.scss" | css.Sass | minify | fingerprint }} 2 | 6 | 7 | {{- $apiVersion := (index (hugo.Store.Get "api-versions") 0).version -}} 8 | {{- if eq $apiVersion "beta" -}}{{ $apiVersion = "v1" }}{{- end -}} 9 | {{- $lunrWorker := resources.Get "search.js" | js.Build }} 10 | {{- $scriptParams := dict "searchJson" "/search.json" "lunrWorker" $lunrWorker.RelPermalink "currentApiVersion" $apiVersion -}} 11 | {{- $built := resources.Get "script.js" | js.Build (dict "params" $scriptParams) | minify | fingerprint }} 12 | 13 | 14 | 19 | {{- with .Site.Config.Services.GoogleAnalytics.ID }} 20 | 25 | {{- end }} 26 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/menu-children.html: -------------------------------------------------------------------------------- 1 | {{- $menu := .menu -}} 2 | {{- $currentPage := .context -}} 3 | {{- $level := add .level 1 -}} 4 | 5 | {{- if .HasChildren -}} 6 |
    7 | {{ range .Children }} 8 | {{ $currentPage := $currentPage }} 9 | {{ $itemClass := print "topic topic-level-" $level }} 10 | {{ if ($currentPage.IsMenuCurrent $menu .) }} 11 | {{ $itemClass = print $itemClass " active" }} 12 | {{ end }} 13 | {{ if ($currentPage.HasMenuCurrent $menu .) }} 14 | {{ $itemClass = print $itemClass " open" }} 15 | {{ end }} 16 | 17 | 18 |
  • 22 | {{ if .HasChildren }}{{ end }}{{ .Name }} 25 | {{- partial "menu-children" (dict "menu" $menu "context" $currentPage "level" $level "HasChildren" .HasChildren "Children" .Children) -}} 26 |
  • 27 | {{- end -}} 28 |
29 | {{- end -}} 30 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/menu.html: -------------------------------------------------------------------------------- 1 | {{- $menu := .menu -}} 2 | {{- $currentPage := .context -}} 3 | {{- $level := 1 -}} 4 | 5 | {{ $menu_item_url := or .url (print "/" $menu "/") }} 6 | {{ $page_url:= $currentPage.RelPermalink }} 7 | 8 | 9 | 14 | {{ partial "menu-children" (dict "class" "section-topics" "menu" $menu "context" $currentPage "level" 0 "HasChildren" true "Children" (index .context.Site.Menus $menu)) }} 15 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/navigation.html: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/openapi-template.gotmpl: -------------------------------------------------------------------------------- 1 | {{ $version := .version }} 2 | {{ $endpoints := hugo.Store.Get "api-endpoints" }} 3 | {{ $openapiPaths := dict }} 4 | 5 | {{- range $endpoint := $endpoints -}} 6 | {{ if not $endpoint.openapi }}{{ continue }}{{ end }} 7 | 8 | {{ $path := and $endpoint.endpoint $endpoint.endpoint.path }} 9 | {{ $method := lower (and $endpoint.endpoint $endpoint.endpoint.method) }} 10 | {{ if not (and $method $path) }}{{ continue }}{{ end }} 11 | 12 | {{ $path = replace $path ":apiVersion" $version }} 13 | {{ $endpointSpec := $endpoint.openapi }} 14 | {{ $pathSpec := merge (or (index $openapiPaths $path) dict) (dict $method $endpointSpec) }} 15 | 16 | {{ if (partial "api-version-matches" (dict "version" $version "matcher" $endpoint.apiVersionConstraints)) }} 17 | {{ $openapiPaths = merge $openapiPaths (dict $path $pathSpec) }} 18 | {{ end }} 19 | {{- end -}} 20 | 21 | {{ $openapi := merge $.Site.Data.openapi (dict "paths" $openapiPaths) }} 22 | {{ $openapi = merge $openapi (dict "info" (merge $openapi.info (dict "version" $version))) }} 23 | {{ return ($openapi | jsonify (dict "indent" " ")) }} 24 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/removed-in.html: -------------------------------------------------------------------------------- 1 | {{- $href := print "/operations/releases/" .release "/" -}} 2 | {{- if .block -}} 3 |

4 | Removed in: {{ .release }} 5 |

6 | {{- else -}} 7 | Removed in: {{ .release }} 10 | {{- end -}} 11 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/partials/required-for.html: -------------------------------------------------------------------------------- 1 | {{- if .block -}} 2 |

3 | Required scope: 4 | {{ $items := split .scopes ", " }} 5 | {{ range $item := $items }}{{ $item }}{{ end }} 6 |

7 | {{- else -}} 8 | Required scope: 10 | {{ $items := split .scopes ", " }} 11 | {{ range $item := $items }}{{ $item }}{{ end }} 12 | 13 | {{- end -}} 14 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/redirect/single.html: -------------------------------------------------------------------------------- 1 | {{- $redirect := .Param "to" -}} 2 | 3 | 4 | 5 | 6 | 10 | 13 | Redirect to '{{ $redirect }}' 14 | 15 | 16 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Sitemap: {{ .Site.BaseURL }}sitemap.xml 3 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/a.html: -------------------------------------------------------------------------------- 1 | {{ .Get "title" }}{{- "" -}} 4 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/added-in.html: -------------------------------------------------------------------------------- 1 | {{- $release := .Get 0 -}} 2 | {{- $block := .Get 1 -}} 3 | {{- partial "added-in" (dict "release" $release "block" $block) -}} 4 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/check.html: -------------------------------------------------------------------------------- 1 | {{ partial "check-cross" true }} 2 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/cols.html: -------------------------------------------------------------------------------- 1 |
2 | {{ .Inner }} 3 |
4 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/cross.html: -------------------------------------------------------------------------------- 1 | {{ partial "check-cross" false }} 2 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/deprecated-in.html: -------------------------------------------------------------------------------- 1 | {{- $release := .Get 0 -}} 2 | {{- $block := .Get 1 -}} 3 | {{- partial "deprecated-in" (dict "release" $release "block" $block) -}} 4 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/feature-info.html: -------------------------------------------------------------------------------- 1 | {{- $description := .Get 0 -}} 2 | {{- $repo := .Get 1 -}} 3 |
4 |
5 | {{ if $repo }}{{ $repo }}{{ end }} 6 | {{ $description }} 7 |
8 |
9 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/github.html: -------------------------------------------------------------------------------- 1 |
2 | {{ $repo := resources.Get "svg/repo.svg" | fingerprint }} 3 | 7 | {{ .Get 0 }} 12 |

{{ .Get 1 }}

13 |

14 | 15 | JavaScript 16 |

17 |
18 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/illu-teaser.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 7 |
8 |
9 |
10 |
{{ .Get "flag" }}
11 |
12 |
13 | {{ .Get "title" }} 14 |
15 |
16 | 20 |
21 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/img.html: -------------------------------------------------------------------------------- 1 | {{ $src := path.Join .Page.File.Dir (.Get "src") }} 2 | 3 | {{ if (hasPrefix (.Get "src") "https:") }} 4 | {{ warnf "Please do not link to external images. The image in %s referenced %s" .Position (.Get "src") }} 5 | 9 | {{ else if (fileExists $src) }} 10 | {{ $img := imageConfig (path.Join "content" $src) }} 11 | 17 | {{ else }} 18 | {{ $notfound := resources.Get "svg/not-found.svg" | fingerprint }} 19 | {{ warnf "Image '%s' not found. It was referenced from %s" $src .Position }} 20 | Image Not Found 26 | {{ end }} 27 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/info.html: -------------------------------------------------------------------------------- 1 |
2 | {{ $info := resources.Get "svg/info.svg" | fingerprint }} 3 | 8 | {{ .Inner | markdownify }} 9 |
10 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/openapi-list.html: -------------------------------------------------------------------------------- 1 | {{- $versions := hugo.Store.Get "api-versions" -}} 2 | {{- range $versions -}} 3 | 4 | {{ $resource := (resources.FromString (printf "openapi-%s.json" .version) (partialCached "openapi-template.gotmpl" (dict "Site" $.Site "version" .version) .version)) -}} 5 | {{ $resource.Publish }} 6 |

7 | {{ .version }}:
8 | {{ $resource.Permalink }} 9 |

10 | {{- end -}} 11 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/openapi.html: -------------------------------------------------------------------------------- 1 | {{- $versions := hugo.Store.Get "api-versions" -}} 2 | 3 | 4 | 5 | {{- $currentVersion := index $versions 0 -}} 6 | 7 | 8 | 9 | {{- $current := (resources.FromString "openapi.json" (partialCached "openapi-template.gotmpl" (dict "Site" $.Site "version" $currentVersion.version) $currentVersion.version)) -}} 10 | {{- $current.Publish -}} 11 | {{- $current.Permalink -}} 12 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/release.html: -------------------------------------------------------------------------------- 1 | {{- $release := .Get 0 -}} 2 | {{- $href := print "/operations/releases/" $release "/" -}} 3 | {{ $release }} 4 | {{- /* Kill the newline! (Otherwise it will appear in the rendered markup) */ -}} 5 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/removed-in.html: -------------------------------------------------------------------------------- 1 | {{- $release := .Get 0 -}} 2 | {{- $block := .Get 1 -}} 3 | {{- partial "removed-in" (dict "release" $release "block" $block) -}} 4 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/required-for.html: -------------------------------------------------------------------------------- 1 | {{- $scopes := .Get 0 -}} 2 | {{- $block := .Get 1 -}} 3 | {{- partial "required-for" (dict "scopes" $scopes "block" $block) -}} 4 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/system-versions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {{ range index .Page.Params.systemRequirements (.Get "list") }} 10 | 11 | 12 | 13 | 14 | {{ end }} 15 | 16 |
NameVersion
{{ .name }}{{ .version }}
17 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/tip.html: -------------------------------------------------------------------------------- 1 |
2 |

{{ .Get "title" | markdownify }}

3 |

{{ .Get "text" | markdownify }}

4 |
5 | -------------------------------------------------------------------------------- /themes/hugo-docs/layouts/shortcodes/warning.html: -------------------------------------------------------------------------------- 1 |
2 | {{ $warn := resources.Get "svg/warning.svg" | fingerprint }} 3 | 8 | {{ .Inner | markdownify }} 9 |
10 | -------------------------------------------------------------------------------- /themes/hugo-docs/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livingdocsIO/documentation/b7757c7cb4e4d683e0109a83617454e6475d0fd7/themes/hugo-docs/static/favicon.ico -------------------------------------------------------------------------------- /themes/hugo-docs/theme.toml: -------------------------------------------------------------------------------- 1 | name = "Livingdocs" 2 | description = "Documentation Theme for Livingdocs" 3 | homepage = "https://github.com/livingdocsIO/livingdocs" 4 | min_version = 0.80 5 | --------------------------------------------------------------------------------