From 388079e6bb5c8635e4c108ac920fbd04f450b620 Mon Sep 17 00:00:00 2001 From: sarahgarcin1 Date: Mon, 5 Jan 2026 19:33:15 +0100 Subject: [PATCH] Initial commit --- .editorconfig | 21 + .gitignore | 55 + .htaccess | 67 + README.md | 36 + assets/css/libs/flexboxgrid.css | 1196 + assets/css/libs/glightbox.min.css | 1 + assets/css/main.css | 267 + assets/css/print-template.css | 452 + assets/css/print.css | 54 + assets/css/reset.css | 5 + assets/css/responsive.css | 45 + assets/css/variables.css | 8 + assets/css/web.css | 8 + assets/csspageweaver/.gitignore | 1 + assets/csspageweaver/.gitlab-ci.yml | 104 + assets/csspageweaver/README.md | 177 + assets/csspageweaver/interface/css/grid.css | 46 + .../csspageweaver/interface/css/interface.css | 136 + assets/csspageweaver/interface/css/panel.css | 532 + .../IBM_Plex_Mono/IBMPlexMono-Italic.woff | Bin 0 -> 56520 bytes .../IBM_Plex_Mono/IBMPlexMono-Italic.woff2 | Bin 0 -> 39964 bytes .../IBM_Plex_Mono/IBMPlexMono-Medium.woff | Bin 0 -> 51872 bytes .../IBM_Plex_Mono/IBMPlexMono-Medium.woff2 | Bin 0 -> 36648 bytes .../IBMPlexMono-MediumItalic.woff | Bin 0 -> 57840 bytes .../IBMPlexMono-MediumItalic.woff2 | Bin 0 -> 41156 bytes .../IBM_Plex_Mono/IBMPlexMono-Regular.woff | Bin 0 -> 50664 bytes .../IBM_Plex_Mono/IBMPlexMono-Regular.woff2 | Bin 0 -> 35536 bytes .../IBM_Plex_Mono/IBMPlexMono-SemiBold.woff | Bin 0 -> 52936 bytes .../IBM_Plex_Mono/IBMPlexMono-SemiBold.woff2 | Bin 0 -> 37592 bytes .../IBMPlexMono-SemiBoldItalic.woff | Bin 0 -> 58712 bytes .../IBMPlexMono-SemiBoldItalic.woff2 | Bin 0 -> 41848 bytes .../fonts/IBM_Plex_Mono/stylesheet.css | 42 + assets/csspageweaver/lib/csstree.min.js | 1 + assets/csspageweaver/lib/paged.esm.js | 33190 +++++++++++++++ assets/csspageweaver/main.js | 119 + assets/csspageweaver/manifest.json | 24 + assets/csspageweaver/modules/dict.js | 334 + assets/csspageweaver/modules/frame_render.js | 410 + assets/csspageweaver/modules/gui.js | 510 + assets/csspageweaver/modules/pre_render.js | 160 + assets/csspageweaver/modules/render.js | 58 + assets/csspageweaver/plugins/.gitignore | 1 + .../csspageweaver/plugins/baseline/.gitignore | 1 + .../csspageweaver/plugins/baseline/README.md | 8 + .../plugins/baseline/baseline.css | 21 + .../plugins/baseline/baseline.js | 100 + .../plugins/baseline/config.json | 13 + .../plugins/baseline/template.html | 8 + .../plugins/beauDrapeau/.gitignore | 1 + .../plugins/beauDrapeau/ReadMe.md | 60 + .../plugins/beauDrapeau/beauDrapeau-data.js | 16 + .../plugins/beauDrapeau/beauDrapeau-hook.js | 130 + .../plugins/beauDrapeau/beauDrapeau-script.js | 23 + .../plugins/beauDrapeau/beauDrapeau.js | 335 + .../plugins/beauDrapeau/config.json | 15 + .../plugins/createIndex/config.json | 8 + .../plugins/createIndex/createIndex.js | 140 + .../plugins/footnotesFix/.gitignore | 1 + .../plugins/footnotesFix/README.md | 95 + .../plugins/footnotesFix/config.json | 9 + .../plugins/footnotesFix/footnotes.css | 9 + .../plugins/footnotesFix/footnotes.js | 84 + .../csspageweaver/plugins/fullPage/.gitignore | 1 + .../csspageweaver/plugins/fullPage/README.md | 126 + .../plugins/fullPage/config.json | 9 + .../plugins/fullPage/fullPage.css | 49 + .../plugins/fullPage/fullPage.js | 294 + assets/csspageweaver/plugins/grid/.gitignore | 1 + assets/csspageweaver/plugins/grid/README.md | 7 + assets/csspageweaver/plugins/grid/config.json | 13 + .../csspageweaver/plugins/grid/grid-hook.js | 36 + assets/csspageweaver/plugins/grid/grid-ui.js | 50 + assets/csspageweaver/plugins/grid/grid.css | 60 + .../plugins/imposition/.gitignore | 1 + .../plugins/imposition/config.json | 17 + .../csspageweaver/plugins/imposition/index.js | 363 + .../plugins/imposition/stylesheet.css | 0 .../plugins/imposition/template.html | 22 + .../plugins/marginBox/.gitignore | 1 + .../plugins/marginBox/config.json | 10 + .../plugins/marginBox/marginBox.css | 7 + .../plugins/marginBox/marginBox.js | 26 + .../plugins/marginNotes/.gitignore | 1 + .../plugins/marginNotes/README.md | 114 + .../plugins/marginNotes/config.json | 8 + .../plugins/marginNotes/marginNotes.js | 260 + .../plugins/previewPage/.gitignore | 1 + .../plugins/previewPage/config.json | 19 + .../plugins/previewPage/event.js | 52 + .../plugins/previewPage/stylesheet.css | 39 + .../plugins/previewPage/template.html | 31 + .../plugins/regexTypo/.gitignore | 1 + .../plugins/regexTypo/config.json | 7 + .../plugins/regexTypo/regexTypo-hook.js | 24 + .../plugins/regexTypo/regexTypo.js | 312 + .../plugins/reloadInPlace/.gitignore | 1 + .../plugins/reloadInPlace/Readme.md | 17 + .../plugins/reloadInPlace/config.json | 9 + .../plugins/reloadInPlace/reloadInPlace.js | 174 + .../csspageweaver/plugins/spread/.gitignore | 1 + .../csspageweaver/plugins/spread/config.json | 15 + .../plugins/spread/spread-hook.js | 25 + .../csspageweaver/plugins/spread/spread-ui.js | 38 + .../csspageweaver/plugins/spread/spread.css | 33 + .../csspageweaver/plugins/spread/spread.html | 61 + .../plugins/tableOfContent/.gitignore | 1 + .../plugins/tableOfContent/README.md | 90 + .../plugins/tableOfContent/config.json | 9 + .../plugins/tableOfContent/tableOfContent.css | 13 + .../plugins/tableOfContent/tableOfContent.js | 121 + assets/fonts/stylesheet.css | 0 assets/js/glightbox.min.js | 1 + assets/js/main.js | 11 + assets/js/plugins/createIndex-hook.js | 16 + assets/js/plugins/createIndex.js | 121 + assets/js/plugins/csstree.js | 11 + assets/js/plugins/fix-justif.js | 29 + assets/js/plugins/full-page.js | 296 + assets/js/plugins/fullpage.js | 56 + assets/js/plugins/imposition.js | 367 + assets/js/plugins/margin-notes.js | 275 + assets/js/plugins/ragadjust-hook.js | 14 + assets/js/plugins/ragadjust.js | 126 + assets/js/plugins/regex-typo-hook.js | 13 + assets/js/plugins/regex-typo.js | 279 + assets/js/plugins/smartquote.js | 1 + assets/js/plugins/toc.js | 105 + assets/pagedjs/IBMPlex/IBMPlexMono-Text.woff | Bin 0 -> 51256 bytes assets/pagedjs/IBMPlex/IBMPlexMono-Text.woff2 | Bin 0 -> 36320 bytes .../IBMPlex/IBMPlexMono-TextItalic.woff | Bin 0 -> 58240 bytes .../IBMPlex/IBMPlexMono-TextItalic.woff2 | Bin 0 -> 41504 bytes assets/pagedjs/icon-preview.svg | 2 + assets/pagedjs/icon-printer.svg | 1 + assets/pagedjs/interface-header.css | 387 + assets/pagedjs/interface.css | 203 + assets/pagedjs/interface.html | 42 + assets/pagedjs/interface.js | 191 + assets/pagedjs/paged-new.js | 34388 ++++++++++++++++ assets/pagedjs/paged.js | 33204 +++++++++++++++ assets/pagedjs/reload-in-place.js | 116 + composer.json | 39 + .../3l7a3616.jpg | Bin 0 -> 252912 bytes .../3l7a3616.jpg.txt | 13 + .../chapitre.txt | 13 + .../planche-test.jpg | Bin 0 -> 154606 bytes .../planche-test.jpg.txt | 13 + .../selection_widmer_0002_img_8143.jpg | Bin 0 -> 338991 bytes .../selection_widmer_0002_img_8143.jpg.txt | 13 + .../selection_widmer_0005_img_6744.jpg | Bin 0 -> 456549 bytes .../selection_widmer_0005_img_6744.jpg.txt | 13 + .../selection_widmer_0033_sans-titre-1.jpg | Bin 0 -> 198870 bytes ...selection_widmer_0033_sans-titre-1.jpg.txt | 13 + ...10156307790512175_295213928550498304_o.jpg | Bin 0 -> 436969 bytes ...6307790512175_295213928550498304_o.jpg.txt | 13 + .../chapitre.txt | 13 + .../duetesto1.jpg | Bin 0 -> 974374 bytes .../duetesto1.jpg.txt | 13 + .../duetesto11.jpg | Bin 0 -> 600556 bytes .../duetesto11.jpg.txt | 13 + .../duetesto3.jpg | Bin 0 -> 917852 bytes .../duetesto3.jpg.txt | 13 + content/error/error.txt | 9 + content/home/home.txt | 5 + content/print/print.txt | 5 + content/site.txt | 1 + index.php | 5 + kirby/.editorconfig | 32 + kirby/CONTRIBUTING.md | 101 + kirby/LICENSE.md | 304 + kirby/README.md | 49 + kirby/SECURITY.md | 27 + kirby/assets/whoops.css | 83 + kirby/bootstrap.php | 46 + kirby/cacert.pem | 3511 ++ kirby/composer.json | 110 + kirby/composer.lock | 1133 + kirby/config/aliases.php | 97 + kirby/config/api/authentication.php | 27 + kirby/config/api/collections.php | 78 + kirby/config/api/models.php | 21 + kirby/config/api/models/File.php | 119 + kirby/config/api/models/FileBlueprint.php | 17 + kirby/config/api/models/FileVersion.php | 59 + kirby/config/api/models/Language.php | 30 + kirby/config/api/models/License.php | 17 + kirby/config/api/models/Page.php | 96 + kirby/config/api/models/PageBlueprint.php | 20 + kirby/config/api/models/Role.php | 23 + kirby/config/api/models/Site.php | 52 + kirby/config/api/models/SiteBlueprint.php | 17 + kirby/config/api/models/System.php | 91 + kirby/config/api/models/Translation.php | 24 + kirby/config/api/models/User.php | 81 + kirby/config/api/models/UserBlueprint.php | 17 + kirby/config/api/routes.php | 29 + kirby/config/api/routes/auth.php | 126 + kirby/config/api/routes/changes.php | 37 + kirby/config/api/routes/files.php | 146 + kirby/config/api/routes/kql.php | 35 + kirby/config/api/routes/languages.php | 42 + kirby/config/api/routes/pages.php | 129 + kirby/config/api/routes/roles.php | 27 + kirby/config/api/routes/site.php | 109 + kirby/config/api/routes/system.php | 86 + kirby/config/api/routes/translations.php | 24 + kirby/config/api/routes/users.php | 260 + kirby/config/areas/account.php | 16 + kirby/config/areas/account/buttons.php | 13 + kirby/config/areas/account/dialogs.php | 65 + kirby/config/areas/account/drawers.php | 14 + kirby/config/areas/account/dropdowns.php | 22 + kirby/config/areas/account/views.php | 35 + kirby/config/areas/fields/dialogs.php | 61 + kirby/config/areas/fields/drawers.php | 61 + kirby/config/areas/files/buttons.php | 14 + kirby/config/areas/files/dialogs.php | 165 + kirby/config/areas/files/dropdowns.php | 14 + kirby/config/areas/installation.php | 40 + kirby/config/areas/lab.php | 13 + kirby/config/areas/lab/dialogs.php | 10 + kirby/config/areas/lab/drawers.php | 36 + kirby/config/areas/lab/requests.php | 10 + kirby/config/areas/lab/views.php | 224 + kirby/config/areas/languages.php | 14 + kirby/config/areas/languages/buttons.php | 21 + kirby/config/areas/languages/dialogs.php | 324 + kirby/config/areas/languages/views.php | 137 + kirby/config/areas/login.php | 44 + kirby/config/areas/logout.php | 21 + kirby/config/areas/search.php | 11 + kirby/config/areas/search/views.php | 17 + kirby/config/areas/site.php | 23 + kirby/config/areas/site/buttons.php | 72 + kirby/config/areas/site/dialogs.php | 592 + kirby/config/areas/site/drawers.php | 22 + kirby/config/areas/site/dropdowns.php | 46 + kirby/config/areas/site/requests.php | 25 + kirby/config/areas/site/searches.php | 17 + kirby/config/areas/site/views.php | 98 + kirby/config/areas/system.php | 13 + kirby/config/areas/system/dialogs.php | 135 + kirby/config/areas/system/views.php | 139 + kirby/config/areas/users.php | 18 + kirby/config/areas/users/buttons.php | 20 + kirby/config/areas/users/dialogs.php | 360 + kirby/config/areas/users/drawers.php | 14 + kirby/config/areas/users/dropdowns.php | 29 + kirby/config/areas/users/searches.php | 12 + kirby/config/areas/users/views.php | 65 + kirby/config/blocks/code/code.php | 2 + kirby/config/blocks/code/code.yml | 59 + kirby/config/blocks/gallery/gallery.php | 20 + kirby/config/blocks/gallery/gallery.yml | 40 + kirby/config/blocks/heading/heading.php | 2 + kirby/config/blocks/heading/heading.yml | 35 + kirby/config/blocks/image/image.php | 35 + kirby/config/blocks/image/image.yml | 61 + kirby/config/blocks/line/line.php | 1 + kirby/config/blocks/line/line.yml | 4 + kirby/config/blocks/list/list.php | 2 + kirby/config/blocks/list/list.yml | 8 + kirby/config/blocks/markdown/markdown.php | 2 + kirby/config/blocks/markdown/markdown.yml | 11 + kirby/config/blocks/quote/quote.php | 9 + kirby/config/blocks/quote/quote.yml | 17 + kirby/config/blocks/table/table.yml | 3 + kirby/config/blocks/text/text.php | 2 + kirby/config/blocks/text/text.yml | 9 + kirby/config/blocks/video/video.php | 32 + kirby/config/blocks/video/video.yml | 78 + kirby/config/components.php | 446 + kirby/config/fields/checkboxes.php | 73 + kirby/config/fields/color.php | 162 + kirby/config/fields/date.php | 163 + kirby/config/fields/email.php | 40 + kirby/config/fields/files.php | 141 + kirby/config/fields/gap.php | 5 + kirby/config/fields/headline.php | 19 + kirby/config/fields/hidden.php | 5 + kirby/config/fields/info.php | 43 + kirby/config/fields/line.php | 5 + kirby/config/fields/link.php | 172 + kirby/config/fields/list.php | 23 + kirby/config/fields/mixins/datetime.php | 38 + kirby/config/fields/mixins/filepicker.php | 14 + kirby/config/fields/mixins/layout.php | 24 + kirby/config/fields/mixins/min.php | 22 + kirby/config/fields/mixins/options.php | 50 + kirby/config/fields/mixins/pagepicker.php | 14 + kirby/config/fields/mixins/picker.php | 98 + kirby/config/fields/mixins/upload.php | 97 + kirby/config/fields/mixins/userpicker.php | 13 + kirby/config/fields/multiselect.php | 35 + kirby/config/fields/number.php | 67 + kirby/config/fields/object.php | 104 + kirby/config/fields/pages.php | 111 + kirby/config/fields/radio.php | 35 + kirby/config/fields/range.php | 33 + kirby/config/fields/select.php | 38 + kirby/config/fields/slug.php | 55 + kirby/config/fields/structure.php | 249 + kirby/config/fields/tags.php | 109 + kirby/config/fields/tel.php | 27 + kirby/config/fields/text.php | 115 + kirby/config/fields/textarea.php | 125 + kirby/config/fields/time.php | 132 + kirby/config/fields/toggle.php | 78 + kirby/config/fields/toggles.php | 46 + kirby/config/fields/url.php | 42 + kirby/config/fields/users.php | 107 + kirby/config/fields/writer.php | 105 + kirby/config/helpers.php | 692 + kirby/config/methods.php | 635 + kirby/config/presets/files.php | 27 + kirby/config/presets/page.php | 74 + kirby/config/presets/pages.php | 75 + kirby/config/routes.php | 226 + kirby/config/sections/fields.php | 34 + kirby/config/sections/files.php | 217 + kirby/config/sections/info.php | 37 + kirby/config/sections/mixins/batch.php | 45 + kirby/config/sections/mixins/details.php | 36 + kirby/config/sections/mixins/empty.php | 21 + kirby/config/sections/mixins/headline.php | 37 + kirby/config/sections/mixins/help.php | 23 + kirby/config/sections/mixins/layout.php | 178 + kirby/config/sections/mixins/max.php | 28 + kirby/config/sections/mixins/min.php | 21 + kirby/config/sections/mixins/pagination.php | 37 + kirby/config/sections/mixins/parent.php | 51 + kirby/config/sections/mixins/search.php | 23 + kirby/config/sections/mixins/sort.php | 57 + kirby/config/sections/pages.php | 288 + kirby/config/sections/stats.php | 38 + kirby/config/setup.php | 31 + kirby/config/tags.php | 352 + kirby/config/templates/emails/auth/login.php | 16 + .../templates/emails/auth/password-reset.php | 16 + .../parsedown-extra/ParsedownExtra.php | 637 + kirby/dependencies/parsedown/Parsedown.php | 1818 + kirby/dependencies/spyc/COPYING | 21 + kirby/dependencies/spyc/Spyc.php | 1196 + kirby/i18n/rules/LICENSE | 9 + kirby/i18n/rules/ar.json | 30 + kirby/i18n/rules/az.json | 16 + kirby/i18n/rules/bg.json | 65 + kirby/i18n/rules/cs.json | 20 + kirby/i18n/rules/da.json | 10 + kirby/i18n/rules/de.json | 9 + kirby/i18n/rules/el.json | 111 + kirby/i18n/rules/eo.json | 14 + kirby/i18n/rules/et.json | 14 + kirby/i18n/rules/fa.json | 36 + kirby/i18n/rules/fi.json | 6 + kirby/i18n/rules/fr.json | 34 + kirby/i18n/rules/hi.json | 66 + kirby/i18n/rules/hr.json | 12 + kirby/i18n/rules/hu.json | 20 + kirby/i18n/rules/hy.json | 79 + kirby/i18n/rules/is_IS.json | 22 + kirby/i18n/rules/it.json | 13 + kirby/i18n/rules/iu.json | 163 + kirby/i18n/rules/ja.json | 182 + kirby/i18n/rules/ka.json | 35 + kirby/i18n/rules/ko.json | 11174 +++++ kirby/i18n/rules/lt.json | 20 + kirby/i18n/rules/lv.json | 18 + kirby/i18n/rules/mk.json | 64 + kirby/i18n/rules/my.json | 121 + kirby/i18n/rules/nb.json | 8 + kirby/i18n/rules/pl.json | 20 + kirby/i18n/rules/pt_BR.json | 187 + kirby/i18n/rules/ro.json | 16 + kirby/i18n/rules/ru.json | 68 + kirby/i18n/rules/sr.json | 72 + kirby/i18n/rules/sv_SE.json | 8 + kirby/i18n/rules/tr.json | 14 + kirby/i18n/rules/uk.json | 10 + kirby/i18n/rules/vi.json | 135 + kirby/i18n/rules/zh.json | 6937 ++++ kirby/i18n/translations/bg.json | 807 + kirby/i18n/translations/bs.json | 807 + kirby/i18n/translations/ca.json | 807 + kirby/i18n/translations/cs.json | 807 + kirby/i18n/translations/da.json | 807 + kirby/i18n/translations/de.json | 807 + kirby/i18n/translations/el.json | 807 + kirby/i18n/translations/en.json | 807 + kirby/i18n/translations/eo.json | 807 + kirby/i18n/translations/es_419.json | 807 + kirby/i18n/translations/es_ES.json | 807 + kirby/i18n/translations/fa.json | 807 + kirby/i18n/translations/fi.json | 807 + kirby/i18n/translations/fr.json | 807 + kirby/i18n/translations/hu.json | 807 + kirby/i18n/translations/id.json | 807 + kirby/i18n/translations/is_IS.json | 807 + kirby/i18n/translations/it.json | 807 + kirby/i18n/translations/ko.json | 807 + kirby/i18n/translations/lt.json | 807 + kirby/i18n/translations/nb.json | 807 + kirby/i18n/translations/nl.json | 807 + kirby/i18n/translations/pl.json | 807 + kirby/i18n/translations/pt_BR.json | 807 + kirby/i18n/translations/pt_PT.json | 807 + kirby/i18n/translations/ro.json | 807 + kirby/i18n/translations/ru.json | 807 + kirby/i18n/translations/sk.json | 807 + kirby/i18n/translations/sr@latin.json | 807 + kirby/i18n/translations/sv_SE.json | 807 + kirby/i18n/translations/tr.json | 807 + kirby/i18n/translations/zh_TW.json | 807 + kirby/kirby.pub | 9 + kirby/panel/dist/apple-touch-icon-dark.png | Bin 0 -> 1148 bytes kirby/panel/dist/apple-touch-icon.png | Bin 0 -> 4115 bytes kirby/panel/dist/css/style.min.css | 1 + kirby/panel/dist/favicon-dark.png | Bin 0 -> 416 bytes kirby/panel/dist/favicon.png | Bin 0 -> 539 bytes kirby/panel/dist/favicon.svg | 9 + kirby/panel/dist/img/icons.svg | 701 + kirby/panel/dist/js/Docs.min.js | 1 + kirby/panel/dist/js/DocsView.min.js | 1 + kirby/panel/dist/js/Highlight.min.js | 1 + kirby/panel/dist/js/IndexView.min.js | 1 + kirby/panel/dist/js/PlaygroundView.min.js | 1 + kirby/panel/dist/js/index.min.js | 2 + kirby/panel/dist/js/plugins.js | 208 + kirby/panel/dist/js/sortable.min.js | 1 + kirby/panel/dist/js/vendor.min.js | 1 + kirby/panel/dist/js/vue.esm.browser.js | 11731 ++++++ kirby/panel/dist/js/vue.esm.browser.min.js | 11 + kirby/panel/dist/js/vue.runtime.esm.min.js | 6 + kirby/router.php | 21 + kirby/src/Api/Api.php | 622 + kirby/src/Api/Collection.php | 153 + kirby/src/Api/Controller/Changes.php | 137 + kirby/src/Api/Model.php | 227 + kirby/src/Api/Upload.php | 436 + kirby/src/Cache/ApcuCache.php | 83 + kirby/src/Cache/Cache.php | 237 + kirby/src/Cache/FileCache.php | 226 + kirby/src/Cache/MemCached.php | 105 + kirby/src/Cache/MemoryCache.php | 77 + kirby/src/Cache/NullCache.php | 65 + kirby/src/Cache/RedisCache.php | 160 + kirby/src/Cache/Value.php | 137 + kirby/src/Cms/Api.php | 260 + kirby/src/Cms/App.php | 1737 + kirby/src/Cms/AppCaches.php | 131 + kirby/src/Cms/AppErrors.php | 228 + kirby/src/Cms/AppPlugins.php | 963 + kirby/src/Cms/AppTranslations.php | 183 + kirby/src/Cms/AppUsers.php | 157 + kirby/src/Cms/Auth.php | 954 + kirby/src/Cms/Auth/Challenge.php | 65 + kirby/src/Cms/Auth/EmailChallenge.php | 86 + kirby/src/Cms/Auth/Status.php | 176 + kirby/src/Cms/Auth/TotpChallenge.php | 65 + kirby/src/Cms/Block.php | 223 + kirby/src/Cms/BlockConverter.php | 285 + kirby/src/Cms/Blocks.php | 172 + kirby/src/Cms/Blueprint.php | 902 + kirby/src/Cms/Collection.php | 403 + kirby/src/Cms/Collections.php | 131 + kirby/src/Cms/Core.php | 484 + kirby/src/Cms/Cors.php | 249 + kirby/src/Cms/Email.php | 246 + kirby/src/Cms/Event.php | 278 + kirby/src/Cms/Events.php | 130 + kirby/src/Cms/Fieldset.php | 239 + kirby/src/Cms/Fieldsets.php | 115 + kirby/src/Cms/File.php | 668 + kirby/src/Cms/FileActions.php | 467 + kirby/src/Cms/FileBlueprint.php | 254 + kirby/src/Cms/FileModifications.php | 217 + kirby/src/Cms/FilePermissions.php | 34 + kirby/src/Cms/FilePicker.php | 76 + kirby/src/Cms/FileRules.php | 335 + kirby/src/Cms/FileVersion.php | 121 + kirby/src/Cms/Files.php | 226 + kirby/src/Cms/Find.php | 172 + kirby/src/Cms/HasChildren.php | 201 + kirby/src/Cms/HasFiles.php | 190 + kirby/src/Cms/HasMethods.php | 70 + kirby/src/Cms/HasModels.php | 53 + kirby/src/Cms/HasSiblings.php | 159 + kirby/src/Cms/Helpers.php | 214 + kirby/src/Cms/Html.php | 164 + kirby/src/Cms/Ingredients.php | 77 + kirby/src/Cms/Item.php | 121 + kirby/src/Cms/Items.php | 105 + kirby/src/Cms/Language.php | 658 + kirby/src/Cms/LanguagePermissions.php | 22 + kirby/src/Cms/LanguageRouter.php | 149 + kirby/src/Cms/LanguageRoutes.php | 155 + kirby/src/Cms/LanguageRules.php | 128 + kirby/src/Cms/LanguageVariable.php | 148 + kirby/src/Cms/Languages.php | 115 + kirby/src/Cms/Layout.php | 107 + kirby/src/Cms/LayoutColumn.php | 122 + kirby/src/Cms/LayoutColumns.php | 25 + kirby/src/Cms/Layouts.php | 122 + kirby/src/Cms/License.php | 570 + kirby/src/Cms/LicenseStatus.php | 151 + kirby/src/Cms/LicenseType.php | 111 + kirby/src/Cms/Loader.php | 208 + kirby/src/Cms/Media.php | 194 + kirby/src/Cms/ModelCommit.php | 243 + kirby/src/Cms/ModelPermissions.php | 186 + kirby/src/Cms/ModelState.php | 107 + kirby/src/Cms/ModelWithContent.php | 732 + kirby/src/Cms/Nest.php | 49 + kirby/src/Cms/NestCollection.php | 32 + kirby/src/Cms/NestObject.php | 45 + kirby/src/Cms/Page.php | 1306 + kirby/src/Cms/PageActions.php | 959 + kirby/src/Cms/PageBlueprint.php | 189 + kirby/src/Cms/PageCopy.php | 236 + kirby/src/Cms/PagePermissions.php | 75 + kirby/src/Cms/PagePicker.php | 232 + kirby/src/Cms/PageRules.php | 473 + kirby/src/Cms/PageSiblings.php | 106 + kirby/src/Cms/Pages.php | 547 + kirby/src/Cms/Pagination.php | 162 + kirby/src/Cms/Permissions.php | 221 + kirby/src/Cms/Picker.php | 148 + kirby/src/Cms/R.php | 23 + kirby/src/Cms/Responder.php | 578 + kirby/src/Cms/Response.php | 28 + kirby/src/Cms/Role.php | 148 + kirby/src/Cms/Roles.php | 147 + kirby/src/Cms/S.php | 23 + kirby/src/Cms/Search.php | 51 + kirby/src/Cms/Section.php | 107 + kirby/src/Cms/Site.php | 502 + kirby/src/Cms/SiteActions.php | 100 + kirby/src/Cms/SiteBlueprint.php | 56 + kirby/src/Cms/SitePermissions.php | 17 + kirby/src/Cms/SiteRules.php | 54 + kirby/src/Cms/Structure.php | 55 + kirby/src/Cms/StructureObject.php | 87 + kirby/src/Cms/System.php | 523 + kirby/src/Cms/System/UpdateStatus.php | 838 + kirby/src/Cms/Translation.php | 155 + kirby/src/Cms/Translations.php | 62 + kirby/src/Cms/Url.php | 85 + kirby/src/Cms/User.php | 742 + kirby/src/Cms/UserActions.php | 435 + kirby/src/Cms/UserBlueprint.php | 46 + kirby/src/Cms/UserPermissions.php | 68 + kirby/src/Cms/UserPicker.php | 66 + kirby/src/Cms/UserRules.php | 365 + kirby/src/Cms/Users.php | 165 + kirby/src/Cms/Visitor.php | 23 + kirby/src/Content/Changes.php | 197 + kirby/src/Content/Content.php | 253 + kirby/src/Content/Field.php | 212 + kirby/src/Content/ImmutableMemoryStorage.php | 90 + kirby/src/Content/Lock.php | 229 + kirby/src/Content/LockedContentException.php | 31 + kirby/src/Content/MemoryStorage.php | 99 + kirby/src/Content/PlainTextStorage.php | 331 + kirby/src/Content/Storage.php | 325 + kirby/src/Content/Translation.php | 191 + kirby/src/Content/Translations.php | 79 + kirby/src/Content/Version.php | 687 + kirby/src/Content/VersionCache.php | 81 + kirby/src/Content/VersionId.php | 121 + kirby/src/Content/VersionRules.php | 161 + kirby/src/Content/Versions.php | 49 + kirby/src/Data/Data.php | 145 + kirby/src/Data/Handler.php | 56 + kirby/src/Data/Json.php | 61 + kirby/src/Data/PHP.php | 98 + kirby/src/Data/Txt.php | 132 + kirby/src/Data/Xml.php | 60 + kirby/src/Data/Yaml.php | 63 + kirby/src/Data/YamlSpyc.php | 43 + kirby/src/Data/YamlSymfony.php | 44 + kirby/src/Database/Database.php | 613 + kirby/src/Database/Db.php | 296 + kirby/src/Database/Query.php | 972 + kirby/src/Database/Sql.php | 962 + kirby/src/Database/Sql/Mysql.php | 56 + kirby/src/Database/Sql/Sqlite.php | 144 + kirby/src/Email/Body.php | 71 + kirby/src/Email/Email.php | 298 + kirby/src/Email/PHPMailer.php | 114 + kirby/src/Exception/AuthException.php | 20 + .../src/Exception/BadMethodCallException.php | 20 + kirby/src/Exception/DuplicateException.php | 20 + kirby/src/Exception/ErrorPageException.php | 20 + kirby/src/Exception/Exception.php | 230 + .../Exception/InvalidArgumentException.php | 20 + kirby/src/Exception/LogicException.php | 19 + kirby/src/Exception/NotFoundException.php | 19 + kirby/src/Exception/PermissionException.php | 20 + kirby/src/Field/FieldOptions.php | 96 + kirby/src/Filesystem/Asset.php | 135 + kirby/src/Filesystem/Dir.php | 648 + kirby/src/Filesystem/F.php | 970 + kirby/src/Filesystem/File.php | 581 + kirby/src/Filesystem/Filename.php | 285 + kirby/src/Filesystem/IsFile.php | 161 + kirby/src/Filesystem/Mime.php | 353 + kirby/src/Form/Field.php | 449 + kirby/src/Form/Field/BlocksField.php | 364 + kirby/src/Form/Field/EntriesField.php | 212 + kirby/src/Form/Field/LayoutField.php | 371 + kirby/src/Form/Field/StatsField.php | 74 + kirby/src/Form/FieldClass.php | 225 + kirby/src/Form/Fields.php | 436 + kirby/src/Form/Form.php | 400 + kirby/src/Form/Mixin/After.php | 21 + kirby/src/Form/Mixin/Api.php | 19 + kirby/src/Form/Mixin/Autofocus.php | 21 + kirby/src/Form/Mixin/Before.php | 21 + kirby/src/Form/Mixin/EmptyState.php | 21 + kirby/src/Form/Mixin/Help.php | 34 + kirby/src/Form/Mixin/Icon.php | 28 + kirby/src/Form/Mixin/Label.php | 32 + kirby/src/Form/Mixin/Max.php | 21 + kirby/src/Form/Mixin/Min.php | 36 + kirby/src/Form/Mixin/Model.php | 35 + kirby/src/Form/Mixin/Placeholder.php | 30 + kirby/src/Form/Mixin/Translatable.php | 44 + kirby/src/Form/Mixin/Validation.php | 117 + kirby/src/Form/Mixin/Value.php | 228 + kirby/src/Form/Mixin/When.php | 57 + kirby/src/Form/Mixin/Width.php | 29 + kirby/src/Form/Validations.php | 279 + kirby/src/Http/Cookie.php | 227 + kirby/src/Http/Environment.php | 1022 + .../Http/Exceptions/NextRouteException.php | 16 + kirby/src/Http/Header.php | 312 + kirby/src/Http/Idn.php | 63 + kirby/src/Http/Params.php | 172 + kirby/src/Http/Path.php | 51 + kirby/src/Http/Query.php | 77 + kirby/src/Http/Remote.php | 362 + kirby/src/Http/Request.php | 434 + kirby/src/Http/Request/Auth.php | 49 + kirby/src/Http/Request/Auth/BasicAuth.php | 66 + kirby/src/Http/Request/Auth/BearerAuth.php | 33 + kirby/src/Http/Request/Auth/SessionAuth.php | 43 + kirby/src/Http/Request/Body.php | 114 + kirby/src/Http/Request/Data.php | 75 + kirby/src/Http/Request/Files.php | 63 + kirby/src/Http/Request/Query.php | 86 + kirby/src/Http/Response.php | 354 + kirby/src/Http/Route.php | 174 + kirby/src/Http/Router.php | 207 + kirby/src/Http/Uri.php | 562 + kirby/src/Http/Url.php | 258 + kirby/src/Http/Visitor.php | 231 + kirby/src/Image/Camera.php | 70 + kirby/src/Image/Darkroom.php | 150 + kirby/src/Image/Darkroom/GdLib.php | 118 + kirby/src/Image/Darkroom/ImageMagick.php | 213 + kirby/src/Image/Darkroom/Imagick.php | 255 + kirby/src/Image/Dimensions.php | 414 + kirby/src/Image/Exif.php | 216 + kirby/src/Image/Focus.php | 122 + kirby/src/Image/Gravity.php | 41 + kirby/src/Image/Image.php | 245 + kirby/src/Image/Location.php | 118 + kirby/src/Image/QrCode.php | 1613 + kirby/src/Option/Option.php | 81 + kirby/src/Option/Options.php | 76 + kirby/src/Option/OptionsApi.php | 157 + kirby/src/Option/OptionsProvider.php | 38 + kirby/src/Option/OptionsQuery.php | 196 + kirby/src/Panel/Assets.php | 355 + kirby/src/Panel/ChangesDialog.php | 96 + kirby/src/Panel/Collector/FilesCollector.php | 73 + kirby/src/Panel/Collector/ModelsCollector.php | 130 + kirby/src/Panel/Collector/PagesCollector.php | 85 + kirby/src/Panel/Collector/UsersCollector.php | 62 + kirby/src/Panel/Controller/PageTree.php | 113 + kirby/src/Panel/Controller/Search.php | 88 + kirby/src/Panel/Dialog.php | 86 + kirby/src/Panel/Document.php | 72 + kirby/src/Panel/Drawer.php | 21 + kirby/src/Panel/Dropdown.php | 71 + kirby/src/Panel/Field.php | 313 + kirby/src/Panel/File.php | 497 + kirby/src/Panel/Home.php | 259 + kirby/src/Panel/Json.php | 90 + kirby/src/Panel/Lab/Category.php | 134 + kirby/src/Panel/Lab/Doc.php | 194 + kirby/src/Panel/Lab/Doc/Argument.php | 46 + kirby/src/Panel/Lab/Doc/Event.php | 57 + kirby/src/Panel/Lab/Doc/Method.php | 60 + kirby/src/Panel/Lab/Doc/Prop.php | 113 + kirby/src/Panel/Lab/Doc/Slot.php | 57 + kirby/src/Panel/Lab/Docs.php | 73 + kirby/src/Panel/Lab/Example.php | 297 + kirby/src/Panel/Lab/Responses.php | 49 + kirby/src/Panel/Lab/Snippet.php | 25 + kirby/src/Panel/Lab/Template.php | 33 + kirby/src/Panel/Menu.php | 219 + kirby/src/Panel/Model.php | 479 + kirby/src/Panel/Page.php | 387 + kirby/src/Panel/PageCreateDialog.php | 432 + kirby/src/Panel/Panel.php | 643 + kirby/src/Panel/Plugins.php | 139 + kirby/src/Panel/Redirect.php | 60 + kirby/src/Panel/Request.php | 24 + kirby/src/Panel/Search.php | 41 + kirby/src/Panel/Site.php | 112 + kirby/src/Panel/Ui/Button.php | 64 + .../Panel/Ui/Buttons/LanguageCreateButton.php | 33 + .../Panel/Ui/Buttons/LanguageDeleteButton.php | 34 + .../Ui/Buttons/LanguageSettingsButton.php | 34 + .../Panel/Ui/Buttons/LanguagesDropdown.php | 120 + kirby/src/Panel/Ui/Buttons/OpenButton.php | 32 + .../src/Panel/Ui/Buttons/PageStatusButton.php | 50 + kirby/src/Panel/Ui/Buttons/PreviewButton.php | 30 + kirby/src/Panel/Ui/Buttons/SettingsButton.php | 32 + kirby/src/Panel/Ui/Buttons/VersionsButton.php | 57 + kirby/src/Panel/Ui/Buttons/ViewButton.php | 221 + kirby/src/Panel/Ui/Buttons/ViewButtons.php | 104 + kirby/src/Panel/Ui/Component.php | 93 + kirby/src/Panel/Ui/FilePreview.php | 105 + .../Ui/FilePreviews/AudioFilePreview.php | 29 + .../Ui/FilePreviews/DefaultFilePreview.php | 42 + .../Ui/FilePreviews/ImageFilePreview.php | 53 + .../Panel/Ui/FilePreviews/PdfFilePreview.php | 29 + .../Ui/FilePreviews/VideoFilePreview.php | 29 + kirby/src/Panel/Ui/Item/FileItem.php | 74 + kirby/src/Panel/Ui/Item/ModelItem.php | 74 + kirby/src/Panel/Ui/Item/PageItem.php | 74 + kirby/src/Panel/Ui/Item/UserItem.php | 38 + kirby/src/Panel/Ui/Stat.php | 137 + kirby/src/Panel/Ui/Stats.php | 83 + kirby/src/Panel/Ui/Upload.php | 62 + kirby/src/Panel/User.php | 300 + kirby/src/Panel/UserTotpDisableDialog.php | 116 + kirby/src/Panel/UserTotpEnableDialog.php | 95 + kirby/src/Panel/View.php | 384 + kirby/src/Parsley/Element.php | 157 + kirby/src/Parsley/Inline.php | 159 + kirby/src/Parsley/Parsley.php | 303 + kirby/src/Parsley/Schema.php | 53 + kirby/src/Parsley/Schema/Blocks.php | 370 + kirby/src/Parsley/Schema/Plain.php | 63 + kirby/src/Plugin/Asset.php | 124 + kirby/src/Plugin/Assets.php | 188 + kirby/src/Plugin/License.php | 112 + kirby/src/Plugin/LicenseStatus.php | 135 + kirby/src/Plugin/Plugin.php | 360 + kirby/src/Query/AST/ArgumentListNode.php | 37 + kirby/src/Query/AST/ArithmeticNode.php | 34 + kirby/src/Query/AST/ArrayListNode.php | 37 + kirby/src/Query/AST/ClosureNode.php | 33 + kirby/src/Query/AST/CoalesceNode.php | 33 + kirby/src/Query/AST/ComparisonNode.php | 34 + kirby/src/Query/AST/GlobalFunctionNode.php | 33 + kirby/src/Query/AST/LiteralNode.php | 29 + kirby/src/Query/AST/LogicalNode.php | 34 + kirby/src/Query/AST/MemberAccessNode.php | 37 + kirby/src/Query/AST/Node.php | 23 + kirby/src/Query/AST/TernaryNode.php | 36 + kirby/src/Query/AST/VariableNode.php | 29 + kirby/src/Query/Argument.php | 119 + kirby/src/Query/Arguments.php | 63 + kirby/src/Query/Expression.php | 123 + kirby/src/Query/Parser/Parser.php | 476 + kirby/src/Query/Parser/Token.php | 30 + kirby/src/Query/Parser/TokenType.php | 61 + kirby/src/Query/Parser/Tokenizer.php | 256 + kirby/src/Query/Query.php | 171 + kirby/src/Query/Runners/DefaultRunner.php | 69 + kirby/src/Query/Runners/Runner.php | 43 + kirby/src/Query/Runners/Scope.php | 94 + kirby/src/Query/Segment.php | 189 + kirby/src/Query/Segments.php | 104 + kirby/src/Query/Visitors/DefaultVisitor.php | 188 + kirby/src/Query/Visitors/Visitor.php | 46 + kirby/src/Reflection/Constructor.php | 73 + kirby/src/Sane/DomHandler.php | 179 + kirby/src/Sane/Handler.php | 92 + kirby/src/Sane/Html.php | 127 + kirby/src/Sane/Sane.php | 216 + kirby/src/Sane/Svg.php | 505 + kirby/src/Sane/Svgz.php | 76 + kirby/src/Sane/Xml.php | 78 + kirby/src/Session/AutoSession.php | 176 + kirby/src/Session/FileSessionStore.php | 480 + kirby/src/Session/Session.php | 832 + kirby/src/Session/SessionData.php | 215 + kirby/src/Session/SessionStore.php | 103 + kirby/src/Session/Sessions.php | 274 + kirby/src/Template/Slot.php | 123 + kirby/src/Template/Slots.php | 54 + kirby/src/Template/Snippet.php | 323 + kirby/src/Template/Template.php | 217 + kirby/src/Text/KirbyTag.php | 241 + kirby/src/Text/KirbyTags.php | 63 + kirby/src/Text/Markdown.php | 72 + kirby/src/Text/SmartyPants.php | 119 + kirby/src/Toolkit/A.php | 996 + kirby/src/Toolkit/Collection.php | 1409 + kirby/src/Toolkit/Component.php | 304 + kirby/src/Toolkit/Config.php | 18 + kirby/src/Toolkit/Controller.php | 91 + kirby/src/Toolkit/Date.php | 571 + kirby/src/Toolkit/Dom.php | 936 + kirby/src/Toolkit/Escape.php | 140 + kirby/src/Toolkit/Facade.php | 30 + kirby/src/Toolkit/Html.php | 671 + kirby/src/Toolkit/I18n.php | 339 + kirby/src/Toolkit/Iterator.php | 162 + kirby/src/Toolkit/LazyValue.php | 48 + kirby/src/Toolkit/Locale.php | 196 + kirby/src/Toolkit/Obj.php | 115 + kirby/src/Toolkit/Pagination.php | 406 + kirby/src/Toolkit/Silo.php | 58 + kirby/src/Toolkit/Str.php | 1560 + kirby/src/Toolkit/SymmetricCrypto.php | 228 + kirby/src/Toolkit/Totp.php | 146 + kirby/src/Toolkit/Tpl.php | 49 + kirby/src/Toolkit/V.php | 645 + kirby/src/Toolkit/View.php | 108 + kirby/src/Toolkit/Xml.php | 469 + kirby/src/Uuid/BlockUuid.php | 39 + kirby/src/Uuid/FieldUuid.php | 131 + kirby/src/Uuid/FileUuid.php | 109 + kirby/src/Uuid/HasUuids.php | 37 + kirby/src/Uuid/Identifiable.php | 21 + kirby/src/Uuid/ModelUuid.php | 97 + kirby/src/Uuid/PageUuid.php | 86 + kirby/src/Uuid/SiteUuid.php | 79 + kirby/src/Uuid/StructureUuid.php | 39 + kirby/src/Uuid/Uri.php | 94 + kirby/src/Uuid/UserUuid.php | 63 + kirby/src/Uuid/Uuid.php | 456 + kirby/src/Uuid/Uuids.php | 126 + kirby/vendor/autoload.php | 22 + kirby/vendor/bin/yaml-lint | 119 + kirby/vendor/christian-riesen/base32/LICENSE | 19 + .../christian-riesen/base32/src/Base32.php | 168 + .../christian-riesen/base32/src/Base32Hex.php | 68 + kirby/vendor/claviska/simpleimage/LICENSE.md | 7 + .../vendor/claviska/simpleimage/composer.json | 26 + .../vendor/claviska/simpleimage/composer.lock | 209 + .../simpleimage/src/claviska/SimpleImage.php | 2430 ++ kirby/vendor/composer/ClassLoader.php | 579 + kirby/vendor/composer/InstalledVersions.php | 396 + kirby/vendor/composer/LICENSE | 21 + kirby/vendor/composer/autoload_classmap.php | 503 + kirby/vendor/composer/autoload_files.php | 16 + kirby/vendor/composer/autoload_namespaces.php | 11 + kirby/vendor/composer/autoload_psr4.php | 22 + kirby/vendor/composer/autoload_real.php | 48 + kirby/vendor/composer/autoload_static.php | 636 + kirby/vendor/composer/installed.json | 1152 + kirby/vendor/composer/installed.php | 179 + kirby/vendor/composer/semver/LICENSE | 19 + kirby/vendor/composer/semver/composer.json | 59 + .../vendor/composer/semver/src/Comparator.php | 113 + .../composer/semver/src/CompilingMatcher.php | 94 + .../composer/semver/src/Constraint/Bound.php | 122 + .../semver/src/Constraint/Constraint.php | 435 + .../src/Constraint/ConstraintInterface.php | 75 + .../src/Constraint/MatchAllConstraint.php | 85 + .../src/Constraint/MatchNoneConstraint.php | 83 + .../semver/src/Constraint/MultiConstraint.php | 325 + kirby/vendor/composer/semver/src/Interval.php | 98 + .../vendor/composer/semver/src/Intervals.php | 478 + kirby/vendor/composer/semver/src/Semver.php | 129 + .../composer/semver/src/VersionParser.php | 591 + kirby/vendor/filp/whoops/LICENSE.md | 19 + kirby/vendor/filp/whoops/composer.json | 46 + .../src/Whoops/Exception/ErrorException.php | 17 + .../whoops/src/Whoops/Exception/Formatter.php | 77 + .../whoops/src/Whoops/Exception/Frame.php | 311 + .../src/Whoops/Exception/FrameCollection.php | 219 + .../whoops/src/Whoops/Exception/Inspector.php | 341 + .../src/Whoops/Handler/CallbackHandler.php | 52 + .../whoops/src/Whoops/Handler/Handler.php | 95 + .../src/Whoops/Handler/HandlerInterface.php | 36 + .../Whoops/Handler/JsonResponseHandler.php | 90 + .../src/Whoops/Handler/PlainTextHandler.php | 359 + .../src/Whoops/Handler/PrettyPageHandler.php | 834 + .../src/Whoops/Handler/XmlResponseHandler.php | 108 + .../src/Whoops/Inspector/InspectorFactory.php | 21 + .../Inspector/InspectorFactoryInterface.php | 16 + .../Whoops/Inspector/InspectorInterface.php | 71 + .../whoops/src/Whoops/Resources/css/prism.css | 5 + .../src/Whoops/Resources/css/whoops.base.css | 564 + .../src/Whoops/Resources/js/clipboard.min.js | 7 + .../whoops/src/Whoops/Resources/js/prism.js | 8 + .../src/Whoops/Resources/js/whoops.base.js | 215 + .../src/Whoops/Resources/js/zepto.min.js | 2 + .../Resources/views/env_details.html.php | 42 + .../Resources/views/frame_code.html.php | 67 + .../Resources/views/frame_list.html.php | 17 + .../Resources/views/frames_container.html.php | 3 + .../views/frames_description.html.php | 14 + .../Whoops/Resources/views/header.html.php | 96 + .../Resources/views/header_outer.html.php | 3 + .../Whoops/Resources/views/layout.html.php | 34 + .../Resources/views/panel_details.html.php | 2 + .../views/panel_details_outer.html.php | 3 + .../Resources/views/panel_left.html.php | 4 + .../Resources/views/panel_left_outer.html.php | 3 + kirby/vendor/filp/whoops/src/Whoops/Run.php | 607 + .../filp/whoops/src/Whoops/RunInterface.php | 158 + .../src/Whoops/Util/HtmlDumperOutput.php | 36 + .../filp/whoops/src/Whoops/Util/Misc.php | 77 + .../whoops/src/Whoops/Util/SystemFacade.php | 144 + .../whoops/src/Whoops/Util/TemplateHelper.php | 349 + .../laminas/laminas-escaper/COPYRIGHT.md | 1 + .../vendor/laminas/laminas-escaper/LICENSE.md | 26 + .../laminas/laminas-escaper/composer.json | 67 + .../laminas/laminas-escaper/src/Escaper.php | 397 + .../laminas-escaper/src/EscaperInterface.php | 58 + .../src/Exception/ExceptionInterface.php | 11 + .../Exception/InvalidArgumentException.php | 13 + .../src/Exception/RuntimeException.php | 13 + kirby/vendor/league/color-extractor/LICENSE | 21 + .../league/color-extractor/composer.json | 40 + .../league/color-extractor/src/Color.php | 51 + .../color-extractor/src/ColorExtractor.php | 282 + .../league/color-extractor/src/Palette.php | 180 + .../vendor/michelf/php-smartypants/License.md | 36 + .../Michelf/SmartyPants.inc.php | 9 + .../php-smartypants/Michelf/SmartyPants.php | 560 + .../Michelf/SmartyPantsTypographer.inc.php | 10 + .../Michelf/SmartyPantsTypographer.php | 486 + .../michelf/php-smartypants/composer.json | 26 + kirby/vendor/phpmailer/phpmailer/LICENSE | 502 + .../vendor/phpmailer/phpmailer/composer.json | 84 + .../phpmailer/phpmailer/get_oauth_token.php | 182 + .../phpmailer/language/phpmailer.lang-af.php | 26 + .../phpmailer/language/phpmailer.lang-ar.php | 27 + .../phpmailer/language/phpmailer.lang-as.php | 35 + .../phpmailer/language/phpmailer.lang-az.php | 27 + .../phpmailer/language/phpmailer.lang-ba.php | 27 + .../phpmailer/language/phpmailer.lang-be.php | 27 + .../phpmailer/language/phpmailer.lang-bg.php | 27 + .../phpmailer/language/phpmailer.lang-bn.php | 35 + .../phpmailer/language/phpmailer.lang-ca.php | 27 + .../phpmailer/language/phpmailer.lang-cs.php | 28 + .../phpmailer/language/phpmailer.lang-da.php | 39 + .../phpmailer/language/phpmailer.lang-de.php | 28 + .../phpmailer/language/phpmailer.lang-el.php | 33 + .../phpmailer/language/phpmailer.lang-eo.php | 37 + .../phpmailer/language/phpmailer.lang-es.php | 38 + .../phpmailer/language/phpmailer.lang-et.php | 28 + .../phpmailer/language/phpmailer.lang-fa.php | 28 + .../phpmailer/language/phpmailer.lang-fi.php | 27 + .../phpmailer/language/phpmailer.lang-fo.php | 27 + .../phpmailer/language/phpmailer.lang-fr.php | 36 + .../phpmailer/language/phpmailer.lang-gl.php | 27 + .../phpmailer/language/phpmailer.lang-he.php | 27 + .../phpmailer/language/phpmailer.lang-hi.php | 35 + .../phpmailer/language/phpmailer.lang-hr.php | 27 + .../phpmailer/language/phpmailer.lang-hu.php | 27 + .../phpmailer/language/phpmailer.lang-hy.php | 27 + .../phpmailer/language/phpmailer.lang-id.php | 31 + .../phpmailer/language/phpmailer.lang-it.php | 28 + .../phpmailer/language/phpmailer.lang-ja.php | 37 + .../phpmailer/language/phpmailer.lang-ka.php | 27 + .../phpmailer/language/phpmailer.lang-ko.php | 27 + .../phpmailer/language/phpmailer.lang-ku.php | 27 + .../phpmailer/language/phpmailer.lang-lt.php | 27 + .../phpmailer/language/phpmailer.lang-lv.php | 27 + .../phpmailer/language/phpmailer.lang-mg.php | 27 + .../phpmailer/language/phpmailer.lang-mn.php | 27 + .../phpmailer/language/phpmailer.lang-ms.php | 27 + .../phpmailer/language/phpmailer.lang-nb.php | 37 + .../phpmailer/language/phpmailer.lang-nl.php | 38 + .../phpmailer/language/phpmailer.lang-pl.php | 33 + .../phpmailer/language/phpmailer.lang-pt.php | 34 + .../language/phpmailer.lang-pt_br.php | 38 + .../phpmailer/language/phpmailer.lang-ro.php | 33 + .../phpmailer/language/phpmailer.lang-ru.php | 36 + .../phpmailer/language/phpmailer.lang-si.php | 34 + .../phpmailer/language/phpmailer.lang-sk.php | 30 + .../phpmailer/language/phpmailer.lang-sl.php | 36 + .../phpmailer/language/phpmailer.lang-sr.php | 28 + .../language/phpmailer.lang-sr_latn.php | 28 + .../phpmailer/language/phpmailer.lang-sv.php | 27 + .../phpmailer/language/phpmailer.lang-tl.php | 28 + .../phpmailer/language/phpmailer.lang-tr.php | 38 + .../phpmailer/language/phpmailer.lang-uk.php | 28 + .../phpmailer/language/phpmailer.lang-ur.php | 30 + .../phpmailer/language/phpmailer.lang-vi.php | 27 + .../phpmailer/language/phpmailer.lang-zh.php | 29 + .../language/phpmailer.lang-zh_cn.php | 36 + .../phpmailer/src/DSNConfigurator.php | 245 + .../phpmailer/phpmailer/src/Exception.php | 40 + .../vendor/phpmailer/phpmailer/src/OAuth.php | 139 + .../phpmailer/src/OAuthTokenProvider.php | 44 + .../phpmailer/phpmailer/src/PHPMailer.php | 5476 +++ kirby/vendor/phpmailer/phpmailer/src/POP3.php | 470 + kirby/vendor/phpmailer/phpmailer/src/SMTP.php | 1597 + kirby/vendor/psr/log/LICENSE | 19 + kirby/vendor/psr/log/composer.json | 26 + kirby/vendor/psr/log/src/AbstractLogger.php | 15 + .../psr/log/src/InvalidArgumentException.php | 7 + kirby/vendor/psr/log/src/LogLevel.php | 18 + .../psr/log/src/LoggerAwareInterface.php | 14 + kirby/vendor/psr/log/src/LoggerAwareTrait.php | 22 + kirby/vendor/psr/log/src/LoggerInterface.php | 98 + kirby/vendor/psr/log/src/LoggerTrait.php | 98 + kirby/vendor/psr/log/src/NullLogger.php | 26 + .../symfony/deprecation-contracts/LICENSE | 19 + .../deprecation-contracts/composer.json | 35 + .../deprecation-contracts/function.php | 27 + kirby/vendor/symfony/polyfill-ctype/Ctype.php | 232 + kirby/vendor/symfony/polyfill-ctype/LICENSE | 19 + .../symfony/polyfill-ctype/bootstrap.php | 50 + .../symfony/polyfill-ctype/bootstrap80.php | 46 + .../symfony/polyfill-ctype/composer.json | 38 + .../vendor/symfony/polyfill-intl-idn/Idn.php | 941 + .../vendor/symfony/polyfill-intl-idn/Info.php | 23 + .../vendor/symfony/polyfill-intl-idn/LICENSE | 19 + .../Resources/unidata/DisallowedRanges.php | 384 + .../Resources/unidata/Regex.php | 33 + .../Resources/unidata/deviation.php | 8 + .../Resources/unidata/disallowed.php | 2638 ++ .../unidata/disallowed_STD3_mapped.php | 308 + .../unidata/disallowed_STD3_valid.php | 71 + .../Resources/unidata/ignored.php | 273 + .../Resources/unidata/mapped.php | 5778 +++ .../Resources/unidata/virama.php | 65 + .../symfony/polyfill-intl-idn/bootstrap.php | 145 + .../symfony/polyfill-intl-idn/bootstrap80.php | 125 + .../symfony/polyfill-intl-idn/composer.json | 40 + .../symfony/polyfill-intl-normalizer/LICENSE | 19 + .../polyfill-intl-normalizer/Normalizer.php | 310 + .../Resources/stubs/Normalizer.php | 17 + .../unidata/canonicalComposition.php | 945 + .../unidata/canonicalDecomposition.php | 2065 + .../Resources/unidata/combiningClass.php | 876 + .../unidata/compatibilityDecomposition.php | 3695 ++ .../polyfill-intl-normalizer/bootstrap.php | 23 + .../polyfill-intl-normalizer/bootstrap80.php | 19 + .../polyfill-intl-normalizer/composer.json | 36 + .../vendor/symfony/polyfill-mbstring/LICENSE | 19 + .../symfony/polyfill-mbstring/Mbstring.php | 1045 + .../Resources/unidata/caseFolding.php | 119 + .../Resources/unidata/lowerCase.php | 1397 + .../Resources/unidata/titleCaseRegexp.php | 5 + .../Resources/unidata/upperCase.php | 1489 + .../symfony/polyfill-mbstring/bootstrap.php | 172 + .../symfony/polyfill-mbstring/bootstrap80.php | 167 + .../symfony/polyfill-mbstring/composer.json | 39 + .../symfony/yaml/Command/LintCommand.php | 277 + kirby/vendor/symfony/yaml/Dumper.php | 184 + kirby/vendor/symfony/yaml/Escaper.php | 97 + .../symfony/yaml/Exception/DumpException.php | 21 + .../yaml/Exception/ExceptionInterface.php | 21 + .../symfony/yaml/Exception/ParseException.php | 121 + .../yaml/Exception/RuntimeException.php | 21 + kirby/vendor/symfony/yaml/Inline.php | 858 + kirby/vendor/symfony/yaml/LICENSE | 19 + kirby/vendor/symfony/yaml/Parser.php | 1279 + .../symfony/yaml/Resources/bin/yaml-lint | 54 + kirby/vendor/symfony/yaml/Tag/TaggedValue.php | 35 + kirby/vendor/symfony/yaml/Unescaper.php | 108 + kirby/vendor/symfony/yaml/Yaml.php | 100 + kirby/vendor/symfony/yaml/composer.json | 39 + kirby/views/browser.php | 21 + kirby/views/fatal.php | 11 + kirby/views/panel.php | 81 + kirby/views/php.php | 11 + kirby/views/snippets/footer.php | 2 + kirby/views/snippets/header.php | 42 + site/accounts/index.html | 0 site/blueprints/blocks/blank.yml | 4 + site/blueprints/blocks/break.yml | 4 + site/blueprints/blocks/fullpageimage.yml | 45 + site/blueprints/blocks/image.yml | 60 + site/blueprints/blocks/interview.yml | 25 + site/blueprints/blocks/spreadimage.yml | 47 + site/blueprints/blocks/text.yml | 9 + site/blueprints/blocks/video.yml | 39 + site/blueprints/files/default.yml | 20 + site/blueprints/pages/chapitre.yml | 46 + site/blueprints/pages/default.yml | 35 + site/blueprints/pages/home.yml | 21 + site/blueprints/pages/print.yml | 9 + site/blueprints/site.yml | 83 + site/config/config.php | 67 + site/plugins/notes-tag/index.php | 17 + site/sessions/index.html | 0 site/snippets/blocks/blank.php | 2 + site/snippets/blocks/break.php | 2 + site/snippets/blocks/fullpageimage.php | 27 + site/snippets/blocks/gallery.php | 22 + site/snippets/blocks/image.php | 39 + site/snippets/blocks/interview.php | 4 + site/snippets/blocks/spreadimage.php | 27 + site/snippets/blocks/text.php | 3 + site/snippets/blocks/video.php | 30 + site/snippets/footer.php | 3 + site/snippets/head.php | 78 + site/snippets/header.php | 5 + site/snippets/item.php | 23 + site/snippets/logo.php | 13 + site/snippets/nav.php | 38 + site/templates/default.php | 15 + site/templates/home.php | 23 + site/templates/print.php | 35 + 1108 files changed, 330121 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .htaccess create mode 100644 README.md create mode 100644 assets/css/libs/flexboxgrid.css create mode 100644 assets/css/libs/glightbox.min.css create mode 100644 assets/css/main.css create mode 100644 assets/css/print-template.css create mode 100644 assets/css/print.css create mode 100644 assets/css/reset.css create mode 100644 assets/css/responsive.css create mode 100644 assets/css/variables.css create mode 100644 assets/css/web.css create mode 100644 assets/csspageweaver/.gitignore create mode 100644 assets/csspageweaver/.gitlab-ci.yml create mode 100644 assets/csspageweaver/README.md create mode 100644 assets/csspageweaver/interface/css/grid.css create mode 100644 assets/csspageweaver/interface/css/interface.css create mode 100644 assets/csspageweaver/interface/css/panel.css create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff2 create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Medium.woff create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Medium.woff2 create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-MediumItalic.woff create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-MediumItalic.woff2 create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Regular.woff create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Regular.woff2 create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBold.woff create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBold.woff2 create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBoldItalic.woff create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBoldItalic.woff2 create mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/stylesheet.css create mode 100644 assets/csspageweaver/lib/csstree.min.js create mode 100644 assets/csspageweaver/lib/paged.esm.js create mode 100644 assets/csspageweaver/main.js create mode 100644 assets/csspageweaver/manifest.json create mode 100644 assets/csspageweaver/modules/dict.js create mode 100644 assets/csspageweaver/modules/frame_render.js create mode 100644 assets/csspageweaver/modules/gui.js create mode 100644 assets/csspageweaver/modules/pre_render.js create mode 100644 assets/csspageweaver/modules/render.js create mode 100644 assets/csspageweaver/plugins/.gitignore create mode 100644 assets/csspageweaver/plugins/baseline/.gitignore create mode 100644 assets/csspageweaver/plugins/baseline/README.md create mode 100644 assets/csspageweaver/plugins/baseline/baseline.css create mode 100644 assets/csspageweaver/plugins/baseline/baseline.js create mode 100644 assets/csspageweaver/plugins/baseline/config.json create mode 100644 assets/csspageweaver/plugins/baseline/template.html create mode 100644 assets/csspageweaver/plugins/beauDrapeau/.gitignore create mode 100644 assets/csspageweaver/plugins/beauDrapeau/ReadMe.md create mode 100644 assets/csspageweaver/plugins/beauDrapeau/beauDrapeau-data.js create mode 100644 assets/csspageweaver/plugins/beauDrapeau/beauDrapeau-hook.js create mode 100644 assets/csspageweaver/plugins/beauDrapeau/beauDrapeau-script.js create mode 100644 assets/csspageweaver/plugins/beauDrapeau/beauDrapeau.js create mode 100644 assets/csspageweaver/plugins/beauDrapeau/config.json create mode 100644 assets/csspageweaver/plugins/createIndex/config.json create mode 100644 assets/csspageweaver/plugins/createIndex/createIndex.js create mode 100644 assets/csspageweaver/plugins/footnotesFix/.gitignore create mode 100644 assets/csspageweaver/plugins/footnotesFix/README.md create mode 100644 assets/csspageweaver/plugins/footnotesFix/config.json create mode 100644 assets/csspageweaver/plugins/footnotesFix/footnotes.css create mode 100644 assets/csspageweaver/plugins/footnotesFix/footnotes.js create mode 100644 assets/csspageweaver/plugins/fullPage/.gitignore create mode 100755 assets/csspageweaver/plugins/fullPage/README.md create mode 100644 assets/csspageweaver/plugins/fullPage/config.json create mode 100644 assets/csspageweaver/plugins/fullPage/fullPage.css create mode 100644 assets/csspageweaver/plugins/fullPage/fullPage.js create mode 100644 assets/csspageweaver/plugins/grid/.gitignore create mode 100644 assets/csspageweaver/plugins/grid/README.md create mode 100644 assets/csspageweaver/plugins/grid/config.json create mode 100644 assets/csspageweaver/plugins/grid/grid-hook.js create mode 100644 assets/csspageweaver/plugins/grid/grid-ui.js create mode 100644 assets/csspageweaver/plugins/grid/grid.css create mode 100644 assets/csspageweaver/plugins/imposition/.gitignore create mode 100644 assets/csspageweaver/plugins/imposition/config.json create mode 100644 assets/csspageweaver/plugins/imposition/index.js create mode 100644 assets/csspageweaver/plugins/imposition/stylesheet.css create mode 100644 assets/csspageweaver/plugins/imposition/template.html create mode 100644 assets/csspageweaver/plugins/marginBox/.gitignore create mode 100644 assets/csspageweaver/plugins/marginBox/config.json create mode 100644 assets/csspageweaver/plugins/marginBox/marginBox.css create mode 100644 assets/csspageweaver/plugins/marginBox/marginBox.js create mode 100644 assets/csspageweaver/plugins/marginNotes/.gitignore create mode 100644 assets/csspageweaver/plugins/marginNotes/README.md create mode 100644 assets/csspageweaver/plugins/marginNotes/config.json create mode 100644 assets/csspageweaver/plugins/marginNotes/marginNotes.js create mode 100644 assets/csspageweaver/plugins/previewPage/.gitignore create mode 100644 assets/csspageweaver/plugins/previewPage/config.json create mode 100644 assets/csspageweaver/plugins/previewPage/event.js create mode 100644 assets/csspageweaver/plugins/previewPage/stylesheet.css create mode 100644 assets/csspageweaver/plugins/previewPage/template.html create mode 100644 assets/csspageweaver/plugins/regexTypo/.gitignore create mode 100644 assets/csspageweaver/plugins/regexTypo/config.json create mode 100644 assets/csspageweaver/plugins/regexTypo/regexTypo-hook.js create mode 100644 assets/csspageweaver/plugins/regexTypo/regexTypo.js create mode 100644 assets/csspageweaver/plugins/reloadInPlace/.gitignore create mode 100644 assets/csspageweaver/plugins/reloadInPlace/Readme.md create mode 100644 assets/csspageweaver/plugins/reloadInPlace/config.json create mode 100644 assets/csspageweaver/plugins/reloadInPlace/reloadInPlace.js create mode 100644 assets/csspageweaver/plugins/spread/.gitignore create mode 100644 assets/csspageweaver/plugins/spread/config.json create mode 100644 assets/csspageweaver/plugins/spread/spread-hook.js create mode 100644 assets/csspageweaver/plugins/spread/spread-ui.js create mode 100644 assets/csspageweaver/plugins/spread/spread.css create mode 100644 assets/csspageweaver/plugins/spread/spread.html create mode 100644 assets/csspageweaver/plugins/tableOfContent/.gitignore create mode 100755 assets/csspageweaver/plugins/tableOfContent/README.md create mode 100644 assets/csspageweaver/plugins/tableOfContent/config.json create mode 100644 assets/csspageweaver/plugins/tableOfContent/tableOfContent.css create mode 100644 assets/csspageweaver/plugins/tableOfContent/tableOfContent.js create mode 100644 assets/fonts/stylesheet.css create mode 100644 assets/js/glightbox.min.js create mode 100644 assets/js/main.js create mode 100644 assets/js/plugins/createIndex-hook.js create mode 100644 assets/js/plugins/createIndex.js create mode 100644 assets/js/plugins/csstree.js create mode 100644 assets/js/plugins/fix-justif.js create mode 100644 assets/js/plugins/full-page.js create mode 100644 assets/js/plugins/fullpage.js create mode 100644 assets/js/plugins/imposition.js create mode 100644 assets/js/plugins/margin-notes.js create mode 100755 assets/js/plugins/ragadjust-hook.js create mode 100755 assets/js/plugins/ragadjust.js create mode 100644 assets/js/plugins/regex-typo-hook.js create mode 100644 assets/js/plugins/regex-typo.js create mode 100644 assets/js/plugins/smartquote.js create mode 100644 assets/js/plugins/toc.js create mode 100644 assets/pagedjs/IBMPlex/IBMPlexMono-Text.woff create mode 100644 assets/pagedjs/IBMPlex/IBMPlexMono-Text.woff2 create mode 100644 assets/pagedjs/IBMPlex/IBMPlexMono-TextItalic.woff create mode 100644 assets/pagedjs/IBMPlex/IBMPlexMono-TextItalic.woff2 create mode 100644 assets/pagedjs/icon-preview.svg create mode 100644 assets/pagedjs/icon-printer.svg create mode 100644 assets/pagedjs/interface-header.css create mode 100644 assets/pagedjs/interface.css create mode 100644 assets/pagedjs/interface.html create mode 100644 assets/pagedjs/interface.js create mode 100644 assets/pagedjs/paged-new.js create mode 100644 assets/pagedjs/paged.js create mode 100644 assets/pagedjs/reload-in-place.js create mode 100644 composer.json create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/3l7a3616.jpg create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/3l7a3616.jpg.txt create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/chapitre.txt create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/planche-test.jpg create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/planche-test.jpg.txt create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/selection_widmer_0002_img_8143.jpg create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/selection_widmer_0002_img_8143.jpg.txt create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/selection_widmer_0005_img_6744.jpg create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/selection_widmer_0005_img_6744.jpg.txt create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/selection_widmer_0033_sans-titre-1.jpg create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/selection_widmer_0033_sans-titre-1.jpg.txt create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/selection_widmer_0035_71313880_10156307790512175_295213928550498304_o.jpg create mode 100644 content/1_jean-widmer-quand-on-a-une-idee-il-faut-la-realiser-meme-si-on-sait-qu-elle-ne-fonctionnera-pas/selection_widmer_0035_71313880_10156307790512175_295213928550498304_o.jpg.txt create mode 100644 content/2_la-ville-des-numeros-un-images-de-milano-2/chapitre.txt create mode 100644 content/2_la-ville-des-numeros-un-images-de-milano-2/duetesto1.jpg create mode 100644 content/2_la-ville-des-numeros-un-images-de-milano-2/duetesto1.jpg.txt create mode 100644 content/2_la-ville-des-numeros-un-images-de-milano-2/duetesto11.jpg create mode 100644 content/2_la-ville-des-numeros-un-images-de-milano-2/duetesto11.jpg.txt create mode 100644 content/2_la-ville-des-numeros-un-images-de-milano-2/duetesto3.jpg create mode 100644 content/2_la-ville-des-numeros-un-images-de-milano-2/duetesto3.jpg.txt create mode 100644 content/error/error.txt create mode 100644 content/home/home.txt create mode 100644 content/print/print.txt create mode 100644 content/site.txt create mode 100644 index.php create mode 100644 kirby/.editorconfig create mode 100644 kirby/CONTRIBUTING.md create mode 100644 kirby/LICENSE.md create mode 100644 kirby/README.md create mode 100644 kirby/SECURITY.md create mode 100644 kirby/assets/whoops.css create mode 100644 kirby/bootstrap.php create mode 100644 kirby/cacert.pem create mode 100644 kirby/composer.json create mode 100644 kirby/composer.lock create mode 100644 kirby/config/aliases.php create mode 100644 kirby/config/api/authentication.php create mode 100644 kirby/config/api/collections.php create mode 100644 kirby/config/api/models.php create mode 100644 kirby/config/api/models/File.php create mode 100644 kirby/config/api/models/FileBlueprint.php create mode 100644 kirby/config/api/models/FileVersion.php create mode 100644 kirby/config/api/models/Language.php create mode 100644 kirby/config/api/models/License.php create mode 100644 kirby/config/api/models/Page.php create mode 100644 kirby/config/api/models/PageBlueprint.php create mode 100644 kirby/config/api/models/Role.php create mode 100644 kirby/config/api/models/Site.php create mode 100644 kirby/config/api/models/SiteBlueprint.php create mode 100644 kirby/config/api/models/System.php create mode 100644 kirby/config/api/models/Translation.php create mode 100644 kirby/config/api/models/User.php create mode 100644 kirby/config/api/models/UserBlueprint.php create mode 100644 kirby/config/api/routes.php create mode 100644 kirby/config/api/routes/auth.php create mode 100644 kirby/config/api/routes/changes.php create mode 100644 kirby/config/api/routes/files.php create mode 100644 kirby/config/api/routes/kql.php create mode 100644 kirby/config/api/routes/languages.php create mode 100644 kirby/config/api/routes/pages.php create mode 100644 kirby/config/api/routes/roles.php create mode 100644 kirby/config/api/routes/site.php create mode 100644 kirby/config/api/routes/system.php create mode 100644 kirby/config/api/routes/translations.php create mode 100644 kirby/config/api/routes/users.php create mode 100644 kirby/config/areas/account.php create mode 100644 kirby/config/areas/account/buttons.php create mode 100644 kirby/config/areas/account/dialogs.php create mode 100644 kirby/config/areas/account/drawers.php create mode 100644 kirby/config/areas/account/dropdowns.php create mode 100644 kirby/config/areas/account/views.php create mode 100644 kirby/config/areas/fields/dialogs.php create mode 100644 kirby/config/areas/fields/drawers.php create mode 100644 kirby/config/areas/files/buttons.php create mode 100644 kirby/config/areas/files/dialogs.php create mode 100644 kirby/config/areas/files/dropdowns.php create mode 100644 kirby/config/areas/installation.php create mode 100644 kirby/config/areas/lab.php create mode 100644 kirby/config/areas/lab/dialogs.php create mode 100644 kirby/config/areas/lab/drawers.php create mode 100644 kirby/config/areas/lab/requests.php create mode 100644 kirby/config/areas/lab/views.php create mode 100644 kirby/config/areas/languages.php create mode 100644 kirby/config/areas/languages/buttons.php create mode 100644 kirby/config/areas/languages/dialogs.php create mode 100644 kirby/config/areas/languages/views.php create mode 100644 kirby/config/areas/login.php create mode 100644 kirby/config/areas/logout.php create mode 100644 kirby/config/areas/search.php create mode 100644 kirby/config/areas/search/views.php create mode 100644 kirby/config/areas/site.php create mode 100644 kirby/config/areas/site/buttons.php create mode 100644 kirby/config/areas/site/dialogs.php create mode 100644 kirby/config/areas/site/drawers.php create mode 100644 kirby/config/areas/site/dropdowns.php create mode 100644 kirby/config/areas/site/requests.php create mode 100644 kirby/config/areas/site/searches.php create mode 100644 kirby/config/areas/site/views.php create mode 100644 kirby/config/areas/system.php create mode 100644 kirby/config/areas/system/dialogs.php create mode 100644 kirby/config/areas/system/views.php create mode 100644 kirby/config/areas/users.php create mode 100644 kirby/config/areas/users/buttons.php create mode 100644 kirby/config/areas/users/dialogs.php create mode 100644 kirby/config/areas/users/drawers.php create mode 100644 kirby/config/areas/users/dropdowns.php create mode 100644 kirby/config/areas/users/searches.php create mode 100644 kirby/config/areas/users/views.php create mode 100644 kirby/config/blocks/code/code.php create mode 100644 kirby/config/blocks/code/code.yml create mode 100644 kirby/config/blocks/gallery/gallery.php create mode 100644 kirby/config/blocks/gallery/gallery.yml create mode 100644 kirby/config/blocks/heading/heading.php create mode 100644 kirby/config/blocks/heading/heading.yml create mode 100644 kirby/config/blocks/image/image.php create mode 100644 kirby/config/blocks/image/image.yml create mode 100644 kirby/config/blocks/line/line.php create mode 100644 kirby/config/blocks/line/line.yml create mode 100644 kirby/config/blocks/list/list.php create mode 100644 kirby/config/blocks/list/list.yml create mode 100644 kirby/config/blocks/markdown/markdown.php create mode 100644 kirby/config/blocks/markdown/markdown.yml create mode 100644 kirby/config/blocks/quote/quote.php create mode 100644 kirby/config/blocks/quote/quote.yml create mode 100644 kirby/config/blocks/table/table.yml create mode 100644 kirby/config/blocks/text/text.php create mode 100644 kirby/config/blocks/text/text.yml create mode 100644 kirby/config/blocks/video/video.php create mode 100644 kirby/config/blocks/video/video.yml create mode 100644 kirby/config/components.php create mode 100644 kirby/config/fields/checkboxes.php create mode 100644 kirby/config/fields/color.php create mode 100644 kirby/config/fields/date.php create mode 100644 kirby/config/fields/email.php create mode 100644 kirby/config/fields/files.php create mode 100644 kirby/config/fields/gap.php create mode 100644 kirby/config/fields/headline.php create mode 100644 kirby/config/fields/hidden.php create mode 100644 kirby/config/fields/info.php create mode 100644 kirby/config/fields/line.php create mode 100644 kirby/config/fields/link.php create mode 100644 kirby/config/fields/list.php create mode 100644 kirby/config/fields/mixins/datetime.php create mode 100644 kirby/config/fields/mixins/filepicker.php create mode 100644 kirby/config/fields/mixins/layout.php create mode 100644 kirby/config/fields/mixins/min.php create mode 100644 kirby/config/fields/mixins/options.php create mode 100644 kirby/config/fields/mixins/pagepicker.php create mode 100644 kirby/config/fields/mixins/picker.php create mode 100644 kirby/config/fields/mixins/upload.php create mode 100644 kirby/config/fields/mixins/userpicker.php create mode 100644 kirby/config/fields/multiselect.php create mode 100644 kirby/config/fields/number.php create mode 100644 kirby/config/fields/object.php create mode 100644 kirby/config/fields/pages.php create mode 100644 kirby/config/fields/radio.php create mode 100644 kirby/config/fields/range.php create mode 100644 kirby/config/fields/select.php create mode 100644 kirby/config/fields/slug.php create mode 100644 kirby/config/fields/structure.php create mode 100644 kirby/config/fields/tags.php create mode 100644 kirby/config/fields/tel.php create mode 100644 kirby/config/fields/text.php create mode 100644 kirby/config/fields/textarea.php create mode 100644 kirby/config/fields/time.php create mode 100644 kirby/config/fields/toggle.php create mode 100644 kirby/config/fields/toggles.php create mode 100644 kirby/config/fields/url.php create mode 100644 kirby/config/fields/users.php create mode 100644 kirby/config/fields/writer.php create mode 100644 kirby/config/helpers.php create mode 100644 kirby/config/methods.php create mode 100644 kirby/config/presets/files.php create mode 100644 kirby/config/presets/page.php create mode 100644 kirby/config/presets/pages.php create mode 100644 kirby/config/routes.php create mode 100644 kirby/config/sections/fields.php create mode 100644 kirby/config/sections/files.php create mode 100644 kirby/config/sections/info.php create mode 100644 kirby/config/sections/mixins/batch.php create mode 100644 kirby/config/sections/mixins/details.php create mode 100644 kirby/config/sections/mixins/empty.php create mode 100644 kirby/config/sections/mixins/headline.php create mode 100644 kirby/config/sections/mixins/help.php create mode 100644 kirby/config/sections/mixins/layout.php create mode 100644 kirby/config/sections/mixins/max.php create mode 100644 kirby/config/sections/mixins/min.php create mode 100644 kirby/config/sections/mixins/pagination.php create mode 100644 kirby/config/sections/mixins/parent.php create mode 100644 kirby/config/sections/mixins/search.php create mode 100644 kirby/config/sections/mixins/sort.php create mode 100644 kirby/config/sections/pages.php create mode 100644 kirby/config/sections/stats.php create mode 100644 kirby/config/setup.php create mode 100644 kirby/config/tags.php create mode 100644 kirby/config/templates/emails/auth/login.php create mode 100644 kirby/config/templates/emails/auth/password-reset.php create mode 100644 kirby/dependencies/parsedown-extra/ParsedownExtra.php create mode 100644 kirby/dependencies/parsedown/Parsedown.php create mode 100644 kirby/dependencies/spyc/COPYING create mode 100644 kirby/dependencies/spyc/Spyc.php create mode 100644 kirby/i18n/rules/LICENSE create mode 100644 kirby/i18n/rules/ar.json create mode 100644 kirby/i18n/rules/az.json create mode 100644 kirby/i18n/rules/bg.json create mode 100644 kirby/i18n/rules/cs.json create mode 100644 kirby/i18n/rules/da.json create mode 100644 kirby/i18n/rules/de.json create mode 100644 kirby/i18n/rules/el.json create mode 100644 kirby/i18n/rules/eo.json create mode 100644 kirby/i18n/rules/et.json create mode 100644 kirby/i18n/rules/fa.json create mode 100644 kirby/i18n/rules/fi.json create mode 100644 kirby/i18n/rules/fr.json create mode 100644 kirby/i18n/rules/hi.json create mode 100644 kirby/i18n/rules/hr.json create mode 100644 kirby/i18n/rules/hu.json create mode 100644 kirby/i18n/rules/hy.json create mode 100644 kirby/i18n/rules/is_IS.json create mode 100644 kirby/i18n/rules/it.json create mode 100644 kirby/i18n/rules/iu.json create mode 100644 kirby/i18n/rules/ja.json create mode 100644 kirby/i18n/rules/ka.json create mode 100644 kirby/i18n/rules/ko.json create mode 100644 kirby/i18n/rules/lt.json create mode 100644 kirby/i18n/rules/lv.json create mode 100644 kirby/i18n/rules/mk.json create mode 100644 kirby/i18n/rules/my.json create mode 100644 kirby/i18n/rules/nb.json create mode 100644 kirby/i18n/rules/pl.json create mode 100644 kirby/i18n/rules/pt_BR.json create mode 100644 kirby/i18n/rules/ro.json create mode 100644 kirby/i18n/rules/ru.json create mode 100644 kirby/i18n/rules/sr.json create mode 100644 kirby/i18n/rules/sv_SE.json create mode 100644 kirby/i18n/rules/tr.json create mode 100644 kirby/i18n/rules/uk.json create mode 100644 kirby/i18n/rules/vi.json create mode 100644 kirby/i18n/rules/zh.json create mode 100644 kirby/i18n/translations/bg.json create mode 100644 kirby/i18n/translations/bs.json create mode 100644 kirby/i18n/translations/ca.json create mode 100644 kirby/i18n/translations/cs.json create mode 100644 kirby/i18n/translations/da.json create mode 100644 kirby/i18n/translations/de.json create mode 100644 kirby/i18n/translations/el.json create mode 100644 kirby/i18n/translations/en.json create mode 100644 kirby/i18n/translations/eo.json create mode 100644 kirby/i18n/translations/es_419.json create mode 100644 kirby/i18n/translations/es_ES.json create mode 100644 kirby/i18n/translations/fa.json create mode 100644 kirby/i18n/translations/fi.json create mode 100644 kirby/i18n/translations/fr.json create mode 100644 kirby/i18n/translations/hu.json create mode 100644 kirby/i18n/translations/id.json create mode 100644 kirby/i18n/translations/is_IS.json create mode 100644 kirby/i18n/translations/it.json create mode 100644 kirby/i18n/translations/ko.json create mode 100644 kirby/i18n/translations/lt.json create mode 100644 kirby/i18n/translations/nb.json create mode 100644 kirby/i18n/translations/nl.json create mode 100644 kirby/i18n/translations/pl.json create mode 100644 kirby/i18n/translations/pt_BR.json create mode 100644 kirby/i18n/translations/pt_PT.json create mode 100644 kirby/i18n/translations/ro.json create mode 100644 kirby/i18n/translations/ru.json create mode 100644 kirby/i18n/translations/sk.json create mode 100644 kirby/i18n/translations/sr@latin.json create mode 100644 kirby/i18n/translations/sv_SE.json create mode 100644 kirby/i18n/translations/tr.json create mode 100644 kirby/i18n/translations/zh_TW.json create mode 100644 kirby/kirby.pub create mode 100644 kirby/panel/dist/apple-touch-icon-dark.png create mode 100644 kirby/panel/dist/apple-touch-icon.png create mode 100644 kirby/panel/dist/css/style.min.css create mode 100644 kirby/panel/dist/favicon-dark.png create mode 100644 kirby/panel/dist/favicon.png create mode 100644 kirby/panel/dist/favicon.svg create mode 100644 kirby/panel/dist/img/icons.svg create mode 100644 kirby/panel/dist/js/Docs.min.js create mode 100644 kirby/panel/dist/js/DocsView.min.js create mode 100644 kirby/panel/dist/js/Highlight.min.js create mode 100644 kirby/panel/dist/js/IndexView.min.js create mode 100644 kirby/panel/dist/js/PlaygroundView.min.js create mode 100644 kirby/panel/dist/js/index.min.js create mode 100644 kirby/panel/dist/js/plugins.js create mode 100644 kirby/panel/dist/js/sortable.min.js create mode 100644 kirby/panel/dist/js/vendor.min.js create mode 100644 kirby/panel/dist/js/vue.esm.browser.js create mode 100644 kirby/panel/dist/js/vue.esm.browser.min.js create mode 100644 kirby/panel/dist/js/vue.runtime.esm.min.js create mode 100644 kirby/router.php create mode 100644 kirby/src/Api/Api.php create mode 100644 kirby/src/Api/Collection.php create mode 100644 kirby/src/Api/Controller/Changes.php create mode 100644 kirby/src/Api/Model.php create mode 100644 kirby/src/Api/Upload.php create mode 100644 kirby/src/Cache/ApcuCache.php create mode 100644 kirby/src/Cache/Cache.php create mode 100644 kirby/src/Cache/FileCache.php create mode 100644 kirby/src/Cache/MemCached.php create mode 100644 kirby/src/Cache/MemoryCache.php create mode 100644 kirby/src/Cache/NullCache.php create mode 100644 kirby/src/Cache/RedisCache.php create mode 100644 kirby/src/Cache/Value.php create mode 100644 kirby/src/Cms/Api.php create mode 100644 kirby/src/Cms/App.php create mode 100644 kirby/src/Cms/AppCaches.php create mode 100644 kirby/src/Cms/AppErrors.php create mode 100644 kirby/src/Cms/AppPlugins.php create mode 100644 kirby/src/Cms/AppTranslations.php create mode 100644 kirby/src/Cms/AppUsers.php create mode 100644 kirby/src/Cms/Auth.php create mode 100644 kirby/src/Cms/Auth/Challenge.php create mode 100644 kirby/src/Cms/Auth/EmailChallenge.php create mode 100644 kirby/src/Cms/Auth/Status.php create mode 100644 kirby/src/Cms/Auth/TotpChallenge.php create mode 100644 kirby/src/Cms/Block.php create mode 100644 kirby/src/Cms/BlockConverter.php create mode 100644 kirby/src/Cms/Blocks.php create mode 100644 kirby/src/Cms/Blueprint.php create mode 100644 kirby/src/Cms/Collection.php create mode 100644 kirby/src/Cms/Collections.php create mode 100644 kirby/src/Cms/Core.php create mode 100644 kirby/src/Cms/Cors.php create mode 100644 kirby/src/Cms/Email.php create mode 100644 kirby/src/Cms/Event.php create mode 100644 kirby/src/Cms/Events.php create mode 100644 kirby/src/Cms/Fieldset.php create mode 100644 kirby/src/Cms/Fieldsets.php create mode 100644 kirby/src/Cms/File.php create mode 100644 kirby/src/Cms/FileActions.php create mode 100644 kirby/src/Cms/FileBlueprint.php create mode 100644 kirby/src/Cms/FileModifications.php create mode 100644 kirby/src/Cms/FilePermissions.php create mode 100644 kirby/src/Cms/FilePicker.php create mode 100644 kirby/src/Cms/FileRules.php create mode 100644 kirby/src/Cms/FileVersion.php create mode 100644 kirby/src/Cms/Files.php create mode 100644 kirby/src/Cms/Find.php create mode 100644 kirby/src/Cms/HasChildren.php create mode 100644 kirby/src/Cms/HasFiles.php create mode 100644 kirby/src/Cms/HasMethods.php create mode 100644 kirby/src/Cms/HasModels.php create mode 100644 kirby/src/Cms/HasSiblings.php create mode 100644 kirby/src/Cms/Helpers.php create mode 100644 kirby/src/Cms/Html.php create mode 100644 kirby/src/Cms/Ingredients.php create mode 100644 kirby/src/Cms/Item.php create mode 100644 kirby/src/Cms/Items.php create mode 100644 kirby/src/Cms/Language.php create mode 100644 kirby/src/Cms/LanguagePermissions.php create mode 100644 kirby/src/Cms/LanguageRouter.php create mode 100644 kirby/src/Cms/LanguageRoutes.php create mode 100644 kirby/src/Cms/LanguageRules.php create mode 100644 kirby/src/Cms/LanguageVariable.php create mode 100644 kirby/src/Cms/Languages.php create mode 100644 kirby/src/Cms/Layout.php create mode 100644 kirby/src/Cms/LayoutColumn.php create mode 100644 kirby/src/Cms/LayoutColumns.php create mode 100644 kirby/src/Cms/Layouts.php create mode 100644 kirby/src/Cms/License.php create mode 100644 kirby/src/Cms/LicenseStatus.php create mode 100644 kirby/src/Cms/LicenseType.php create mode 100644 kirby/src/Cms/Loader.php create mode 100644 kirby/src/Cms/Media.php create mode 100644 kirby/src/Cms/ModelCommit.php create mode 100644 kirby/src/Cms/ModelPermissions.php create mode 100644 kirby/src/Cms/ModelState.php create mode 100644 kirby/src/Cms/ModelWithContent.php create mode 100644 kirby/src/Cms/Nest.php create mode 100644 kirby/src/Cms/NestCollection.php create mode 100644 kirby/src/Cms/NestObject.php create mode 100644 kirby/src/Cms/Page.php create mode 100644 kirby/src/Cms/PageActions.php create mode 100644 kirby/src/Cms/PageBlueprint.php create mode 100644 kirby/src/Cms/PageCopy.php create mode 100644 kirby/src/Cms/PagePermissions.php create mode 100644 kirby/src/Cms/PagePicker.php create mode 100644 kirby/src/Cms/PageRules.php create mode 100644 kirby/src/Cms/PageSiblings.php create mode 100644 kirby/src/Cms/Pages.php create mode 100644 kirby/src/Cms/Pagination.php create mode 100644 kirby/src/Cms/Permissions.php create mode 100644 kirby/src/Cms/Picker.php create mode 100644 kirby/src/Cms/R.php create mode 100644 kirby/src/Cms/Responder.php create mode 100644 kirby/src/Cms/Response.php create mode 100644 kirby/src/Cms/Role.php create mode 100644 kirby/src/Cms/Roles.php create mode 100644 kirby/src/Cms/S.php create mode 100644 kirby/src/Cms/Search.php create mode 100644 kirby/src/Cms/Section.php create mode 100644 kirby/src/Cms/Site.php create mode 100644 kirby/src/Cms/SiteActions.php create mode 100644 kirby/src/Cms/SiteBlueprint.php create mode 100644 kirby/src/Cms/SitePermissions.php create mode 100644 kirby/src/Cms/SiteRules.php create mode 100644 kirby/src/Cms/Structure.php create mode 100644 kirby/src/Cms/StructureObject.php create mode 100644 kirby/src/Cms/System.php create mode 100644 kirby/src/Cms/System/UpdateStatus.php create mode 100644 kirby/src/Cms/Translation.php create mode 100644 kirby/src/Cms/Translations.php create mode 100644 kirby/src/Cms/Url.php create mode 100644 kirby/src/Cms/User.php create mode 100644 kirby/src/Cms/UserActions.php create mode 100644 kirby/src/Cms/UserBlueprint.php create mode 100644 kirby/src/Cms/UserPermissions.php create mode 100644 kirby/src/Cms/UserPicker.php create mode 100644 kirby/src/Cms/UserRules.php create mode 100644 kirby/src/Cms/Users.php create mode 100644 kirby/src/Cms/Visitor.php create mode 100644 kirby/src/Content/Changes.php create mode 100644 kirby/src/Content/Content.php create mode 100644 kirby/src/Content/Field.php create mode 100644 kirby/src/Content/ImmutableMemoryStorage.php create mode 100644 kirby/src/Content/Lock.php create mode 100644 kirby/src/Content/LockedContentException.php create mode 100644 kirby/src/Content/MemoryStorage.php create mode 100644 kirby/src/Content/PlainTextStorage.php create mode 100644 kirby/src/Content/Storage.php create mode 100644 kirby/src/Content/Translation.php create mode 100644 kirby/src/Content/Translations.php create mode 100644 kirby/src/Content/Version.php create mode 100644 kirby/src/Content/VersionCache.php create mode 100644 kirby/src/Content/VersionId.php create mode 100644 kirby/src/Content/VersionRules.php create mode 100644 kirby/src/Content/Versions.php create mode 100644 kirby/src/Data/Data.php create mode 100644 kirby/src/Data/Handler.php create mode 100644 kirby/src/Data/Json.php create mode 100644 kirby/src/Data/PHP.php create mode 100644 kirby/src/Data/Txt.php create mode 100644 kirby/src/Data/Xml.php create mode 100644 kirby/src/Data/Yaml.php create mode 100644 kirby/src/Data/YamlSpyc.php create mode 100644 kirby/src/Data/YamlSymfony.php create mode 100644 kirby/src/Database/Database.php create mode 100644 kirby/src/Database/Db.php create mode 100644 kirby/src/Database/Query.php create mode 100644 kirby/src/Database/Sql.php create mode 100644 kirby/src/Database/Sql/Mysql.php create mode 100644 kirby/src/Database/Sql/Sqlite.php create mode 100644 kirby/src/Email/Body.php create mode 100644 kirby/src/Email/Email.php create mode 100644 kirby/src/Email/PHPMailer.php create mode 100644 kirby/src/Exception/AuthException.php create mode 100644 kirby/src/Exception/BadMethodCallException.php create mode 100644 kirby/src/Exception/DuplicateException.php create mode 100644 kirby/src/Exception/ErrorPageException.php create mode 100644 kirby/src/Exception/Exception.php create mode 100644 kirby/src/Exception/InvalidArgumentException.php create mode 100644 kirby/src/Exception/LogicException.php create mode 100644 kirby/src/Exception/NotFoundException.php create mode 100644 kirby/src/Exception/PermissionException.php create mode 100644 kirby/src/Field/FieldOptions.php create mode 100644 kirby/src/Filesystem/Asset.php create mode 100644 kirby/src/Filesystem/Dir.php create mode 100644 kirby/src/Filesystem/F.php create mode 100644 kirby/src/Filesystem/File.php create mode 100644 kirby/src/Filesystem/Filename.php create mode 100644 kirby/src/Filesystem/IsFile.php create mode 100644 kirby/src/Filesystem/Mime.php create mode 100644 kirby/src/Form/Field.php create mode 100644 kirby/src/Form/Field/BlocksField.php create mode 100644 kirby/src/Form/Field/EntriesField.php create mode 100644 kirby/src/Form/Field/LayoutField.php create mode 100644 kirby/src/Form/Field/StatsField.php create mode 100644 kirby/src/Form/FieldClass.php create mode 100644 kirby/src/Form/Fields.php create mode 100644 kirby/src/Form/Form.php create mode 100644 kirby/src/Form/Mixin/After.php create mode 100644 kirby/src/Form/Mixin/Api.php create mode 100644 kirby/src/Form/Mixin/Autofocus.php create mode 100644 kirby/src/Form/Mixin/Before.php create mode 100644 kirby/src/Form/Mixin/EmptyState.php create mode 100644 kirby/src/Form/Mixin/Help.php create mode 100644 kirby/src/Form/Mixin/Icon.php create mode 100644 kirby/src/Form/Mixin/Label.php create mode 100644 kirby/src/Form/Mixin/Max.php create mode 100644 kirby/src/Form/Mixin/Min.php create mode 100644 kirby/src/Form/Mixin/Model.php create mode 100644 kirby/src/Form/Mixin/Placeholder.php create mode 100644 kirby/src/Form/Mixin/Translatable.php create mode 100644 kirby/src/Form/Mixin/Validation.php create mode 100644 kirby/src/Form/Mixin/Value.php create mode 100644 kirby/src/Form/Mixin/When.php create mode 100644 kirby/src/Form/Mixin/Width.php create mode 100644 kirby/src/Form/Validations.php create mode 100644 kirby/src/Http/Cookie.php create mode 100644 kirby/src/Http/Environment.php create mode 100644 kirby/src/Http/Exceptions/NextRouteException.php create mode 100644 kirby/src/Http/Header.php create mode 100644 kirby/src/Http/Idn.php create mode 100644 kirby/src/Http/Params.php create mode 100644 kirby/src/Http/Path.php create mode 100644 kirby/src/Http/Query.php create mode 100644 kirby/src/Http/Remote.php create mode 100644 kirby/src/Http/Request.php create mode 100644 kirby/src/Http/Request/Auth.php create mode 100644 kirby/src/Http/Request/Auth/BasicAuth.php create mode 100644 kirby/src/Http/Request/Auth/BearerAuth.php create mode 100644 kirby/src/Http/Request/Auth/SessionAuth.php create mode 100644 kirby/src/Http/Request/Body.php create mode 100644 kirby/src/Http/Request/Data.php create mode 100644 kirby/src/Http/Request/Files.php create mode 100644 kirby/src/Http/Request/Query.php create mode 100644 kirby/src/Http/Response.php create mode 100644 kirby/src/Http/Route.php create mode 100644 kirby/src/Http/Router.php create mode 100644 kirby/src/Http/Uri.php create mode 100644 kirby/src/Http/Url.php create mode 100644 kirby/src/Http/Visitor.php create mode 100644 kirby/src/Image/Camera.php create mode 100644 kirby/src/Image/Darkroom.php create mode 100644 kirby/src/Image/Darkroom/GdLib.php create mode 100644 kirby/src/Image/Darkroom/ImageMagick.php create mode 100644 kirby/src/Image/Darkroom/Imagick.php create mode 100644 kirby/src/Image/Dimensions.php create mode 100644 kirby/src/Image/Exif.php create mode 100644 kirby/src/Image/Focus.php create mode 100644 kirby/src/Image/Gravity.php create mode 100644 kirby/src/Image/Image.php create mode 100644 kirby/src/Image/Location.php create mode 100644 kirby/src/Image/QrCode.php create mode 100644 kirby/src/Option/Option.php create mode 100644 kirby/src/Option/Options.php create mode 100644 kirby/src/Option/OptionsApi.php create mode 100644 kirby/src/Option/OptionsProvider.php create mode 100644 kirby/src/Option/OptionsQuery.php create mode 100644 kirby/src/Panel/Assets.php create mode 100644 kirby/src/Panel/ChangesDialog.php create mode 100644 kirby/src/Panel/Collector/FilesCollector.php create mode 100644 kirby/src/Panel/Collector/ModelsCollector.php create mode 100644 kirby/src/Panel/Collector/PagesCollector.php create mode 100644 kirby/src/Panel/Collector/UsersCollector.php create mode 100644 kirby/src/Panel/Controller/PageTree.php create mode 100644 kirby/src/Panel/Controller/Search.php create mode 100644 kirby/src/Panel/Dialog.php create mode 100644 kirby/src/Panel/Document.php create mode 100644 kirby/src/Panel/Drawer.php create mode 100644 kirby/src/Panel/Dropdown.php create mode 100644 kirby/src/Panel/Field.php create mode 100644 kirby/src/Panel/File.php create mode 100644 kirby/src/Panel/Home.php create mode 100644 kirby/src/Panel/Json.php create mode 100644 kirby/src/Panel/Lab/Category.php create mode 100644 kirby/src/Panel/Lab/Doc.php create mode 100644 kirby/src/Panel/Lab/Doc/Argument.php create mode 100644 kirby/src/Panel/Lab/Doc/Event.php create mode 100644 kirby/src/Panel/Lab/Doc/Method.php create mode 100644 kirby/src/Panel/Lab/Doc/Prop.php create mode 100644 kirby/src/Panel/Lab/Doc/Slot.php create mode 100644 kirby/src/Panel/Lab/Docs.php create mode 100644 kirby/src/Panel/Lab/Example.php create mode 100644 kirby/src/Panel/Lab/Responses.php create mode 100644 kirby/src/Panel/Lab/Snippet.php create mode 100644 kirby/src/Panel/Lab/Template.php create mode 100644 kirby/src/Panel/Menu.php create mode 100644 kirby/src/Panel/Model.php create mode 100644 kirby/src/Panel/Page.php create mode 100644 kirby/src/Panel/PageCreateDialog.php create mode 100644 kirby/src/Panel/Panel.php create mode 100644 kirby/src/Panel/Plugins.php create mode 100644 kirby/src/Panel/Redirect.php create mode 100644 kirby/src/Panel/Request.php create mode 100644 kirby/src/Panel/Search.php create mode 100644 kirby/src/Panel/Site.php create mode 100644 kirby/src/Panel/Ui/Button.php create mode 100644 kirby/src/Panel/Ui/Buttons/LanguageCreateButton.php create mode 100644 kirby/src/Panel/Ui/Buttons/LanguageDeleteButton.php create mode 100644 kirby/src/Panel/Ui/Buttons/LanguageSettingsButton.php create mode 100644 kirby/src/Panel/Ui/Buttons/LanguagesDropdown.php create mode 100644 kirby/src/Panel/Ui/Buttons/OpenButton.php create mode 100644 kirby/src/Panel/Ui/Buttons/PageStatusButton.php create mode 100644 kirby/src/Panel/Ui/Buttons/PreviewButton.php create mode 100644 kirby/src/Panel/Ui/Buttons/SettingsButton.php create mode 100644 kirby/src/Panel/Ui/Buttons/VersionsButton.php create mode 100644 kirby/src/Panel/Ui/Buttons/ViewButton.php create mode 100644 kirby/src/Panel/Ui/Buttons/ViewButtons.php create mode 100644 kirby/src/Panel/Ui/Component.php create mode 100644 kirby/src/Panel/Ui/FilePreview.php create mode 100644 kirby/src/Panel/Ui/FilePreviews/AudioFilePreview.php create mode 100644 kirby/src/Panel/Ui/FilePreviews/DefaultFilePreview.php create mode 100644 kirby/src/Panel/Ui/FilePreviews/ImageFilePreview.php create mode 100644 kirby/src/Panel/Ui/FilePreviews/PdfFilePreview.php create mode 100644 kirby/src/Panel/Ui/FilePreviews/VideoFilePreview.php create mode 100644 kirby/src/Panel/Ui/Item/FileItem.php create mode 100644 kirby/src/Panel/Ui/Item/ModelItem.php create mode 100644 kirby/src/Panel/Ui/Item/PageItem.php create mode 100644 kirby/src/Panel/Ui/Item/UserItem.php create mode 100644 kirby/src/Panel/Ui/Stat.php create mode 100644 kirby/src/Panel/Ui/Stats.php create mode 100644 kirby/src/Panel/Ui/Upload.php create mode 100644 kirby/src/Panel/User.php create mode 100644 kirby/src/Panel/UserTotpDisableDialog.php create mode 100644 kirby/src/Panel/UserTotpEnableDialog.php create mode 100644 kirby/src/Panel/View.php create mode 100644 kirby/src/Parsley/Element.php create mode 100644 kirby/src/Parsley/Inline.php create mode 100644 kirby/src/Parsley/Parsley.php create mode 100644 kirby/src/Parsley/Schema.php create mode 100644 kirby/src/Parsley/Schema/Blocks.php create mode 100644 kirby/src/Parsley/Schema/Plain.php create mode 100644 kirby/src/Plugin/Asset.php create mode 100644 kirby/src/Plugin/Assets.php create mode 100644 kirby/src/Plugin/License.php create mode 100644 kirby/src/Plugin/LicenseStatus.php create mode 100644 kirby/src/Plugin/Plugin.php create mode 100644 kirby/src/Query/AST/ArgumentListNode.php create mode 100644 kirby/src/Query/AST/ArithmeticNode.php create mode 100644 kirby/src/Query/AST/ArrayListNode.php create mode 100644 kirby/src/Query/AST/ClosureNode.php create mode 100644 kirby/src/Query/AST/CoalesceNode.php create mode 100644 kirby/src/Query/AST/ComparisonNode.php create mode 100644 kirby/src/Query/AST/GlobalFunctionNode.php create mode 100644 kirby/src/Query/AST/LiteralNode.php create mode 100644 kirby/src/Query/AST/LogicalNode.php create mode 100644 kirby/src/Query/AST/MemberAccessNode.php create mode 100644 kirby/src/Query/AST/Node.php create mode 100644 kirby/src/Query/AST/TernaryNode.php create mode 100644 kirby/src/Query/AST/VariableNode.php create mode 100644 kirby/src/Query/Argument.php create mode 100644 kirby/src/Query/Arguments.php create mode 100644 kirby/src/Query/Expression.php create mode 100644 kirby/src/Query/Parser/Parser.php create mode 100644 kirby/src/Query/Parser/Token.php create mode 100644 kirby/src/Query/Parser/TokenType.php create mode 100644 kirby/src/Query/Parser/Tokenizer.php create mode 100644 kirby/src/Query/Query.php create mode 100644 kirby/src/Query/Runners/DefaultRunner.php create mode 100644 kirby/src/Query/Runners/Runner.php create mode 100644 kirby/src/Query/Runners/Scope.php create mode 100644 kirby/src/Query/Segment.php create mode 100644 kirby/src/Query/Segments.php create mode 100644 kirby/src/Query/Visitors/DefaultVisitor.php create mode 100644 kirby/src/Query/Visitors/Visitor.php create mode 100644 kirby/src/Reflection/Constructor.php create mode 100644 kirby/src/Sane/DomHandler.php create mode 100644 kirby/src/Sane/Handler.php create mode 100644 kirby/src/Sane/Html.php create mode 100644 kirby/src/Sane/Sane.php create mode 100644 kirby/src/Sane/Svg.php create mode 100644 kirby/src/Sane/Svgz.php create mode 100644 kirby/src/Sane/Xml.php create mode 100644 kirby/src/Session/AutoSession.php create mode 100644 kirby/src/Session/FileSessionStore.php create mode 100644 kirby/src/Session/Session.php create mode 100644 kirby/src/Session/SessionData.php create mode 100644 kirby/src/Session/SessionStore.php create mode 100644 kirby/src/Session/Sessions.php create mode 100644 kirby/src/Template/Slot.php create mode 100644 kirby/src/Template/Slots.php create mode 100644 kirby/src/Template/Snippet.php create mode 100644 kirby/src/Template/Template.php create mode 100644 kirby/src/Text/KirbyTag.php create mode 100644 kirby/src/Text/KirbyTags.php create mode 100644 kirby/src/Text/Markdown.php create mode 100644 kirby/src/Text/SmartyPants.php create mode 100644 kirby/src/Toolkit/A.php create mode 100644 kirby/src/Toolkit/Collection.php create mode 100644 kirby/src/Toolkit/Component.php create mode 100644 kirby/src/Toolkit/Config.php create mode 100644 kirby/src/Toolkit/Controller.php create mode 100644 kirby/src/Toolkit/Date.php create mode 100644 kirby/src/Toolkit/Dom.php create mode 100644 kirby/src/Toolkit/Escape.php create mode 100644 kirby/src/Toolkit/Facade.php create mode 100644 kirby/src/Toolkit/Html.php create mode 100644 kirby/src/Toolkit/I18n.php create mode 100644 kirby/src/Toolkit/Iterator.php create mode 100644 kirby/src/Toolkit/LazyValue.php create mode 100644 kirby/src/Toolkit/Locale.php create mode 100644 kirby/src/Toolkit/Obj.php create mode 100644 kirby/src/Toolkit/Pagination.php create mode 100644 kirby/src/Toolkit/Silo.php create mode 100644 kirby/src/Toolkit/Str.php create mode 100644 kirby/src/Toolkit/SymmetricCrypto.php create mode 100644 kirby/src/Toolkit/Totp.php create mode 100644 kirby/src/Toolkit/Tpl.php create mode 100644 kirby/src/Toolkit/V.php create mode 100644 kirby/src/Toolkit/View.php create mode 100644 kirby/src/Toolkit/Xml.php create mode 100644 kirby/src/Uuid/BlockUuid.php create mode 100644 kirby/src/Uuid/FieldUuid.php create mode 100644 kirby/src/Uuid/FileUuid.php create mode 100644 kirby/src/Uuid/HasUuids.php create mode 100644 kirby/src/Uuid/Identifiable.php create mode 100644 kirby/src/Uuid/ModelUuid.php create mode 100644 kirby/src/Uuid/PageUuid.php create mode 100644 kirby/src/Uuid/SiteUuid.php create mode 100644 kirby/src/Uuid/StructureUuid.php create mode 100644 kirby/src/Uuid/Uri.php create mode 100644 kirby/src/Uuid/UserUuid.php create mode 100644 kirby/src/Uuid/Uuid.php create mode 100644 kirby/src/Uuid/Uuids.php create mode 100644 kirby/vendor/autoload.php create mode 100644 kirby/vendor/bin/yaml-lint create mode 100644 kirby/vendor/christian-riesen/base32/LICENSE create mode 100644 kirby/vendor/christian-riesen/base32/src/Base32.php create mode 100644 kirby/vendor/christian-riesen/base32/src/Base32Hex.php create mode 100644 kirby/vendor/claviska/simpleimage/LICENSE.md create mode 100644 kirby/vendor/claviska/simpleimage/composer.json create mode 100644 kirby/vendor/claviska/simpleimage/composer.lock create mode 100644 kirby/vendor/claviska/simpleimage/src/claviska/SimpleImage.php create mode 100644 kirby/vendor/composer/ClassLoader.php create mode 100644 kirby/vendor/composer/InstalledVersions.php create mode 100644 kirby/vendor/composer/LICENSE create mode 100644 kirby/vendor/composer/autoload_classmap.php create mode 100644 kirby/vendor/composer/autoload_files.php create mode 100644 kirby/vendor/composer/autoload_namespaces.php create mode 100644 kirby/vendor/composer/autoload_psr4.php create mode 100644 kirby/vendor/composer/autoload_real.php create mode 100644 kirby/vendor/composer/autoload_static.php create mode 100644 kirby/vendor/composer/installed.json create mode 100644 kirby/vendor/composer/installed.php create mode 100644 kirby/vendor/composer/semver/LICENSE create mode 100644 kirby/vendor/composer/semver/composer.json create mode 100644 kirby/vendor/composer/semver/src/Comparator.php create mode 100644 kirby/vendor/composer/semver/src/CompilingMatcher.php create mode 100644 kirby/vendor/composer/semver/src/Constraint/Bound.php create mode 100644 kirby/vendor/composer/semver/src/Constraint/Constraint.php create mode 100644 kirby/vendor/composer/semver/src/Constraint/ConstraintInterface.php create mode 100644 kirby/vendor/composer/semver/src/Constraint/MatchAllConstraint.php create mode 100644 kirby/vendor/composer/semver/src/Constraint/MatchNoneConstraint.php create mode 100644 kirby/vendor/composer/semver/src/Constraint/MultiConstraint.php create mode 100644 kirby/vendor/composer/semver/src/Interval.php create mode 100644 kirby/vendor/composer/semver/src/Intervals.php create mode 100644 kirby/vendor/composer/semver/src/Semver.php create mode 100644 kirby/vendor/composer/semver/src/VersionParser.php create mode 100644 kirby/vendor/filp/whoops/LICENSE.md create mode 100644 kirby/vendor/filp/whoops/composer.json create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Exception/ErrorException.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Exception/Formatter.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Exception/Frame.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Exception/Inspector.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Handler/CallbackHandler.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Handler/Handler.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Handler/HandlerInterface.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Handler/PlainTextHandler.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Inspector/InspectorFactory.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Inspector/InspectorFactoryInterface.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Inspector/InspectorInterface.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/css/prism.css create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/js/clipboard.min.js create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/js/prism.js create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/js/whoops.base.js create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/js/zepto.min.js create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/env_details.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/frame_list.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/frames_container.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/frames_description.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/header_outer.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/layout.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/panel_details.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/panel_details_outer.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/panel_left.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Resources/views/panel_left_outer.html.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Run.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/RunInterface.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Util/Misc.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Util/SystemFacade.php create mode 100644 kirby/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php create mode 100644 kirby/vendor/laminas/laminas-escaper/COPYRIGHT.md create mode 100644 kirby/vendor/laminas/laminas-escaper/LICENSE.md create mode 100644 kirby/vendor/laminas/laminas-escaper/composer.json create mode 100644 kirby/vendor/laminas/laminas-escaper/src/Escaper.php create mode 100644 kirby/vendor/laminas/laminas-escaper/src/EscaperInterface.php create mode 100644 kirby/vendor/laminas/laminas-escaper/src/Exception/ExceptionInterface.php create mode 100644 kirby/vendor/laminas/laminas-escaper/src/Exception/InvalidArgumentException.php create mode 100644 kirby/vendor/laminas/laminas-escaper/src/Exception/RuntimeException.php create mode 100644 kirby/vendor/league/color-extractor/LICENSE create mode 100644 kirby/vendor/league/color-extractor/composer.json create mode 100644 kirby/vendor/league/color-extractor/src/Color.php create mode 100644 kirby/vendor/league/color-extractor/src/ColorExtractor.php create mode 100644 kirby/vendor/league/color-extractor/src/Palette.php create mode 100644 kirby/vendor/michelf/php-smartypants/License.md create mode 100644 kirby/vendor/michelf/php-smartypants/Michelf/SmartyPants.inc.php create mode 100644 kirby/vendor/michelf/php-smartypants/Michelf/SmartyPants.php create mode 100644 kirby/vendor/michelf/php-smartypants/Michelf/SmartyPantsTypographer.inc.php create mode 100644 kirby/vendor/michelf/php-smartypants/Michelf/SmartyPantsTypographer.php create mode 100644 kirby/vendor/michelf/php-smartypants/composer.json create mode 100644 kirby/vendor/phpmailer/phpmailer/LICENSE create mode 100644 kirby/vendor/phpmailer/phpmailer/composer.json create mode 100644 kirby/vendor/phpmailer/phpmailer/get_oauth_token.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-as.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-bg.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-bn.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-el.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-hi.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-hr.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-hy.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ka.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-mn.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-nb.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-nl.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-si.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-sl.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php create mode 100644 kirby/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php create mode 100644 kirby/vendor/phpmailer/phpmailer/src/DSNConfigurator.php create mode 100644 kirby/vendor/phpmailer/phpmailer/src/Exception.php create mode 100644 kirby/vendor/phpmailer/phpmailer/src/OAuth.php create mode 100644 kirby/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php create mode 100644 kirby/vendor/phpmailer/phpmailer/src/PHPMailer.php create mode 100644 kirby/vendor/phpmailer/phpmailer/src/POP3.php create mode 100644 kirby/vendor/phpmailer/phpmailer/src/SMTP.php create mode 100644 kirby/vendor/psr/log/LICENSE create mode 100644 kirby/vendor/psr/log/composer.json create mode 100644 kirby/vendor/psr/log/src/AbstractLogger.php create mode 100644 kirby/vendor/psr/log/src/InvalidArgumentException.php create mode 100644 kirby/vendor/psr/log/src/LogLevel.php create mode 100644 kirby/vendor/psr/log/src/LoggerAwareInterface.php create mode 100644 kirby/vendor/psr/log/src/LoggerAwareTrait.php create mode 100644 kirby/vendor/psr/log/src/LoggerInterface.php create mode 100644 kirby/vendor/psr/log/src/LoggerTrait.php create mode 100644 kirby/vendor/psr/log/src/NullLogger.php create mode 100644 kirby/vendor/symfony/deprecation-contracts/LICENSE create mode 100644 kirby/vendor/symfony/deprecation-contracts/composer.json create mode 100644 kirby/vendor/symfony/deprecation-contracts/function.php create mode 100644 kirby/vendor/symfony/polyfill-ctype/Ctype.php create mode 100644 kirby/vendor/symfony/polyfill-ctype/LICENSE create mode 100644 kirby/vendor/symfony/polyfill-ctype/bootstrap.php create mode 100644 kirby/vendor/symfony/polyfill-ctype/bootstrap80.php create mode 100644 kirby/vendor/symfony/polyfill-ctype/composer.json create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Idn.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Info.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/LICENSE create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Resources/unidata/deviation.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/bootstrap.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/bootstrap80.php create mode 100644 kirby/vendor/symfony/polyfill-intl-idn/composer.json create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/LICENSE create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/Normalizer.php create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/bootstrap.php create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php create mode 100644 kirby/vendor/symfony/polyfill-intl-normalizer/composer.json create mode 100644 kirby/vendor/symfony/polyfill-mbstring/LICENSE create mode 100644 kirby/vendor/symfony/polyfill-mbstring/Mbstring.php create mode 100644 kirby/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php create mode 100644 kirby/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php create mode 100644 kirby/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php create mode 100644 kirby/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php create mode 100644 kirby/vendor/symfony/polyfill-mbstring/bootstrap.php create mode 100644 kirby/vendor/symfony/polyfill-mbstring/bootstrap80.php create mode 100644 kirby/vendor/symfony/polyfill-mbstring/composer.json create mode 100644 kirby/vendor/symfony/yaml/Command/LintCommand.php create mode 100644 kirby/vendor/symfony/yaml/Dumper.php create mode 100644 kirby/vendor/symfony/yaml/Escaper.php create mode 100644 kirby/vendor/symfony/yaml/Exception/DumpException.php create mode 100644 kirby/vendor/symfony/yaml/Exception/ExceptionInterface.php create mode 100644 kirby/vendor/symfony/yaml/Exception/ParseException.php create mode 100644 kirby/vendor/symfony/yaml/Exception/RuntimeException.php create mode 100644 kirby/vendor/symfony/yaml/Inline.php create mode 100644 kirby/vendor/symfony/yaml/LICENSE create mode 100644 kirby/vendor/symfony/yaml/Parser.php create mode 100644 kirby/vendor/symfony/yaml/Resources/bin/yaml-lint create mode 100644 kirby/vendor/symfony/yaml/Tag/TaggedValue.php create mode 100644 kirby/vendor/symfony/yaml/Unescaper.php create mode 100644 kirby/vendor/symfony/yaml/Yaml.php create mode 100644 kirby/vendor/symfony/yaml/composer.json create mode 100644 kirby/views/browser.php create mode 100644 kirby/views/fatal.php create mode 100644 kirby/views/panel.php create mode 100644 kirby/views/php.php create mode 100644 kirby/views/snippets/footer.php create mode 100644 kirby/views/snippets/header.php create mode 100644 site/accounts/index.html create mode 100644 site/blueprints/blocks/blank.yml create mode 100644 site/blueprints/blocks/break.yml create mode 100644 site/blueprints/blocks/fullpageimage.yml create mode 100644 site/blueprints/blocks/image.yml create mode 100644 site/blueprints/blocks/interview.yml create mode 100644 site/blueprints/blocks/spreadimage.yml create mode 100644 site/blueprints/blocks/text.yml create mode 100644 site/blueprints/blocks/video.yml create mode 100755 site/blueprints/files/default.yml create mode 100644 site/blueprints/pages/chapitre.yml create mode 100644 site/blueprints/pages/default.yml create mode 100644 site/blueprints/pages/home.yml create mode 100644 site/blueprints/pages/print.yml create mode 100644 site/blueprints/site.yml create mode 100644 site/config/config.php create mode 100644 site/plugins/notes-tag/index.php create mode 100644 site/sessions/index.html create mode 100644 site/snippets/blocks/blank.php create mode 100644 site/snippets/blocks/break.php create mode 100644 site/snippets/blocks/fullpageimage.php create mode 100644 site/snippets/blocks/gallery.php create mode 100644 site/snippets/blocks/image.php create mode 100644 site/snippets/blocks/interview.php create mode 100644 site/snippets/blocks/spreadimage.php create mode 100644 site/snippets/blocks/text.php create mode 100644 site/snippets/blocks/video.php create mode 100644 site/snippets/footer.php create mode 100644 site/snippets/head.php create mode 100644 site/snippets/header.php create mode 100644 site/snippets/item.php create mode 100644 site/snippets/logo.php create mode 100644 site/snippets/nav.php create mode 100644 site/templates/default.php create mode 100644 site/templates/home.php create mode 100644 site/templates/print.php diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..31cb096 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +[*.{css,scss,less,js,json,ts,sass,html,hbs,mustache,phtml,html.twig,md,yml}] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +indent_size = 4 +trim_trailing_whitespace = false + +[site/templates/**.php] +indent_size = 2 + +[site/snippets/**.php] +indent_size = 2 + +[package.json,.{babelrc,editorconfig,eslintrc,lintstagedrc,stylelintrc}] +indent_style = space +indent_size = 2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4908164 --- /dev/null +++ b/.gitignore @@ -0,0 +1,55 @@ +job-log.md + +# System files +# ------------ + +Icon +.DS_Store + +# Temporary files +# --------------- + +/media/* +!/media/index.html + +# Lock files +# --------------- + +.lock + +# Editors +# (sensitive workspace files) +# --------------------------- +*.sublime-workspace +/.vscode +/.idea + +# -------------SECURITY------------- +# NEVER publish these files via Git! +# -------------SECURITY------------- + +# Cache Files +# --------------- + +/site/cache/* +!/site/cache/index.html + +# Accounts +# --------------- + +/site/accounts/* +!/site/accounts/index.html + +# Sessions +# --------------- + +/site/sessions/* +!/site/sessions/index.html + +# License +# --------------- + +/site/config/.license + + + diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..5fe5c71 --- /dev/null +++ b/.htaccess @@ -0,0 +1,67 @@ +# Kirby .htaccess +# revision 2023-07-22 + +# rewrite rules + + +# enable awesome urls. i.e.: +# http://yourdomain.com/about-us/team +RewriteEngine on + +# make sure to set the RewriteBase correctly +# if you are running the site in a subfolder; +# otherwise links or the entire site will break. +# +# If your homepage is http://yourdomain.com/mysite, +# set the RewriteBase to: +# +# RewriteBase /mysite + +# In some environments it's necessary to +# set the RewriteBase to: +# +# RewriteBase / + +# block files and folders beginning with a dot, such as .git +# except for the .well-known folder, which is used for Let's Encrypt and security.txt +RewriteRule (^|/)\.(?!well-known\/) index.php [L] + +# block all files in the content folder from being accessed directly +RewriteRule ^content/(.*) index.php [L] + +# block all files in the site folder from being accessed directly +RewriteRule ^site/(.*) index.php [L] + +# block direct access to Kirby and the Panel sources +RewriteRule ^kirby/(.*) index.php [L] + +# make site links work +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^(.*) index.php [L] + + + +# pass the Authorization header to PHP +SetEnvIf Authorization "(.+)" HTTP_AUTHORIZATION=$1 + +# compress text file responses + +AddOutputFilterByType DEFLATE text/plain +AddOutputFilterByType DEFLATE text/html +AddOutputFilterByType DEFLATE text/css +AddOutputFilterByType DEFLATE text/javascript +AddOutputFilterByType DEFLATE application/json +AddOutputFilterByType DEFLATE application/javascript +AddOutputFilterByType DEFLATE application/x-javascript + + +# set security headers in all responses + + +# serve files as plain text if the actual content type is not known +# (hardens against attacks from malicious file uploads) +Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}" +Header set X-Content-Type-Options "nosniff" + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..7772e95 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ + + +**Kirby: the CMS that adapts to any project, loved by developers and editors alike.** +The Plainkit is a minimal Kirby setup with the basics you need to start a project from scratch. It is the ideal choice if you are already familiar with Kirby and want to start step-by-step. + +You can learn more about Kirby at [getkirby.com](https://getkirby.com). + +### Try Kirby for free + +You can try Kirby and the Plainkit on your local machine or on a test server as long as you need to make sure it is the right tool for your next project. … and when you’re convinced, [buy your license](https://getkirby.com/buy). + +### Get going + +Read our guide on [how to get started with Kirby](https://getkirby.com/docs/guide/quickstart). + +You can [download the latest version](https://github.com/getkirby/plainkit/archive/main.zip) of the Plainkit. +If you are familiar with Git, you can clone Kirby's Plainkit repository from Github. + + git clone https://github.com/getkirby/plainkit.git + +## What's Kirby? + +- **[getkirby.com](https://getkirby.com)** – Get to know the CMS. +- **[Try it](https://getkirby.com/try)** – Take a test ride with our online demo. Or download one of our kits to get started. +- **[Documentation](https://getkirby.com/docs/guide)** – Read the official guide, reference and cookbook recipes. +- **[Issues](https://github.com/getkirby/kirby/issues)** – Report bugs and other problems. +- **[Feedback](https://feedback.getkirby.com)** – You have an idea for Kirby? Share it. +- **[Forum](https://forum.getkirby.com)** – Whenever you get stuck, don't hesitate to reach out for questions and support. +- **[Discord](https://chat.getkirby.com)** – Hang out and meet the community. +- **[Mastodon](https://mastodon.social/@getkirby)** – Spread the word. +- **[Bluesky](https://bsky.app/profile/getkirby.com)** – Spread the word. + +--- + +© 2009 Bastian Allgeier +[getkirby.com](https://getkirby.com) · [License agreement](https://getkirby.com/license) diff --git a/assets/css/libs/flexboxgrid.css b/assets/css/libs/flexboxgrid.css new file mode 100644 index 0000000..5153eb8 --- /dev/null +++ b/assets/css/libs/flexboxgrid.css @@ -0,0 +1,1196 @@ +.container-fluid, +.container { + margin-right: auto; + margin-left: auto; +} + +.container-fluid { + padding-right: 2rem; + padding-left: 2rem; +} + +.row { + box-sizing: border-box; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -0.8rem; + margin-left: -0.8rem; +} + +.row.reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; +} + +.col.reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; +} + +.col-xs, +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12, +.col-xs-offset-0, +.col-xs-offset-1, +.col-xs-offset-2, +.col-xs-offset-3, +.col-xs-offset-4, +.col-xs-offset-5, +.col-xs-offset-6, +.col-xs-offset-7, +.col-xs-offset-8, +.col-xs-offset-9, +.col-xs-offset-10, +.col-xs-offset-11, +.col-xs-offset-12 { + box-sizing: border-box; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + padding-right: 0.8rem; + padding-left: 0.8rem; +} + +.col-xs { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-preferred-size: 0; + flex-basis: 0; + max-width: 100%; +} + +.col-xs-1 { + -ms-flex-preferred-size: 8.33333333%; + flex-basis: 8.33333333%; + max-width: 8.33333333%; +} + +.col-xs-2 { + -ms-flex-preferred-size: 16.66666667%; + flex-basis: 16.66666667%; + max-width: 16.66666667%; +} + +.col-xs-3 { + -ms-flex-preferred-size: 25%; + flex-basis: 25%; + max-width: 25%; +} + +.col-xs-4 { + -ms-flex-preferred-size: 33.33333333%; + flex-basis: 33.33333333%; + max-width: 33.33333333%; +} + +.col-xs-5 { + -ms-flex-preferred-size: 41.66666667%; + flex-basis: 41.66666667%; + max-width: 41.66666667%; +} + +.col-xs-6 { + -ms-flex-preferred-size: 50%; + flex-basis: 50%; + max-width: 50%; +} + +.col-xs-7 { + -ms-flex-preferred-size: 58.33333333%; + flex-basis: 58.33333333%; + max-width: 58.33333333%; +} + +.col-xs-8 { + -ms-flex-preferred-size: 66.66666667%; + flex-basis: 66.66666667%; + max-width: 66.66666667%; +} + +.col-xs-9 { + -ms-flex-preferred-size: 75%; + flex-basis: 75%; + max-width: 75%; +} + +.col-xs-10 { + -ms-flex-preferred-size: 83.33333333%; + flex-basis: 83.33333333%; + max-width: 83.33333333%; +} + +.col-xs-11 { + -ms-flex-preferred-size: 91.66666667%; + flex-basis: 91.66666667%; + max-width: 91.66666667%; +} + +.col-xs-12 { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + max-width: 100%; +} + +.col-xs-offset-0 { + margin-left: 0; +} + +.col-xs-offset-1 { + margin-left: 8.33333333%; +} + +.col-xs-offset-2 { + margin-left: 16.66666667%; +} + +.col-xs-offset-3 { + margin-left: 25%; +} + +.col-xs-offset-4 { + margin-left: 33.33333333%; +} + +.col-xs-offset-5 { + margin-left: 41.66666667%; +} + +.col-xs-offset-6 { + margin-left: 50%; +} + +.col-xs-offset-7 { + margin-left: 58.33333333%; +} + +.col-xs-offset-8 { + margin-left: 66.66666667%; +} + +.col-xs-offset-9 { + margin-left: 75%; +} + +.col-xs-offset-10 { + margin-left: 83.33333333%; +} + +.col-xs-offset-11 { + margin-left: 91.66666667%; +} + +.start-xs { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + text-align: start; +} + +.center-xs { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; +} + +.end-xs { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + text-align: end; +} + +.top-xs { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; +} + +.middle-xs { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.bottom-xs { + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; +} + +.around-xs { + -ms-flex-pack: distribute; + justify-content: space-around; +} + +.between-xs { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.first-xs { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; +} + +.last-xs { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; +} + +@media only screen and (min-width: 48em) { + .container { + width: 49rem; + } + + .col-sm, + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11, + .col-sm-12, + .col-sm-offset-0, + .col-sm-offset-1, + .col-sm-offset-2, + .col-sm-offset-3, + .col-sm-offset-4, + .col-sm-offset-5, + .col-sm-offset-6, + .col-sm-offset-7, + .col-sm-offset-8, + .col-sm-offset-9, + .col-sm-offset-10, + .col-sm-offset-11, + .col-sm-offset-12 { + box-sizing: border-box; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + padding-right: 0.8rem; + padding-left: 0.8rem; + } + + .col-sm { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-preferred-size: 0; + flex-basis: 0; + max-width: 100%; + } + + .col-sm-1 { + -ms-flex-preferred-size: 8.33333333%; + flex-basis: 8.33333333%; + max-width: 8.33333333%; + } + + .col-sm-2 { + -ms-flex-preferred-size: 16.66666667%; + flex-basis: 16.66666667%; + max-width: 16.66666667%; + } + + .col-sm-3 { + -ms-flex-preferred-size: 25%; + flex-basis: 25%; + max-width: 25%; + } + + .col-sm-4 { + -ms-flex-preferred-size: 33.33333333%; + flex-basis: 33.33333333%; + max-width: 33.33333333%; + } + + .col-sm-5 { + -ms-flex-preferred-size: 41.66666667%; + flex-basis: 41.66666667%; + max-width: 41.66666667%; + } + + .col-sm-6 { + -ms-flex-preferred-size: 50%; + flex-basis: 50%; + max-width: 50%; + } + + .col-sm-7 { + -ms-flex-preferred-size: 58.33333333%; + flex-basis: 58.33333333%; + max-width: 58.33333333%; + } + + .col-sm-8 { + -ms-flex-preferred-size: 66.66666667%; + flex-basis: 66.66666667%; + max-width: 66.66666667%; + } + + .col-sm-9 { + -ms-flex-preferred-size: 75%; + flex-basis: 75%; + max-width: 75%; + } + + .col-sm-10 { + -ms-flex-preferred-size: 83.33333333%; + flex-basis: 83.33333333%; + max-width: 83.33333333%; + } + + .col-sm-11 { + -ms-flex-preferred-size: 91.66666667%; + flex-basis: 91.66666667%; + max-width: 91.66666667%; + } + + .col-sm-12 { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + max-width: 100%; + } + + .col-sm-offset-0 { + margin-left: 0; + } + + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + + .col-sm-offset-3 { + margin-left: 25%; + } + + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + + .col-sm-offset-6 { + margin-left: 50%; + } + + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + + .col-sm-offset-9 { + margin-left: 75%; + } + + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + + .start-sm { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + text-align: start; + } + + .center-sm { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; + } + + .end-sm { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + text-align: end; + } + + .top-sm { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + } + + .middle-sm { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .bottom-sm { + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + } + + .around-sm { + -ms-flex-pack: distribute; + justify-content: space-around; + } + + .between-sm { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + } + + .first-sm { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + + .last-sm { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } +} + +@media only screen and (min-width: 64em) { + .container { + width: 65rem; + } + + .col-md, + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11, + .col-md-12, + .col-md-offset-0, + .col-md-offset-1, + .col-md-offset-2, + .col-md-offset-3, + .col-md-offset-4, + .col-md-offset-5, + .col-md-offset-6, + .col-md-offset-7, + .col-md-offset-8, + .col-md-offset-9, + .col-md-offset-10, + .col-md-offset-11, + .col-md-offset-12 { + box-sizing: border-box; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + padding-right: 0.8rem; + padding-left: 0.8rem; + } + + .col-md { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-preferred-size: 0; + flex-basis: 0; + max-width: 100%; + } + + .col-md-1 { + -ms-flex-preferred-size: 8.33333333%; + flex-basis: 8.33333333%; + max-width: 8.33333333%; + } + + .col-md-2 { + -ms-flex-preferred-size: 16.66666667%; + flex-basis: 16.66666667%; + max-width: 16.66666667%; + } + + .col-md-3 { + -ms-flex-preferred-size: 25%; + flex-basis: 25%; + max-width: 25%; + } + + .col-md-4 { + -ms-flex-preferred-size: 33.33333333%; + flex-basis: 33.33333333%; + max-width: 33.33333333%; + } + + .col-md-5 { + -ms-flex-preferred-size: 41.66666667%; + flex-basis: 41.66666667%; + max-width: 41.66666667%; + } + + .col-md-6 { + -ms-flex-preferred-size: 50%; + flex-basis: 50%; + max-width: 50%; + } + + .col-md-7 { + -ms-flex-preferred-size: 58.33333333%; + flex-basis: 58.33333333%; + max-width: 58.33333333%; + } + + .col-md-8 { + -ms-flex-preferred-size: 66.66666667%; + flex-basis: 66.66666667%; + max-width: 66.66666667%; + } + + .col-md-9 { + -ms-flex-preferred-size: 75%; + flex-basis: 75%; + max-width: 75%; + } + + .col-md-10 { + -ms-flex-preferred-size: 83.33333333%; + flex-basis: 83.33333333%; + max-width: 83.33333333%; + } + + .col-md-11 { + -ms-flex-preferred-size: 91.66666667%; + flex-basis: 91.66666667%; + max-width: 91.66666667%; + } + + .col-md-12 { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + max-width: 100%; + } + + .col-md-offset-0 { + margin-left: 0; + } + + .col-md-offset-1 { + margin-left: 8.33333333%; + } + + .col-md-offset-2 { + margin-left: 16.66666667%; + } + + .col-md-offset-3 { + margin-left: 25%; + } + + .col-md-offset-4 { + margin-left: 33.33333333%; + } + + .col-md-offset-5 { + margin-left: 41.66666667%; + } + + .col-md-offset-6 { + margin-left: 50%; + } + + .col-md-offset-7 { + margin-left: 58.33333333%; + } + + .col-md-offset-8 { + margin-left: 66.66666667%; + } + + .col-md-offset-9 { + margin-left: 75%; + } + + .col-md-offset-10 { + margin-left: 83.33333333%; + } + + .col-md-offset-11 { + margin-left: 91.66666667%; + } + + .start-md { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + text-align: start; + } + + .center-md { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; + } + + .end-md { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + text-align: end; + } + + .top-md { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + } + + .middle-md { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .bottom-md { + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + } + + .around-md { + -ms-flex-pack: distribute; + justify-content: space-around; + } + + .between-md { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + } + + .first-md { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + + .last-md { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } +} + +@media only screen and (min-width: 75em) { + .container { + width: 76rem; + } + + .col-lg, + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11, + .col-lg-12, + .col-lg-offset-0, + .col-lg-offset-1, + .col-lg-offset-2, + .col-lg-offset-3, + .col-lg-offset-4, + .col-lg-offset-5, + .col-lg-offset-6, + .col-lg-offset-7, + .col-lg-offset-8, + .col-lg-offset-9, + .col-lg-offset-10, + .col-lg-offset-11, + .col-lg-offset-12 { + box-sizing: border-box; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + padding-right: 0.8rem; + padding-left: 0.8rem; + } + + .col-lg { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-preferred-size: 0; + flex-basis: 0; + max-width: 100%; + } + + .col-lg-1 { + -ms-flex-preferred-size: 8.33333333%; + flex-basis: 8.33333333%; + max-width: 8.33333333%; + } + + .col-lg-2 { + -ms-flex-preferred-size: 16.66666667%; + flex-basis: 16.66666667%; + max-width: 16.66666667%; + } + + .col-lg-3 { + -ms-flex-preferred-size: 25%; + flex-basis: 25%; + max-width: 25%; + } + + .col-lg-4 { + -ms-flex-preferred-size: 33.33333333%; + flex-basis: 33.33333333%; + max-width: 33.33333333%; + } + + .col-lg-5 { + -ms-flex-preferred-size: 41.66666667%; + flex-basis: 41.66666667%; + max-width: 41.66666667%; + } + + .col-lg-6 { + -ms-flex-preferred-size: 50%; + flex-basis: 50%; + max-width: 50%; + } + + .col-lg-7 { + -ms-flex-preferred-size: 58.33333333%; + flex-basis: 58.33333333%; + max-width: 58.33333333%; + } + + .col-lg-8 { + -ms-flex-preferred-size: 66.66666667%; + flex-basis: 66.66666667%; + max-width: 66.66666667%; + } + + .col-lg-9 { + -ms-flex-preferred-size: 75%; + flex-basis: 75%; + max-width: 75%; + } + + .col-lg-10 { + -ms-flex-preferred-size: 83.33333333%; + flex-basis: 83.33333333%; + max-width: 83.33333333%; + } + + .col-lg-11 { + -ms-flex-preferred-size: 91.66666667%; + flex-basis: 91.66666667%; + max-width: 91.66666667%; + } + + .col-lg-12 { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + max-width: 100%; + } + + .col-lg-offset-0 { + margin-left: 0; + } + + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + + .col-lg-offset-3 { + margin-left: 25%; + } + + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + + .col-lg-offset-6 { + margin-left: 50%; + } + + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + + .col-lg-offset-9 { + margin-left: 75%; + } + + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + + .start-lg { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + text-align: start; + } + + .center-lg { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; + } + + .end-lg { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + text-align: end; + } + + .top-lg { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + } + + .middle-lg { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .bottom-lg { + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + } + + .around-lg { + -ms-flex-pack: distribute; + justify-content: space-around; + } + + .between-lg { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + } + + .first-lg { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + + .last-lg { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } +} + + +@media only screen and (min-width: 90em) { + .container { + width: 91rem; + } + + .col-xl, + .col-xl-1, + .col-xl-2, + .col-xl-3, + .col-xl-4, + .col-xl-5, + .col-xl-6, + .col-xl-7, + .col-xl-8, + .col-xl-9, + .col-xl-10, + .col-xl-11, + .col-xl-12, + .col-xl-offset-0, + .col-xl-offset-1, + .col-xl-offset-2, + .col-xl-offset-3, + .col-xl-offset-4, + .col-xl-offset-5, + .col-xl-offset-6, + .col-xl-offset-7, + .col-xl-offset-8, + .col-xl-offset-9, + .col-xl-offset-10, + .col-xl-offset-11, + .col-xl-offset-12 { + box-sizing: border-box; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + padding-right: 0.8rem; + padding-left: 0.8rem; + } + + .col-xl { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-preferred-size: 0; + flex-basis: 0; + max-width: 100%; + } + + .col-xl-1 { + -ms-flex-preferred-size: 8.33333333%; + flex-basis: 8.33333333%; + max-width: 8.33333333%; + } + + .col-xl-2 { + -ms-flex-preferred-size: 16.66666667%; + flex-basis: 16.66666667%; + max-width: 16.66666667%; + } + + .col-xl-3 { + -ms-flex-preferred-size: 25%; + flex-basis: 25%; + max-width: 25%; + } + + .col-xl-4 { + -ms-flex-preferred-size: 33.33333333%; + flex-basis: 33.33333333%; + max-width: 33.33333333%; + } + + .col-xl-5 { + -ms-flex-preferred-size: 41.66666667%; + flex-basis: 41.66666667%; + max-width: 41.66666667%; + } + + .col-xl-6 { + -ms-flex-preferred-size: 50%; + flex-basis: 50%; + max-width: 50%; + } + + .col-xl-7 { + -ms-flex-preferred-size: 58.33333333%; + flex-basis: 58.33333333%; + max-width: 58.33333333%; + } + + .col-xl-8 { + -ms-flex-preferred-size: 66.66666667%; + flex-basis: 66.66666667%; + max-width: 66.66666667%; + } + + .col-xl-9 { + -ms-flex-preferred-size: 75%; + flex-basis: 75%; + max-width: 75%; + } + + .col-xl-10 { + -ms-flex-preferred-size: 83.33333333%; + flex-basis: 83.33333333%; + max-width: 83.33333333%; + } + + .col-xl-11 { + -ms-flex-preferred-size: 91.66666667%; + flex-basis: 91.66666667%; + max-width: 91.66666667%; + } + + .col-xl-12 { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + max-width: 100%; + } + + .col-xl-offset-0 { + margin-left: 0; + } + + .col-xl-offset-1 { + margin-left: 8.33333333%; + } + + .col-xl-offset-2 { + margin-left: 16.66666667%; + } + + .col-xl-offset-3 { + margin-left: 25%; + } + + .col-xl-offset-4 { + margin-left: 33.33333333%; + } + + .col-xl-offset-5 { + margin-left: 41.66666667%; + } + + .col-xl-offset-6 { + margin-left: 50%; + } + + .col-xl-offset-7 { + margin-left: 58.33333333%; + } + + .col-xl-offset-8 { + margin-left: 66.66666667%; + } + + .col-xl-offset-9 { + margin-left: 75%; + } + + .col-xl-offset-10 { + margin-left: 83.33333333%; + } + + .col-xl-offset-11 { + margin-left: 91.66666667%; + } + + .start-xl { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + text-align: start; + } + + .center-xl { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; + } + + .end-xl { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + text-align: end; + } + + .top-xl { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + } + + .middle-xl { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .bottom-xl { + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + } + + .around-xl { + -ms-flex-pack: distribute; + justify-content: space-around; + } + + .between-xl { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + } + + .first-xl { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + + .last-xl { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } +} + + + + diff --git a/assets/css/libs/glightbox.min.css b/assets/css/libs/glightbox.min.css new file mode 100644 index 0000000..3c9ff87 --- /dev/null +++ b/assets/css/libs/glightbox.min.css @@ -0,0 +1 @@ +.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}} \ No newline at end of file diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..8329496 --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,267 @@ +/* MOBILE FIRST */ + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + + +body{ + font-family: var(--fontFamily); + font-size: var(--textSize); + line-height: 1.3; +} + +a{ + text-decoration: none; + color: #000; +} + +a:hover{text-decoration: underline;} + +p{ margin-bottom: 1rem;} +img{ width: 100%;} +main{ margin-bottom: 150px; } + + +h1{ + font-weight: normal; + font-size: 3em; + margin-top: 0; + text-transform: uppercase; + margin-bottom: 0; + string-set: title content(text); +} + +h2{ + string-set: chapter content(text); + text-align: center; +} + +h2, h3{ + font-size: 3em; + font-weight: normal; + text-transform: uppercase; +} + +h3{ + font-size: 1em; +} + +h2 + h3{ + margin-top: 0.5em; + opacity: 0.8; + font-weight: normal; +} + +h5, h6{ + font-size: var(--textSize); + margin-top: 1mm; + margin-bottom: 0; + font-weight: normal; +} + +p, li{ + text-align: justify; + hyphens: auto; + line-height: 1.45; + -webkit-hyphens: auto; + -moz-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + -webkit-hyphenate-limit-before: 3; + -webkit-hyphenate-limit-after: 4; + -ms-hyphenate-limit-chars: 7 3 4; + hyphenate-limit-chars: 7 3 4; + word-wrap: break-word; + overflow-wrap: break-word; + /* veuves et orphelines (bancal) */ + widows: 3; + orphans: 3; +} + +li p{ + margin: 0; + text-align: left; +} + +p a { + white-space: pre-wrap; /* CSS3 */ + white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ + word-break: break-all; +} + + +ul, figure, ol{ + margin: 0; + padding: 0 +} + +figure{ + margin-bottom: 1em; +} + +figcaption{ + font-size: 0.8em; + margin-top: 0.5em; +} + +figcaption p{ + margin: 0; +} + +figure[data-ratio] { + position: relative; + width: 100%; + aspect-ratio: var(--ratio); +} + +figure[data-crop="true"] img { + width: 100%; + height: 100%; + object-fit: cover; + object-position: center; +} + +figure[data-crop="false"] img { + width: 100%; + height: auto; + object-fit: contain; +} + +.pagedjs_page_content table{ + column-width: auto!important; +} + +table { + border-collapse: collapse; + width: 100%; + border: 1px solid grey; + font-size: 12px; + table-layout: fixed; + margin-top: 2em; +} + +th { + color: var(--green); + font-weight: bold; + text-align: left; + border-bottom: 1px solid grey; +} + +th, td { + padding: 12px 8px; + padding-bottom: 12px !important; + border-right: 1px solid lightgrey; +} + +tr{ + border-bottom: 1px solid lightgrey; +} + +tr:last-child{ + border: none; +} + +tr > th:first-child, +tr > th:nth-child(2){ + width:20%; +} + +tr > td:first-child, +tr > td:nth-child(2){ + width:20%; +} + +td:last-child{ + display: none; +} + + +/* fade entre les pages */ +#fade{ + opacity: 0; + transition: opacity 1s ease-out; +} + +#fade.loaded{ + opacity: 1; +} + +.glightbox-clean .gslide-title{ + font-family: var(--fontFamily); + font-weight: 600; + line-height: 1.2; +} + +.show-for-small-only{ + display: block; +} + +.hide-for-small-only{ + display: none; +} + +/* ---- H E A D E R -----*/ +header{ + position: fixed; + width: 100%; + top:0; + left:0; + right: 0; + padding: 15px; + z-index: 1000; + background: #FFF; +} + +header.row{ + margin:0; +} + +header .mobile__menu_btn { + display: block; + position: absolute; + right: 15px; + top: 15px; + cursor: pointer; + height: 24px; + width: 24px; +} + +header .mobile__menu_btn span { + display: block; + background: #000; + height: 2px; + width: 26px; + position: absolute; + transition: all 0.5s ease; +} + +header .mobile__menu_btn span:nth-child(1) { top: 0px; } +header .mobile__menu_btn span:nth-child(2) { top: 8px; } +header .mobile__menu_btn span:nth-child(3) { top: 16px; } +header .mobile__menu_btn .transparent { opacity: 0; } + +header .mobile__menu_btn .rotate-top { + -ms-transform: rotate(45deg); + transform: rotatez(45deg); + -webkit-transform-origin: 0%; + left: 2px; +} + +header .mobile__menu_btn .rotate-bottom { + -ms-transform: rotate(-45deg); + transform: rotatez(-45deg); + -webkit-transform-origin: 15%; +} + + + + + + + diff --git a/assets/css/print-template.css b/assets/css/print-template.css new file mode 100644 index 0000000..4c1686a --- /dev/null +++ b/assets/css/print-template.css @@ -0,0 +1,452 @@ +/* -------- styles des images -------- s */ +figure img.fill{ object-fit: fill; width:100%; height:100%;} +figure img.contain{ object-fit: contain; max-width: none; width:100%; height:100%;} +figure img.cover{ object-fit: cover; max-width: none; width:100%; height:100%;} + + +/* -------- sauts de pages -------- */ +/* Class pour l‘ajout d'une page */ +.page{ + page-break-after: always; +} + +/* Classe pour l'ajout d'un saut de page */ +.pagebreak{ + page-break-after: always; +} + +/* Classe pour l'ajout d'une page blanche */ +.blank-page{ + page-break-after: always; + page: blank; +} + +@page blank{ + background: #FFF; + @top-left-corner {content: none;} + @top-left {content: none;} + @top-center {content: none;} + @top-right {content: none;} + @top-right-corner {content: none;} + @left-top {content: none;} + @left-middle {content: none;} + @left-bottom {content: none;} + @right-top {content: none;} + @right-middle {content: none;} + @right-bottom {content: none;} + @bottom-left-corner {content: none;} + @bottom-left {content: none;} + @bottom-center {content: none;} + @bottom-right {content: none;} + @bottom-right-corner {content: none;} +} + +/* --------- Alignment for blocks ------- */ +.chapter .content div.alignment-left, +.chapter .content div.alignment-left p{ + text-align: left !important; + hyphens: none !important; +} + +.chapter .content div.alignment-right, +.chapter .content div.alignment-right p{ + text-align: right !important; + hyphens: none !important; +} + +.chapter .content div.alignment-center, +.chapter .content div.alignment-center p{ + text-align: center !important; + hyphens: none !important; +} + +.chapter .content div.alignment-justify, +.chapter .content div.alignment-justify p{ + text-align: justify !important; + hyphens: auto !important; +} + + +/* -------- BACKGROUND IMAGE --------- */ +.spread-image { + --pagedjs-full-page: spread; +} + +.full-bleed-image.full-page{ + top: calc(var(--pagedjs-margin-top)*-1 - var(--pagedjs-bleed-top)); + height: var(--pagedjs-height); +} + +.pagedjs_left_page .full-bleed-image.full-page{ + left: calc(var(--pagedjs-margin-left)*-1 - var(--pagedjs-bleed-left)); + right: calc(var(--pagedjs-margin-right)*-1); +} + +.pagedjs_right_page .full-bleed-image.full-page{ + left: calc(var(--pagedjs-margin-left)*-1); + right: calc(var(--pagedjs-margin-right)*-1 - var(--pagedjs-bleed-right)); +} + +.spread-interval-image-left{ + break-before: left; + page: spreadinterval; +} + +.spread-interval-image-right{ + page: spreadinterval; + position: relative; +} + +.spread-interval-image-left figure, +.spread-interval-image-right figure{ + width:200%; +} + +.spread-interval-image-right figure{ + margin-left: -100%; +} + +.spread-interval-image-right .chapter-title-wrapper{ + position: absolute; + bottom: 20mm; + right: 20mm; +} + +.spread-interval-image-right .chapter-title-wrapper h1, +.spread-interval-image-right .chapter-title-wrapper .chapter-number{ + color: #FFF; + border-color: #FFF; + vertical-align: middle; +} + +.spread-interval-image-right .chapter-title-spanish{ + margin-left: 10mm; +} + +@page spreadinterval{ + background: var(--backgroundImage); + margin:0; + @top-left-corner {content: none;} + @top-left {content: none;} + @top-center {content: none;} + @top-right {content: none;} + @top-right-corner {content: none;} + @left-top {content: none;} + @left-middle {content: none;} + @left-bottom {content: none;} + @right-top {content: none;} + @right-middle {content: none;} + @right-bottom {content: none;} + @bottom-left-corner {content: none;} + @bottom-left {content: none;} + @bottom-center {content: none;} + @bottom-right {content: none;} + @bottom-right-corner {content: none;} +} + +.pagedjs_spreadinterval_page .chapter{ + margin-top: 0 !important; +} + +.interval-image{ + break-before: left; + page: interval; +} + +@page interval{ + background: var(--backgroundImage); + margin:0; + @top-left-corner {content: none;} + @top-left {content: none;} + @top-center {content: none;} + @top-right {content: none;} + @top-right-corner {content: none;} + @left-top {content: none;} + @left-middle {content: none;} + @left-bottom {content: none;} + @right-top {content: none;} + @right-middle {content: none;} + @right-bottom {content: none;} + @bottom-left-corner {content: none;} + @bottom-left {content: none;} + @bottom-center {content: none;} + @bottom-right {content: none;} + @bottom-right-corner {content: none;} +} + +.interval-image figcaption{ + background: rgba(255, 255, 255, 1); + border-radius: 10px; + position: absolute; + margin-top: 0; + padding: 1mm 3mm; + color: var(--green); + border: 1px solid var(--green); + max-width: calc(var(--pagedjs-width) - 30mm); + bottom: 8mm; + left: 15mm; +} + +.pagedjs_interval_page .chapter{ + margin-top: 0 !important; +} + +.spread-image, +.full-bleed-image.full-page { + height: var(--pagedjs-height); + top: auto; + display: flex; + align-items: center; + justify-content: center; +} + +.spread-image figure, +.full-bleed-image figure{ + height: calc(var(--pagedjs-height) + var(--pagedjs-margin-top) + var(--pagedjs-margin-bottom)); +} + +.spread-image figure.full-width, +.full-bleed-image figure.full-width{ + height: auto; + width: calc(100% - 12mm); + margin: 6mm; +} + + +.spread-image figure.full-width img; +.full-bleed-image figure.full-width img{ + max-width: 100%; + height: auto; +} + +.full-bleed-image figure img{ + object-fit: cover; + max-width: none; + width:100%; + height:100%; +} + +.spread-image figure img{ + object-fit: cover; + max-width: none; + width:100%; + height:100%; +} + +.full-bleed-image figcaption, +.spread-image figcaption{ + background: rgba(255, 255, 255, 1); + border-radius: 10px; + position: absolute; + margin-top: 0; + padding: 1mm 3mm; + color: var(--green); + border: 1px solid var(--green); + max-width: calc(var(--pagedjs-width) - 30mm); +} + +.pagedjs_left_page .full-bleed-image figcaption { + left: 8mm; +} + +.pagedjs_right_page .full-bleed-image figcaption{ + right: 8mm; +} + +.full-bleed-image figcaption { + bottom: -7mm; +} + +.spread-image figcaption{ + bottom: 15mm; + left: 15mm; +} + +.background-image{ + page: backgroundImage; +/* page-break-after: always;*/ + margin-top: -1cm; + position: relative; +} + +.background-image figcaption{ + background: rgba(255, 255, 255, 0.9); + position: absolute; + margin-top: 0; + padding: 1mm 1mm; + top: 0; +/* left: 10mm;*/ +/* top: calc(9in - 15mm);*/ +} + +.background-image figcaption p{ + margin:0; +} + +.pagedjs_page.pagedjs_right_page .background-image figure{ + position: absolute; + top: calc(var(--pagedjs-bleed-top) * -1); + left:0; + width: calc(var(--pagedjs-width-right) - var(--pagedjs-bleed-right)); + height: calc(var(--pagedjs-height-right)); +} + +.pagedjs_page.pagedjs_left_page .background-image figure{ + position: absolute; + top: calc(var(--pagedjs-bleed-top) * -1); + left: calc(var(--pagedjs-bleed-left) * -1); + width: calc(var(--pagedjs-width-left) - var(--pagedjs-bleed-left)); + height: var(--pagedjs-height-left); +} + +@page backgroundImage{ + margin: 0; + @top-left-corner {content: none;} + @top-left {content: none;} + @top-center {content: none;} + @top-right {content: none;} + @top-right-corner {content: none;} + @left-top {content: none;} + @left-middle {content: none;} + @left-bottom {content: none;} + @right-top {content: none;} + @right-middle {content: none;} + @right-bottom {content: none;} + @bottom-left-corner {content: none;} + @bottom-left {content: none;} + @bottom-center {content: none;} + @bottom-right {content: none;} + @bottom-right-corner {content: none;} +} + +/* -------- FULL PAGE --------- */ + +.full-page{ + position: absolute; +} + +.full-page.bottom{ + bottom: 0; + transform: none; + top: inherit; +} + +/* ------ Colonnes de texte ------ */ + +.col-2{ + columns: 2; + column-gap: 0.5cm; +} + +.col-3{ + columns: 3; + column-gap: 0.5cm; +} + +/* ------- IMAGES --------- */ + + .grid { + display: grid; + grid-template-columns: repeat(12,1fr); + grid-gap: 0.5cm; + align-content: start; + } + + .grid figure { + grid-column: span 3; + align-self: start; + justify-self: start; + margin: 0; + padding: 0; + } + + /* largeur des .figure */ + figure.offset2 { grid-column: 3 / span 3; } + figure.offset4 { grid-column: 5 / span 3; } + figure.offset6 { grid-column: 7 / span 3; } + figure.offset8 { grid-column: 9 / span 3; } + figure.third { grid-column: span 4; } + figure.third.offset2 { grid-column: 3 / span 4; } + figure.third.offset4 { grid-column: 5 / span 4; } + figure.third.offset6 { grid-column: 7 / span 4; } + figure.third.offset8 { grid-column: 9 / span 4; } + figure.half { grid-column: span 6; } + figure.half.offset2 { grid-column: 3 / span 6; } + figure.half.offset4 { grid-column: 5 / span 6; } + figure.half.offset6 { grid-column: 7 / span 6; } + figure.twothird { grid-column: span 8; } + figure.twothird.offset2 { grid-column: 3 / span 8; } + figure.twothird.offset4 { grid-column: 5 / span 8; } + figure.threequarter { grid-column: span 9; } + figure.threequarter.offset2 { grid-column: 3 / span 9; } + figure.full { grid-column: 1 / span 12; } + + /* alignement vertical des figure */ + figure.top { align-self: start;} + figure.center { align-self: center;} + figure.bottom { align-self: end;} + + +/* ------- TABLE OF CONTENTS --------- */ + +.toc{ + break-before: right; +} + +/* counters */ + +#list-toc-generated{ + counter-reset: counterTocLevel1; + list-style: none; + overflow-x: visible !important; +} + +#list-toc-generated .toc-element-level-1{ + counter-increment: counterTocLevel1; + counter-reset: counterTocLevel2; +} + +#list-toc-generated a{ + text-decoration: none; +} + +#list-toc-generated .toc-element a::after{ + content: target-counter(attr(href), page); + position: absolute; + right:0; + font-size: 13pt; + text-align: right; +} + +#list-toc-generated .toc-element-level-2 a::after{ + font-size: 10pt; +} + +#list-toc-generated .toc-element-level-1{ + font-size: 13pt; +} + +#list-toc-generated .toc-element-level-2{ + font-weight: bold; + margin-bottom: 20px; +} + +#list-toc-generated li span{ + display: block; +} + +/* -------- FOOTNOTES ---------- */ +span.footnote { + float: footnote; +} + +.footnote::footnote-call { + content: counter(footnote, decimal) " "; +} + + + + + + + diff --git a/assets/css/print.css b/assets/css/print.css new file mode 100644 index 0000000..e9b7ce5 --- /dev/null +++ b/assets/css/print.css @@ -0,0 +1,54 @@ +@media print{ + +/* --------- Paramètres de base ---------- */ + @page{ + size: 165mm 240mm +/* bleed: 6mm; + marks: crop;*/ + } + + @page :left { + margin: 16mm 25mm 10mm 10mm; + @top-left-corner { + content: counter(page); + font-size: 7pt; + text-align: center; + font-family: var(--fontFamily); + } + @top-center{ + content: string(title); + font-size: 7pt; + text-align: center; + text-transform: uppercase; + width: 105%; + margin-left: 0%; + } + } + + @page :right { + margin: 16mm 10mm 10mm 25mm; + @top-right-corner { + content: counter(page); + font-size: 7pt; + text-align: center; + font-family: var(--fontFamily); + } + @top-center{ + content: string(chapter); + font-size: 7pt; + text-align: center; + text-transform: uppercase; + width: 105%; + margin-left: -9%; + } + } + + .chapter{ + break-before: right; + } + + .chapter h2{ + page-break-after: always; + } + +} diff --git a/assets/css/reset.css b/assets/css/reset.css new file mode 100644 index 0000000..432833d --- /dev/null +++ b/assets/css/reset.css @@ -0,0 +1,5 @@ +html {box-sizing: border-box;}*,*::before,*::after {box-sizing: inherit;}body,h1,h2,h3,h4,h5,h6,ul,ol,li,p,pre,blockquote,figure,hr {margin: 0;padding: 0; font-size:100%; font-weight: normal;}ul {list-style: none;}input,textarea,select,button {color: inherit;font: inherit;letter-spacing: inherit;}input,textarea,button {border: 1px solid gray;}button {border-radius: 0;padding: 0.75em 1em;background-color: transparent;}button * {pointer-events: none;}embed,iframe,img,object,video {display: block;max-width: 100%;}table {table-layout: fixed;width: 100%;}[hidden] {display: none !important;}noscript {display: block;margin-bottom: 1em;margin-top: 1em;} +/* Buttons and input buttons */ +[role="button"],input[type="submit"],input[type="reset"],input[type="button"],button { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box;} +input[type="submit"], input[type="reset"], input[type="button"], button { background: none; border: 0; color: inherit; font: inherit; line-height: normal; overflow: visible; padding: 0; -webkit-appearance: button; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; } +input::-moz-focus-inner, button::-moz-focus-inner { border: 0; padding: 0;} diff --git a/assets/css/responsive.css b/assets/css/responsive.css new file mode 100644 index 0000000..51af03a --- /dev/null +++ b/assets/css/responsive.css @@ -0,0 +1,45 @@ +/* sm size */ +@media only screen and (min-width: 48em) { + .show-for-small-only{ display: none;} + .hide-for-small-only{ display: block;} + + header{ + padding: 15px 30px; + padding-right: 0px; + } + + header .mobile__menu_btn { + display: none; + } + + header nav { + height: auto; + min-height: auto; + max-height: none; + } + +} + +/* md size */ +@media only screen and (min-width: 64em) { + header nav ul.row{ + margin-left: 30px; + margin-right: 0; + } +} + +/* lg size */ +@media only screen and (min-width: 75em) { + +} + +/* xl size */ +@media only screen and (min-width: 90em) { + :root{ + --textSize: 20px; + } + body{ + line-height: 1.4; + } +} + diff --git a/assets/css/variables.css b/assets/css/variables.css new file mode 100644 index 0000000..5ce72cb --- /dev/null +++ b/assets/css/variables.css @@ -0,0 +1,8 @@ +:root{ + --margin: 1em; + + --fontFamily: sans-serif; + --textSize: 17px; + --ratio : auto; + +} \ No newline at end of file diff --git a/assets/css/web.css b/assets/css/web.css new file mode 100644 index 0000000..30f996f --- /dev/null +++ b/assets/css/web.css @@ -0,0 +1,8 @@ +@media screen{ + main{ + padding-top: 250px; + max-width: 42em; + margin: auto; + } + +} \ No newline at end of file diff --git a/assets/csspageweaver/.gitignore b/assets/csspageweaver/.gitignore new file mode 100644 index 0000000..496ee2c --- /dev/null +++ b/assets/csspageweaver/.gitignore @@ -0,0 +1 @@ +.DS_Store \ No newline at end of file diff --git a/assets/csspageweaver/.gitlab-ci.yml b/assets/csspageweaver/.gitlab-ci.yml new file mode 100644 index 0000000..6ba6a80 --- /dev/null +++ b/assets/csspageweaver/.gitlab-ci.yml @@ -0,0 +1,104 @@ +stages: + - prepare + - release + +# This job compile CSS Page Weaver and few plugins +prepare_job: + stage: prepare + image: ubuntu:latest + rules: + - if: $CI_COMMIT_TAG + before_script: + - apt-get update && apt-get install -y git curl jq zip bash + - git config --global user.email "csspageweaver@csspageweaver.org" + - git config --global user.name "Automated Releaser" + script: + + - | + # Store Job ID since next stage (release_job) link to current job artifacts + echo "ARTIFACTS_JOB=$CI_JOB_ID" >> build.env + + - | + # create plugins folder if needed + mkdir -p plugins + + - | + # Set plugins list + REPO_LIST=( + "baseline" + "grid" + "imposition" + "marginBox" + "spread" + "previewPage" + "reloadInPlace" + ) + + - | + # Add listed plugins as git subtree. Need deployment tokens if repos are private + for REPO in "${REPO_LIST[@]}"; do + SUBTREE_URL="https://gitlab.com/csspageweaver/plugins/${REPO}.git" + git subtree add --prefix="plugins/$REPO" "$SUBTREE_URL" main --squash + done + + - | + # Define the pluginsParameters object + PLUGINS_PARAMETERS='{ + "baseline": { + "size": 16, + "position": 0 + }, + "reloadInPlace": { + "blur": false, + "behavior": "instant" + } + }' + + - | + # Add plugin list to manifest + MANIFEST_PATH="manifest.json" + PLUGINS_ENTRY=$(jq --arg repos "${REPO_LIST[*]}" '.plugins = ($repos | split(" "))' "$MANIFEST_PATH") + echo "$PLUGINS_ENTRY" > "$MANIFEST_PATH" + + - | + # Add plugin parameters to manifest + PARAMETERS_PLUGINS_ENTRY=$(jq --argjson pluginsParameters "$PLUGINS_PARAMETERS" '.pluginsParameters = $pluginsParameters' "$MANIFEST_PATH") + echo "$PARAMETERS_PLUGINS_ENTRY" > "$MANIFEST_PATH" + + - | + # create folder + mkdir -p csspageweaver + + # Copy releveant folder and file to a csspageweaver folder + cp -r interface/ lib/ modules/ plugins/ csspageweaver/ + cp main.js manifest.json README.md .gitignore csspageweaver/ + + + artifacts: + name: csspageweaver-core-$CI_COMMIT_TAG + paths: + - csspageweaver/ + reports: + dotenv: build.env + expire_in: never + +# This job create a release based on previous artifact +release_job: + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + needs: + - job: prepare_job + artifacts: true + rules: + - if: $CI_COMMIT_TAG + script: + - echo "running release_job for $CI_COMMIT_TAG " + release: + name: 'Release $CI_COMMIT_TAG' + tag_name: '$CI_COMMIT_TAG' + ref: '$CI_COMMIT_SHA' + description: 'Auto release' + assets: + links: + - name: '👉 CSS Page Weaver with plugins embed' + url: 'https://gitlab.com/csspageweaver/csspageweaver/-/jobs/$ARTIFACTS_JOB/artifacts/download' diff --git a/assets/csspageweaver/README.md b/assets/csspageweaver/README.md new file mode 100644 index 0000000..6d48bef --- /dev/null +++ b/assets/csspageweaver/README.md @@ -0,0 +1,177 @@ +# CSS Page Weaver + +![Interface](https://gitlab.com/csspageweaver/csspageweaver/-/wikis/uploads/e724d6782600c30bc1b8d1ad56b24217/_screen_copie.webp) + +CSS Page Weaver is a browser-based publishing tool, made up of [PagedJs](https://pagedjs.org/about/) library and modulars additionals features. While it's design to ease installation for beginners CSS Page Weaver also bring elegant and extendable solution for more advanced users. + +## ✨ Features + +- **Streamlined and Ready-to-Use**: Get started quickly with a standardized way to integrate features. +- **Extensive Plugin Library**: No need to reinvent the wheel with the available plugins. +- **WYSIWYG Editor**: Streamline your design pratice with an extandable interface. +- **Create and Share Plugins**: Develop and share your own plugins easily. + +## ⛵ Getting Started + +### Prerequisites + +- A local web server + +### 🪴 Installation (fastest way) + +If you feel a bit lost with following instruction, you should probably look at the [CSS Page Weaver compiled with a few plugins](https://gitlab.com/csspageweaver/csspageweaver/-/releases) + +Integrate it at the root level of your page and add a link to `csspageweaver` main _module_ into your HTML template + +```html + +``` + +*Do you need to also install PagedJs? Nope! CSS Page Weaver already embed it.* + +### Use + +Run a simple server. That's it! + +### Boilerplate + +Don't have a project to test it? There is [a ready-to-use boilerplate](https://gitlab.com/csspageweaver//boilerplate). Download, unzip & run a server! + + +## 🚀 Going further + +### 🌲 Installation (complete way) + +Released version on CSS Page Weaver is compiled with few plugins. You can install the package yourself for greater control. + +#### Clone CSS Page Weaver repo in your project [option A]. + +```bash +# With HTTPS +git clone https://gitlab.com/csspageweaver/csspageweaver.git + +# With SSH +git clone git@gitlab.com:csspageweaver/csspageweaver.git +``` +#### Clone CSS Page Weaver as a git subtree [option B]. + +Subtree are great to: +- embed CSS Page Weaver repo in another repo +- get updates + +```bash + git subtree add --prefix csspageweaver/ git@gitlab.com:csspageweaver/cssPageWeaver.git --squash +``` + +### 🔌 Dependencies + +CSS Page Weaver is designed to work with plugins. In this complete installation, you need to install plugins by yourself. If you've downloaded [the last release of CSS Page Weaver](https://gitlab.com/csspageweaver/csspageweaver/-/releases), few plugins are already embedded. + +**Here is a [list of all plugins](https://gitlab.com/csspageweaver//plugins) known.** + +**Steps** + +1. Download and place plugin folder in `csspageweaver/plugins` +2. Add plugin to manifest + +#### Installation as subtree + +We prefer to install plugins using Git Subtree because it allows us to easily preserve the filiation link with the plugin directory (and to obtain updates!). + +Bear in mind, if you're not comfortable with command lines, that *step 1* can easily be replaced by a simple *download, drag and drop*. + +Otherwise, here is how it works. + +##### (Step 1) Clone plugin as a subtree + +Install plugin as a submodule of `csspageweaver` + +```bash + git subtree add --prefix="csspageweaver/plugins/{{PLUGIN_FOLDER_NAME}}" git@gitlab.com:csspageweaver/plugins/{{PLUGIN_NAME}}.git --squash +``` + +##### (Step 2) Add plugin to manifest + +Almost done. Add a mention to `csspageweaver/manifest.json` + +```json +{ + "plugins": [ + // existing plugin, + "PLUGIN_FOLDER_NAME" + ], +} +``` + +Look at complete [plugins list](https://gitlab.com/csspageweaver/plugins) and [plugins installation guide](https://gitlab.com/csspageweaver/csspageweaver/-/wikis/design/plugins/install) + +#### Update as subtree + +This is where Git subtrees are wonderful + +```bash +git subtree pull --prefix="csspageweaver/plugins/{{PLUGIN_NAME}}" main --squash +``` + +A bit dazed? Don't worry. Once again, you can update your plugins with your favorite *download, unzip, drag and drop* shady method. + +### 🎁 Package manager + +You already like the principle of subtrees, but you think (rightly) that the multiplication of command lines can be a bit tedious in the long run? Installation and dependencies can me handle with our [Package Manager](https://gitlab.com/csspageweaver/package-manager) + +**Install CSS Page Weaver and plugins with package manager** + +```bash +./weaver_manager.sh --install +``` + +**Get update with package manager** + +```bash +./weaver_manager.sh --pull +``` + +See [Package Manager repository](https://gitlab.com/csspageweaver-toolkit/package_manager) and [further documentation on managing your installation](https://gitlab.com/csspageweaver/csspageweaver/-/wikis/maintain_and_develop/core/5-manage_csspageweaver_integration) + + + +## 🔄 Customization + +### Basic Information + +Edit `csspageweaver/manifest.json` to declare: +- Plugins +- Plugins configuration +- Stylesheets +- Your custom hooks + +### CSS Page Weaver behavior (advanced) + +Edit `csspageweaver/main.js` to: +- disable Common dictionary +- disable Interface +- Choose render method + +## 🎓 Documentation + +A complete [documentation is available](https://gitlab.com/csspageweaver/csspageweaver/-/wikis/home) + +## 📝 License + +This project is licensed under the MIT License + +## 👏 Acknowledgements + +CSS Page Weaver is based on [PagedJs](https://pagedjs.org/about/) by Coko Foundation. + +CSS Page Weaver is an original idea of Julie Blanc ehanced by Benjamin G. +Julien Taquet was a great help in reimagining the rendering module. Finally, Nicolas Taffin and Julien Bidoret helped to oversee this tool. + +All CSS Page Weaver plugins remains linked to their original creators. +Without them, GUI would remain an empty shell. Thanks 🙏 + +## 🙌 Contributing + +Features and documentation requests are welcome! Feel free to check the [issues page](https://gitlab.com/csspageweaver/csspageweaver/-/issues). + +Contributions must follow our [code of conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) \ No newline at end of file diff --git a/assets/csspageweaver/interface/css/grid.css b/assets/csspageweaver/interface/css/grid.css new file mode 100644 index 0000000..561d174 --- /dev/null +++ b/assets/csspageweaver/interface/css/grid.css @@ -0,0 +1,46 @@ +@media print { + + + + /* Size and marin for all pages ------------- */ + @page { + size: 148mm 210mm; + margin-top: 20mm; + margin-bottom: 20mm; + bleed: 6mm; + marks: crop; + @bottom-center{ + content: counter(page); + } + } + + figure, img{ + width: 100%; + } + + +} + + +*{ + margin: 0; + padding: 0; +} + + +#image-full{ + --pagedjs-full-page: spread; + width: 100%; + height: 100%; +} + +#image-full img{ + width: 100%; + height: 100%; + object-fit: cover; +} + + +.pagedjs_note{ + color: red; +} \ No newline at end of file diff --git a/assets/csspageweaver/interface/css/interface.css b/assets/csspageweaver/interface/css/interface.css new file mode 100644 index 0000000..dda88e6 --- /dev/null +++ b/assets/csspageweaver/interface/css/interface.css @@ -0,0 +1,136 @@ +/* CSS for Paged.js interface – v0.2 +Julie Blanc - 2020 +MIT License https://opensource.org/licenses/MIT +A simple stylesheet to see pages on screen (with baseline included) +Adapted for this project */ + + +/* Change the look */ +:root { + --color-background: #efefef; + --color-pageSheet: #cfcfcf; + --color-pageBox: violet; + --color-paper: white; + --pagedjs-crop-color: #000; + --pagedjs-crop-stroke: 1px; + --color-preview: #222; + --pagedjs-margin-interface: 20px; + --pagedjs-header-height: 80px; + + /* --pagedjs-bleed-left-right: 0mm!important; */ +} + +.pagedjs_marks-crop{ + z-index: 999999999999; +} + +/* To define how the book look on the screen: */ +@media screen, pagedjs-ignore { + body { + background-color: var(--color-background); + padding-left: var(--pagedjs-margin-interface); + padding-right: var(--pagedjs-margin-interface); + min-width: calc(var(--pagedjs-width) * 2 + var(--pagedjs-margin-interface)*2); + } + body.no-spread{ + min-width: calc(var(--pagedjs-width) + var(--pagedjs-margin-interface)*2); + + } + + .pagedjs_pages { + display: flex; + width: calc(var(--pagedjs-width) * 2); + flex: 0; + flex-wrap: wrap; + margin: 0 auto; + margin-bottom: var(--pagedjs-header-height); + margin-top: var(--pagedjs-header-height); + + } + + .pagedjs_page { + background-color: var(--color-paper); + box-shadow: 0 0 0 1px var(--color-pageSheet); + margin: 0; + flex-shrink: 0; + flex-grow: 0; + margin-top: 10mm; + } + + .pagedjs_first_page { + margin-left: calc(var(--pagedjs-width) - var(--pagedjs-bleed-left)); + } + + .pagedjs_page:last-of-type { + margin-bottom: 10mm; + } + + .pagedjs_pagebox{ + box-shadow: 0 0 0 1px var(--color-pageBox); + } + + .pagedjs_left_page{ + z-index: 20; + width: calc(var(--pagedjs-bleed-left) + var(--pagedjs-pagebox-width))!important; + } + + /* .pagedjs_left_page .pagedjs_sheet{ + z-index: 20; + width: calc(var(--pagedjs-bleed-left) + var(--pagedjs-pagebox-width) + 1px)!important; + } */ + + .pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop { + border-color: transparent; + } + + + .pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-middle{ + width: 0; + } + + .pagedjs_right_page{ + z-index: 10; + position: relative; + left: calc(var(--pagedjs-bleed-left)*-1); + } + + /* show the margin-box */ + + .pagedjs_margin-top-left-corner-holder, + .pagedjs_margin-top, + .pagedjs_margin-top-left, + .pagedjs_margin-top-center, + .pagedjs_margin-top-right, + .pagedjs_margin-top-right-corner-holder, + .pagedjs_margin-bottom-left-corner-holder, + .pagedjs_margin-bottom, + .pagedjs_margin-bottom-left, + .pagedjs_margin-bottom-center, + .pagedjs_margin-bottom-right, + .pagedjs_margin-bottom-right-corner-holder, + .pagedjs_margin-right, + .pagedjs_margin-right-top, + .pagedjs_margin-right-middle, + .pagedjs_margin-right-bottom, + .pagedjs_margin-left, + .pagedjs_margin-left-top, + .pagedjs_margin-left-middle, + .pagedjs_margin-left-bottom { + box-shadow: 0 0 0 1px inset var(--color-marginBox); + } + +} + + + +.note { + float: footnote; +} + +/* define the position of the footnote on the page (only bottom is possible for now) */ + +@page { + @footnote { + float: bottom; + } +} \ No newline at end of file diff --git a/assets/csspageweaver/interface/css/panel.css b/assets/csspageweaver/interface/css/panel.css new file mode 100644 index 0000000..f7abe62 --- /dev/null +++ b/assets/csspageweaver/interface/css/panel.css @@ -0,0 +1,532 @@ +@import url("../fonts/IBM_Plex_Mono/stylesheet.css"); + +@media print{ + csspageweaver-gui{ + display: none; + } +} + +@media screen, pagedjs-ignore { + + + /* TOGGLE PANEL ----------------------------------- */ + #cssPageWeaver_toggle-panel ~ #cssPageWeaver_panel{ display: none; } + #cssPageWeaver_toggle-panel + label #panel-open{ display: none; } + + #cssPageWeaver_toggle-panel:checked ~ #cssPageWeaver_panel{ display: block; } + #cssPageWeaver_toggle-panel:checked + label #panel-open{ display: block; } + #cssPageWeaver_toggle-panel:checked + label #panel-closed{ display: none; } + + #cssPageWeaver_toggle-panel{ display: none; } + + + /* STYLE ----------------------------------- */ + :root{ + --cssPageWeaver-font:'IBM Plex Mono'; + --cssPageWeaver-size: 16px; + --cssPageWeaver-fixed: 30px; + + /* --cssPageWeaver-color-border: #8fb6b0; + --cssPageWeaver-color-accent: #EE6C4D; + --cssPageWeaver-color-accent-hover: #852811; + --cssPageWeaver-color-text: #464f4e; + --cssPageWeaver-color-bg: #f8f8f2; */ + + + /* --cssPageWeaver-color-accent: #EE6C4D; + --cssPageWeaver-color-accent-hover: #852811; + --cssPageWeaver-color-border: #86766e; + --cssPageWeaver-color-text: #4f4946; + --cssPageWeaver-color-bg: #efefef; */ + + --cssPageWeaver-color-accent: RebeccaPurple; + --cssPageWeaver-color-accent-hover: BlueViolet; + --cssPageWeaver-color-border: #836e86; + --cssPageWeaver-color-border-light: #999999; + --cssPageWeaver-color-text: #4e464f; + --cssPageWeaver-color-bg: #f1f0f0; + + --cssPageWeaver-radius: 5px; + } + + + /* Toggle button -------------------------------------------- */ + + #cssPageWeaver_toggle-panel + label{ + background-color: var(--cssPageWeaver-color-bg); + border: 2px solid var(--cssPageWeaver-color-border); + border-radius: var(--cssPageWeaver-color-radius); + + --size: 30px; + width: var(--size); + height: var(--size); + + display: flex; + align-items: center; + justify-content: center; + font-size: 1.25em; + + color: var(--cssPageWeaver-color-text); + //border-radius: var(--cssPageWeaver-radius); + + transition: border-radius .25s ease-in-out; + + } + + #cssPageWeaver_toggle-panel:checked + label{ + border-top-left-radius: var(--cssPageWeaver-radius); + } + + + /* CONTAINER -------------------------------------------- */ + + csspageweaver-gui *{ + margin: 0; + padding: 0; + + } + + + csspageweaver-gui{ + font-family: var(--cssPageWeaver-font); + color: var(--cssPageWeaver-color-text); + font-size: var(--cssPageWeaver-size); + } + + csspageweaver-gui label, + csspageweaver-gui button{ + cursor: pointer!important; + } + + #cssPageWeaver_toggle-panel + label{ + position: fixed; + left: var(--cssPageWeaver-fixed); + top: var(--cssPageWeaver-fixed); + width: 30px; + left: 30px; + z-index: 9000; + } + + #cssPageWeaver_panel{ + width: 296px; + background-color: var(--cssPageWeaver-color-bg); + border: 2px solid var(--cssPageWeaver-color-border); + border-radius: var(--cssPageWeaver-radius); + position: fixed; + left: var(--cssPageWeaver-fixed); + top: var(--cssPageWeaver-fixed); + z-index: 8900; + padding: 1em 1em .5em 1em; + + max-height: 80vh; + max-height: calc(100vh - 5rem); + overflow: scroll; + + } + + + /* panel-group ------------------------------------- */ + + + #cssPageWeaver_panel .panel-group{ + margin: 0; + padding-top: 1.25em; + } + #cssPageWeaver_panel .panel-group:not(:last-of-type){ + border-bottom: 1px solid var(--cssPageWeaver-color-border); + padding-bottom: 1.25em; + } + + + + /* panel-group-title ------------------------------------- */ + + #cssPageWeaver_panel h1, + #cssPageWeaver_panel button, + #cssPageWeaver_panel p, + #cssPageWeaver_panel svg, + #cssPageWeaver_panel label{ + all: initial; + all: unset; + } + + + #cssPageWeaver_panel .panel-group-title{ + display: grid; + grid-template-columns: auto 1ch 1fr; + grid-gap: .5ch; + } + + #cssPageWeaver_panel h1 span{ + font-size: 0.75em; + } + + + #cssPageWeaver_panel .panel-group-title:not(:empty) + *{ + margin-top: 1.25em; + } + + #cssPageWeaver_panel .panel-group-title h1{ + font-size: 1em; + font-weight: 600; + margin: 0; + } + + #cssPageWeaver_panel .panel-group-title input{ + display: none; + } + #cssPageWeaver_panel .panel-group-title label{ + grid-column: -1; + } + + #cssPageWeaver_panel .panel-group-title label span{ + /* color: var(--cssPageWeaver-color-accent); */ + font-size: 16px; + border: 1.5px solid var(--cssPageWeaver-color-accent); + padding: 0.25ch 1ch 0.5ch 1ch; + min-width: 4ch; + text-align: center; + + font-size: 0.8em; + font-weight: 500; + border-radius: var(--cssPageWeaver-radius); + + background-color: var(--cssPageWeaver-color-accent); + border-color: var(--cssPageWeaver-color-accent); + color: var(--cssPageWeaver-color-bg); + + font-style: italic; + + } + + #cssPageWeaver_panel .panel-group-title label span:hover{ + background-color: var(--cssPageWeaver-color-accent-hover); + border-color: var(--cssPageWeaver-color-accent-hover); + color: var(--cssPageWeaver-color-bg); + + } + + #cssPageWeaver_panel .panel-group-title input:not(:checked) + label[id*="toggle"] span.button-see{ + background-color: var(--cssPageWeaver-color-bg); + color: var(--cssPageWeaver-color-accent); + } + + #cssPageWeaver_panel .panel-group-title input:checked + label[id*="toggle"] span.button-hide{ + background-color: var(--cssPageWeaver-color-bg); + color: var(--cssPageWeaver-color-accent); + } + + /* INFO BOX ---------------------------------- */ + #cssPageWeaver_panel .panel-group-title details{ + position: relative; + } + #cssPageWeaver_panel .panel-group-title summary{ + color: var(--cssPageWeaver-color-text); + //border: 1px solid black; + //border-radius: 1rem; + width: 1rem; + font-size: .8em; + height: 1rem; + text-align: center; + cursor: pointer; + opacity: .3; + line-height: 160%; + } + + #cssPageWeaver_panel .panel-group-title details summary::marker { + display: none; + content: ""; + border: 1px solid currentColor; + } + +} + +#cssPageWeaver_panel .panel-group-title details p{ + position: absolute; + background: var(--cssPageWeaver-color-bg); + padding: .5ch; + width: max-content; + max-width: 10rem; + font-size: .7rem; + margin-top: .5ch; + border: 1px solid var(--cssPageWeaver-color-accent); + border-radius: .2ch; + top: -50%; + left: 2em; + transform: translateX(0%); +} + + +/* panel-group-values ---------------------------------- */ + +#cssPageWeaver_panel .panel-group-values{ + margin-top: 0.5em; + margin-bottom: 0.5em; + display: flex; + align-items: center; + justify-content: space-between; +} + + +/* INPUT NUMBER ---------------------------------- */ + + +#cssPageWeaver_panel input[type="number"]{ + font-family: var(--cssPageWeaver-font)!important; + color: var(--cssPageWeaver-color-text); + width: 8ch; + background-color: transparent!important; + border: 1px solid var(--cssPageWeaver-color-text); + font-size: calc(var(--cssPageWeaver-size)*0.9); + padding-left: 0.5ch; +} + +#cssPageWeaver_panel input[type="number"]:focus, +#cssPageWeaver_panel input[type="number"]:focus-visible{ + border: 1px solid var(--cssPageWeaver-color-accent)!important; + outline: none; +} + + +/* INPUT CHECKBOX ---------------------------------- */ + +#cssPageWeaver_panel input[type="checkbox"], +#cssPageWeaver_panel input[type="radio"]{ display: none; } + +#cssPageWeaver_panel input + label:not([id*="toggle"])::before{ + content: ""; + --size: 12px; + width: var(--size); + height: var(--size); + display: inline-block; + box-sizing: border-box; + border: 1.5px solid var(--cssPageWeaver-color-text); + margin-right: 1ch; + +} + +#cssPageWeaver_panel input:checked + label{ + color: var(--cssPageWeaver-color-accent); +} + +#cssPageWeaver_panel input:checked + label::before{ + border: 5px solid var(--cssPageWeaver-color-accent); +} + +#cssPageWeaver_panel input + label:hover{ + color: var(--cssPageWeaver-color-accent-hover); +} + +#cssPageWeaver_panel input + label:hover::before{ + border: 1.5px solid var(--cssPageWeaver-color-accent-hover); +} + +#cssPageWeaver_panel input[type="radio"]:checked + label:hover::before{ + border: 5px solid var(--cssPageWeaver-color-accent); +} +#cssPageWeaver_panel input[type="radio"]:checked + label:hover{ + color: var(--cssPageWeaver-color-accent); +} +#cssPageWeaver_panel input[type="checkbox"] + label:hover::before{ + border: 5px solid var(--cssPageWeaver-color-accent-hover); +} + +/* INPUT RADIO ---------------------------------- */ + + #cssPageWeaver_panel input[type="radio"] + label{ + margin-bottom: 0.5em; +} + +/* exception */ +/*#cssPageWeaver_panel #baseline-toggle + label::before{ display: none; } +*/ + +/* BUTTONS-GROUP ------------------------------------------- */ + +#cssPageWeaver_panel .buttons-group button, +#cssPageWeaver_panel .buttons-group .button{ + display: inline-block; + --size: 40px; + background-color: transparent; + border: 1.5px solid var(--cssPageWeaver-color-accent); + border-radius: var(--cssPageWeaver-radius); + box-sizing: border-box; + + color: var(--cssPageWeaver-color-accent); + + width: var(--size); + height: var(--size); + + text-align: center; + vertical-align: middle; + text-decoration: none; +} + +#cssPageWeaver_panel .buttons-group .button:not(:has(*)){ + padding: .5em 0; +} + +#cssPageWeaver_panel .buttons-group input{ + display: none; +} + +#cssPageWeaver_panel .buttons-group button svg, +#cssPageWeaver_panel .buttons-group .button svg{ + fill: var(--cssPageWeaver-color-accent); + padding: 0.25em; +} + +#cssPageWeaver_panel .buttons-group{ + display: flex; + justify-content: flex-start; + align-items: center; + gap: 1ch; +} + +#cssPageWeaver_panel .buttons-group.align-right{ + justify-content: flex-end; +} + +#cssPageWeaver_panel .panel-group-title:not(:empty) + .buttons-group{ + padding-top: 0.25em; + margin-top: .5em; +} + +#cssPageWeaver_panel .buttons-group .force-right{ + text-align: right; + flex-grow: 1; +} + +#panel-buttons .buttons-group{ + padding-top: 1.25em; + display: flex; +} + + +#panel-buttons .buttons-group button, +#panel-buttons .buttons-group .button{ + margin-left: 0.5em; +} + +#cssPageWeaver_panel input + label.label-block{ + display: block; + margin-top: 1rem; +} + +#cssPageWeaver_panel .panel-group-title.button-toggle label::before{ display: none!important; } + +/* CHECKED BUTTONS --------------------------------------- */ + +#cssPageWeaver_panel .buttons-group input:checked + button, +#cssPageWeaver_panel .buttons-group input:checked + .button{ + background-color: var(--cssPageWeaver-color-accent); + border-color: var(--cssPageWeaver-color-accent); + cursor: pointer; +} +#cssPageWeaver_panel .buttons-group input:checked + button svg, +#cssPageWeaver_panel .buttons-group input:checked + .button svg{ + fill: var(--cssPageWeaver-color-bg); +} + +/* TOGGLE LABEL ICONS --------------------------------------- */ + +#cssPageWeaver_panel input[id*="toggle"] + .buttons-group{ + margin-top: 1rem; +} + +#cssPageWeaver_panel input[id*="toggle"]:checked + .buttons-group .button:nth-of-type(1), +#cssPageWeaver_panel input[id*="toggle"]:not(:checked) + .buttons-group .button:nth-of-type(2){ + background-color: var(--cssPageWeaver-color-accent); + border-color: var(--cssPageWeaver-color-accent); +} + +#cssPageWeaver_panel input[id*="toggle"]:checked + .buttons-group .button:nth-of-type(1) svg, +#cssPageWeaver_panel input[id*="toggle"]:not(:checked) + .buttons-group .button:nth-of-type(2) svg{ + fill: var(--cssPageWeaver-color-bg); +} + +/* DETAILS CONTAINER< ------------------- */ + +[data-open-container*="details"] ~ [id*="details"]{ + box-sizing: border-box; + position: relative; + top: 1em; + + max-height: 0px; + overflow: hidden; + transition: max-height 1s; +} + +[data-open-container*="details"]:checked ~ [id*="details"]{ + max-height: 100vh; + margin-bottom: 0.5em; + border-top: .5px solid var(--cssPageWeaver-color-border-light); +} + + +/* HOVER BUTTONS ------------------------------------------------------------ */ + +#cssPageWeaver_panel .buttons-group button:hover, +#cssPageWeaver_panel .buttons-group .button:hover{ + background-color: var(--cssPageWeaver-color-accent-hover)!important; + border-color: var(--cssPageWeaver-color-accent-hover)!important; +} +#cssPageWeaver_panel .buttons-group button:hover svg, +#cssPageWeaver_panel .buttons-group .button:hover svg{ + fill: var(--cssPageWeaver-color-bg)!important; +} + +/* SHORTCUT ------------------------------------------------------------ */ + +#cssPageWeaver_panel .shortcut-list{ + list-style: none; + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: .25em; + margin-top: .5em; +} +#cssPageWeaver_panel .shortcut-list li{ + font-size: .75em; + color: var(--cssPageWeaver-color-text); + border: 1px solid; + border-radius: .25em; + padding: .2em; + cursor: help; + opacity: .5; +} + +/* List hidden hooks ------------------------------------------------------------ */ + +#cssPageWeaver_panel #hidden-features h1 { + font-weight: bold; + margin-bottom: .5em; + +} +#cssPageWeaver_panel #hidden-features summary { + display: flex; + flex-direction: row; + justify-content: space-between; + padding-top: 1em; + font-size: .75rem; + cursor: pointer; +} +#cssPageWeaver_panel #hidden-features ul{ + list-style: none; + font-size: .75rem; + display: flex; + flex-wrap: wrap; + gap: .75em; +} +#cssPageWeaver_panel #hidden-features ul li{ + margin-bottom: .25em; + color: var(--cssPageWeaver-color-bg); + padding: .2em .4em; + border-radius: .2em; + background: var(--cssPageWeaver-color-accent); + font-style: italic; +} + +#cssPageWeaver_panel #hidden-features summary::marker { + display: none; +} \ No newline at end of file diff --git a/assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff b/assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..4074b4738c88789120a1c77bfbe409a1be8ba20c GIT binary patch literal 56520 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 HdwBm3N6N=_ literal 0 HcmV?d00001 diff --git a/assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff2 b/assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..88e4e8b69a189f90bb665ea5464ad4b1c09b3692 GIT binary patch literal 39964 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