From 54ce5faf089c126e0a620fe415d686f73e534363 Mon Sep 17 00:00:00 2001 From: sarahgarcin1 Date: Tue, 24 Mar 2026 00:46:25 +0100 Subject: [PATCH] debut d'integration de la version terminal --- assets/css/main.css | 374 +- assets/css/portfolio.css | 220 + assets/css/print.css | 951 +- assets/css/print_sarah.css | 719 + assets/css/running-page.css | 114 + assets/css/subtitles.css | 122 + assets/css/text.css | 71 + assets/css/variables.css | 43 +- 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 56520 -> 0 bytes .../IBM_Plex_Mono/IBMPlexMono-Italic.woff2 | Bin 39964 -> 0 bytes .../IBM_Plex_Mono/IBMPlexMono-Medium.woff | Bin 51872 -> 0 bytes .../IBM_Plex_Mono/IBMPlexMono-Medium.woff2 | Bin 36648 -> 0 bytes .../IBMPlexMono-MediumItalic.woff | Bin 57840 -> 0 bytes .../IBMPlexMono-MediumItalic.woff2 | Bin 41156 -> 0 bytes .../IBM_Plex_Mono/IBMPlexMono-Regular.woff | Bin 50664 -> 0 bytes .../IBM_Plex_Mono/IBMPlexMono-Regular.woff2 | Bin 35536 -> 0 bytes .../IBM_Plex_Mono/IBMPlexMono-SemiBold.woff | Bin 52936 -> 0 bytes .../IBM_Plex_Mono/IBMPlexMono-SemiBold.woff2 | Bin 37592 -> 0 bytes .../IBMPlexMono-SemiBoldItalic.woff | Bin 58712 -> 0 bytes .../IBMPlexMono-SemiBoldItalic.woff2 | Bin 41848 -> 0 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 | 335 - 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 - .../RoutedGothic-Half-Italic.woff | Bin 0 -> 31980 bytes .../RoutedGothic-Half-Italic.woff2 | Bin 0 -> 23900 bytes .../RoutedGothic/RoutedGothic-Italic.woff | Bin 0 -> 32744 bytes .../RoutedGothic/RoutedGothic-Italic.woff2 | Bin 0 -> 24356 bytes assets/fonts/RoutedGothic/RoutedGothic.woff | Bin 0 -> 26308 bytes assets/fonts/RoutedGothic/RoutedGothic.woff2 | Bin 0 -> 19816 bytes .../RoutedGothicNarrow-Half-Italic.woff | Bin 0 -> 31708 bytes .../RoutedGothicNarrow-Half-Italic.woff2 | Bin 0 -> 23732 bytes .../RoutedGothicNarrow-Italic.woff | Bin 0 -> 32504 bytes .../RoutedGothicNarrow-Italic.woff2 | Bin 0 -> 24148 bytes .../RoutedGothic/RoutedGothicNarrow.woff | Bin 0 -> 26676 bytes .../RoutedGothic/RoutedGothicNarrow.woff2 | Bin 0 -> 20216 bytes .../RoutedGothicWide-Half-Italic.woff | Bin 0 -> 32588 bytes .../RoutedGothicWide-Half-Italic.woff2 | Bin 0 -> 24268 bytes .../RoutedGothic/RoutedGothicWide-Italic.woff | Bin 0 -> 32840 bytes .../RoutedGothicWide-Italic.woff2 | Bin 0 -> 24476 bytes .../fonts/RoutedGothic/RoutedGothicWide.woff | Bin 0 -> 26868 bytes .../fonts/RoutedGothic/RoutedGothicWide.woff2 | Bin 0 -> 20308 bytes assets/fonts/Teletext/MODE7GX0.TTF | Bin 0 -> 61240 bytes assets/fonts/Teletext/MODE7GX1.TTF | Bin 0 -> 61280 bytes assets/fonts/Teletext/MODE7GX2.TTF | Bin 0 -> 61280 bytes assets/fonts/Teletext/MODE7GX3.TTF | Bin 0 -> 62312 bytes assets/fonts/Teletext/MODE7GX4.TTF | Bin 0 -> 62312 bytes assets/fonts/Teletext/ModeSeven.ttf | Bin 0 -> 65140 bytes assets/fonts/stylesheet.css | 101 + assets/js/plugins/decor-blockquote.js | 32 + assets/js/plugins/decor-num-pages.js | 55 + assets/js/plugins/decor-subtitles.js | 152 + assets/js/plugins/followingNotes.js | 217 + assets/pagedjs/interface.js | 2 +- content/10_charlie-aubry/chapitre.txt | 2 +- job-log.md | 16 +- site/blueprints/blocks/description.yml | 9 + site/blueprints/pages/chapitre.yml | 1 + site/blueprints/pages/default.yml | 1 + site/plugins/notes-tag/index.php | 2 +- site/snippets/blocks/description.php | 5 + site/snippets/blocks/image.php | 28 +- site/snippets/blocks/imagefloat.php | 28 +- site/snippets/head.php | 30 +- site/templates/print.php | 29 +- 146 files changed, 2532 insertions(+), 40285 deletions(-) create mode 100644 assets/css/portfolio.css create mode 100644 assets/css/print_sarah.css create mode 100644 assets/css/running-page.css create mode 100644 assets/css/subtitles.css create mode 100644 assets/css/text.css delete mode 100644 assets/csspageweaver/.gitignore delete mode 100644 assets/csspageweaver/.gitlab-ci.yml delete mode 100644 assets/csspageweaver/README.md delete mode 100644 assets/csspageweaver/interface/css/grid.css delete mode 100644 assets/csspageweaver/interface/css/interface.css delete mode 100644 assets/csspageweaver/interface/css/panel.css delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff2 delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Medium.woff delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Medium.woff2 delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-MediumItalic.woff delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-MediumItalic.woff2 delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Regular.woff delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Regular.woff2 delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBold.woff delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBold.woff2 delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBoldItalic.woff delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBoldItalic.woff2 delete mode 100644 assets/csspageweaver/interface/fonts/IBM_Plex_Mono/stylesheet.css delete mode 100644 assets/csspageweaver/lib/csstree.min.js delete mode 100644 assets/csspageweaver/lib/paged.esm.js delete mode 100644 assets/csspageweaver/main.js delete mode 100644 assets/csspageweaver/manifest.json delete mode 100644 assets/csspageweaver/modules/dict.js delete mode 100644 assets/csspageweaver/modules/frame_render.js delete mode 100644 assets/csspageweaver/modules/gui.js delete mode 100644 assets/csspageweaver/modules/pre_render.js delete mode 100644 assets/csspageweaver/modules/render.js delete mode 100644 assets/csspageweaver/plugins/.gitignore delete mode 100644 assets/csspageweaver/plugins/baseline/.gitignore delete mode 100644 assets/csspageweaver/plugins/baseline/README.md delete mode 100644 assets/csspageweaver/plugins/baseline/baseline.css delete mode 100644 assets/csspageweaver/plugins/baseline/baseline.js delete mode 100644 assets/csspageweaver/plugins/baseline/config.json delete mode 100644 assets/csspageweaver/plugins/baseline/template.html delete mode 100644 assets/csspageweaver/plugins/beauDrapeau/.gitignore delete mode 100644 assets/csspageweaver/plugins/beauDrapeau/ReadMe.md delete mode 100644 assets/csspageweaver/plugins/beauDrapeau/beauDrapeau-data.js delete mode 100644 assets/csspageweaver/plugins/beauDrapeau/beauDrapeau-hook.js delete mode 100644 assets/csspageweaver/plugins/beauDrapeau/beauDrapeau-script.js delete mode 100644 assets/csspageweaver/plugins/beauDrapeau/beauDrapeau.js delete mode 100644 assets/csspageweaver/plugins/beauDrapeau/config.json delete mode 100644 assets/csspageweaver/plugins/createIndex/config.json delete mode 100644 assets/csspageweaver/plugins/createIndex/createIndex.js delete mode 100644 assets/csspageweaver/plugins/footnotesFix/.gitignore delete mode 100644 assets/csspageweaver/plugins/footnotesFix/README.md delete mode 100644 assets/csspageweaver/plugins/footnotesFix/config.json delete mode 100644 assets/csspageweaver/plugins/footnotesFix/footnotes.css delete mode 100644 assets/csspageweaver/plugins/footnotesFix/footnotes.js delete mode 100644 assets/csspageweaver/plugins/fullPage/.gitignore delete mode 100755 assets/csspageweaver/plugins/fullPage/README.md delete mode 100644 assets/csspageweaver/plugins/fullPage/config.json delete mode 100644 assets/csspageweaver/plugins/fullPage/fullPage.css delete mode 100644 assets/csspageweaver/plugins/fullPage/fullPage.js delete mode 100644 assets/csspageweaver/plugins/grid/.gitignore delete mode 100644 assets/csspageweaver/plugins/grid/README.md delete mode 100644 assets/csspageweaver/plugins/grid/config.json delete mode 100644 assets/csspageweaver/plugins/grid/grid-hook.js delete mode 100644 assets/csspageweaver/plugins/grid/grid-ui.js delete mode 100644 assets/csspageweaver/plugins/grid/grid.css delete mode 100644 assets/csspageweaver/plugins/imposition/.gitignore delete mode 100644 assets/csspageweaver/plugins/imposition/config.json delete mode 100644 assets/csspageweaver/plugins/imposition/index.js delete mode 100644 assets/csspageweaver/plugins/imposition/stylesheet.css delete mode 100644 assets/csspageweaver/plugins/imposition/template.html delete mode 100644 assets/csspageweaver/plugins/marginBox/.gitignore delete mode 100644 assets/csspageweaver/plugins/marginBox/config.json delete mode 100644 assets/csspageweaver/plugins/marginBox/marginBox.css delete mode 100644 assets/csspageweaver/plugins/marginBox/marginBox.js delete mode 100644 assets/csspageweaver/plugins/marginNotes/.gitignore delete mode 100644 assets/csspageweaver/plugins/marginNotes/README.md delete mode 100644 assets/csspageweaver/plugins/marginNotes/config.json delete mode 100644 assets/csspageweaver/plugins/marginNotes/marginNotes.js delete mode 100644 assets/csspageweaver/plugins/previewPage/.gitignore delete mode 100644 assets/csspageweaver/plugins/previewPage/config.json delete mode 100644 assets/csspageweaver/plugins/previewPage/event.js delete mode 100644 assets/csspageweaver/plugins/previewPage/stylesheet.css delete mode 100644 assets/csspageweaver/plugins/previewPage/template.html delete mode 100644 assets/csspageweaver/plugins/regexTypo/.gitignore delete mode 100644 assets/csspageweaver/plugins/regexTypo/config.json delete mode 100644 assets/csspageweaver/plugins/regexTypo/regexTypo-hook.js delete mode 100644 assets/csspageweaver/plugins/regexTypo/regexTypo.js delete mode 100644 assets/csspageweaver/plugins/reloadInPlace/.gitignore delete mode 100644 assets/csspageweaver/plugins/reloadInPlace/Readme.md delete mode 100644 assets/csspageweaver/plugins/reloadInPlace/config.json delete mode 100644 assets/csspageweaver/plugins/reloadInPlace/reloadInPlace.js delete mode 100644 assets/csspageweaver/plugins/spread/.gitignore delete mode 100644 assets/csspageweaver/plugins/spread/config.json delete mode 100644 assets/csspageweaver/plugins/spread/spread-hook.js delete mode 100644 assets/csspageweaver/plugins/spread/spread-ui.js delete mode 100644 assets/csspageweaver/plugins/spread/spread.css delete mode 100644 assets/csspageweaver/plugins/spread/spread.html delete mode 100644 assets/csspageweaver/plugins/tableOfContent/.gitignore delete mode 100755 assets/csspageweaver/plugins/tableOfContent/README.md delete mode 100644 assets/csspageweaver/plugins/tableOfContent/config.json delete mode 100644 assets/csspageweaver/plugins/tableOfContent/tableOfContent.css delete mode 100644 assets/csspageweaver/plugins/tableOfContent/tableOfContent.js create mode 100644 assets/fonts/RoutedGothic/RoutedGothic-Half-Italic.woff create mode 100644 assets/fonts/RoutedGothic/RoutedGothic-Half-Italic.woff2 create mode 100644 assets/fonts/RoutedGothic/RoutedGothic-Italic.woff create mode 100644 assets/fonts/RoutedGothic/RoutedGothic-Italic.woff2 create mode 100644 assets/fonts/RoutedGothic/RoutedGothic.woff create mode 100644 assets/fonts/RoutedGothic/RoutedGothic.woff2 create mode 100644 assets/fonts/RoutedGothic/RoutedGothicNarrow-Half-Italic.woff create mode 100644 assets/fonts/RoutedGothic/RoutedGothicNarrow-Half-Italic.woff2 create mode 100644 assets/fonts/RoutedGothic/RoutedGothicNarrow-Italic.woff create mode 100644 assets/fonts/RoutedGothic/RoutedGothicNarrow-Italic.woff2 create mode 100644 assets/fonts/RoutedGothic/RoutedGothicNarrow.woff create mode 100644 assets/fonts/RoutedGothic/RoutedGothicNarrow.woff2 create mode 100644 assets/fonts/RoutedGothic/RoutedGothicWide-Half-Italic.woff create mode 100644 assets/fonts/RoutedGothic/RoutedGothicWide-Half-Italic.woff2 create mode 100644 assets/fonts/RoutedGothic/RoutedGothicWide-Italic.woff create mode 100644 assets/fonts/RoutedGothic/RoutedGothicWide-Italic.woff2 create mode 100644 assets/fonts/RoutedGothic/RoutedGothicWide.woff create mode 100644 assets/fonts/RoutedGothic/RoutedGothicWide.woff2 create mode 100644 assets/fonts/Teletext/MODE7GX0.TTF create mode 100644 assets/fonts/Teletext/MODE7GX1.TTF create mode 100644 assets/fonts/Teletext/MODE7GX2.TTF create mode 100644 assets/fonts/Teletext/MODE7GX3.TTF create mode 100644 assets/fonts/Teletext/MODE7GX4.TTF create mode 100644 assets/fonts/Teletext/ModeSeven.ttf create mode 100644 assets/js/plugins/decor-blockquote.js create mode 100644 assets/js/plugins/decor-num-pages.js create mode 100644 assets/js/plugins/decor-subtitles.js create mode 100644 assets/js/plugins/followingNotes.js create mode 100644 site/blueprints/blocks/description.yml create mode 100644 site/snippets/blocks/description.php diff --git a/assets/css/main.css b/assets/css/main.css index 88c5068..36aeb02 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -1,19 +1,23 @@ * { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - box-sizing: border-box; + margin: 0; + padding: 0; + box-sizing: border-box; + -webkit-font-smoothing: antialiased; + -moz-font-smoothing: antialiased; + -o-font-smoothing: antialiased; + text-rendering: geometricPrecision; } body{ font-family: var(--fontFamily); - font-size: var(--textSize); - line-height: 1.3; + font-size: var(--font-size); + line-height: var(--baseline); } a{ text-decoration: none; - color: #000; + color: currentColor; } a:hover{text-decoration: underline;} @@ -48,7 +52,7 @@ h3{ } h5, h6{ - font-size: var(--textSize); + font-size: var(--font-size); margin-top: 1mm; margin-bottom: 0; font-weight: normal; @@ -125,23 +129,355 @@ figure[data-crop="false"] img { object-fit: contain; } + +/* ------ BLOCKQUOTE --------- */ + blockquote{ - /*background: red;*/ - margin-left: 2cm; - margin-top: 0; - position: relative; + margin-top: calc(var(--baseline)*1); + margin-bottom: calc(var(--baseline)*1); + padding-left: calc(var(--unit)*0.75); + padding-right: calc(var(--unit)*0.75); } -blockquote:before{ - content: ":::::::::"; - display: block; - position: absolute; - left: -2cm; - /*border-top: 1px solid #000;*/ - width: 2cm; - height: 100%; + +blockquote p::before{ + display: none; } +.before-blockquote_container, +.after-blockquote_container{ + position: absolute; + overflow: hidden; +} + +.before-blockquote_container{ + left: 0px; +} + +.after-blockquote_container{ + right: -10px; +} + +.after-blockquote, +.before-blockquote{ + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + word-break: break-all; + width: calc(var(--unit)*0.5 + 4px); + overflow-wrap: anywhere; + position: relative; + top: -3px; +} + +/* ------ FIN BLOCKQUOTE --------- */ + + +/* ---- ENTRÉE DE CHAPITRES ------ */ + +.chapter-header { + position: relative; +} + +.chapter-header .hgroup { + font-size: 22px; + line-height: 1; + font-weight: normal; + position: relative; + top: calc(var(--baseline)*-0.25 - 2px); + margin-bottom: calc(var(--baseline)*3 + 13px); + padding-right: calc(var(--unit)*2); + position: relative; + padding-left: 15px; +} + +.chapter-header .hgroup::before { + content: "***************************************************************************************************************************************************************************************************************************************************************************************************************************************************"; + display: block; + width: calc(100% + 1ch); + height: 100%; + + overflow: hidden; + position: absolute; + top: 0; + left: 0px; + z-index: -1; + + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: calc(var(--sign-baseline)*1.5); + overflow-wrap: anywhere; +} + +.chapter-header .type { + display: none; +} + + +.chapter-header .hgroup h2 { + font-family: var(--fontTitle); + font-weight: normal; + font-size: 1em; + line-height: calc(var(--sign-baseline)*1.5); + display: inline; + box-sizing: border-box; + +} + +.chapter-header .hgroup h2 span { + color: white; + padding-left: 0.25ch; + padding-right: 0.25ch; + box-decoration-break: clone; + background-color: var(--sign-color); + padding: 1px 0.25ch; + text-transform: uppercase; +} + + +.chapter-header .author span { + font-family: var(--fontTitle); + color: var(--sign-color); + margin-top: calc(var(--baseline)*1.5); + text-transform: uppercase; + background-color: white; + display: inline-block; +} + +.chapter-header .author::before { display: none; } +.chapter-header .bio { display: none; } + +.hgroup-before, +.hgroup-after, +.chapter-header .title-before, +.chapter-header .title-after { + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: calc(var(--sign-baseline)*1); +} + +.chapter-header .title-before, +.chapter-header .title-after{ + white-space: nowrap; + position: absolute; + left: 0px; +} + +.chapter-header .title-before { + top: calc(var(--baseline)*-1.25); +} + +.chapter-header .title-after { + bottom: calc(var(--baseline)*-1.5 + 1px); +} + +.hgroup-before{ + position: absolute; + left: calc(var(--pagedjs-margin-left)*-1); + padding-left: 19px; + top: -47px; +} + +.hgroup-after{ + position: absolute; + bottom: calc(var(--baseline)*-5 - 1px); + right: calc(var(--pagedjs-margin-right)*-1); + text-align: right; +} + +/* ---- FIN ENTRÉE DE CHAPITRES ------ */ + + +/* ------ ENTRETIENS ------ */ + +.description { + padding-left: calc(var(--unit)*0.75); + padding-right: calc(var(--unit)*0.75); + position: relative; + top: -4px; +} + +.description-before { + position: relative; + top: -6px; +} + +.description-after { + margin-top: -5px; + margin-bottom: calc(var(--baseline)*1 - 3px); +} + +.description-before, +.description-after { + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); +} + +.description::before, +.description::after { + content: "......"; + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + word-break: break-all; + width: calc(var(--unit)*0.75 + 4px); + overflow-wrap: anywhere; + display: block; +} + +.description::before { + position: absolute; + left: 0; + top: -3px; +} + + +.description::after { + position: absolute; + right: -13px; + top: -3px; +} + + +h5 { + font-size: var(--sign-size); + color: var(--sign-color); + font-weight: normal; + position: relative; + z-index: 10; + top: calc(var(--baseline)*1); + background-color: white; + display: inline; +} + +h5::before, h6::before{ + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); +} + + +.pagedjs_right_page h5{ + left: -80px; +} + +.pagedjs_right_page h5::before{ + content: "+++++++" +} + +.pagedjs_left_page h5{ + left: -49px; +} + +.pagedjs_left_page h5::before{ + content: "+++++" +} + +.h6_container { + position: relative; + z-index: 10; + top: calc(var(--baseline)*1); +} + +h6 { + font-size: var(--sign-size); + color: var(--sign-color); + font-weight: normal; + position: relative; + background-color: white; + display: inline; +} + +h6::before { + content: "++"; + +} + +.decor-h6 { + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + position: absolute; + left: -49px; + top: calc(var(--baseline)*-2.5 + 11px); +} + +.pagedjs_right_page .decor-h6 { + left: -80px; + top: calc(var(--baseline)*-4.5 + 11px); +} + +/* ------ FIN ENTRETIENS ------ */ + + +/* ------- NOTES -------------- */ +.following-note { + font-size: var(--fs-notes); + line-height: 14px; + font-weight: 500; + + display: block; + margin-top: calc(var(--baseline)*0.5); + margin-bottom: calc(var(--baseline)*0.5); +} + +.container-following-note { + margin-left: calc(var(--unit)*2); +} + +.wrapper__note-call { + break-inside: avoid; +} + + +.following-note_call, +.following-note_marker { + + &::before { + content: "{" + } + + &::after { + content: "}" + } + + font-size: var(--fs-notes); +} + +.following-note_call { + padding-left: 0.25ch; + position: relative; + top: -3px; + line-height: 0; +} + +.following-note_marker { + position: absolute; + left: 0; +} +/* -------- FIN NOTES --------- */ + +/* -------- PORTFOLIO --------- */ + +/* -------- FIN PORTFOLIO --------- */ + + + /* Classes pour le responsive */ .show-for-small-only{ display: block;} .hide-for-small-only{ display: none;} diff --git a/assets/css/portfolio.css b/assets/css/portfolio.css new file mode 100644 index 0000000..55314f1 --- /dev/null +++ b/assets/css/portfolio.css @@ -0,0 +1,220 @@ +:root{ + --bleed-images: 3mm; + --pagedjs-fold: 0px; +} + + +[data-chapter="portfolio"] p{ + color: white; +} + +.pagedjs_portfolio_page .pagedjs_margin-bottom-right .pagedjs_margin-content::after, +.pagedjs_portfolio_page .pagedjs_margin-bottom-left .pagedjs_margin-content::after{ + background-color: black; + color: white; + padding: 0; +} + +[data-chapter="portfolio"] .chapter-header h2 span, +[data-chapter="portfolio"] .chapter-header .author span{ + color: black; + padding-right: 0.75ch; +} + + +/* DOUBLE */ + +.spread{ + position: relative; + z-index: -1; +} +.spread__left{ + + margin: 0; + width: calc(var(--pagedjs-pagebox-width) + var(--bleed-images)); + height: calc(var(--pagedjs-pagebox-height) + var(--bleed-images)*2)!important; + position: absolute; + top: calc((var(--pagedjs-margin-top) + var(--bleed-images))*-1); + left: calc((var(--pagedjs-margin-left) + var(--bleed-images))*-1); + overflow: hidden; + break-after: page; + } + .spread__right{ + margin: 0; + width: calc(var(--pagedjs-pagebox-width) + var(--bleed-images)); + height: calc(var(--pagedjs-pagebox-height) + var(--bleed-images)*2)!important; + position: absolute; + top: calc((var(--pagedjs-margin-top) + var(--bleed-images))*-1); + left: calc(var(--pagedjs-margin-left)*-1); + overflow: hidden; + } + .spread-content{ + margin: 0; + width: calc(var(--pagedjs-pagebox-width)*2 + var(--bleed-images)*2); + height: calc(var(--pagedjs-pagebox-height) + var(--bleed-images)*2)!important; + position: absolute; + top: 0; + left: 0; + } + + .spread__left .spread-content{ + left: calc(var(--pagedjs-fold)*-1); + } + .spread__right .spread-content{ + left: calc((var(--pagedjs-pagebox-width) + var(--bleed-images))*-1 + var(--pagedjs-fold)); + } + + + + + + + /* SPECIFIC */ + + #josefa-1 .spread-content img{ + width: 100%; + height: 100%; + object-fit: cover; + object-position: -310px 10px; + +} + + + #josefa-2 .spread__left{ + top: -280px; + } + #josefa-2 .spread-content img{ + width: 100%; + height: 120%; + object-fit: cover; + object-position: -1700px 0px; + +} + + +#josepha-2__1{ + z-index: 100; + width: 140mm; + height: 190mm; + position: absolute; + left: -15mm; + overflow: hidden; +} + +#josepha-2__1 img{ + width: 100%; + height: 100%; + object-fit: cover; + object-position: -900px 0px; +} + +#josefa-3{ + break-before: left; +} + + #josefa-3 .background{ + width: 100%; + height: 120%; + object-fit: cover; + object-position: -1800px 0px; + +} + + +#josepha-3__1_left{ + z-index: 100; + width: 100%; + height: 156mm; + position: absolute; + top: -100px; + overflow: hidden; +} + +#josepha-3__1_left img{ + width: 100%; + height: 100%; + object-fit: cover; + object-position: -900px 0px; + +} + +#josepha-3__1_right{ + z-index: 100; + width: calc(var(--pagedjs-pagebox-width)*0.4); + height: 156mm; + position: absolute; + top: -100px; + overflow: hidden; +} + +#josepha-3__1_right img{ + width: 100%; + height: 100%; + object-fit: cover; + object-position: calc(var(--pagedjs-pagebox-width)*-1 - var(--bleed-images) - 900px) 0px; +} + + +#josefa-4{ + break-before: left; +} + + #josefa-4 .background{ + width: 100%; + height: 120%; + object-fit: cover; + object-position: -1900px -200px; + +} + + + +#josepha-4_inside{ + z-index: 100; + width: 140mm; + height: 190mm; + position: absolute; + bottom: -5mm; + right: -5mm; + overflow: hidden; +} + +#josepha-4_inside img{ + width: 100%; + height: 100%; + object-fit: cover; + /* object-position: -900px 0px; */ +} + + + + +#josefa-5{ + break-before: left; +} + + #josefa-5 figure{ + /* background-color: black; */ + } + + #josefa-5 .background{ + width: 100%; + height: 100%; + object-fit: cover; + /* object-position: -1900px -200px; */ + +} + +.josepha-grid-1{ +break-before: left; +} + +.josepha-grid{ + width: 100%; +} + + +.josepha-grid img{ + width: 100%; + margin-bottom: calc(var(--baseline)*0.5); +} diff --git a/assets/css/print.css b/assets/css/print.css index 10e9086..8dbe4ba 100644 --- a/assets/css/print.css +++ b/assets/css/print.css @@ -1,719 +1,300 @@ -@media print{ +@media print { -/* --------- Paramètres de base ---------- */ - @page{ - size: 165mm 240mm; -/* bleed: 6mm; - marks: crop;*/ - } - - @page :left { - margin: 12mm 36mm 18mm 14mm; -/* @top-left-corner { - content: counter(page); - font-size: 11pt; - text-align: center; - font-family: "Bilzig Trial"; - }*/ -/* @top-center{ - font-family: var(--fontFamily); - content: "D6cor > essai"; - font-size: 8pt; - color: var(--bleu); - text-align: left; - margin-top: 4mm; - }*/ - @bottom-left{ - font-family: var(--fontFamily); - content: counter(page); - font-size: 20pt; - color: var(--vert); - margin-top:-5mm; - margin-left: 0mm; - } - @bottom-right{ - font-family: var(--fontFamily); - content: "D6cor > essai"; - font-size: 8pt; - color: var(--bleu); - text-align: left; - margin-top:-5mm; - } - } - - @page :right { - margin: 12mm 14mm 18mm 36mm; - /*@top-right-corner { - content: counter(page); - font-size: 7pt; - text-align: center; - font-family: var(--fontFamily); - }*/ - /*@top-center{ - content: string(chapter); - font-family: var(--fontFamily); - font-size: 8pt; - color: var(--bleu); - text-align: right; - margin-top: 4mm; - }*/ - @bottom-right{ - font-family: var(--fontFamily); - content: counter(page); - font-size: 20pt; - color: var(--vert); - margin-top:-5mm; - margin-right: 0mm; - } - @bottom-left{ - content: string(chapter); - font-family: var(--fontFamily); - font-size: 8pt; - color: var(--bleu); - margin-top:-5mm; - } - } - - .chapter{ - break-before: right; - counter-reset: callNote_marginNote markerNote_marginNote; - } - - /* borders */ - .pagedjs_margin-top-left-corner-holder:before{ - content: " "; - background: var(--vert); - width: 100%; - height: var(--border); - position: absolute; - } - - .pagedjs_margin-left:before{ - content: " "; - position: absolute; - top:0; - background: var(--bleu); - width: var(--border); - height: var(--pagedjs-height); - z-index: 2; - } - - .pagedjs_right_page .pagedjs_margin-left:before{ - content: none; - } - - .pagedjs_margin-right:after{ - content: " "; - position: absolute; - top:0; - right: 0; - background: var(--bleu); - width: var(--border); - height: var(--pagedjs-height); - z-index: 2; - } - - .pagedjs_left_page .pagedjs_margin-right:after{ - content: none; - } - - .pagedjs_margin-bottom:after{ - content: " "; - background: var(--rouge); - width: 100%; - height: var(--border); - position: absolute; - bottom: 0; - left: 0; - } - - /* ---- TOC ---- */ - .toc{ - break-before: right; - } - - #list-toc-generated .toc-element a::after{ - font-size: 13pt; - } - - #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; - } - - /* ---- INTERPAGES ------ */ - .interpage figure{ - height: calc(var(--pagedjs-height) - (var(--border) * 2)) !important; - margin-top: calc(var(--border) + 8mm); - margin-bottom: 0; - width: 100%; - } - - /* ---- PAGE DE TITRE ------ */ - /* --- test 1 font 1 taille typo */ - .test .chapter-title{ - page-break-before: always; - position: relative; - } - - .test .chapter-title h2, - .test .chapter-title h3{ - margin: 0; - font-size: var(--textSize); - /*text-align: center;*/ - /*font-family: var(--fontTitle);*/ - text-align: left; - } - - .test .chapter-title h2:before{ - content: "# # # # # # # # # # # # # # # # # # # # # # # # # # # # #"; - display: block; - margin-bottom: 1rem; - } - - .test .chapter-title h2:after{ - content: "+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "; - display: block; - margin-top: 1rem; - margin-bottom: 1rem; - } - - .test .chapter-title h3{ - font-size: var(--fontSize); - text-transform: none; - font-weight: 500; - } - - .test .chapter-title h3:after{ - content: "⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ "; - display: block; - margin-top: 1rem; - margin-bottom: 1rem; - } - - .test .chapter-title .type{ - position: absolute; - left: -2.2cm; - top: 0mm; - font-family: var(--fontTitle); - font-size: 8pt; - /*color: var(--bleu);*/ - } - - .test .chapter-title .type:before{ - content: "["; - } - - .test .chapter-title .type:after{ - content: "]"; - } - - /* -- test mix ocr / jetbrains --- */ - .chapter-title{ - page-break-before: always; - margin-bottom: 2cm; - position: relative; - - /*page: chapterTitle;*/ - /* display: flex; - flex-direction: column; - align-items: center;*/ - } - -/* @page chapterTitle{ - background: var(--bleu); - margin: 12mm 0mm; - @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;} - }*/ - - .chapter-title h2, - .chapter-title h3{ -/* display: inline-block; - position: relative;*/ - margin: 0; - font-size: 24pt; - /*text-align: center;*/ - font-family: var(--fontTitle); - text-align: left; - } - - .chapter-title h3{ - font-size: 10.5pt; - margin-top: 2cm; - text-transform: none; - font-weight: 500; - } - - .chapter-title .type{ - position: absolute; - left: -2.2cm; - top: 1.5mm; - font-family: var(--fontTitle); - /*color: var(--bleu);*/ - font-size: 8pt; - - } - - .chapter-title .type:before{ - content: "["; - } - - .chapter-title .type:after{ - content: "]"; - } - - .interview-block strong{ - font-weight: normal; - margin-right: 0mm; - display: inline-block; - } - - .interview-block strong:before{ - content: "["; - } - .interview-block strong:after{ - content: "]"; - } - - .interview-block p{ - margin-top: 0; - margin-bottom: 0; - text-align-last: left; - } - - .interview-block p:nth-of-type(odd) { - /*color: var(--rouge);*/ - } - - .interview-block p:nth-of-type(2n) { - margin-left: 2cm; - } - - /* ascii-fill : pas de flex:1, hauteur fixée par JS */ - .ascii-fill { - white-space: pre; - overflow: hidden; - line-height: 1.5; - flex-shrink: 0; - color: #FFF; - font-size: var(--textSize); - text-align: center; - font-family: var(--fontFamily); - width: 100%; + @page { + size: 165mm 240mm; + margin-top: 95px; + margin-bottom: 18mm; + /*bleed: 6mm;*/ + /*marks: crop;*/ + --symbol-top: 1px; + --running-top: 8mm; + --running-bottom: 6mm; + --running-left: 19px; } - /*.chapter-title, - .biographie { - font-family: var(--fontFamily); - color: #FFF; - text-align: center; - width: 90%; - margin: auto; - }*/ + @page:left { + margin-left: 18mm; + margin-right: 26mm; + + @top-left-corner { + content: var(--symbol) var(--symbol) var(--symbol); + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + vertical-align: top; + padding-top: var(--running-top); + text-align: left; + padding-left: var(--running-left); + + } + + + @top-left { + content: element(decor); + vertical-align: top; + padding-top: calc(var(--running-top) - var(--symbol-top)); + width: calc(var(--unit)*2); + font-size: var(--font-size); + color: var(--sign-color); + font-family: var(--sign-family); + } + + + + @top-center { + content: element(author); + vertical-align: top; + padding-top: calc(var(--running-top) - var(--symbol-top)); + text-align: left; + white-space: nowrap; + font-size: var(--font-size); + color: var(--sign-color); + font-family: var(--sign-family); + + } + + + @top-right { + content: var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol); + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + vertical-align: top; + padding-top: var(--running-top); + width: 100%; + white-space: nowrap; + text-align: left; + padding-left: 5px; + + } + + @bottom-left { + content: counter(page); + vertical-align: bottom; + padding-bottom: var(--running-bottom); + white-space: nowrap; + + font-size: var(--sign-size); + color: var(--sign-color); + font-family: var(--sign-family); + + z-index: 100; + + + } + + + + + - pre { - font-family: var(--fontFamily); - font-size: var(--textSize); - line-height: 1.5; - white-space: pre-wrap; } - /* ------- TITLES ------- */ + @page:right { + margin-left: 26mm; + margin-right: 18mm; - /* test titres couleurs */ - .chapter-content h3{ - /*text-align: center;*/ - /*background: var(--vert);*/ - /*display: inline-block;*/ - font-size: 12pt; - color: var(--bleu); - font-family: var(--fontTitle); - margin-left: 1cm; - letter-spacing: 0.1px; - } + @top-left-corner { + content: var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol); + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + vertical-align: top; + padding-top: var(--running-top); + text-align: left; + padding-left: var(--running-left); - /* test titres ascii */ - .test .chapter-content h3{ - /*width: calc(var(--pagedjs-width) - 12mm);*/ - text-align: center; - } + } - .test .chapter-content h3:before{ - content: "+------------------------------------------------+"; - display: block; - margin-bottom: 2mm; - } + @top-left { + content: element(title); + vertical-align: top; + padding-top: var(--running-top); + white-space: nowrap; + padding-right: 1.5ch; + font-family: var(--sign-family); + font-size: var(--font-size); + color: var(--sign-color); + } - .test .chapter-content h3:after{ - content: "+------------------------------------------------+"; - display: block; - margin-top: 1mm; - margin-bottom: 1mm; - } + @top-right { + content: var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol); + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + vertical-align: top; + padding-top: var(--running-top); + width: 100%; + white-space: nowrap; + } - .pagedjs_right_page .chapter-content h3{ - /*margin-left: calc((var(--pagedjs-margin-left) - 16mm) * -1);*/ - } - .chapter-content h4{ - /*text-align: center;*/ - font-family: var(--fontTitle); - color: var(--rouge); - font-size: 12pt; + @bottom-right { + content: counter(page); + vertical-align: bottom; + padding-bottom: var(--running-bottom); + text-align: right; + white-space: nowrap; + + font-size: var(--sign-size); + color: var(--sign-color); + font-family: var(--sign-family); + + z-index: 100; + + } } -/* .chapter-content h4:before{ - content: "> > > > > > < < < < < < \a > > > > "; - white-space: pre; + @page:blank { + @top-left { + content: none; + } + + @top-left-corner { + content: none; + } + + @top-right { + content: none; + } + + @top-center { + content: none; + } + + @bottom-center { + content: none; + } + + } - - .chapter-content h4:after{ - content: " < < < < \a > > > > > > < < < < < <"; - white-space: pre; - }*/ - - /* ----- PORTFOLIO ----- */ - .portfolio .block-type-gallery{ - page-break-before: always; - } - - .portfolio .block-type-gallery{ - page: portfolio; - } - - @page portfolio{ - margin: 12mm 14mm 18mm; - @bottom-left{ - content: none; - } - @bottom-right{ - content: none; - } - } - - /* portfolio, grande image pleine page */ - .portfolio .block-type-gallery li.landscape{ - page-break-after: always; - width: var(--pagedjs-height); - height: var(--pagedjs-width); - transform: rotate(90deg); - transform-origin: center center; - position: absolute; - top: 2.5cm; - left: -38%; - overflow: hidden; - } - - .portfolio .block-type-gallery li.landscape img { - width: 100%; - height: 100%; - object-fit: cover; - } - - .portfolio[data-id="jose-fa-ntjam-portfolio"] .block-type-gallery li.landscape img { - width: 100%; - height: auto; - object-fit: none; - } - - /*.portfolio .block-type-gallery li{ - margin-bottom: 2rem; - } - - .portfolio .block-type-gallery .small{ - width: 40%; - } - - .portfolio .block-type-gallery .medium{ - width: 70%; - } - - .portfolio .block-type-gallery .big{ - width: 100%; - }*/ - - /* portfolio removed borders */ - .pagedjs_portfolio_page .pagedjs_margin-top-left-corner-holder:before, - .pagedjs_portfolio_page .pagedjs_margin-left:before, - .pagedjs_portfolio_page .pagedjs_margin-right:after, - .pagedjs_portfolio_page .pagedjs_margin-bottom:after{ - content: none; - } - - /* portfolio test version image sens de lecture, texte en bas */ - .portfolio[data-id="jose-fa-ntjam-portfolio-copier"], - .portfolio[data-id="everything-is-real-copier"]{ - page: portfoliosans; - } - - @page portfoliosans{ - margin: 0; - @bottom-left{ - content: none; - } - @bottom-right{ - content: none; - } - } - - .pagedjs_portfoliosans_page .pagedjs_margin-top-left-corner-holder:before, - .pagedjs_portfoliosans_page .pagedjs_margin-left:before, - .pagedjs_portfoliosans_page .pagedjs_margin-right:after, - .pagedjs_portfoliosans_page .pagedjs_margin-bottom:after{ - content: none; - } - - .portfolio .chapter-title .type{ - right: 0; - left: auto; - } - - .portfolio .web-image{ - display: block; - } - - .portfolio .print-image{ - display: none; - } - - .pagedjs_portfoliosans_page { - position: relative; - } - - .pagedjs_portfoliosans_page .chapter-title{ - display: none; - } - - .portfolio .block-type-image + .block-type-text{ - page-break-after: always; - } - - .pagedjs_portfoliosans_page .block-type-text{ - position: absolute; - width: calc(100% - (36mm + 8mm)); - bottom: 0mm; - } - - .pagedjs_portfoliosans_page .block-type-text p{ - text-align: left; - } - - .pagedjs_portfoliosans_page.pagedjs_left_page .block-type-text{ - right: 36mm; - } - - .pagedjs_portfoliosans_page.pagedjs_right_page .block-type-text{ - left: 36mm; - } - - /* -------- IMAGES ------- */ - .float-image{ - position: relative !important; - top: auto !important; - left: auto !important; - width: auto !important; - float: right; /* ou left selon la position souhaitée */ - clear: right; - width: 45% !important; - - margin-top: 2mm; - - } - - .pagedjs_left_page .float-image{ - float: right; - margin-right: calc(var(--pagedjs-margin-right) / 2 * -1); - margin-left: 5mm; - } - - .pagedjs_right_page .float-image{ - float: left; - margin-left: calc(var(--pagedjs-margin-left) / 2 * -1); - margin-right: 5mm; - } - - .float-image figcaption{ - position: relative; - color: var(--bleu); - font-size: 7pt; - font-family: var(--fontNotes); - text-align: left; - } - - .float-image figcaption p{ - color: var(--bleu); - font-size: 7pt; - font-family: var(--fontNotes); - text-align: left; - line-height: 1.3; - } - - /* ------- NOTES ------- */ - - .margin-note{ - font-size: 7pt; - line-height: 1.3; - font-family: var(--fontNotes); - /*font-weight: 400;*/ - /*font-family: "Bilzig Trial";*/ - color: var(--bleu); - text-align: left; - position: relative !important; - top: auto !important; - left: auto !important; - width: auto !important; - float: right; /* ou left selon la position souhaitée */ - clear: right; - - /* Largeur de la note dans le corps du texte */ - width: 45% !important; - - padding: 1mm 3mm 0mm; - - } - - .margin-note a{ - color: var(--bleu); - } - - .pagedjs_left_page .margin-note { - float: right; - margin-right: calc(var(--pagedjs-margin-right) / 2 * -1); - padding: 1mm 0mm 0mm 3mm; - } - - .pagedjs_right_page .margin-note { - float: left; - margin-left: calc(var(--pagedjs-margin-left) / 2 * -1); - text-align: right; - padding: 1mm 3mm 0mm 0mm; - } - - .note-call{ - font-size: 0.7em; - } - - .note-call_margin-note::before{ - content: "{"; - margin-right: 0.5mm; - } - - .note-call_margin-note::after{ - content: "}"; - margin-left: 0.5mm; - } - - .note-marker_margin-note{ - margin-right: 2mm; - } - - .note-marker_margin-note::before{ - content: "{"; - margin-right: 1mm; - } - - .note-marker_margin-note::after{ - content: "}"; - margin-left: 1mm; - } - - /* ----- IMAGES (SEPARATION DES COUCHES) ----- */ - .print-image{ - position: relative; - } - - .print-image div{ - position: absolute; - top: 0; - left: 0; - mix-blend-mode: multiply; - vertical-align: top; - } - -/* .print-image figcaption{ - position: absolute; - bottom: 0; - }*/ - - .print-image .print-red{ - position: relative; - background: var(--rouge); - } - - .print-image .print-green{ - background: var(--vert); - } - - .print-image .print-blue{ - background: var(--bleu); - } - - .print-image > div > img{ - mix-blend-mode: screen; - -webkit-filter: grayscale(100%) contrast(200%); - filter: grayscale(100%) contrast(200%); - opacity: 1; - } - - .print-image { display: block;} - .web-image { display: none;} - } -/* Gestion des couches */ -body.isolate-red-layer .green-layer, -body.isolate-red-layer .blue-layer, -body.isolate-red-layer .black-layer { display: none; } -body.isolate-green-layer .red-layer, -body.isolate-green-layer .blue-layer, -body.isolate-green-layer .black-layer { display: none; } +.nav-title { + position: running(title); +} -body.isolate-blue-layer .red-layer, -body.isolate-blue-layer .green-layer, -body.isolate-blue-layer .black-layer { display: none; } +.nav-author { + position: running(author); +} -body.isolate-black-layer .red-layer, -body.isolate-black-layer .green-layer, -body.isolate-black-layer .blue-layer { display: none; } +.nav-type { + position: running(type); +} -/* Noir et blanc */ -body.mode-black .print-image > div { - background: transparent; +.nav-decor { + position: running(decor); +} + +.pagedjs_area { + position: relative; } - +.pagedjs_margin-top-left .pagedjs_margin-content .nav-decor::after { + content: var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol); + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + /* padding-left: 1ch; */ + width: calc(var(--unit) + var(--sub-unit)); + position: relative; + top: var(--symbol-top); + padding-left: 11px; +} + +.pagedjs_left_page .pagedjs_margin-top { + width: calc(100% + var(--pagedjs-margin-right) - 2ch); + overflow: hidden; +} + + +.pagedjs_right_page .pagedjs_margin-top{ + width: calc(100% + var(--pagedjs-margin-left) - 4ch); + overflow: hidden; +} + + +.pagedjs_left_page .pagedjs_margin-bottom-left .pagedjs_margin-content::after { + padding-left: 0.25ch; + padding-right: 1.25ch; + display: inline-block; + background-color: white; + min-width: 2ch; +} + + + +.pagedjs_right_page .pagedjs_margin-bottom-right .pagedjs_margin-content::after { + padding-left: 1.25ch; + padding-right: 0.25ch; + display: inline-block; + background-color: white; + min-width: 2ch; +} +[data-chapter="essai"]{ + --sign-color: var(--blue); + page: essai; + break-before: right; +} + + +@page essai{ + --sign-color: var(--blue); +} + +[data-chapter="entretien"]{ + --sign-color: var(--red); + page: entretien; + break-before: right; +} + +@page entretien{ + --sign-color: var(--red); +} + +[data-chapter="portfolio"]{ + --sign-color: var(--green); + --sign-color: white; + page: portfolio; + break-before: left; +} + + +@page portfolio{ + --sign-color: var(--green); + --sign-color: white; + background-color: #000; +} +[data-chapter="portfolio-bis"]{ + --sign-color: var(--green); + page: portfolioBis; + break-before: left; +} + + +@page portfolioBis{ + --sign-color: var(--green); +} + diff --git a/assets/css/print_sarah.css b/assets/css/print_sarah.css new file mode 100644 index 0000000..10e9086 --- /dev/null +++ b/assets/css/print_sarah.css @@ -0,0 +1,719 @@ +@media print{ + +/* --------- Paramètres de base ---------- */ + @page{ + size: 165mm 240mm; +/* bleed: 6mm; + marks: crop;*/ + } + + @page :left { + margin: 12mm 36mm 18mm 14mm; +/* @top-left-corner { + content: counter(page); + font-size: 11pt; + text-align: center; + font-family: "Bilzig Trial"; + }*/ +/* @top-center{ + font-family: var(--fontFamily); + content: "D6cor > essai"; + font-size: 8pt; + color: var(--bleu); + text-align: left; + margin-top: 4mm; + }*/ + @bottom-left{ + font-family: var(--fontFamily); + content: counter(page); + font-size: 20pt; + color: var(--vert); + margin-top:-5mm; + margin-left: 0mm; + } + @bottom-right{ + font-family: var(--fontFamily); + content: "D6cor > essai"; + font-size: 8pt; + color: var(--bleu); + text-align: left; + margin-top:-5mm; + } + } + + @page :right { + margin: 12mm 14mm 18mm 36mm; + /*@top-right-corner { + content: counter(page); + font-size: 7pt; + text-align: center; + font-family: var(--fontFamily); + }*/ + /*@top-center{ + content: string(chapter); + font-family: var(--fontFamily); + font-size: 8pt; + color: var(--bleu); + text-align: right; + margin-top: 4mm; + }*/ + @bottom-right{ + font-family: var(--fontFamily); + content: counter(page); + font-size: 20pt; + color: var(--vert); + margin-top:-5mm; + margin-right: 0mm; + } + @bottom-left{ + content: string(chapter); + font-family: var(--fontFamily); + font-size: 8pt; + color: var(--bleu); + margin-top:-5mm; + } + } + + .chapter{ + break-before: right; + counter-reset: callNote_marginNote markerNote_marginNote; + } + + /* borders */ + .pagedjs_margin-top-left-corner-holder:before{ + content: " "; + background: var(--vert); + width: 100%; + height: var(--border); + position: absolute; + } + + .pagedjs_margin-left:before{ + content: " "; + position: absolute; + top:0; + background: var(--bleu); + width: var(--border); + height: var(--pagedjs-height); + z-index: 2; + } + + .pagedjs_right_page .pagedjs_margin-left:before{ + content: none; + } + + .pagedjs_margin-right:after{ + content: " "; + position: absolute; + top:0; + right: 0; + background: var(--bleu); + width: var(--border); + height: var(--pagedjs-height); + z-index: 2; + } + + .pagedjs_left_page .pagedjs_margin-right:after{ + content: none; + } + + .pagedjs_margin-bottom:after{ + content: " "; + background: var(--rouge); + width: 100%; + height: var(--border); + position: absolute; + bottom: 0; + left: 0; + } + + /* ---- TOC ---- */ + .toc{ + break-before: right; + } + + #list-toc-generated .toc-element a::after{ + font-size: 13pt; + } + + #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; + } + + /* ---- INTERPAGES ------ */ + .interpage figure{ + height: calc(var(--pagedjs-height) - (var(--border) * 2)) !important; + margin-top: calc(var(--border) + 8mm); + margin-bottom: 0; + width: 100%; + } + + /* ---- PAGE DE TITRE ------ */ + /* --- test 1 font 1 taille typo */ + .test .chapter-title{ + page-break-before: always; + position: relative; + } + + .test .chapter-title h2, + .test .chapter-title h3{ + margin: 0; + font-size: var(--textSize); + /*text-align: center;*/ + /*font-family: var(--fontTitle);*/ + text-align: left; + } + + .test .chapter-title h2:before{ + content: "# # # # # # # # # # # # # # # # # # # # # # # # # # # # #"; + display: block; + margin-bottom: 1rem; + } + + .test .chapter-title h2:after{ + content: "+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "; + display: block; + margin-top: 1rem; + margin-bottom: 1rem; + } + + .test .chapter-title h3{ + font-size: var(--fontSize); + text-transform: none; + font-weight: 500; + } + + .test .chapter-title h3:after{ + content: "⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ "; + display: block; + margin-top: 1rem; + margin-bottom: 1rem; + } + + .test .chapter-title .type{ + position: absolute; + left: -2.2cm; + top: 0mm; + font-family: var(--fontTitle); + font-size: 8pt; + /*color: var(--bleu);*/ + } + + .test .chapter-title .type:before{ + content: "["; + } + + .test .chapter-title .type:after{ + content: "]"; + } + + /* -- test mix ocr / jetbrains --- */ + .chapter-title{ + page-break-before: always; + margin-bottom: 2cm; + position: relative; + + /*page: chapterTitle;*/ + /* display: flex; + flex-direction: column; + align-items: center;*/ + } + +/* @page chapterTitle{ + background: var(--bleu); + margin: 12mm 0mm; + @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;} + }*/ + + .chapter-title h2, + .chapter-title h3{ +/* display: inline-block; + position: relative;*/ + margin: 0; + font-size: 24pt; + /*text-align: center;*/ + font-family: var(--fontTitle); + text-align: left; + } + + .chapter-title h3{ + font-size: 10.5pt; + margin-top: 2cm; + text-transform: none; + font-weight: 500; + } + + .chapter-title .type{ + position: absolute; + left: -2.2cm; + top: 1.5mm; + font-family: var(--fontTitle); + /*color: var(--bleu);*/ + font-size: 8pt; + + } + + .chapter-title .type:before{ + content: "["; + } + + .chapter-title .type:after{ + content: "]"; + } + + .interview-block strong{ + font-weight: normal; + margin-right: 0mm; + display: inline-block; + } + + .interview-block strong:before{ + content: "["; + } + .interview-block strong:after{ + content: "]"; + } + + .interview-block p{ + margin-top: 0; + margin-bottom: 0; + text-align-last: left; + } + + .interview-block p:nth-of-type(odd) { + /*color: var(--rouge);*/ + } + + .interview-block p:nth-of-type(2n) { + margin-left: 2cm; + } + + /* ascii-fill : pas de flex:1, hauteur fixée par JS */ + .ascii-fill { + white-space: pre; + overflow: hidden; + line-height: 1.5; + flex-shrink: 0; + color: #FFF; + font-size: var(--textSize); + text-align: center; + font-family: var(--fontFamily); + width: 100%; + } + + /*.chapter-title, + .biographie { + font-family: var(--fontFamily); + color: #FFF; + text-align: center; + width: 90%; + margin: auto; + }*/ + + pre { + font-family: var(--fontFamily); + font-size: var(--textSize); + line-height: 1.5; + white-space: pre-wrap; + } + + /* ------- TITLES ------- */ + + /* test titres couleurs */ + .chapter-content h3{ + /*text-align: center;*/ + /*background: var(--vert);*/ + /*display: inline-block;*/ + font-size: 12pt; + color: var(--bleu); + font-family: var(--fontTitle); + margin-left: 1cm; + letter-spacing: 0.1px; + } + + /* test titres ascii */ + .test .chapter-content h3{ + /*width: calc(var(--pagedjs-width) - 12mm);*/ + text-align: center; + } + + .test .chapter-content h3:before{ + content: "+------------------------------------------------+"; + display: block; + margin-bottom: 2mm; + } + + .test .chapter-content h3:after{ + content: "+------------------------------------------------+"; + display: block; + margin-top: 1mm; + margin-bottom: 1mm; + } + + .pagedjs_right_page .chapter-content h3{ + /*margin-left: calc((var(--pagedjs-margin-left) - 16mm) * -1);*/ + } + + .chapter-content h4{ + /*text-align: center;*/ + font-family: var(--fontTitle); + color: var(--rouge); + font-size: 12pt; + } + + +/* .chapter-content h4:before{ + content: "> > > > > > < < < < < < \a > > > > "; + white-space: pre; + } + + .chapter-content h4:after{ + content: " < < < < \a > > > > > > < < < < < <"; + white-space: pre; + }*/ + + /* ----- PORTFOLIO ----- */ + .portfolio .block-type-gallery{ + page-break-before: always; + } + + .portfolio .block-type-gallery{ + page: portfolio; + } + + @page portfolio{ + margin: 12mm 14mm 18mm; + @bottom-left{ + content: none; + } + @bottom-right{ + content: none; + } + } + + /* portfolio, grande image pleine page */ + .portfolio .block-type-gallery li.landscape{ + page-break-after: always; + width: var(--pagedjs-height); + height: var(--pagedjs-width); + transform: rotate(90deg); + transform-origin: center center; + position: absolute; + top: 2.5cm; + left: -38%; + overflow: hidden; + } + + .portfolio .block-type-gallery li.landscape img { + width: 100%; + height: 100%; + object-fit: cover; + } + + .portfolio[data-id="jose-fa-ntjam-portfolio"] .block-type-gallery li.landscape img { + width: 100%; + height: auto; + object-fit: none; + } + + /*.portfolio .block-type-gallery li{ + margin-bottom: 2rem; + } + + .portfolio .block-type-gallery .small{ + width: 40%; + } + + .portfolio .block-type-gallery .medium{ + width: 70%; + } + + .portfolio .block-type-gallery .big{ + width: 100%; + }*/ + + /* portfolio removed borders */ + .pagedjs_portfolio_page .pagedjs_margin-top-left-corner-holder:before, + .pagedjs_portfolio_page .pagedjs_margin-left:before, + .pagedjs_portfolio_page .pagedjs_margin-right:after, + .pagedjs_portfolio_page .pagedjs_margin-bottom:after{ + content: none; + } + + /* portfolio test version image sens de lecture, texte en bas */ + .portfolio[data-id="jose-fa-ntjam-portfolio-copier"], + .portfolio[data-id="everything-is-real-copier"]{ + page: portfoliosans; + } + + @page portfoliosans{ + margin: 0; + @bottom-left{ + content: none; + } + @bottom-right{ + content: none; + } + } + + .pagedjs_portfoliosans_page .pagedjs_margin-top-left-corner-holder:before, + .pagedjs_portfoliosans_page .pagedjs_margin-left:before, + .pagedjs_portfoliosans_page .pagedjs_margin-right:after, + .pagedjs_portfoliosans_page .pagedjs_margin-bottom:after{ + content: none; + } + + .portfolio .chapter-title .type{ + right: 0; + left: auto; + } + + .portfolio .web-image{ + display: block; + } + + .portfolio .print-image{ + display: none; + } + + .pagedjs_portfoliosans_page { + position: relative; + } + + .pagedjs_portfoliosans_page .chapter-title{ + display: none; + } + + .portfolio .block-type-image + .block-type-text{ + page-break-after: always; + } + + .pagedjs_portfoliosans_page .block-type-text{ + position: absolute; + width: calc(100% - (36mm + 8mm)); + bottom: 0mm; + } + + .pagedjs_portfoliosans_page .block-type-text p{ + text-align: left; + } + + .pagedjs_portfoliosans_page.pagedjs_left_page .block-type-text{ + right: 36mm; + } + + .pagedjs_portfoliosans_page.pagedjs_right_page .block-type-text{ + left: 36mm; + } + + /* -------- IMAGES ------- */ + .float-image{ + position: relative !important; + top: auto !important; + left: auto !important; + width: auto !important; + float: right; /* ou left selon la position souhaitée */ + clear: right; + width: 45% !important; + + margin-top: 2mm; + + } + + .pagedjs_left_page .float-image{ + float: right; + margin-right: calc(var(--pagedjs-margin-right) / 2 * -1); + margin-left: 5mm; + } + + .pagedjs_right_page .float-image{ + float: left; + margin-left: calc(var(--pagedjs-margin-left) / 2 * -1); + margin-right: 5mm; + } + + .float-image figcaption{ + position: relative; + color: var(--bleu); + font-size: 7pt; + font-family: var(--fontNotes); + text-align: left; + } + + .float-image figcaption p{ + color: var(--bleu); + font-size: 7pt; + font-family: var(--fontNotes); + text-align: left; + line-height: 1.3; + } + + /* ------- NOTES ------- */ + + .margin-note{ + font-size: 7pt; + line-height: 1.3; + font-family: var(--fontNotes); + /*font-weight: 400;*/ + /*font-family: "Bilzig Trial";*/ + color: var(--bleu); + text-align: left; + position: relative !important; + top: auto !important; + left: auto !important; + width: auto !important; + float: right; /* ou left selon la position souhaitée */ + clear: right; + + /* Largeur de la note dans le corps du texte */ + width: 45% !important; + + padding: 1mm 3mm 0mm; + + } + + .margin-note a{ + color: var(--bleu); + } + + .pagedjs_left_page .margin-note { + float: right; + margin-right: calc(var(--pagedjs-margin-right) / 2 * -1); + padding: 1mm 0mm 0mm 3mm; + } + + .pagedjs_right_page .margin-note { + float: left; + margin-left: calc(var(--pagedjs-margin-left) / 2 * -1); + text-align: right; + padding: 1mm 3mm 0mm 0mm; + } + + .note-call{ + font-size: 0.7em; + } + + .note-call_margin-note::before{ + content: "{"; + margin-right: 0.5mm; + } + + .note-call_margin-note::after{ + content: "}"; + margin-left: 0.5mm; + } + + .note-marker_margin-note{ + margin-right: 2mm; + } + + .note-marker_margin-note::before{ + content: "{"; + margin-right: 1mm; + } + + .note-marker_margin-note::after{ + content: "}"; + margin-left: 1mm; + } + + /* ----- IMAGES (SEPARATION DES COUCHES) ----- */ + .print-image{ + position: relative; + } + + .print-image div{ + position: absolute; + top: 0; + left: 0; + mix-blend-mode: multiply; + vertical-align: top; + } + +/* .print-image figcaption{ + position: absolute; + bottom: 0; + }*/ + + .print-image .print-red{ + position: relative; + background: var(--rouge); + } + + .print-image .print-green{ + background: var(--vert); + } + + .print-image .print-blue{ + background: var(--bleu); + } + + .print-image > div > img{ + mix-blend-mode: screen; + -webkit-filter: grayscale(100%) contrast(200%); + filter: grayscale(100%) contrast(200%); + opacity: 1; + } + + .print-image { display: block;} + .web-image { display: none;} + +} + + +/* Gestion des couches */ +body.isolate-red-layer .green-layer, +body.isolate-red-layer .blue-layer, +body.isolate-red-layer .black-layer { display: none; } + +body.isolate-green-layer .red-layer, +body.isolate-green-layer .blue-layer, +body.isolate-green-layer .black-layer { display: none; } + +body.isolate-blue-layer .red-layer, +body.isolate-blue-layer .green-layer, +body.isolate-blue-layer .black-layer { display: none; } + +body.isolate-black-layer .red-layer, +body.isolate-black-layer .green-layer, +body.isolate-black-layer .blue-layer { display: none; } + +/* Noir et blanc */ +body.mode-black .print-image > div { + background: transparent; +} + + + + + + + + + + + diff --git a/assets/css/running-page.css b/assets/css/running-page.css new file mode 100644 index 0000000..3303676 --- /dev/null +++ b/assets/css/running-page.css @@ -0,0 +1,114 @@ +.running-page_container{ + --w-container: calc(var(--pagedjs-width) - var(--pagedjs-bleed-left)*2); + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + vertical-align: bottom; + padding-bottom: var(--running-bottom); + width: 100%; + + position: absolute; + left: 0px; + + bottom: 0px; + width: var( --w-container); + overflow: hidden; +} + + +.running-page{ + width: calc(var(--w-container)*2); + padding-left: var(--running-left); + padding-right: 6px; + display: flex; +} + +.running-page .symbols{ + flex-shrink: 0; + z-index: 20; +} + +.running-page .dots{ + position: absolute; + top: -5px; + left: var(--running-left); + z-index: 10; +} + +.pagedjs_right_page .running-page_container .running-page{ + position: relative; + left: calc(var( --w-container)*-1 + 10px); +} + + +@page essai:first { + + @top-left-corner { + content: var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol); + } + + @top-left { + content: none; + } + + @top-center { + content: none; + } + + @top-right { + content: none; + } + +} + + + +@page entretien:first { + + @top-left-corner { + content: var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol); + } + + @top-left { + content: none; + } + + @top-center { + content: none; + } + + @top-right { + content: none; + } + +} + + + +@page portfolio:first { + + @top-left-corner { + content: var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol) var(--symbol); + } + + @top-left { + content: none; + } + + @top-center { + content: none; + } + + @top-right { + content: none; + } + +} + +/* TEMP */ +@page entretien{ + --sign-color: var(--red); +} + diff --git a/assets/css/subtitles.css b/assets/css/subtitles.css new file mode 100644 index 0000000..c852a1d --- /dev/null +++ b/assets/css/subtitles.css @@ -0,0 +1,122 @@ +h3, h4{ + break-after: avoid; +} +h3, h4{ + font-family: var(--sign-family); + font-weight: normal; + margin-top: calc(var(--baseline)*1.5); + margin-bottom: calc(var(--baseline)*1); + position: relative; + font-size: var(--font-size); + color: var(--sign-color); +} + +.h3_container, +.h4_container{ + position: relative; + +} + +.subtitle-before, +.subtitle-after{ + letter-spacing:var(--sign-spacing); + font-size: var(--sign-size); + color: var(--sign-color); + line-height: var(--sign-baseline); +} + +.subtitle-line { + display: flex; + justify-content: flex-end; +} + + +.subtitle-after{ + padding-left: 0.75ch; + position: relative; + left: 6px; + overflow-wrap: anywhere; +} + +.subtitle-text{ + /* background-color: yellow; */ + flex-grow: 2; +} + +.decor-h3{ + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); + position: absolute; +} + + + + +/* LEFT PAGE */ + +.decor-h3_small{ + left: -49px; + top: calc(var(--baseline)*-2.5 + 9px); +} + + + + +.decor-h3_big{ + right: -81px; + text-align: right; + top: calc(var(--baseline) * -3.5 - 9px); +} + + + + + +/* RIGHT PAGE */ + + +.pagedjs_right_page .decor-h3_small{ + left: auto; + right: -53px; + top: calc(var(--baseline)*-2.5 + 9px); + text-align: right; +} + + + + +.pagedjs_right_page .decor-h3_big{ + right: 0; + left: -80px; + text-align: left; + top: calc(var(--baseline) * -3.5 - 9px); +} + + + + + + +/* if page top */ + +.pagedjs_right_page .subtitle-top-page h3 { + margin-top: 0px; +} + +.pagedjs_right_page .subtitle-top-page [data-count="2"]{ + color: transparent +} + + + +.pagedjs_left_page .subtitle-top-page h3 { + margin-top: 5px; +} + +.pagedjs_left_page .subtitle-top-page .decor-h3_big [data-count="1"], +.pagedjs_left_page .subtitle-top-page .decor-h3_big [data-count="2"]{ + color: transparent!important +} diff --git a/assets/css/text.css b/assets/css/text.css new file mode 100644 index 0000000..21fa7cb --- /dev/null +++ b/assets/css/text.css @@ -0,0 +1,71 @@ +.chapter p { + text-align: justify; + hyphens: auto; + hyphenate-limit-chars: 7 3 2; + /* position: relative; */ + orphans: 2; + hyphens: 2; + + +} + + +p::before { + content: "........."; + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: 0px; + position: relative; + top: -3px; + padding-left: 0px; + padding-right: 0px; + margin-right: -4px; +} + +.following-title::before, +.following-h3::before { + display: none !important; +} + + + + +/* BILBIOGRAPHIE */ + +.bibliographie p { + font-size: var(--fs-notes); + line-height: 14px; + font-weight: 500; + text-align: left; + padding-left: calc(var(--unit)*2); + text-indent: calc(var(--unit)*-0.75); + break-inside: avoid; + position: relative; +} + +.bibliographie p::before { + content: "....."; + position: absolute; + /* left: calc(var(--unit)*0.75); */ + left: calc(var(--unit)*0.75 + 16px); + top: 3px; + display: none !important; +} + + +.bibliographie p::after { + content: "+"; + position: absolute; + left: calc(var(--unit)*0.75); + top: 0px; + font-size: var(--sign-size); + color: var(--sign-color); + letter-spacing: var(--sign-spacing); + font-family: var(--sign-family); + line-height: var(--sign-baseline); +} + + + diff --git a/assets/css/variables.css b/assets/css/variables.css index ff9b969..69daa7c 100644 --- a/assets/css/variables.css +++ b/assets/css/variables.css @@ -1,18 +1,39 @@ :root{ - --margin: 1em; + + --bleed-images: 3mm; + --pagedjs-fold: 0px; - --fontFamily: "JetBrains Mono NL"; - /*--fontFamily: "Hershey-Noailles-Futura";*/ - --fontNotes: "Hershey-Noailles-Times"; - /*--fontTitle: "OCR-X Trial";*/ - --fontTitle: "Hershey-Noailles-Times"; - --textSize: 8.5pt; + --symbol: "+"; + --unit: 70px; + --sub-unit: 17.5px; + + --fontFamily: 'Routed Gothic', sans-serif; + --fontTitle: "Teletext"; --ratio : auto; - --rouge: #ff665e; - --vert: #44d62c; - --bleu: #0078bf; + --indent: 7mm; - --border: 4mm; + --font-size: 14px; + --baseline: 18px; + + --fs-nav: 11px; + --fs-subtitle: 16px; + --fs-notes: 11px; + + --red: #ff665e; + --green: #44d62c; + --blue: #0078bf; + + --border: 4mm; /* à enlever */ + + --gap: 8px; + + + --sign-family: var(--fontTitle); + --sign-size: 14px; + --sign-baseline: 18px; + --sign-spacing: 7.5px; + --sign-spacing-dots: 7px; + --sign-color: var(--blue); } \ No newline at end of file diff --git a/assets/csspageweaver/.gitignore b/assets/csspageweaver/.gitignore deleted file mode 100644 index 496ee2c..0000000 --- a/assets/csspageweaver/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.DS_Store \ No newline at end of file diff --git a/assets/csspageweaver/.gitlab-ci.yml b/assets/csspageweaver/.gitlab-ci.yml deleted file mode 100644 index 6ba6a80..0000000 --- a/assets/csspageweaver/.gitlab-ci.yml +++ /dev/null @@ -1,104 +0,0 @@ -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 deleted file mode 100644 index 6d48bef..0000000 --- a/assets/csspageweaver/README.md +++ /dev/null @@ -1,177 +0,0 @@ -# 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 deleted file mode 100644 index 561d174..0000000 --- a/assets/csspageweaver/interface/css/grid.css +++ /dev/null @@ -1,46 +0,0 @@ -@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 deleted file mode 100644 index dda88e6..0000000 --- a/assets/csspageweaver/interface/css/interface.css +++ /dev/null @@ -1,136 +0,0 @@ -/* 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 deleted file mode 100644 index f7abe62..0000000 --- a/assets/csspageweaver/interface/css/panel.css +++ /dev/null @@ -1,532 +0,0 @@ -@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 deleted file mode 100644 index 4074b4738c88789120a1c77bfbe409a1be8ba20c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56520 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 HdwBm3N6N=_ diff --git a/assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff2 b/assets/csspageweaver/interface/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.woff2 deleted file mode 100644 index 88e4e8b69a189f90bb665ea5464ad4b1c09b3692..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39964 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