diff --git a/maquette-tests/README.md b/maquette-tests/README.md deleted file mode 100644 index 58f9aff..0000000 --- a/maquette-tests/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Notes - - - -Choses que je n’ai pas automatisées: - -- pour les titres h3 et h4, il faut mettre explicitement un `
` si on a 2 lignes pour que le décor fonctionne -- pour les titres h3 et h4 qui arrivent en début de page ajouter la class `.subtitle-top-page` -- pour les bibliographies: les wrapper dans une div `.bibliographie` - - - - -**TO-DO** - -- Régler les hypens -- ajouter des `’aux liens -- ajouter des `+` devant les points dans les blockquote comme dans les bibliogaphies -- attention le «œ» de Routed Gothic Wide -- pas d’accents pour les typo Teletex \ No newline at end of file diff --git a/maquette-tests/assets/css/01_var.css b/maquette-tests/assets/css/01_var.css deleted file mode 100644 index 66a7320..0000000 --- a/maquette-tests/assets/css/01_var.css +++ /dev/null @@ -1,80 +0,0 @@ -:root{ - - --symbol: "+"; - --unit: 70px; - --sub-unit: 17.5px; - - - - - --font: 'Routed Gothic', sans-serif; - --font: 'Wagram Slab', serif; - --font: 'Bilzig', serif; - --font: 'Routed Gothic', sans-serif; - - - - --font-title: 'OCR-X'; - - - /* --font: 'HAL Timezone', serif; */ - --mono: 'Selectric Mono', monospace; - --mono: 'Ivory Mono', monospace; - --mono: 'Baskemo Sans', monospace; - --mono: 'HAL Timezone Mono', monospace; - --mono: 'Routed Gothic Wide', sans-serif; - - --font-decor: 'Decor Round Random'; - - --font-notes: 'Selectric Mono', monospace; - --font-notes: 'Baskemo Sans', monospace; - --font-notes: 'OCR-X'; - - - - - --font-sans: 'Routed Gothic', serif; - - - --font-subtitle: 'Routed Gothic Wide', sans-serif; - /* --font-subtitle: 'Baskemo Sans', monospace; */ - - --font-nav: 'Routed Gothic', sans-serif; - - - --title: 'HNoailles Times Triplex', sans-serif; - - --red: #9B0000; - --green:#009B00; - --green-light:#009b0025; - --blue: #00009B; - - --grey: #e4e4e4; - --border-grey: 2px solid var(--grey); - - - --indent: 7mm; - - --font-size: 14px; - --baseline: 18px; - - --fs-nav: 11px; - --fs-subtitle: 16px; - --fs-notes: 11px; - - - --gap: 8px; - - - --sign-family: 'Teletext'; - --sign-size: 14px; - --sign-baseline: 18px; - /* --sign-spacing: 0.45rem; */ - --sign-spacing: 7.5px; - --sign-spacing-dots: 7px; - --sign-color: var(--blue); - /* --sign-color: black; */ - - - -} diff --git a/maquette-tests/assets/css/02_body.css b/maquette-tests/assets/css/02_body.css deleted file mode 100644 index 406f213..0000000 --- a/maquette-tests/assets/css/02_body.css +++ /dev/null @@ -1,35 +0,0 @@ -* { - margin: 0; - padding: 0; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - -moz-font-smoothing: antialiased; - -o-font-smoothing: antialiased; - text-rendering: geometricPrecision; - -} -a { - color: currentColor; -} - - - -body { - - font-family: var(--font); - font-size: var(--font-size); - line-height: var(--baseline); - -} - - - -.pagedjs_left_page .pagedjs_sheet{ - --grid-position-x: 21px!important; -} - -.pagedjs_right_page .pagedjs_sheet{ - --grid-position-x: 16px!important; -} - - diff --git a/maquette-tests/assets/css/03_layout.css b/maquette-tests/assets/css/03_layout.css deleted file mode 100644 index 0724eef..0000000 --- a/maquette-tests/assets/css/03_layout.css +++ /dev/null @@ -1,289 +0,0 @@ -@media print { - - @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; - } - - @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; - - - } - - - - - - - } - - @page:right { - margin-left: 26mm; - margin-right: 18mm; - - @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); - - } - - @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); - } - - @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; - } - - - @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; - - } - - - - } - - - - - - @page:blank { - @top-left { - content: none; - } - - @top-left-corner { - content: none; - } - - @top-right { - content: none; - } - - @top-center { - content: none; - } - - @bottom-center { - content: none; - } - - - } -} - - - -.nav-title { - position: running(title); -} - -.nav-author { - position: running(author); -} - -.nav-type { - position: running(type); -} - -.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); - page: portfolio; - break-before: right; -} - -@page portfolio{ - --sign-color: var(--green); -} \ No newline at end of file diff --git a/maquette-tests/assets/layout-4/base/_body.scss b/maquette-tests/assets/css/base/_body.scss similarity index 88% rename from maquette-tests/assets/layout-4/base/_body.scss rename to maquette-tests/assets/css/base/_body.scss index e274210..3bb5dbb 100644 --- a/maquette-tests/assets/layout-4/base/_body.scss +++ b/maquette-tests/assets/css/base/_body.scss @@ -16,7 +16,8 @@ a { // } body { - + --font-size: 11px; + --baseline: 18px; font-family: var(--font); font-size: var(--font-size); line-height: var(--baseline); diff --git a/maquette-tests/assets/css/base/_layout.scss b/maquette-tests/assets/css/base/_layout.scss new file mode 100644 index 0000000..fcd0f5c --- /dev/null +++ b/maquette-tests/assets/css/base/_layout.scss @@ -0,0 +1,66 @@ +@media print{ + + @page { + size: 165mm 240mm; + margin-top: 10mm; + margin-bottom: 20mm; + + } + + @page:left{ + margin-left: 35mm; + margin-right: 30mm; + @bottom-left-corner{ + content: counter(page); + font-family: var(--mono); + font-size: 14px; + text-align: left; + padding-left: 10mm; + } + @bottom-left { + content: string(author); + font-family: var(--mono); + } + @bottom-center { + content: string(type); + font-family: var(--mono); + } + } + + @page:right{ + margin-left: 40mm; + margin-right: 25mm; + @bottom-right-corner{ + content: counter(page); + font-family: var(--mono); + font-size: 14px; + text-align: right; + padding-right: 10mm; + } + @bottom-left { + content: string(title); + font-family: var(--mono); + } + } + + /*p{ + background: salmon; + }*/ + + .chapter{ + break-before: right; + } +} + + +// .pagedjs_left_page .pagedjs_pagebox{ + +// background: linear-gradient(180deg, transparent 82%, #00009B 100%)!important; + +// } + +// .pagedjs_right_page .pagedjs_pagebox{ + +// background: linear-gradient(180deg, transparent 82%, #00009B 100%)!important; + +// } \ No newline at end of file diff --git a/maquette-tests/assets/layout-4/base/_type-specimen.scss b/maquette-tests/assets/css/base/_type-specimen.scss similarity index 82% rename from maquette-tests/assets/layout-4/base/_type-specimen.scss rename to maquette-tests/assets/css/base/_type-specimen.scss index 7087163..6220fa3 100644 --- a/maquette-tests/assets/layout-4/base/_type-specimen.scss +++ b/maquette-tests/assets/css/base/_type-specimen.scss @@ -62,12 +62,6 @@ font-weight: 300!important; font-style: normal; } - - .title-uppercase{ - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.01rem; - } } @@ -116,19 +110,8 @@ } } -[data-type="routed-gothic"], -[data-type="routed-gothic-narrow"], -[data-type="routed-gothic-wide"]{ - .title-bold{ - font-weight: normal!important; - } + +[data-type="h-noailles-times-duplex"]{ + } - -[data-type="cheltenham-light"]{ - .title, p{ - font-weight: 200!important; - } - - -} \ No newline at end of file diff --git a/maquette-tests/assets/layout-4/base/_type.scss b/maquette-tests/assets/css/base/_type.scss similarity index 80% rename from maquette-tests/assets/layout-4/base/_type.scss rename to maquette-tests/assets/css/base/_type.scss index 85f6ae5..b69f038 100644 --- a/maquette-tests/assets/layout-4/base/_type.scss +++ b/maquette-tests/assets/css/base/_type.scss @@ -13,7 +13,7 @@ } [data-type="vollkorn"]{ - font-family: "Vollkorn", serif; + font-family: "Literata", serif; } @@ -103,36 +103,4 @@ } [data-type="wagram-mono-slab"]{ font-family: 'Wagram Mono Slab', monospace; -} - -[data-type="routed-gothic-wide"]{ - font-family: 'Routed Gothic Wide', sans-serif; -} - -[data-type="routed-gothic"]{ - font-family: 'Routed Gothic', sans-serif; -} - - -[data-type="routed-gothic-narrow"]{ - font-family: 'Routed Gothic Narrow', sans-serif; -} - -[data-type="cheltenham"]{ - font-family: 'ITC Cheltenham', serif; -} - - -[data-type="cheltenham-light"]{ - font-family: 'ITC Cheltenham', serif; - font-weight: 200; - -} - - - -[data-type="baskemo-sans"]{ - font-family: 'Baskemo Sans', serif; -} - - +} \ No newline at end of file diff --git a/maquette-tests/assets/css/base/_var.scss b/maquette-tests/assets/css/base/_var.scss new file mode 100644 index 0000000..07a5485 --- /dev/null +++ b/maquette-tests/assets/css/base/_var.scss @@ -0,0 +1,19 @@ +:root{ + + --font: 'Wagram Slab', serif; + // --font: 'HAL Timezone', serif; + --mono: 'Selectric Mono', monospace; + // --mono: 'HAL Timezone Mono', monospace; + --note: 'HNoailles Times Triplex', serif; + + --red: #9B0000; + --green:#009B00; + --green-light:#009b0025; + --blue: #00009B; + + --red: black; + --green:#009B00; + --green-light:#009b0025; + --blue: black; + +} \ No newline at end of file diff --git a/maquette-tests/assets/css/blockquote.css b/maquette-tests/assets/css/blockquote.css deleted file mode 100644 index 3ea5fe8..0000000 --- a/maquette-tests/assets/css/blockquote.css +++ /dev/null @@ -1,48 +0,0 @@ - -blockquote{ - /* padding-left: 3ch; */ - - 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 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; -} - - - diff --git a/maquette-tests/assets/css/chapter-header.css b/maquette-tests/assets/css/chapter-header.css deleted file mode 100644 index 40b4b68..0000000 --- a/maquette-tests/assets/css/chapter-header.css +++ /dev/null @@ -1,165 +0,0 @@ - - - - - -.chapter-header { - position: relative; - - /* break-after: page; */ - - - -} - -.chapter-header .hgroup { - font-size: 22px; - line-height: 1; - font-weight: normal; - /* margin-top: calc(var(--baseline)*2);*/ - 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; - /* padding-top: 6px; */ -} - -.chapter-header .type { - display: none; - - -} - - -.chapter-header .hgroup h2 { - font-family: 'Teletext'; - 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: 'Teletext'; - 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; -} - - - - - -/* SPECIFIC ----------------------------------------------- */ - -#charlie-aubry .hgroup{ - top: calc(var(--baseline)*-0.25 - 2px); - top: -2px; -} -#charlie-aubry .chapter-header .title-before{ - /* top: calc(var(--baseline)*-1.25); */ - top: calc(var(--baseline)*-1.5); -} - -#charlie-aubry .chapter-header .title-after { - /* bottom: calc(var(--baseline)*-5 - 1px); */ - bottom: calc(var(--baseline) * -1.75 + 1px); -} - -#charlie-aubry .hgroup-after{ - bottom: calc(var(--baseline)*-11 - 10px); -} \ No newline at end of file diff --git a/maquette-tests/assets/css/entretiens.css b/maquette-tests/assets/css/entretiens.css deleted file mode 100644 index fa42bc2..0000000 --- a/maquette-tests/assets/css/entretiens.css +++ /dev/null @@ -1,138 +0,0 @@ -.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); -} \ No newline at end of file diff --git a/maquette-tests/assets/css/modules/_chapter-header.scss b/maquette-tests/assets/css/modules/_chapter-header.scss new file mode 100644 index 0000000..1e71cde --- /dev/null +++ b/maquette-tests/assets/css/modules/_chapter-header.scss @@ -0,0 +1,59 @@ +.chapter-header{ + // break-after: page; + margin-bottom: calc(var(--baseline)*6); +} + +.chapter-header h2 { + string-set: title content(text); +} + +.chapter-header .author { + string-set: author content(text); +} + +.chapter-header .type { + string-set: type content(text); +} + + +.chapter-header h2{ + font-size: 38px; + line-height: 1; + font-family: var(--note); + color: var(--blue); + margin-bottom: calc(var(--baseline)*1); + text-align: center; + +} + + +.chapter-header .type{ + margin-bottom: calc(var(--baseline)*1); +} + +.chapter-header .type, +.chapter-header .bio{ + font-family: var(--mono); + // text-align: right; + hyphens: none; + font-size: 9px; + line-height: 1.2; + left: 0px!important; + +} + +.chapter-header .bio{ +margin-top: calc(var(--baseline)*1); + text-align: left; +} + +.chapter-header .author{ + left: 0px!important; + font-size: 38px; + line-height: 1; + font-family: var(--note); + font-weight: bold; + text-align: center; + // color: var(--green); +} + diff --git a/maquette-tests/assets/layout-4/modules/_text.scss b/maquette-tests/assets/css/modules/_text.scss similarity index 52% rename from maquette-tests/assets/layout-4/modules/_text.scss rename to maquette-tests/assets/css/modules/_text.scss index deeaca3..0abc9bb 100644 --- a/maquette-tests/assets/layout-4/modules/_text.scss +++ b/maquette-tests/assets/css/modules/_text.scss @@ -4,11 +4,8 @@ p{ text-align: justify; hyphens: auto; - hyphenate-limit-chars: 8 3; position: relative; - // color: var(--blue); - - letter-spacing: 0.01rem; + color: var(--blue); // &::before{ @@ -23,11 +20,63 @@ } p + p{ - text-indent: var(--indent); - + left: 14mm; + // &::before{ + // left: -19mm; + // } +} + +p + p + p{ + left: 7mm; +// &::before{ +// left: -13mm; +// } +} + +.inline-note{ + color: var(--green); + // break-inside: avoid; + + float: left; + clear: both; + width: 50mm; + text-align: left; + hyphens: none; + // font-size: 9px; + // line-height: calc(var(--bseline)*0.75); + + // padding-top: calc(var(--baseline)*0.5); + // padding-bottom: calc(var(--baseline)*0.5); + margin-right: 1ch; + margin-right: -20mm; + position: relative; + left: -25mm; + text-align: right; + + font-family: var(--note); + line-height: 1.2; + + + +} +.pagedjs_floatnote_marker, +.pagedjs_floatnote_call{ + color: var(--green); + font-weight: bold; + padding-left: 0.25ch; + line-height: 0; + font-size: 9px; + font-family: var(--font); } +.pagedjs_floatnote_marker{ + // float: left; + // position: absolute; + // left: 0px; + // display: block; + text-align: left; +} h3{ @@ -35,17 +84,12 @@ h3{ margin-bottom: calc(var(--baseline)*0.5); text-align: center; font-weight: normal; - // text-decoration: underline; + text-decoration: underline; font-family: var(--mono); text-transform: uppercase; color: var(--blue); max-width: 18ch; - // margin-inline: auto; - letter-spacing: 0.05rem; - color: black; - text-decoration: underline 1px; - text-underline-offset: 2px; - + margin-inline: auto; // &::before{ // content: ''; @@ -66,21 +110,18 @@ blockquote p{ } blockquote{ - font-family: var(--mono); - // position: relative; - // left: 14mm; - // p{ - // font-size: 16px; - // line-height: calc(var(--baseline)*1.25); - // font-weight: 300; + position: relative; + left: 14mm; + p{ + font-size: 16px; + line-height: calc(var(--baseline)*1.25); + font-weight: 300; - // } - - padding-left: var(--indent); + } - margin-top: calc(var(--baseline)*1); - margin-bottom: calc(var(--baseline)*1); + // margin-top: calc(var(--baseline)*2); + // margin-bottom: calc(var(--baseline)*2); } @@ -129,3 +170,19 @@ blockquote{ .pagedjs_area{ position: relative; } + +.item-decor{ + font-family: var(--font); + font-weight: 400; + font-size: 12px; + position: absolute; + color: var(--green); +} + +.pagedjs_left_page .item-decor{ + left: -30mm; +} + +.pagedjs_right_page .item-decor{ + right: -20mm; +} \ No newline at end of file diff --git a/maquette-tests/assets/css/notes.css b/maquette-tests/assets/css/notes.css deleted file mode 100644 index aee7dc9..0000000 --- a/maquette-tests/assets/css/notes.css +++ /dev/null @@ -1,51 +0,0 @@ -.following-note { - /* font-family: var(--font-notes); */ - 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-family: var(--font-notes); - font-weight: 500; */ - 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; -} \ No newline at end of file diff --git a/maquette-tests/assets/css/running-page.css b/maquette-tests/assets/css/running-page.css deleted file mode 100644 index 61508e8..0000000 --- a/maquette-tests/assets/css/running-page.css +++ /dev/null @@ -1,125 +0,0 @@ -.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; - /* background-color: red; */ - -} - - -.running-page{ - width: calc(var(--w-container)*2); - padding-left: var(--running-left); - padding-right: 6px; - display: flex; -} - -.running-page .symbols{ - flex-shrink: 0; - /* background-color: white; */ - 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 + var(--pagedjs-margin-left)*-1 + 2px); */ - 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); -} \ No newline at end of file diff --git a/maquette-tests/assets/layout-4/style.css b/maquette-tests/assets/css/style.css similarity index 61% rename from maquette-tests/assets/layout-4/style.css rename to maquette-tests/assets/css/style.css index 17a1b63..0544b63 100644 --- a/maquette-tests/assets/layout-4/style.css +++ b/maquette-tests/assets/css/style.css @@ -2,20 +2,17 @@ @import url("https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,200..900;1,7..72,200..900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Vollkorn:ital,wght@0,400..900;1,400..900&display=swap"); :root { - --font: 'Routed Gothic', sans-serif; --font: 'Wagram Slab', serif; --mono: 'Selectric Mono', monospace; - --mono: 'Ivory Mono', monospace; - --mono: 'Baskemo Sans', monospace; - --sans: 'Routed Gothic', serif; - --title: 'HNoailles Times Triplex', sans-serif; + --note: 'HNoailles Times Triplex', serif; --red: #9B0000; --green:#009B00; --green-light:#009b0025; --blue: #00009B; - --indent: 7mm; - --font-size: 12px; - --baseline: 18px; + --red: black; + --green:#009B00; + --green-light:#009b0025; + --blue: black; } * { @@ -32,6 +29,8 @@ a { } body { + --font-size: 11px; + --baseline: 18px; font-family: var(--font); font-size: var(--font-size); line-height: var(--baseline); @@ -40,49 +39,41 @@ body { @media print { @page { size: 165mm 240mm; - margin-top: 16mm; + margin-top: 10mm; margin-bottom: 20mm; - bleed: 6mm; - marks: crop; } @page :left { - margin-left: 18mm; - margin-right: 26mm; - @bottom-center { + margin-left: 35mm; + margin-right: 30mm; + @bottom-left-corner { content: counter(page); - font-family: var(--sans); - font-size: 20px; - vertical-align: bottom; - padding-bottom: 5mm; - width: 10mm; + font-family: var(--mono); + font-size: 14px; + text-align: left; + padding-left: 10mm; } - @top-left { + @bottom-left { content: string(author); font-family: var(--mono); - font-size: 12px; } - @top-center { + @bottom-center { content: string(type); font-family: var(--mono); - font-size: 12px; } } @page :right { - margin-left: 26mm; - margin-right: 18mm; - @bottom-center { + margin-left: 40mm; + margin-right: 25mm; + @bottom-right-corner { content: counter(page); - font-family: var(--sans); - font-size: 20px; - vertical-align: bottom; - padding-bottom: 5mm; - width: 10mm; + font-family: var(--mono); + font-size: 14px; text-align: right; + padding-right: 10mm; } - @top-left { + @bottom-left { content: string(title); font-family: var(--mono); - font-size: 12px; } } /*p{ @@ -91,12 +82,6 @@ body { .chapter { -moz-column-break-before: right; break-before: right; - page: chapter; - } - @page chapter:first { - @top-left { - content: none; - } } } [data-type=ovo] { @@ -108,7 +93,7 @@ body { } [data-type=vollkorn] { - font-family: "Vollkorn", serif; + font-family: "Literata", serif; } [data-type=timezone] { @@ -203,31 +188,6 @@ body { font-family: "Wagram Mono Slab", monospace; } -[data-type=routed-gothic-wide] { - font-family: "Routed Gothic Wide", sans-serif; -} - -[data-type=routed-gothic] { - font-family: "Routed Gothic", sans-serif; -} - -[data-type=routed-gothic-narrow] { - font-family: "Routed Gothic Narrow", sans-serif; -} - -[data-type=cheltenham] { - font-family: "ITC Cheltenham", serif; -} - -[data-type=cheltenham-light] { - font-family: "ITC Cheltenham", serif; - font-weight: 200; -} - -[data-type=baskemo-sans] { - font-family: "Baskemo Sans", serif; -} - #type-specimen { background-color: #cfcfcf; } @@ -279,11 +239,6 @@ body { font-weight: 300 !important; font-style: normal; } -#type-specimen .title-uppercase { - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.01rem; -} [data-type=ovo] .title { font-weight: normal; @@ -313,46 +268,65 @@ body { font-style: italic; } -[data-type=routed-gothic] .title-bold, -[data-type=routed-gothic-narrow] .title-bold, -[data-type=routed-gothic-wide] .title-bold { - font-weight: normal !important; -} - -[data-type=cheltenham-light] .title, [data-type=cheltenham-light] p { - font-weight: 200 !important; -} - .chapter p { text-align: justify; hyphens: auto; - hyphenate-limit-chars: 8 3; position: relative; - letter-spacing: 0.01rem; + color: var(--blue); } .chapter p + p { - text-indent: var(--indent); + left: 14mm; +} +.chapter p + p + p { + left: 7mm; +} +.chapter .inline-note { + color: var(--green); + float: left; + clear: both; + width: 50mm; + text-align: left; + hyphens: none; + margin-right: 1ch; + margin-right: -20mm; + position: relative; + left: -25mm; + text-align: right; + font-family: var(--note); + line-height: 1.2; +} +.chapter .pagedjs_floatnote_marker, +.chapter .pagedjs_floatnote_call { + color: var(--green); + font-weight: bold; + padding-left: 0.25ch; + line-height: 0; + font-size: 9px; + font-family: var(--font); +} +.chapter .pagedjs_floatnote_marker { + text-align: left; } .chapter h3 { margin-top: calc(var(--baseline) * 1.5); margin-bottom: calc(var(--baseline) * 0.5); text-align: center; font-weight: normal; + text-decoration: underline; font-family: var(--mono); text-transform: uppercase; color: var(--blue); max-width: 18ch; - letter-spacing: 0.05rem; - color: black; - -webkit-text-decoration: underline 1px; - text-decoration: underline 1px; - text-underline-offset: 2px; + margin-inline: auto; } .chapter blockquote { - font-family: var(--mono); - padding-left: var(--indent); - margin-top: calc(var(--baseline) * 1); - margin-bottom: calc(var(--baseline) * 1); + position: relative; + left: 14mm; +} +.chapter blockquote p { + font-size: 16px; + line-height: calc(var(--baseline) * 1.25); + font-weight: 300; } .chapter > :first-child { margin-top: 0px; @@ -362,53 +336,24 @@ body { position: relative; } -.pagedjs_footnote { - font-family: var(--sans); - line-height: 1.3; +.item-decor { + font-family: var(--font); + font-weight: 400; font-size: 12px; - font-weight: 200; - text-indent: -14mm; - padding-left: 14mm; + position: absolute; + color: var(--green); } -.note-container { - grid-column: center; - grid-row: footer; - width: 100%; - height: calc(100% - 12mm); - -moz-columns: 2; - columns: 2; - -moz-column-fill: auto; - column-fill: auto; - padding-top: 20px; +.pagedjs_left_page .item-decor { + left: -30mm; } -.pagedjs_footnotes::marker { - color: red; -} - -.pagedjs_footnote[data-footnote-call] { - font-size: 12px; - font-family: var(--sans); - text-indent: 0px; - margin-left: 2px; -} -.pagedjs_footnote[data-footnote-call]::after { - font-variant-position: normal; - content: attr(data-counter-footnote-increment) "}"; -} -.pagedjs_footnote[data-footnote-call]::before { - content: "{"; -} - -[data-footnote-marker]::marker { - content: "{" counter(footnote-marker) "} "; +.pagedjs_right_page .item-decor { + right: -20mm; } .chapter-header { - margin-top: calc(var(--baseline) * 2); - margin-bottom: calc(var(--baseline) * 3); - --color: black; + margin-bottom: calc(var(--baseline) * 6); } .chapter-header h2 { @@ -424,72 +369,37 @@ body { } .chapter-header h2 { - font-size: 46px; - line-height: 1.1; - font-family: var(--font); - font-family: var(--mono); + font-size: 38px; + line-height: 1; + font-family: var(--note); color: var(--blue); margin-bottom: calc(var(--baseline) * 1); - text-align: left; - font-weight: normal; - color: var(--color); text-align: center; } .chapter-header .type { margin-bottom: calc(var(--baseline) * 1); - display: none; +} + +.chapter-header .type, +.chapter-header .bio { + font-family: var(--mono); + hyphens: none; + font-size: 9px; + line-height: 1.2; + left: 0px !important; } .chapter-header .bio { - margin-top: calc(var(--baseline) * 3); - font-family: var(--sans); - hyphens: none; - line-height: 1.3; - font-size: 12px; -} -.chapter-header .bio .name { - text-indent: 0; + margin-top: calc(var(--baseline) * 1); text-align: left; - font-weight: normal; - color: var(--color); -} -.chapter-header .bio .description { - text-indent: -14mm; - padding-left: 14mm; - text-align: left; - font-weight: normal; - color: var(--color); - hyphens: none; } .chapter-header .author { left: 0px !important; - font-size: 26px; - line-height: 0.9; - font-weight: normal; + font-size: 38px; line-height: 1; - font-family: var(--mono); + font-family: var(--note); + font-weight: bold; text-align: center; - text-indent: 0; - color: var(--color); - margin-top: calc(var(--baseline) * 3); - -webkit-text-decoration: underline 1px; - text-decoration: underline 1px; - text-underline-offset: 2px; -} - -.item-decor { - font-family: var(--sans); - font-weight: 400; - font-size: 12px; - position: absolute; -} - -.pagedjs_left_page .item-decor { - left: -12mm; -} - -.pagedjs_right_page .item-decor { - right: -12mm; }/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/maquette-tests/assets/css/style.css.map b/maquette-tests/assets/css/style.css.map new file mode 100644 index 0000000..94907c1 --- /dev/null +++ b/maquette-tests/assets/css/style.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["base/_type.scss","base/_var.scss","style.css","base/_body.scss","base/_layout.scss","base/_type-specimen.scss","modules/_text.scss","modules/_chapter-header.scss"],"names":[],"mappings":"AAAQ,wEAAA;AACA,8HAAA;AACA,6GAAA;ACFR;EAEI,4BAAA;EAEA,mCAAA;EAEA,wCAAA;EAEA,cAAA;EACA,eAAA;EACA,uBAAA;EACA,eAAA;EAEA,YAAA;EACA,eAAA;EACA,uBAAA;EACA,aAAA;ACDJ;;ACfA;EACI,SAAA;EACA,UAAA;EACA,sBAAA;EACA,mCAAA;EACA,gCAAA;EACA,8BAAA;ADkBJ;;AChBA;EACI,mBAAA;ADmBJ;;ACXA;EACI,iBAAA;EACA,gBAAA;EACA,wBAAA;EACA,2BAAA;EACA,4BAAA;ADcJ;;AEpCA;EAEE;IACE,iBAAA;IACA,gBAAA;IACA,mBAAA;EFsCF;EElCA;IACE,iBAAA;IACA,kBAAA;IACC;MACC,sBAAA;MACC,wBAAA;MACD,eAAA;MACC,gBAAA;MACC,kBAAA;IFoCJ;IElCC;MACC,uBAAA;MACE,wBAAA;IFoCJ;IElCC;MACD,qBAAA;MACE,wBAAA;IFoCF;EACF;EEjCA;IACE,iBAAA;IACA,kBAAA;IACC;MACC,sBAAA;MACA,wBAAA;MACA,eAAA;MACE,iBAAA;MACA,mBAAA;IFmCJ;IEjCC;MACC,sBAAA;MACE,wBAAA;IFmCJ;EACF;EEhCA;;IAAA;EAIA;IACE,+BAAA;SAAA,mBAAA;EFiCF;AACF;AFhFA;EACE,yBAAA;AEkFF;;AF9EA;EACE,8BAAA;AEiFF;;AF7EA;EACE,8BAAA;AEgFF;;AF5EA;EACE,kCAAA;AE+EF;;AF5EA;EACE,2CAAA;AE+EF;;AF3EA;EACE,+BAAA;AE8EF;;AF3EA;EACE,wCAAA;AE8EF;;AF3EA;EACE,4BAAA;AE8EF;;AF3EA;EACE,2BAAA;AE8EF;;AF5EA;EACE,gCAAA;AE+EF;;AF7EA;EACE,mCAAA;AEgFF;;AF7EA;EACE,8BAAA;AEgFF;;AF7EA;EACE,oCAAA;AEgFF;;AF7EA;EACE,kCAAA;AEgFF;;AF7EA;EACG,mCAAA;AEgFH;;AF7EA;EACG,mDAAA;AEgFH;;AF7EA;EACG,kDAAA;AEgFH;;AF7EA;EACG,mDAAA;AEgFH;;AF7EA;EACG,6CAAA;AEgFH;;AF7EA;EACG,4CAAA;AEgFH;;AF7EA;EACG,6CAAA;AEgFH;;AF7EA;EACG,qCAAA;AEgFH;;AF9EA;EACG,uCAAA;AEiFH;;AF9EA;EACG,4BAAA;AEiFH;;AF/EA;EACG,iCAAA;AEkFH;;AFhFA;EACG,0CAAA;AEmFH;;AG3LA;EACI,yBAAA;AH8LJ;AG5LI;EACI,uBAAA;EACA,mBAAA;EACA,iBAAA;AH8LR;AG3LI;EAEI,aAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,YAAA;EACA,aAAA;EACA,gBAAA;EAEA,aAAA;EACA,8BAAA;EACA,SAAA;AH2LR;AGvLI;EACI,mBAAA;EACA,aAAA;EACA,kBAAA;AHyLR;AGtLI;EACA,eAAA;AHwLJ;AGpLI;EAEI,eAAA;EACA,gBAAA;EACA,eAAA;EACA,mBAAA;AHqLR;AGlLI;EACI,gBAAA;AHoLR;AGjLI;EACI,iBAAA;AHmLR;AGhLK;EACG,mBAAA;AHkLR;AG/KK;EACG,mBAAA;EACA,kBAAA;AHiLR;AG/KM;EACE,2BAAA;EACA,kBAAA;AHiLR;;AG3KE;EACE,mBAAA;EACE,gBAAA;AH8KN;;AG/JI;;;;EACI,8BAAA;AHqKR;;AGjKA;EACI,yBAAA;EAEA,kBAAA;AHmKJ;;AG9JE;EACE,8BAAA;EACA,kBAAA;AHiKJ;;AG5JE;EACE,2BAAA;EACA,8BAAA;EACA,kBAAA;AH+JJ;;AIxQI;EACA,mBAAA;EACA,aAAA;EACA,kBAAA;EACA,kBAAA;AJ2QJ;AI7PA;EACI,UAAA;AJ+PJ;AIzPA;EACE,SAAA;AJ2PF;AIrPA;EACI,mBAAA;EAGA,WAAA;EACA,WAAA;EACA,WAAA;EACA,gBAAA;EACA,aAAA;EAMA,iBAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,iBAAA;EAEA,wBAAA;EACA,gBAAA;AJ+OJ;AI1OA;;EAEI,mBAAA;EACA,iBAAA;EACA,oBAAA;EACA,cAAA;EACA,cAAA;EACA,wBAAA;AJ4OJ;AIxOA;EAKI,gBAAA;AJsOJ;AIlOA;EACI,uCAAA;EACA,0CAAA;EACA,kBAAA;EACA,mBAAA;EACA,0BAAA;EACA,wBAAA;EACA,yBAAA;EACC,kBAAA;EACC,eAAA;EACA,mBAAA;AJoON;AIhNA;EACI,kBAAA;EACA,UAAA;AJkNJ;AIjNI;EACA,eAAA;EACA,yCAAA;EACA,gBAAA;AJmNJ;AIzMA;EAEI,eAAA;AJ0MJ;;AIlKA;EACI,kBAAA;AJqKJ;;AIlKA;EACI,wBAAA;EACA,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,mBAAA;AJqKJ;;AIlKA;EACK,WAAA;AJqKL;;AIlKA;EACK,YAAA;AJqKL;;AK/VA;EAEI,wCAAA;ALiWJ;;AK9VA;EACE,+BAAA;ALiWF;;AK9VA;EACE,gCAAA;ALiWF;;AK9VA;EACE,8BAAA;ALiWF;;AK7VA;EACI,eAAA;EACA,cAAA;EACA,wBAAA;EACC,kBAAA;EACK,wCAAA;EACA,kBAAA;ALgWV;;AK3VA;EACK,wCAAA;AL8VL;;AK3VA;;EAEK,wBAAA;EAEA,aAAA;EACA,cAAA;EACA,gBAAA;EACI,oBAAA;AL6VT;;AKzVA;EACA,qCAAA;EACK,gBAAA;AL4VL;;AKzVA;EACI,oBAAA;EACA,eAAA;EACA,cAAA;EACA,wBAAA;EACA,iBAAA;EACA,kBAAA;AL4VJ","file":"style.css"} \ No newline at end of file diff --git a/maquette-tests/assets/layout-4/style.scss b/maquette-tests/assets/css/style.scss similarity index 53% rename from maquette-tests/assets/layout-4/style.scss rename to maquette-tests/assets/css/style.scss index 111aa01..5a7196a 100644 --- a/maquette-tests/assets/layout-4/style.scss +++ b/maquette-tests/assets/css/style.scss @@ -6,7 +6,4 @@ @use "base/type-specimen"; @use "modules/text"; -// @use "modules/notes"; -@use "modules/footnotes"; -@use "modules/chapter-header"; -@use "modules/item-decor"; \ No newline at end of file +@use "modules/chapter-header"; \ No newline at end of file diff --git a/maquette-tests/assets/css/subtitles.css b/maquette-tests/assets/css/subtitles.css deleted file mode 100644 index c852a1d..0000000 --- a/maquette-tests/assets/css/subtitles.css +++ /dev/null @@ -1,122 +0,0 @@ -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/maquette-tests/assets/css/text.css b/maquette-tests/assets/css/text.css deleted file mode 100644 index 21fa7cb..0000000 --- a/maquette-tests/assets/css/text.css +++ /dev/null @@ -1,71 +0,0 @@ -.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/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBold.woff b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBold.woff deleted file mode 100644 index d9b81a7..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBold.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBold.woff2 b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBold.woff2 deleted file mode 100644 index e05bc7a..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBold.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBoldItalic.woff b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBoldItalic.woff deleted file mode 100644 index 2ae5c73..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBoldItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBoldItalic.woff2 b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBoldItalic.woff2 deleted file mode 100644 index fd58dbc..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalBoldItalic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalItalic.woff b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalItalic.woff deleted file mode 100644 index 6155e8b..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalItalic.woff2 b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalItalic.woff2 deleted file mode 100644 index c9011ca..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalItalic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalRegular.woff b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalRegular.woff deleted file mode 100644 index 16c36e1..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalRegular.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalRegular.woff2 b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalRegular.woff2 deleted file mode 100644 index 6df7fe0..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalRegular.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBold.woff b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBold.woff deleted file mode 100644 index 64ce150..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBold.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBold.woff2 b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBold.woff2 deleted file mode 100644 index 12347bc..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBold.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBoldItalic.woff b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBoldItalic.woff deleted file mode 100644 index 408ce76..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBoldItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBoldItalic.woff2 b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBoldItalic.woff2 deleted file mode 100644 index 4fe354d..0000000 Binary files a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/Adelphe-Trouble-GerminalSemiBoldItalic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/stylesheet.css b/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/stylesheet.css deleted file mode 100644 index cde71f4..0000000 --- a/maquette-tests/assets/fonts/Adelphe-Trouble-Germinal/stylesheet.css +++ /dev/null @@ -1,54 +0,0 @@ - -@font-face { - font-family: 'Adelphe Trouble Germinal'; - src: url('Adelphe-Trouble-GerminalRegular.woff2') format('woff2'), - url('Adelphe-Trouble-GerminalRegular.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Adelphe Trouble Germinal'; - src: url('Adelphe-Trouble-GerminalItalic.woff2') format('woff2'), - url('Adelphe-Trouble-GerminalItalic.woff') format('woff'); - font-weight: normal; - font-style: italic; - font-display: swap; -} - -@font-face { - font-family: 'Adelphe Trouble Germinal'; - src: url('Adelphe-Trouble-GerminalSemiBold.woff2') format('woff2'), - url('Adelphe-Trouble-GerminalSemiBold.woff') format('woff'); - font-weight: 600; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Adelphe Trouble Germinal'; - src: url('Adelphe-Trouble-GerminalSemiBoldItalic.woff2') format('woff2'), - url('Adelphe-Trouble-GerminalSemiBoldItalic.woff') format('woff'); - font-weight: 600; - font-style: italic; - font-display: swap; -} - -@font-face { - font-family: 'Adelphe Trouble Germinal'; - src: url('Adelphe-Trouble-GerminalBold.woff2') format('woff2'), - url('Adelphe-Trouble-GerminalBold.woff') format('woff'); - font-weight: bold; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Adelphe Trouble Germinal'; - src: url('Adelphe-Trouble-GerminalBoldItalic.woff2') format('woff2'), - url('Adelphe-Trouble-GerminalBoldItalic.woff') format('woff'); - font-weight: bold; - font-style: italic; - font-display: swap; -} diff --git a/maquette-tests/assets/fonts/BaskemoSans/BaskemoSans-Italic.woff2 b/maquette-tests/assets/fonts/BaskemoSans/BaskemoSans-Italic.woff2 deleted file mode 100644 index ff6bad4..0000000 Binary files a/maquette-tests/assets/fonts/BaskemoSans/BaskemoSans-Italic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/BaskemoSans/BaskemoSans-Regular.woff2 b/maquette-tests/assets/fonts/BaskemoSans/BaskemoSans-Regular.woff2 deleted file mode 100644 index 072e0f1..0000000 Binary files a/maquette-tests/assets/fonts/BaskemoSans/BaskemoSans-Regular.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/BaskemoSans/stylesheet.css b/maquette-tests/assets/fonts/BaskemoSans/stylesheet.css deleted file mode 100644 index cf75148..0000000 --- a/maquette-tests/assets/fonts/BaskemoSans/stylesheet.css +++ /dev/null @@ -1,15 +0,0 @@ - -@font-face { - font-family: 'Baskemo Sans'; - src: url('BaskemoSans-Regular.woff2') format('woff2'); - font-weight: normal; - font-style: normal; -} - - -@font-face { - font-family: 'Baskemo Sans'; - src: url('BaskemoSans-Italic.woff2') format('woff2'); - font-weight: normal; - font-style: italic; -} \ No newline at end of file diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Black.woff b/maquette-tests/assets/fonts/Bilzig/Bilzig-Black.woff deleted file mode 100644 index 5fd4409..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Black.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Black.woff2 b/maquette-tests/assets/fonts/Bilzig/Bilzig-Black.woff2 deleted file mode 100644 index 9614c31..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Black.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-BlackItalic.woff b/maquette-tests/assets/fonts/Bilzig/Bilzig-BlackItalic.woff deleted file mode 100644 index ff97854..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-BlackItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-BlackItalic.woff2 b/maquette-tests/assets/fonts/Bilzig/Bilzig-BlackItalic.woff2 deleted file mode 100644 index 0b78763..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-BlackItalic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Bold.woff b/maquette-tests/assets/fonts/Bilzig/Bilzig-Bold.woff deleted file mode 100644 index 31d2090..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Bold.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Bold.woff2 b/maquette-tests/assets/fonts/Bilzig/Bilzig-Bold.woff2 deleted file mode 100644 index f730359..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Bold.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-BoldItalic.woff b/maquette-tests/assets/fonts/Bilzig/Bilzig-BoldItalic.woff deleted file mode 100644 index 7209325..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-BoldItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-BoldItalic.woff2 b/maquette-tests/assets/fonts/Bilzig/Bilzig-BoldItalic.woff2 deleted file mode 100644 index 512d513..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-BoldItalic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Italic.woff b/maquette-tests/assets/fonts/Bilzig/Bilzig-Italic.woff deleted file mode 100644 index 226d835..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Italic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Italic.woff2 b/maquette-tests/assets/fonts/Bilzig/Bilzig-Italic.woff2 deleted file mode 100644 index e67ab08..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Italic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Medium.woff b/maquette-tests/assets/fonts/Bilzig/Bilzig-Medium.woff deleted file mode 100644 index 81f9752..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Medium.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Medium.woff2 b/maquette-tests/assets/fonts/Bilzig/Bilzig-Medium.woff2 deleted file mode 100644 index 3af15a2..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Medium.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-MediumItalic.woff b/maquette-tests/assets/fonts/Bilzig/Bilzig-MediumItalic.woff deleted file mode 100644 index 1fa9f36..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-MediumItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-MediumItalic.woff2 b/maquette-tests/assets/fonts/Bilzig/Bilzig-MediumItalic.woff2 deleted file mode 100644 index 0888aed..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-MediumItalic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Regular.woff b/maquette-tests/assets/fonts/Bilzig/Bilzig-Regular.woff deleted file mode 100644 index 8697205..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Regular.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/Bilzig-Regular.woff2 b/maquette-tests/assets/fonts/Bilzig/Bilzig-Regular.woff2 deleted file mode 100644 index 718ddbd..0000000 Binary files a/maquette-tests/assets/fonts/Bilzig/Bilzig-Regular.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/Bilzig/stylesheet.css b/maquette-tests/assets/fonts/Bilzig/stylesheet.css deleted file mode 100644 index 699f972..0000000 --- a/maquette-tests/assets/fonts/Bilzig/stylesheet.css +++ /dev/null @@ -1,72 +0,0 @@ -@font-face { - font-family: 'Bilzig'; - src: url('Bilzig-Black.woff2') format('woff2'), - url('Bilzig-Black.woff') format('woff'); - font-weight: 900; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Bilzig'; - src: url('Bilzig-BlackItalic.woff2') format('woff2'), - url('Bilzig-BlackItalic.woff') format('woff'); - font-weight: 900; - font-style: italic; - font-display: swap; -} - -@font-face { - font-family: 'Bilzig'; - src: url('Bilzig-Bold.woff2') format('woff2'), - url('Bilzig-Bold.woff') format('woff'); - font-weight: bold; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Bilzig'; - src: url('Bilzig-Italic.woff2') format('woff2'), - url('Bilzig-Italic.woff') format('woff'); - font-weight: normal; - font-style: italic; - font-display: swap; -} - -@font-face { - font-family: 'Bilzig'; - src: url('Bilzig-BoldItalic.woff2') format('woff2'), - url('Bilzig-BoldItalic.woff') format('woff'); - font-weight: bold; - font-style: italic; - font-display: swap; -} - -@font-face { - font-family: 'Bilzig'; - src: url('Bilzig-Medium.woff2') format('woff2'), - url('Bilzig-Medium.woff') format('woff'); - font-weight: 500; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Bilzig'; - src: url('Bilzig-MediumItalic.woff2') format('woff2'), - url('Bilzig-MediumItalic.woff') format('woff'); - font-weight: 500; - font-style: italic; - font-display: swap; -} - -@font-face { - font-family: 'Bilzig'; - src: url('Bilzig-Regular.woff2') format('woff2'), - url('Bilzig-Regular.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - diff --git a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Bold.woff b/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Bold.woff deleted file mode 100644 index 827bf29..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Bold.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Bold.woff2 b/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Bold.woff2 deleted file mode 100644 index 3f9b97e..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Bold.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Medium.woff b/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Medium.woff deleted file mode 100644 index 1b3487d..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Medium.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Medium.woff2 b/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Medium.woff2 deleted file mode 100644 index 6977fe4..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Medium.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Regular.woff b/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Regular.woff deleted file mode 100644 index ebfb024..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Regular.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Regular.woff2 b/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Regular.woff2 deleted file mode 100644 index fcb7653..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorPixelRound-Regular.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/DecorRoundRandom-Regular.woff b/maquette-tests/assets/fonts/DecorRound/DecorRoundRandom-Regular.woff deleted file mode 100644 index 387959e..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorRoundRandom-Regular.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/DecorRoundRandom-Regular.woff2 b/maquette-tests/assets/fonts/DecorRound/DecorRoundRandom-Regular.woff2 deleted file mode 100644 index 8a423f7..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorRoundRandom-Regular.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/DecorRoundRandomRandom-Regular.woff b/maquette-tests/assets/fonts/DecorRound/DecorRoundRandomRandom-Regular.woff deleted file mode 100644 index 27fd6a9..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorRoundRandomRandom-Regular.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/DecorRoundRandomRandom-Regular.woff2 b/maquette-tests/assets/fonts/DecorRound/DecorRoundRandomRandom-Regular.woff2 deleted file mode 100644 index 98fd2e3..0000000 Binary files a/maquette-tests/assets/fonts/DecorRound/DecorRoundRandomRandom-Regular.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/DecorRound/stylesheet.css b/maquette-tests/assets/fonts/DecorRound/stylesheet.css deleted file mode 100644 index a4360f0..0000000 --- a/maquette-tests/assets/fonts/DecorRound/stylesheet.css +++ /dev/null @@ -1,45 +0,0 @@ -@font-face { - font-family: 'Decor Pixel Round'; - src: url('DecorPixelRound-Bold.woff2') format('woff2'), - url('DecorPixelRound-Bold.woff') format('woff'); - font-weight: bold; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Decor Pixel Round'; - src: url('DecorPixelRound-Regular.woff2') format('woff2'), - url('DecorPixelRound-Regular.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Decor Pixel Round'; - src: url('DecorPixelRound-Medium.woff2') format('woff2'), - url('DecorPixelRound-Medium.woff') format('woff'); - font-weight: 500; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Decor Round Random'; - src: url('DecorRoundRandom-Regular.woff2') format('woff2'), - url('DecorRoundRandom-Regular.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Decor Round Random Random'; - src: url('DecorRoundRandomRandom-Regular.woff2') format('woff2'), - url('DecorRoundRandomRandom-Regular.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - diff --git a/maquette-tests/assets/fonts/Garabosse/Garabosse-Perle.ttf b/maquette-tests/assets/fonts/Garabosse/Garabosse-Perle.ttf deleted file mode 100644 index 4b2ff5a..0000000 Binary files a/maquette-tests/assets/fonts/Garabosse/Garabosse-Perle.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/Garabosse/stylesheet.css b/maquette-tests/assets/fonts/Garabosse/stylesheet.css deleted file mode 100644 index 5cfec7c..0000000 --- a/maquette-tests/assets/fonts/Garabosse/stylesheet.css +++ /dev/null @@ -1,8 +0,0 @@ - -@font-face { - font-family: 'Garabosse Perle'; - src: url('Garabosse-Perle.ttf') format('truetype'); - font-weight: normal; - font-style: normal; - font-display: swap; -} diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBold.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBold.woff deleted file mode 100644 index 5710dca..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBold.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBoldCond.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBoldCond.woff deleted file mode 100644 index 6c087da..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBoldCond.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBoldCondIt.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBoldCondIt.woff deleted file mode 100644 index d2e9be6..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBoldCondIt.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBoldItalic.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBoldItalic.woff deleted file mode 100644 index 8d2a9bb..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBoldItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBook.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBook.woff deleted file mode 100644 index 63de736..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBook.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBookCond.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBookCond.woff deleted file mode 100644 index d71b38c..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBookCond.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBookCondIt.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBookCondIt.woff deleted file mode 100644 index 47cd85f..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBookCondIt.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBookItalic.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBookItalic.woff deleted file mode 100644 index dfc37ae..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdBookItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdHdtooledBdIt.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdHdtooledBdIt.woff deleted file mode 100644 index 954aef0..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdHdtooledBdIt.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdHdtooledBold.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdHdtooledBold.woff deleted file mode 100644 index 0b2177a..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdHdtooledBold.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLight.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLight.woff deleted file mode 100644 index 9b0ea71..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLight.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLightCond.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLightCond.woff deleted file mode 100644 index 051abca..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLightCond.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLightCondIt.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLightCondIt.woff deleted file mode 100644 index 722ce61..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLightCondIt.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLightItalic.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLightItalic.woff deleted file mode 100644 index 16cd908..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdLightItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltra.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltra.woff deleted file mode 100644 index a2ac30a..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltra.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltraCond.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltraCond.woff deleted file mode 100644 index 8a4fcf0..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltraCond.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltraCondIt.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltraCondIt.woff deleted file mode 100644 index 9ce13ae..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltraCondIt.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltraItalic.woff b/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltraItalic.woff deleted file mode 100644 index eea13d8..0000000 Binary files a/maquette-tests/assets/fonts/ITCCheltenham/CheltenhamStdUltraItalic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/ITCCheltenham/style.css b/maquette-tests/assets/fonts/ITCCheltenham/style.css deleted file mode 100644 index cdf075f..0000000 --- a/maquette-tests/assets/fonts/ITCCheltenham/style.css +++ /dev/null @@ -1,155 +0,0 @@ -/* #### Generated By: http://font.download #### */ - -@font-face { - font-family: 'ITC Cheltenham'; - font-style: normal; - font-weight: normal; - src: local('ITC Cheltenham Book'), url('CheltenhamStdBook.woff') format('woff'); -} - -@font-face { - font-family: 'ITC Cheltenham'; - font-style: italic; - font-weight: normal; - src: local('ITC Cheltenham Book Italic'), url('CheltenhamStdBookItalic.woff') format('woff'); -} - - - -@font-face { - font-family: 'ITC Cheltenham'; - font-weight: 200; - font-style: normal; - src: local('ITC Cheltenham'), url('CheltenhamStdLight.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham'; - font-weight: 200; - font-style: italic; - src: local('ITC Cheltenham Light Italic'), url('CheltenhamStdLightItalic.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham'; - font-weight: 600; - font-style: normal; - src: local('ITC Cheltenham Bold'), url('CheltenhamStdBold.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham'; - font-weight: 600; - font-style: Italic; - src: local('ITC Cheltenham Bold Italic'), url('CheltenhamStdBoldItalic.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham'; - font-weight: 800; - font-style: normal; - src: local('ITC Cheltenham Ultra'), url('CheltenhamStdUltra.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham'; - font-weight: 800; - font-style: italic; - src: local('ITC Cheltenham Ultra Italic'), url('CheltenhamStdUltraItalic.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham Handtooled'; - font-style: normal; - font-weight: normal; - src: local('ITC Cheltenham Handtooled Std Bold'), url('CheltenhamStdHdtooledBold.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham Handtooled'; - font-style: italic; - font-weight: normal; - src: local('ITC Cheltenham Handtooled Std Bold Italic'), url('CheltenhamStdHdtooledBdIt.woff') format('woff'); -} - -/* Condensed */ - -@font-face { - font-family: 'ITC Cheltenham Condensed'; - font-weight: 200; - font-style: normal; - src: local('ITC Cheltenham Light Condensed'), url('CheltenhamStdLightCond.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham Condensed'; - font-weight: 200; - font-style: italic; - src: local('ITC Cheltenham Light Condensed Italic'), url('CheltenhamStdLightCondIt.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham Condensed'; - font-weight: normal; - font-weight: normal; - src: local('ITC Cheltenham Book Condensed'), url('CheltenhamStdBookCond.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham Condensed'; - font-weight: normal; - font-style: italic; - src: local('ITC Cheltenham Book Condensed Italic'), url('CheltenhamStdBookCondIt.woff') format('woff'); -} - - - - - - - - -@font-face { - font-family: 'ITC CheltenhamCondensed'; - font-weight: 600; - font-style: normal; - src: local('ITC Cheltenham Bold Condensed'), url('CheltenhamStdBoldCond.woff') format('woff'); -} - - -@font-face { - font-family: 'ITC Cheltenham Condensed'; - font-weight: 600; - font-style: italic; - src: local('ITC Cheltenham Bold Condensed Italic'), url('CheltenhamStdBoldCondIt.woff') format('woff'); -} - - - - -@font-face { - font-family: 'ITC Cheltenham Condensed'; - font-weight: 800; - font-style: italic; - src: local('ITC Cheltenham Ultra Condensed Italic'), url('CheltenhamStdUltraCondIt.woff') format('woff'); -} - - - - -@font-face { - font-family: 'ITC Cheltenham Condensed'; - font-weight: 800; - font-style: normal; - src: local('ITC Cheltenham Ultra Condensed'), url('CheltenhamStdUltraCond.woff') format('woff'); -} \ No newline at end of file diff --git a/maquette-tests/assets/fonts/JetBrains/JetBrainsMono-Italic[wght].ttf b/maquette-tests/assets/fonts/JetBrains/JetBrainsMono-Italic[wght].ttf deleted file mode 100644 index 5414835..0000000 Binary files a/maquette-tests/assets/fonts/JetBrains/JetBrainsMono-Italic[wght].ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/JetBrains/JetBrainsMono[wght].ttf b/maquette-tests/assets/fonts/JetBrains/JetBrainsMono[wght].ttf deleted file mode 100644 index b60e77f..0000000 Binary files a/maquette-tests/assets/fonts/JetBrains/JetBrainsMono[wght].ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/JetBrains/stylesheet.css b/maquette-tests/assets/fonts/JetBrains/stylesheet.css deleted file mode 100644 index 163f110..0000000 --- a/maquette-tests/assets/fonts/JetBrains/stylesheet.css +++ /dev/null @@ -1,18 +0,0 @@ -@font-face { - font-family: "JetBrains Mono"; - src: url("JetBrainsMono[wght].ttf") format("truetype"); - font-weight: 100 800; - font-style: normal; - } - - @font-face { - font-family: "JetBrains Mono"; - src: url("JetBrainsMono-Italic[wght].ttf") format("truetype"); - font-weight: 100 800; - font-style: italic; - } - -/* p { - font-family: "JetBrains Mono"; - font-feature-settings: "calt" 1; - } */ \ No newline at end of file diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Black.woff b/maquette-tests/assets/fonts/OCR-X/OCR-X-Black.woff deleted file mode 100644 index dd404a6..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Black.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Black.woff2 b/maquette-tests/assets/fonts/OCR-X/OCR-X-Black.woff2 deleted file mode 100644 index a18808e..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Black.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Bold.woff b/maquette-tests/assets/fonts/OCR-X/OCR-X-Bold.woff deleted file mode 100644 index a72618d..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Bold.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Bold.woff2 b/maquette-tests/assets/fonts/OCR-X/OCR-X-Bold.woff2 deleted file mode 100644 index 0ddc804..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Bold.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Light.woff b/maquette-tests/assets/fonts/OCR-X/OCR-X-Light.woff deleted file mode 100644 index 91bc2f7..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Light.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Light.woff2 b/maquette-tests/assets/fonts/OCR-X/OCR-X-Light.woff2 deleted file mode 100644 index 879bc63..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Light.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Medium.woff b/maquette-tests/assets/fonts/OCR-X/OCR-X-Medium.woff deleted file mode 100644 index 1e57e58..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Medium.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Medium.woff2 b/maquette-tests/assets/fonts/OCR-X/OCR-X-Medium.woff2 deleted file mode 100644 index ba00760..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Medium.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Regular.woff b/maquette-tests/assets/fonts/OCR-X/OCR-X-Regular.woff deleted file mode 100644 index 4d72640..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Regular.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Regular.woff2 b/maquette-tests/assets/fonts/OCR-X/OCR-X-Regular.woff2 deleted file mode 100644 index 03ddcc5..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Regular.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Thin.woff b/maquette-tests/assets/fonts/OCR-X/OCR-X-Thin.woff deleted file mode 100644 index a6c52c0..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Thin.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/OCR-X-Thin.woff2 b/maquette-tests/assets/fonts/OCR-X/OCR-X-Thin.woff2 deleted file mode 100644 index f2ad5f9..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X/OCR-X-Thin.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X/stylesheet.css b/maquette-tests/assets/fonts/OCR-X/stylesheet.css deleted file mode 100644 index bed43e7..0000000 --- a/maquette-tests/assets/fonts/OCR-X/stylesheet.css +++ /dev/null @@ -1,54 +0,0 @@ -@font-face { - font-family: 'OCR-X'; - src: url('OCR-X-Bold.woff2') format('woff2'), - url('OCR-X-Bold.woff') format('woff'); - font-weight: bold; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'OCR-X'; - src: url('OCR-X-Black.woff2') format('woff2'), - url('OCR-X-Black.woff') format('woff'); - font-weight: 900; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'OCR-X'; - src: url('OCR-X-Light.woff2') format('woff2'), - url('OCR-X-Light.woff') format('woff'); - font-weight: 300; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'OCR-X'; - src: url('OCR-X-Regular.woff2') format('woff2'), - url('OCR-X-Regular.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'OCR-X'; - src: url('OCR-X-Medium.woff2') format('woff2'), - url('OCR-X-Medium.woff') format('woff'); - font-weight: 500; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'OCR-X'; - src: url('OCR-X-Thin.woff2') format('woff2'), - url('OCR-X-Thin.woff') format('woff'); - font-weight: 100; - font-style: normal; - font-display: swap; -} - diff --git a/maquette-tests/assets/fonts/OCR-X_trial/OCR-XTrial-VariableVF.ttf b/maquette-tests/assets/fonts/OCR-X_trial/OCR-XTrial-VariableVF.ttf deleted file mode 100644 index 92b6dec..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X_trial/OCR-XTrial-VariableVF.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X_trial/OCR-XTrial-VariableVF.woff2 b/maquette-tests/assets/fonts/OCR-X_trial/OCR-XTrial-VariableVF.woff2 deleted file mode 100644 index df28299..0000000 Binary files a/maquette-tests/assets/fonts/OCR-X_trial/OCR-XTrial-VariableVF.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/OCR-X_trial/stylesheet.css b/maquette-tests/assets/fonts/OCR-X_trial/stylesheet.css deleted file mode 100644 index 0a4f0ca..0000000 --- a/maquette-tests/assets/fonts/OCR-X_trial/stylesheet.css +++ /dev/null @@ -1,13 +0,0 @@ -@font-face { - font-family: "OCR X"; - src: url("OCR-XTrial-VariableVF.ttf") format("truetype"); - font-weight: 10 220; - font-style: normal; - } - - @font-face { - font-family: "OCR X"; - src: url("OCR-XTrial-VariableVF.woff2") format("woff2"); - font-weight: 10 220; - font-style: normal; - } \ No newline at end of file diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Half-Italic.woff b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Half-Italic.woff deleted file mode 100644 index c23e401..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Half-Italic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Half-Italic.woff2 b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Half-Italic.woff2 deleted file mode 100644 index 4f2c254..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Half-Italic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Italic.woff b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Italic.woff deleted file mode 100644 index ab0fe7a..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Italic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Italic.woff2 b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Italic.woff2 deleted file mode 100644 index d1cd334..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic-Italic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic.woff b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic.woff deleted file mode 100644 index 833dd0e..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic.woff2 b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic.woff2 deleted file mode 100644 index 7f4d07b..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Half-Italic.woff b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Half-Italic.woff deleted file mode 100644 index fa0723d..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Half-Italic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Half-Italic.woff2 b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Half-Italic.woff2 deleted file mode 100644 index 3a02aaf..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Half-Italic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Italic.woff b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Italic.woff deleted file mode 100644 index 36eb692..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Italic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Italic.woff2 b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Italic.woff2 deleted file mode 100644 index 003181e..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow-Italic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow.woff b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow.woff deleted file mode 100644 index 733c7c0..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow.woff2 b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow.woff2 deleted file mode 100644 index 3988b38..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicNarrow.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Half-Italic.woff b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Half-Italic.woff deleted file mode 100644 index 05ba6a3..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Half-Italic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Half-Italic.woff2 b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Half-Italic.woff2 deleted file mode 100644 index 64c4e34..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Half-Italic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Italic.woff b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Italic.woff deleted file mode 100644 index fc6a3e0..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Italic.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Italic.woff2 b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Italic.woff2 deleted file mode 100644 index e95c8bc..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide-Italic.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide.woff b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide.woff deleted file mode 100644 index 35eb2ad..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide.woff2 b/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide.woff2 deleted file mode 100644 index 91a69c3..0000000 Binary files a/maquette-tests/assets/fonts/RoutedGothic/RoutedGothicWide.woff2 and /dev/null differ diff --git a/maquette-tests/assets/fonts/RoutedGothic/stylesheet.css b/maquette-tests/assets/fonts/RoutedGothic/stylesheet.css deleted file mode 100644 index 8b12fd2..0000000 --- a/maquette-tests/assets/fonts/RoutedGothic/stylesheet.css +++ /dev/null @@ -1,89 +0,0 @@ -@font-face { - font-family: 'Routed Gothic'; - src: url('RoutedGothic.woff2') format('woff2'), - url('RoutedGothic.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - - - -/* @font-face { - font-family: 'Routed Gothic Half'; - src: url('RoutedGothic-Half-Italic.woff2') format('woff2'), - url('RoutedGothic-Half-Italic.woff') format('woff'); - font-weight: normal; - font-style: italic; - font-display: swap; -} */ - - -@font-face { - font-family: 'Routed Gothic'; - src: url('RoutedGothic-Italic.woff2') format('woff2'), - url('RoutedGothic-Italic.woff') format('woff'); - font-weight: normal; - font-style: italic; - font-display: swap; -} - -@font-face { - font-family: 'Routed Gothic Narrow'; - src: url('RoutedGothicNarrow-Italic.woff2') format('woff2'), - url('RoutedGothicNarrow-Italic.woff') format('woff'); - font-weight: normal; - font-style: italic; - font-display: swap; -} - -/* @font-face { - font-family: 'Routed Gothic Narrow Half'; - src: url('RoutedGothicNarrow-Half-Italic.woff2') format('woff2'), - url('RoutedGothicNarrow-Half-Italic.woff') format('woff'); - font-weight: normal; - font-style: italic; - font-display: swap; -} */ - - -@font-face { - font-family: 'Routed Gothic Narrow'; - src: url('RoutedGothicNarrow.woff2') format('woff2'), - url('RoutedGothicNarrow.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - - - -@font-face { - font-family: 'Routed Gothic Wide'; - src: url('RoutedGothicWide.woff2') format('woff2'), - url('RoutedGothicWide.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - - - -@font-face { - font-family: 'Routed Gothic Wide'; - src: url('RoutedGothicWide-Half-Italic.woff2') format('woff2'), - url('RoutedGothicWide-Half-Italic.woff') format('woff'); - font-weight: normal; - font-style: italic; - font-display: swap; -} - -/* @font-face { - font-family: 'Routed Gothic Wide'; - src: url('RoutedGothicWide-Italic.woff2') format('woff2'), - url('RoutedGothicWide-Italic.woff') format('woff'); - font-weight: normal; - font-style: italic; - font-display: swap; -} */ - diff --git a/maquette-tests/assets/fonts/Teletext/MODE7GX0.TTF b/maquette-tests/assets/fonts/Teletext/MODE7GX0.TTF deleted file mode 100644 index d74be41..0000000 Binary files a/maquette-tests/assets/fonts/Teletext/MODE7GX0.TTF and /dev/null differ diff --git a/maquette-tests/assets/fonts/Teletext/MODE7GX1.TTF b/maquette-tests/assets/fonts/Teletext/MODE7GX1.TTF deleted file mode 100644 index b7e5905..0000000 Binary files a/maquette-tests/assets/fonts/Teletext/MODE7GX1.TTF and /dev/null differ diff --git a/maquette-tests/assets/fonts/Teletext/MODE7GX2.TTF b/maquette-tests/assets/fonts/Teletext/MODE7GX2.TTF deleted file mode 100644 index 96d4f7b..0000000 Binary files a/maquette-tests/assets/fonts/Teletext/MODE7GX2.TTF and /dev/null differ diff --git a/maquette-tests/assets/fonts/Teletext/MODE7GX3.TTF b/maquette-tests/assets/fonts/Teletext/MODE7GX3.TTF deleted file mode 100644 index c9678ae..0000000 Binary files a/maquette-tests/assets/fonts/Teletext/MODE7GX3.TTF and /dev/null differ diff --git a/maquette-tests/assets/fonts/Teletext/MODE7GX4.TTF b/maquette-tests/assets/fonts/Teletext/MODE7GX4.TTF deleted file mode 100644 index e8103f2..0000000 Binary files a/maquette-tests/assets/fonts/Teletext/MODE7GX4.TTF and /dev/null differ diff --git a/maquette-tests/assets/fonts/Teletext/stylesheet.css b/maquette-tests/assets/fonts/Teletext/stylesheet.css deleted file mode 100644 index 8a4b5be..0000000 --- a/maquette-tests/assets/fonts/Teletext/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ - -@font-face { - font-family: 'Teletext'; - src: url('MODE7GX0.TTF') format('truetype'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - -/* @font-face { - font-family: 'Teletext'; - src: url('MODE7GX1.TTF') format('truetype'); - font-weight: normal; - font-style: normal; - font-display: swap; -} */ - -/* @font-face { - font-family: 'Teletext'; - src: url('MODE7GX2.TTF') format('truetype'); - font-weight: 300; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Teletext'; - src: url('MODE7GX3.TTF') format('truetype'); - font-weight: 400; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Teletext'; - src: url('MODE7GX4.TTF') format('truetype'); - font-weight: 500; - font-style: normal; - font-display: swap; -} */ diff --git a/maquette-tests/assets/fonts/Triplicate/stylesheet.css b/maquette-tests/assets/fonts/Triplicate/stylesheet.css deleted file mode 100644 index 902df2f..0000000 --- a/maquette-tests/assets/fonts/Triplicate/stylesheet.css +++ /dev/null @@ -1,55 +0,0 @@ -@font-face { - font-family: "Triplicate T3"; - src: url("triplicate-t3.ttf") format("truetype"); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: "Triplicate T3"; - src: url("triplicate-t3-italic.ttf") format("truetype"); - font-weight: normal; - font-style: italic; -} - -@font-face { - font-family: "Triplicate T3"; - src: url("triplicate-t3-bold.ttf") format("truetype"); - font-weight: bold; - font-style: normal; -} - -@font-face { - font-family: "Triplicate T3"; - src: url("triplicate-t3-bold-italic.ttf") format("truetype"); - font-weight: bold; - font-style: italic; -} - -@font-face { - font-family: "Triplicate T4"; - src: url("triplicate-t4.ttf") format("truetype"); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: "Triplicate T4"; - src: url("triplicate-t4-italic.ttf") format("truetype"); - font-weight: normal; - font-style: italic; -} - -@font-face { - font-family: "Triplicate T4"; - src: url("triplicate-t4-bold.ttf") format("truetype"); - font-weight: bold; - font-style: normal; -} - -@font-face { - font-family: "Triplicate T4"; - src: url("triplicate-t4-bold-italic.ttf") format("truetype"); - font-weight: bold; - font-style: italic; -} diff --git a/maquette-tests/assets/fonts/Triplicate/triplicate-t3-bold-italic.ttf b/maquette-tests/assets/fonts/Triplicate/triplicate-t3-bold-italic.ttf deleted file mode 100644 index a626944..0000000 Binary files a/maquette-tests/assets/fonts/Triplicate/triplicate-t3-bold-italic.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/Triplicate/triplicate-t3-bold.ttf b/maquette-tests/assets/fonts/Triplicate/triplicate-t3-bold.ttf deleted file mode 100644 index d7c3451..0000000 Binary files a/maquette-tests/assets/fonts/Triplicate/triplicate-t3-bold.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/Triplicate/triplicate-t3-italic.ttf b/maquette-tests/assets/fonts/Triplicate/triplicate-t3-italic.ttf deleted file mode 100644 index de5e2b7..0000000 Binary files a/maquette-tests/assets/fonts/Triplicate/triplicate-t3-italic.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/Triplicate/triplicate-t3.ttf b/maquette-tests/assets/fonts/Triplicate/triplicate-t3.ttf deleted file mode 100644 index 44f6572..0000000 Binary files a/maquette-tests/assets/fonts/Triplicate/triplicate-t3.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/Triplicate/triplicate-t4-bold-italic.ttf b/maquette-tests/assets/fonts/Triplicate/triplicate-t4-bold-italic.ttf deleted file mode 100644 index 16491c9..0000000 Binary files a/maquette-tests/assets/fonts/Triplicate/triplicate-t4-bold-italic.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/Triplicate/triplicate-t4-bold.ttf b/maquette-tests/assets/fonts/Triplicate/triplicate-t4-bold.ttf deleted file mode 100644 index 5039fc5..0000000 Binary files a/maquette-tests/assets/fonts/Triplicate/triplicate-t4-bold.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/Triplicate/triplicate-t4-italic.ttf b/maquette-tests/assets/fonts/Triplicate/triplicate-t4-italic.ttf deleted file mode 100644 index 190e089..0000000 Binary files a/maquette-tests/assets/fonts/Triplicate/triplicate-t4-italic.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/Triplicate/triplicate-t4.ttf b/maquette-tests/assets/fonts/Triplicate/triplicate-t4.ttf deleted file mode 100644 index 7df0c53..0000000 Binary files a/maquette-tests/assets/fonts/Triplicate/triplicate-t4.ttf and /dev/null differ diff --git a/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Bold.woff b/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Bold.woff deleted file mode 100644 index 2f29ce4..0000000 Binary files a/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Bold.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Book.woff b/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Book.woff deleted file mode 100644 index bfc454b..0000000 Binary files a/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Book.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Light.woff b/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Light.woff deleted file mode 100644 index 6aebd26..0000000 Binary files a/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Light.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Regular.woff b/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Regular.woff deleted file mode 100644 index 1a4899f..0000000 Binary files a/maquette-tests/assets/fonts/Velvetyne/Velvelyne-Regular.woff and /dev/null differ diff --git a/maquette-tests/assets/fonts/Velvetyne/stylesheet.css b/maquette-tests/assets/fonts/Velvetyne/stylesheet.css deleted file mode 100644 index 6b97f2a..0000000 --- a/maquette-tests/assets/fonts/Velvetyne/stylesheet.css +++ /dev/null @@ -1,32 +0,0 @@ - -@font-face { - font-family: 'Velvetyne'; - src: url('Velvelyne-Light.woff') format('woff'); - font-weight: 300; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Velvetyne'; - src: url('Velvelyne-Book.woff') format('woff'); - font-weight: 400; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Velvetyne'; - src: url('Velvelyne-Regular.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Velvetyne'; - src: url('Velvelyne-Bold.woff') format('woff'); - font-weight: bold; - font-style: normal; - font-display: swap; -} diff --git a/maquette-tests/assets/layout-4/Screenshot 2026-03-03 at 14.20.30.png b/maquette-tests/assets/layout-4/Screenshot 2026-03-03 at 14.20.30.png deleted file mode 100644 index dd676b0..0000000 Binary files a/maquette-tests/assets/layout-4/Screenshot 2026-03-03 at 14.20.30.png and /dev/null differ diff --git a/maquette-tests/assets/layout-4/Screenshot 2026-03-03 at 14.20.36.png b/maquette-tests/assets/layout-4/Screenshot 2026-03-03 at 14.20.36.png deleted file mode 100644 index 01d1596..0000000 Binary files a/maquette-tests/assets/layout-4/Screenshot 2026-03-03 at 14.20.36.png and /dev/null differ diff --git a/maquette-tests/assets/layout-4/base/_layout.scss b/maquette-tests/assets/layout-4/base/_layout.scss deleted file mode 100644 index 6e78618..0000000 --- a/maquette-tests/assets/layout-4/base/_layout.scss +++ /dev/null @@ -1,95 +0,0 @@ -@mixin running(){ - font-family: var(--mono); - font-size: 12px; - // vertical-align: bottom; - // padding-bottom: 5mm; -} - - -@mixin numPage(){ - font-family: var(--sans); - font-size: 20px; - vertical-align: bottom; - padding-bottom: 5mm; - width: 10mm; - -} - - - - -@media print{ - - @page { - size: 165mm 240mm; - margin-top: 16mm; - margin-bottom: 20mm; - bleed: 6mm; - marks: crop; - - } - - @page:left{ - margin-left: 18mm; - margin-right: 26mm; - @bottom-center{ - content: counter(page); - @include numPage(); - - - } - @top-left { - content: string(author); - @include running(); - // text-align: left; - // padding-left: 3ch; - } - @top-center { - content: string(type); - @include running(); - } - } - - @page:right{ - margin-left: 26mm; - margin-right: 18mm; - @bottom-center{ - content: counter(page); - @include numPage(); - text-align: right; - - } - @top-left { - content: string(title); - @include running(); - } - } - - /*p{ - background: salmon; - }*/ - - .chapter{ - break-before: right; - page: chapter; - } - - - @page chapter:first{ - @top-left{ content: none; } - - } -} - - -// .pagedjs_left_page .pagedjs_pagebox{ - -// background: linear-gradient(180deg, transparent 82%, #00009B 100%)!important; - -// } - -// .pagedjs_right_page .pagedjs_pagebox{ - -// background: linear-gradient(180deg, transparent 82%, #00009B 100%)!important; - -// } \ No newline at end of file diff --git a/maquette-tests/assets/layout-4/base/_var.scss b/maquette-tests/assets/layout-4/base/_var.scss deleted file mode 100644 index 9dc401f..0000000 --- a/maquette-tests/assets/layout-4/base/_var.scss +++ /dev/null @@ -1,27 +0,0 @@ -:root{ - - --font: 'Routed Gothic', sans-serif; - --font: 'Wagram Slab', serif; - // --font: 'HAL Timezone', serif; - --mono: 'Selectric Mono', monospace; - --mono: 'Ivory Mono', monospace; - --mono: 'Baskemo Sans', monospace; - - // --mono: 'HAL Timezone Mono', monospace; - --sans: 'Routed Gothic', serif; - // --note: 'Wagram Slab', serif; - --title: 'HNoailles Times Triplex', sans-serif; - - --red: #9B0000; - --green:#009B00; - --green-light:#009b0025; - --blue: #00009B; - - - - --indent: 7mm; - - --font-size: 12px; - --baseline: 18px; - -} \ No newline at end of file diff --git a/maquette-tests/assets/layout-4/modules/_chapter-header.scss b/maquette-tests/assets/layout-4/modules/_chapter-header.scss deleted file mode 100644 index 7a2636f..0000000 --- a/maquette-tests/assets/layout-4/modules/_chapter-header.scss +++ /dev/null @@ -1,89 +0,0 @@ -.chapter-header{ - // break-after: page; - margin-top: calc(var(--baseline)*2); - margin-bottom: calc(var(--baseline)*3); - --color: black; -} - -.chapter-header h2 { - string-set: title content(text); -} - -.chapter-header .author { - string-set: author content(text); -} - -.chapter-header .type { - string-set: type content(text); -} - - -.chapter-header h2{ - font-size: 46px; - line-height: 1.1; - font-family: var(--font); - font-family: var(--mono); - color: var(--blue); - margin-bottom: calc(var(--baseline)*1); - text-align: left; - font-weight: normal; - - color: var(--color); - text-align: center; - -} - - -.chapter-header .type{ - margin-bottom: calc(var(--baseline)*1); - display: none; - // text-align: center; -} - -.chapter-header .type{ - -} -.chapter-header .bio{ - margin-top: calc(var(--baseline)*3); - font-family: var(--sans); - hyphens: none; - line-height: 1.3; - font-size: 12px; - - // left: 0px!important; - .name{ - text-indent: 0; - text-align: left; - font-weight: normal; - color: var(--color); - } - - .description{ - text-indent: -14mm; - padding-left: 14mm; - text-align: left; - font-weight: normal; - color: var(--color); - hyphens: none; - } - -} - - - -.chapter-header .author{ - left: 0px!important; - font-size: 26px; - line-height: 0.9; - font-weight: normal; - line-height: 1; - font-family: var(--mono); - // font-weight: bold; - text-align: center; - text-indent: 0; - color: var(--color); - margin-top: calc(var(--baseline)*3); - text-decoration: underline 1px; - text-underline-offset: 2px; -} - diff --git a/maquette-tests/assets/layout-4/modules/_footnotes.scss b/maquette-tests/assets/layout-4/modules/_footnotes.scss deleted file mode 100644 index 892efc1..0000000 --- a/maquette-tests/assets/layout-4/modules/_footnotes.scss +++ /dev/null @@ -1,82 +0,0 @@ -.pagedjs_footnote{ - font-family: var(--sans); - // font-size: 10px; - line-height: 1.3; - font-size: 12px; - font-weight: 200; - text-indent: -14mm; - padding-left: 14mm; - - - - -} -.pagedjs_floatnote_marker, -.pagedjs_floatnote_call{ - -} - - -.pagedjs_floatnote_marker{ - -} - -.note-container{ - grid-column: center; - grid-row: footer; - width: 100%; - height: calc(100% - 12mm); - // outline: 1px solid red; - columns: 2; - column-fill: auto; - - padding-top: 20px; - - -} - - -.pagedjs_footnote_content{ - // padding-top: var(--baseline); -// columns: 2; - -} - - - // .pagedjs_footnote_inner_content{ - // columns: 2; - // } - - - -.pagedjs_footnotes::marker{ - color: red; -} - - - -.pagedjs_footnote[data-footnote-call]{ - - // font-family: sans-serif; - - font-size: 12px; - font-family: var(--sans); - text-indent: 0px; - // position: relative; - // top: -2px; - margin-left: 2px; - &::after{ - font-variant-position: normal; - content: attr(data-counter-footnote-increment) "}" - - } - &::before{ - content: "{" - } -} - - - -[data-footnote-marker]::marker { - content: "{" counter(footnote-marker) "} "; -} \ No newline at end of file diff --git a/maquette-tests/assets/layout-4/modules/_item-decor.scss b/maquette-tests/assets/layout-4/modules/_item-decor.scss deleted file mode 100644 index 398ec63..0000000 --- a/maquette-tests/assets/layout-4/modules/_item-decor.scss +++ /dev/null @@ -1,17 +0,0 @@ - -.item-decor{ - font-family: var(--sans); - font-weight: 400; - font-size: 12px; - position: absolute; - - -} - -.pagedjs_left_page .item-decor{ - left: -12mm; -} - -.pagedjs_right_page .item-decor{ - right: -12mm; -} \ No newline at end of file diff --git a/maquette-tests/assets/layout-4/modules/_notes.scss b/maquette-tests/assets/layout-4/modules/_notes.scss deleted file mode 100644 index 8a4bb42..0000000 --- a/maquette-tests/assets/layout-4/modules/_notes.scss +++ /dev/null @@ -1,61 +0,0 @@ -.inline-note{ - - color: var(--green); - - float: left; - clear: both; - width: 46mm; - text-align: left; - hyphens: none; - - margin-right: 1ch; - margin-right: -20mm; - position: relative; - left: -25mm; - text-align: right; - - font-family: var(--note); - font-size: 9.5px; - line-height: 1.2; - - .body_note{ - padding-top: 5px; - } - - - -} -.pagedjs_floatnote_marker, -.pagedjs_floatnote_call{ - color: var(--green); - - // font-weight: bold; - padding-left: 0.25ch; - line-height: 0; - font-size: 9px; - font-family: var(--mono); - position: relative; - top: -1px; - margin-left: 2px; - - - border: 0.5px solid currentColor; - - width: 14px; - height: 14px; - display: inline-flex; - justify-content: center; - align-items: center; - border-radius: 4px; -} - - -.pagedjs_floatnote_marker{ - // float: left; - // position: absolute; - // left: 0px; - // display: block; - text-align: left; -} - - diff --git a/maquette-tests/assets/layout-4/style.css.map b/maquette-tests/assets/layout-4/style.css.map deleted file mode 100644 index f90e447..0000000 --- a/maquette-tests/assets/layout-4/style.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["base/_type.scss","base/_var.scss","style.css","base/_body.scss","base/_layout.scss","base/_type-specimen.scss","modules/_text.scss","modules/_footnotes.scss","modules/_chapter-header.scss","modules/_item-decor.scss"],"names":[],"mappings":"AAAQ,wEAAA;AACA,8HAAA;AACA,6GAAA;ACFR;EAEI,mCAAA;EACA,4BAAA;EAEA,mCAAA;EACA,+BAAA;EACA,iCAAA;EAGA,8BAAA;EAEA,8CAAA;EAEA,cAAA;EACA,eAAA;EACA,uBAAA;EACA,eAAA;EAIA,aAAA;EAEA,iBAAA;EACA,gBAAA;ACNJ;;AClBA;EACI,SAAA;EACA,UAAA;EACA,sBAAA;EACA,mCAAA;EACA,gCAAA;EACA,8BAAA;ADqBJ;;ACnBA;EACI,mBAAA;ADsBJ;;ACdA;EAEI,wBAAA;EACA,2BAAA;EACA,4BAAA;ADgBJ;;AEjBA;EAEE;IACE,iBAAA;IACA,gBAAA;IACA,mBAAA;IACA,UAAA;IACA,WAAA;EFmBF;EEfA;IACE,iBAAA;IACA,kBAAA;IACC;MACC,sBAAA;MA1BJ,wBAAA;MACA,eAAA;MACA,sBAAA;MACA,mBAAA;MACA,WAAA;IF4CE;IEjBC;MACC,uBAAA;MAxCJ,wBAAA;MACA,eAAA;IF4DE;IEhBC;MACD,qBAAA;MA9CF,wBAAA;MACA,eAAA;IFiEE;EACF;EEhBA;IACE,iBAAA;IACA,kBAAA;IACC;MACC,sBAAA;MA/CJ,wBAAA;MACA,eAAA;MACA,sBAAA;MACA,mBAAA;MACA,WAAA;MA6CM,iBAAA;IFsBJ;IEnBC;MACC,sBAAA;MA7DJ,wBAAA;MACA,eAAA;IFmFE;EACF;EEnBA;;IAAA;EAIA;IACE,+BAAA;SAAA,mBAAA;IACA,aAAA;EFoBF;EEhBA;IACE;MAAW,aAAA;IFmBX;EACF;AACF;AF/FA;EACE,yBAAA;AEiGF;;AF7FA;EACE,8BAAA;AEgGF;;AF5FA;EACE,8BAAA;AE+FF;;AF3FA;EACE,kCAAA;AE8FF;;AF3FA;EACE,2CAAA;AE8FF;;AF1FA;EACE,+BAAA;AE6FF;;AF1FA;EACE,wCAAA;AE6FF;;AF1FA;EACE,4BAAA;AE6FF;;AF1FA;EACE,2BAAA;AE6FF;;AF3FA;EACE,gCAAA;AE8FF;;AF5FA;EACE,mCAAA;AE+FF;;AF5FA;EACE,8BAAA;AE+FF;;AF5FA;EACE,oCAAA;AE+FF;;AF5FA;EACE,kCAAA;AE+FF;;AF5FA;EACG,mCAAA;AE+FH;;AF5FA;EACG,mDAAA;AE+FH;;AF5FA;EACG,kDAAA;AE+FH;;AF5FA;EACG,mDAAA;AE+FH;;AF5FA;EACG,6CAAA;AE+FH;;AF5FA;EACG,4CAAA;AE+FH;;AF5FA;EACG,6CAAA;AE+FH;;AF5FA;EACG,qCAAA;AE+FH;;AF7FA;EACG,uCAAA;AEgGH;;AF7FA;EACG,4BAAA;AEgGH;;AF9FA;EACG,iCAAA;AEiGH;;AF/FA;EACG,0CAAA;AEkGH;;AF/FA;EACE,6CAAA;AEkGF;;AF/FA;EACE,wCAAA;AEkGF;;AF9FA;EACE,+CAAA;AEiGF;;AF9FA;EACE,oCAAA;AEiGF;;AF7FA;EACE,oCAAA;EACA,gBAAA;AEgGF;;AF1FA;EACE,kCAAA;AE6FF;;AGnOA;EACI,yBAAA;AHsOJ;AGpOI;EACI,uBAAA;EACA,mBAAA;EACA,iBAAA;AHsOR;AGnOI;EAEI,aAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,YAAA;EACA,aAAA;EACA,gBAAA;EAEA,aAAA;EACA,8BAAA;EACA,SAAA;AHmOR;AG/NI;EACI,mBAAA;EACA,aAAA;EACA,kBAAA;AHiOR;AG9NI;EACA,eAAA;AHgOJ;AG5NI;EAEI,eAAA;EACA,gBAAA;EACA,eAAA;EACA,mBAAA;AH6NR;AG1NI;EACI,gBAAA;AH4NR;AGzNI;EACI,iBAAA;AH2NR;AGxNK;EACG,mBAAA;AH0NR;AGvNK;EACG,mBAAA;EACA,kBAAA;AHyNR;AGvNM;EACE,2BAAA;EACA,kBAAA;AHyNR;AGtNI;EACE,mBAAA;EACA,yBAAA;EACA,uBAAA;AHwNN;;AGlNE;EACE,mBAAA;EACE,gBAAA;AHqNN;;AGtMI;;;;EACI,8BAAA;AH4MR;;AGxMA;EACI,yBAAA;EAEA,kBAAA;AH0MJ;;AGrME;EACE,8BAAA;EACA,kBAAA;AHwMJ;;AGnME;EACE,2BAAA;EACA,8BAAA;EACA,kBAAA;AHsMJ;;AG/LE;;;EACE,8BAAA;AHoMJ;;AG9LE;EACE,2BAAA;AHiMJ;;AI/TI;EACA,mBAAA;EACA,aAAA;EACA,0BAAA;EACA,kBAAA;EAGA,uBAAA;AJgUJ;AIlTA;EACI,0BAAA;AJoTJ;AI7SA;EACI,uCAAA;EACA,0CAAA;EACA,kBAAA;EACA,mBAAA;EAEA,wBAAA;EACA,yBAAA;EACC,kBAAA;EACC,eAAA;EAEA,uBAAA;EACF,YAAA;EACE,sCAAA;UAAA,8BAAA;EACA,0BAAA;AJ6SN;AIxRA;EACI,wBAAA;EAWA,2BAAA;EAEI,qCAAA;EACA,wCAAA;AJ+QR;AI3QA;EAEI,eAAA;AJ4QJ;;AIpOA;EACI,kBAAA;AJuOJ;;AKxWA;EACI,wBAAA;EAEA,gBAAA;EACD,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;AL0WH;;AK1VA;EACI,mBAAA;EACA,gBAAA;EACA,WAAA;EACA,yBAAA;EAEA,eAAA;OAAA,UAAA;EACA,sBAAA;OAAA,iBAAA;EAEA,iBAAA;AL2VJ;;AKxUA;EACI,UAAA;AL2UJ;;AKtUA;EAIO,eAAA;EACF,wBAAA;EACD,gBAAA;EAGA,gBAAA;ALoUJ;AKnUI;EACI,6BAAA;EACA,kDAAA;ALqUR;AKlUI;EACI,YAAA;ALoUR;;AK9TA;EACI,0CAAA;ALiUJ;;AMjZA;EAEQ,qCAAA;EACJ,wCAAA;EACA,cAAA;ANmZJ;;AMhZA;EACE,+BAAA;ANmZF;;AMhZA;EACE,gCAAA;ANmZF;;AMhZA;EACE,8BAAA;ANmZF;;AM/YA;EACI,eAAA;EACA,gBAAA;EACA,wBAAA;EACE,wBAAA;EACF,kBAAA;EACA,wCAAA;EACA,gBAAA;EACA,mBAAA;EAEA,mBAAA;EACA,kBAAA;ANiZJ;;AM5YA;EACK,wCAAA;EACA,aAAA;AN+YL;;AMxYA;EACE,qCAAA;EACG,wBAAA;EACA,aAAA;EACC,gBAAA;EACH,eAAA;AN2YH;AMxYQ;EACE,cAAA;EACA,gBAAA;EACA,mBAAA;EACI,mBAAA;AN0Yd;AMvYQ;EACE,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,mBAAA;EACI,mBAAA;EACA,aAAA;ANyYd;;AMlYA;EACI,oBAAA;EACF,eAAA;EACE,gBAAA;EACA,mBAAA;EACA,cAAA;EACA,wBAAA;EAEA,kBAAA;EACA,cAAA;EACA,mBAAA;EACE,qCAAA;EACA,sCAAA;UAAA,8BAAA;EACA,0BAAA;ANoYN;;AOzdA;EACI,wBAAA;EACA,gBAAA;EACA,eAAA;EACA,kBAAA;AP4dJ;;AOvdA;EACK,WAAA;AP0dL;;AOvdA;EACK,YAAA;AP0dL","file":"style.css"} \ No newline at end of file diff --git a/maquette-tests/assets/type-specimen.css b/maquette-tests/assets/type-specimen.css deleted file mode 100644 index d3c9bb2..0000000 --- a/maquette-tests/assets/type-specimen.css +++ /dev/null @@ -1,281 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Ovo&display=swap'); -@import url('https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,200..900;1,7..72,200..900&display=swap'); -@import url('https://fonts.googleapis.com/css2?family=Vollkorn:ital,wght@0,400..900;1,400..900&display=swap'); - - -* { - margin: 0; - padding: 0; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - -moz-font-smoothing: antialiased; - -o-font-smoothing: antialiased; - -} -a { - color: currentColor; -} - - - - -[data-type="ovo"]{ - font-family: "Ovo", serif; - -} - -[data-type="literata"]{ - font-family: "Literata", serif; - -} - -[data-type="vollkorn"]{ - font-family: "Vollkorn", serif; -} - - -[data-type="timezone"]{ - font-family: 'HAL Timezone', serif; -} - -[data-type="timezone-mono"]{ - font-family: 'HAL Timezone Mono', monospace; -} - - -[data-type="selectric"]{ - font-family: 'Selectric', serif; -} - -[data-type="selectric-mono"]{ - font-family: 'Selectric Mono', monospace; -} - -[data-type="es-face"]{ - font-family: 'ESFace', serif; -} - -[data-type="ivory"]{ - font-family: 'Ivory', serif; -} -[data-type="ivory-mono"]{ - font-family: 'Ivory Mono', serif; -} -[data-type="necto-mono"]{ - font-family: 'NectoMono', monospace; -} - -[data-type="old-round"]{ - font-family: 'OldRound', serif; -} - -[data-type="old-round-hover"]{ - font-family: 'OldRound Hover', serif; -} - -[data-type="satoshi"]{ - font-family: 'Satoshi', sans-serif; -} - -[data-type="redaction"]{ - font-family: 'Redaction', monospace; -} - -[data-type="h-noailles-futura-simplex"]{ - font-family: 'HNoailles Futura Simplex', sans-serif; -} - -[data-type="h-noailles-futura-duplex"]{ - font-family: 'HNoailles Futura Duplex', sans-serif; -} - -[data-type="h-noailles-futura-triplex"]{ - font-family: 'HNoailles Futura Triplex', sans-serif; -} - -[data-type="h-noailles-times-simplex"]{ - font-family: 'HNoailles Times Simplex', serif; -} - -[data-type="h-noailles-times-duplex"]{ - font-family: 'HNoailles Times Duplex', serif; -} - -[data-type="h-noailles-times-triplex"]{ - font-family: 'HNoailles Times Triplex', serif; -} - -[data-type="adelphe-floreal"]{ - font-family: 'Adelphe Floreal', serif; -} -[data-type="Adelphe-fructidor"]{ - font-family: 'Adelphe Fructidor', serif; -} - -[data-type="wagram"]{ - font-family: 'Wagram', serif; -} -[data-type="wagram-slab"]{ - font-family: 'Wagram Slab', serif; -} -[data-type="wagram-mono-slab"]{ - font-family: 'Wagram Mono Slab', monospace; -} - -[data-type="routed-gothic-wide"]{ - font-family: 'Routed Gothic Wide', sans-serif; -} - -[data-type="routed-gothic"]{ - font-family: 'Routed Gothic', sans-serif; -} - - -[data-type="routed-gothic-narrow"]{ - font-family: 'Routed Gothic Narrow', sans-serif; -} - -[data-type="cheltenham"]{ - font-family: 'ITC Cheltenham', serif; -} - - -[data-type="cheltenham-light"]{ - font-family: 'ITC Cheltenham', serif; - font-weight: 200; - -} - - - -[data-type="baskemo-sans"]{ - font-family: 'Baskemo Sans', serif; -} - -[data-type="Velvetyne"]{ - font-family: 'Velvetyne'; -} - -[data-type="Garabosse Perle"]{ - font-family: 'Garabosse Perle'; -} -[data-type="Adelphe Trouble Germinal"]{ - font-family: 'Adelphe Trouble Germinal';; -} -[data-type="Bilzig"]{ - font-family: 'Bilzig'; -} - - -#type-specimen{ - background-color: #cfcfcf; - } - .type{ - font-family: sans-serif; - grid-column: span 2; - font-weight: bold; - } - - .specimen{ - - width: 1200px; - height: 680px; - border: 1px solid #999; - background-color: white; - margin: 30px; - padding: 30px; - overflow: hidden; - - display: grid; - grid-template-columns: 1fr 1fr; - gap: 30px; - - } - - p:first-of-type{ - text-align: justify; - hyphens: auto; - margin-bottom: 1em; - } - - p{ - font-size: 16px; - } - - - .title{ - - font-size: 32px; - line-height: 1.1; - max-width: 22ch; - margin-bottom: 30px; - } - - .content{ - line-height: 1.3; - } - - .title-bold{ - font-weight: bold; - } - - .title-normal{ - font-weight: normal; - } - - .title-italic{ - font-weight: normal; - font-style: italic; - } - .title-light{ - font-weight: 300!important; - font-style: normal; - } - - .title-uppercase{ - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.01rem; - } - - - -[data-type="ovo"] .title { - font-weight: normal; - line-height: 1.1; -} - -[data-type="selectric"] .title-bold, -[data-type="selectric-mono"] .title-bold, -[data-type="timezone"] .title-bold, -[data-type="timezone-mono"] .title-bold { - font-weight: normal!important; -} - -[data-type="selectric-mono"] .content p { - letter-spacing: -0.01rem; - white-space: 0.2ch; -} - -[data-type="es-face"] .title-bold { - font-weight: normal!important; - font-style: italic; -} - -[data-type="redaction"] .title-bold { - font-family: 'Redaction 50'; - font-weight: normal!important; - font-style: italic; -} - -[data-type="routed-gothic"] .title-bold, -[data-type="routed-gothic-narrow"] .title-bold, -[data-type="routed-gothic-wide"] .title-bold { - font-weight: normal!important; -} - -[data-type="cheltenham-light"] .title, -[data-type="cheltenham-light"] p { - font-weight: 200!important; -} - diff --git a/maquette-tests/csspageweaver/README.md b/maquette-tests/csspageweaver/README.md new file mode 100644 index 0000000..6d48bef --- /dev/null +++ b/maquette-tests/csspageweaver/README.md @@ -0,0 +1,177 @@ +# CSS Page Weaver + +![Interface](https://gitlab.com/csspageweaver/csspageweaver/-/wikis/uploads/e724d6782600c30bc1b8d1ad56b24217/_screen_copie.webp) + +CSS Page Weaver is a browser-based publishing tool, made up of [PagedJs](https://pagedjs.org/about/) library and modulars additionals features. While it's design to ease installation for beginners CSS Page Weaver also bring elegant and extendable solution for more advanced users. + +## ✨ Features + +- **Streamlined and Ready-to-Use**: Get started quickly with a standardized way to integrate features. +- **Extensive Plugin Library**: No need to reinvent the wheel with the available plugins. +- **WYSIWYG Editor**: Streamline your design pratice with an extandable interface. +- **Create and Share Plugins**: Develop and share your own plugins easily. + +## ⛵ Getting Started + +### Prerequisites + +- A local web server + +### 🪴 Installation (fastest way) + +If you feel a bit lost with following instruction, you should probably look at the [CSS Page Weaver compiled with a few plugins](https://gitlab.com/csspageweaver/csspageweaver/-/releases) + +Integrate it at the root level of your page and add a link to `csspageweaver` main _module_ into your HTML template + +```html + +``` + +*Do you need to also install PagedJs? Nope! CSS Page Weaver already embed it.* + +### Use + +Run a simple server. That's it! + +### Boilerplate + +Don't have a project to test it? There is [a ready-to-use boilerplate](https://gitlab.com/csspageweaver//boilerplate). Download, unzip & run a server! + + +## 🚀 Going further + +### 🌲 Installation (complete way) + +Released version on CSS Page Weaver is compiled with few plugins. You can install the package yourself for greater control. + +#### Clone CSS Page Weaver repo in your project [option A]. + +```bash +# With HTTPS +git clone https://gitlab.com/csspageweaver/csspageweaver.git + +# With SSH +git clone git@gitlab.com:csspageweaver/csspageweaver.git +``` +#### Clone CSS Page Weaver as a git subtree [option B]. + +Subtree are great to: +- embed CSS Page Weaver repo in another repo +- get updates + +```bash + git subtree add --prefix csspageweaver/ git@gitlab.com:csspageweaver/cssPageWeaver.git --squash +``` + +### 🔌 Dependencies + +CSS Page Weaver is designed to work with plugins. In this complete installation, you need to install plugins by yourself. If you've downloaded [the last release of CSS Page Weaver](https://gitlab.com/csspageweaver/csspageweaver/-/releases), few plugins are already embedded. + +**Here is a [list of all plugins](https://gitlab.com/csspageweaver//plugins) known.** + +**Steps** + +1. Download and place plugin folder in `csspageweaver/plugins` +2. Add plugin to manifest + +#### Installation as subtree + +We prefer to install plugins using Git Subtree because it allows us to easily preserve the filiation link with the plugin directory (and to obtain updates!). + +Bear in mind, if you're not comfortable with command lines, that *step 1* can easily be replaced by a simple *download, drag and drop*. + +Otherwise, here is how it works. + +##### (Step 1) Clone plugin as a subtree + +Install plugin as a submodule of `csspageweaver` + +```bash + git subtree add --prefix="csspageweaver/plugins/{{PLUGIN_FOLDER_NAME}}" git@gitlab.com:csspageweaver/plugins/{{PLUGIN_NAME}}.git --squash +``` + +##### (Step 2) Add plugin to manifest + +Almost done. Add a mention to `csspageweaver/manifest.json` + +```json +{ + "plugins": [ + // existing plugin, + "PLUGIN_FOLDER_NAME" + ], +} +``` + +Look at complete [plugins list](https://gitlab.com/csspageweaver/plugins) and [plugins installation guide](https://gitlab.com/csspageweaver/csspageweaver/-/wikis/design/plugins/install) + +#### Update as subtree + +This is where Git subtrees are wonderful + +```bash +git subtree pull --prefix="csspageweaver/plugins/{{PLUGIN_NAME}}" main --squash +``` + +A bit dazed? Don't worry. Once again, you can update your plugins with your favorite *download, unzip, drag and drop* shady method. + +### 🎁 Package manager + +You already like the principle of subtrees, but you think (rightly) that the multiplication of command lines can be a bit tedious in the long run? Installation and dependencies can me handle with our [Package Manager](https://gitlab.com/csspageweaver/package-manager) + +**Install CSS Page Weaver and plugins with package manager** + +```bash +./weaver_manager.sh --install +``` + +**Get update with package manager** + +```bash +./weaver_manager.sh --pull +``` + +See [Package Manager repository](https://gitlab.com/csspageweaver-toolkit/package_manager) and [further documentation on managing your installation](https://gitlab.com/csspageweaver/csspageweaver/-/wikis/maintain_and_develop/core/5-manage_csspageweaver_integration) + + + +## 🔄 Customization + +### Basic Information + +Edit `csspageweaver/manifest.json` to declare: +- Plugins +- Plugins configuration +- Stylesheets +- Your custom hooks + +### CSS Page Weaver behavior (advanced) + +Edit `csspageweaver/main.js` to: +- disable Common dictionary +- disable Interface +- Choose render method + +## 🎓 Documentation + +A complete [documentation is available](https://gitlab.com/csspageweaver/csspageweaver/-/wikis/home) + +## 📝 License + +This project is licensed under the MIT License + +## 👏 Acknowledgements + +CSS Page Weaver is based on [PagedJs](https://pagedjs.org/about/) by Coko Foundation. + +CSS Page Weaver is an original idea of Julie Blanc ehanced by Benjamin G. +Julien Taquet was a great help in reimagining the rendering module. Finally, Nicolas Taffin and Julien Bidoret helped to oversee this tool. + +All CSS Page Weaver plugins remains linked to their original creators. +Without them, GUI would remain an empty shell. Thanks 🙏 + +## 🙌 Contributing + +Features and documentation requests are welcome! Feel free to check the [issues page](https://gitlab.com/csspageweaver/csspageweaver/-/issues). + +Contributions must follow our [code of conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) \ No newline at end of file diff --git a/maquette-tests/csspageweaver/manifest.json b/maquette-tests/csspageweaver/manifest.json index f5b741d..a31784b 100644 --- a/maquette-tests/csspageweaver/manifest.json +++ b/maquette-tests/csspageweaver/manifest.json @@ -8,36 +8,24 @@ "reloadInPlace", "fullPage", "inlineNotes", - "followingNotes" - ], + "sidenotes"], "pluginsParameters":{ "inlineNotes": { "input": ".footnote-ref", "containerNotes": "#footnotes", - "newClass": "inline-note" + "section": ".chapter" }, - "followingNotes": { + "sidenotes": { "selector": ".inline-note", "reset": ".chapter" } }, "css": [ - "assets/css/01_var.css", - "assets/css/02_body.css", - "assets/css/03_layout.css", - "assets/css/chapter-header.css", - "assets/css/blockquote.css", - "assets/css/notes.css", - "assets/css/text.css", - "assets/css/subtitles.css", - "assets/css/running-page.css", - "assets/css/entretiens.css" + "assets/css/style.css" ], "hook": [ - "/js/decor-subtitles.js", - "/js/decor-num-pages.js", - "/js/decor-blockquote.js" + "/js/items-decor.js" ] } diff --git a/maquette-tests/csspageweaver/plugins/followingNotes/.gitignore b/maquette-tests/csspageweaver/plugins/followingNotes/.gitignore deleted file mode 100644 index 496ee2c..0000000 --- a/maquette-tests/csspageweaver/plugins/followingNotes/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.DS_Store \ No newline at end of file diff --git a/maquette-tests/csspageweaver/plugins/followingNotes/config.json b/maquette-tests/csspageweaver/plugins/followingNotes/config.json deleted file mode 100644 index bc66d35..0000000 --- a/maquette-tests/csspageweaver/plugins/followingNotes/config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "FollowingNotes", - "description": "Create followingNotes with call & markers", - "author": ["Julie Blanc"], - "licence": "MIT", - "version": "1.0", - "hook": "followingNotes.js" -} diff --git a/maquette-tests/csspageweaver/plugins/followingNotes/followingNotes.js b/maquette-tests/csspageweaver/plugins/followingNotes/followingNotes.js deleted file mode 100644 index 15b4c17..0000000 --- a/maquette-tests/csspageweaver/plugins/followingNotes/followingNotes.js +++ /dev/null @@ -1,220 +0,0 @@ -/** - * @name FollowingNotes - * @author Julie Blanc - * @see { @link https://gitlab.com/csspageweaver/plugins/followingNotes/ } - */ - -import { Handler } from '/csspageweaver/lib/paged.esm.js'; - -export default class followingNotes extends Handler { - - constructor(chunker, polisher, caller) { - super(chunker, polisher, caller); - this.parameters = cssPageWeaver.features.followingNotes.parameters; - this.notesClass = this.parameters?.selector || ".inline-note"; - this.newNotesClass = this.parameters?.newNotesClass || "following-note"; - this.reset = this.parameters?.reset; - this.align = this.parameters?.align; - this.followingNoteOverflow = new Set(); - } - - beforeParsed(content) { - - console.log("floatnotes"); - - let newNotesClass = this.newNotesClass; - resetCounter(content, this.reset, this.notesClass); - createCallandMarker(content, this.notesClass, newNotesClass); - - - let notes = content.querySelectorAll(this.notesClass); - notes.forEach(function (note) { - let paragraph = note.closest("p"); - if (!paragraph) return; - - let container = paragraph.nextElementSibling; - if (!container || !container.classList.contains("container-following-note")) { - container = document.createElement("div"); - container.classList.add("container-following-note"); - paragraph.after(container); - } - - container.appendChild(note); - }); - - - } - - - -} - - - - -/// FUNCTIONS ----------------------------------------------------- - - -// RESET COUNTER - -function resetCounter(content, reset, notesClass){ - - if(reset && reset != ""){ - const elements = content.querySelectorAll(reset + ", " + notesClass); - let resetEligible = false; - elements.forEach(element => { - if (element.matches(reset)) { - resetEligible = true; - } else if (resetEligible && element.matches(notesClass)) { - element.dataset.resetCounterFollowingNote = true; - resetEligible = false; - } - }); - } - -} - - -// CALL & MARKER -function createCallandMarker(content, notesClass, newNotesClass){ - - let notes = content.querySelectorAll(notesClass); - let resetNum = 0; - - notes.forEach(function (note, index) { - - if (note.dataset.resetCounterFollowingNote === "true") { - resetNum = index; - } - let num = index + 1 - resetNum; - - note.classList.add(newNotesClass); - note.dataset.counterNote = num; - - // call - let ref_note = document.createElement('span'); - ref_note.className = newNotesClass + "_call"; - ref_note.dataset.counterNote = num; - ref_note.innerHTML = num; - - // wrap preceding word + call in .wrapper__note-call - let wrapper = document.createElement('span'); - wrapper.className = 'wrapper__note-call'; - - let prevSibling = note.previousSibling; - if (prevSibling && prevSibling.nodeType === Node.TEXT_NODE) { - let text = prevSibling.textContent; - let m = text.match(/^([\s\S]*\s)(\S+\s*)$/); - if (m) { - let before = m[1]; - let extracted = m[2]; - - // Si le dernier mot extrait est uniquement », prendre aussi le mot d'avant - if (/^»\s*$/.test(extracted)) { - let m2 = before.trimEnd().match(/^([\s\S]*\s|)(\S+)$/); - if (m2) { - let spaceBetween = before.slice(m2[1].length + m2[2].length); - before = m2[1]; - extracted = m2[2] + spaceBetween + extracted; - } - } - - prevSibling.textContent = before; - wrapper.appendChild(document.createTextNode(extracted)); - } else { - prevSibling.textContent = ''; - wrapper.appendChild(document.createTextNode(text)); - } - } - - wrapper.appendChild(ref_note); - note.after(wrapper); - - // marker + content note wrapped in body_note - let marker_note = document.createElement('span'); - marker_note.className = newNotesClass + "_marker"; - //marker_note.innerHTML = num + ". "; - marker_note.innerHTML = num; - - let body_note = document.createElement('div'); - body_note.className = 'body_note'; - while (note.firstChild) { - body_note.appendChild(note.firstChild); - } - body_note.prepend(marker_note); - note.appendChild(body_note); - - }); - - } - - - - -// MARGINS - -function marginNoteTop(elem) { - let marginTop = parseInt(window.getComputedStyle(elem).marginTop, 10) - return marginTop; -} - -function marginNoteBottom(elem) { - let marginBottom = parseInt(window.getComputedStyle(elem).marginBottom, 10) - return marginBottom; -} - -function biggestMargin(a, b) { - let margin; - let marginBottom = marginNoteBottom(a); - let marginTop = marginNoteTop(b); - if (marginBottom > marginTop) { - margin = marginBottom; - } else { - margin = marginTop; - } - return margin; -} - - - -function checkOverflownote(notesClass, pageElement, maxHeight, arrayOverflow, container) { - let notes = pageElement.querySelectorAll(notesClass); - - let notesHeightAll = []; - - for (let n = 0; n < notes.length; ++n) { - - // Add height of the notes to array notesHeightAll - let noteHeight = notes[n].offsetHeight; - notesHeightAll.push(noteHeight); - // Add margins of the notes to array notesHeightAll - if (n >= 1) { - let margins = biggestMargin(notes[n - 1], notes[n]); - notesHeightAll.push(margins); - } - } - - // If notes on page - if (notesHeightAll.length > 0) { - - // Calculate if all notes fit on the page; - let reducer = (accumulator, currentValue) => accumulator + currentValue; - let allHeight = notesHeightAll.reduce(reducer); - let paddingTop = getComputedStyle(container).paddingTop; - let paddingContainer = parseInt(paddingTop); - - let totalHeight = allHeight + paddingContainer; - - if (totalHeight > maxHeight) { - - let lastNote = notes[notes.length - 1]; - arrayOverflow.add(lastNote); - lastNote.remove(); - - checkOverflownote(notesClass, pageElement, maxHeight, arrayOverflow, container); - - } - - - } -} diff --git a/maquette-tests/csspageweaver/plugins/footnotesFix/.gitignore b/maquette-tests/csspageweaver/plugins/footnotesFix/.gitignore deleted file mode 100644 index 496ee2c..0000000 --- a/maquette-tests/csspageweaver/plugins/footnotesFix/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.DS_Store \ No newline at end of file diff --git a/maquette-tests/csspageweaver/plugins/footnotesFix/README.md b/maquette-tests/csspageweaver/plugins/footnotesFix/README.md deleted file mode 100644 index b6d9540..0000000 --- a/maquette-tests/csspageweaver/plugins/footnotesFix/README.md +++ /dev/null @@ -1,95 +0,0 @@ -# Plugin to fix footnotes reset issue - -This plugin fix the issue of footnote reset. - -You can use the current method to declare footnotes: - -```CSS -@page { - @footnote { - float: bottom; - } - } - -.pagedjs_footnote { - float: footnote; -} -``` - -This style is also added to the default stylesheet `footnotes.css` of this plugin. You can delete it if you have already declared footnotes in your own stylesheet (don't forget to remove it from the `config.json` as well). - - -## How to use the plugin - -Add this folder to `csspageweaver/plugins/`. - -Call the plugin in `csspageweaver/manifest.json`: - -```json - "plugins": [ - "footnotesFix", - // other plugins ... - ], -``` - -## Configuration - -In `manifest.json`, you can modify/add some parameters: - -```json - "plugins":{ - "footnotesFix" - }, - "pluginsParameters":{ - "footnotesFix": { - "selector": ".footnote", - "reset": ".chapter" - } - }, -``` - -All the parameters are optional. - -- `selector` → CSS selector for the note element (must be inline in the HTML), by default is `.footnote` -- `reset` → CSS selector where you want reset note counter. If you want to reset on the page: `page` - - -## Notes in HTML - -In your HTML, the note must be a `` inserted in the text, like this: - -```HTML -Donec tincidunt, odio vel vestibulum sollicitudin, nibh dolor tempor sapien, ac laoreet -sem felis ut purus. Vestibulum neque ex, ullamcorper sit -amet diam sed, pharetra laoreet sem. Morbi cursus bibendum consectetur. Nullam vel -lacus congue nibh pulvinar maximus sit amet eu risus. Curabitur semper odio mauris, nec -imperdiet velit pharetra non. Aenean accumsan nulla ac ex iaculis interdum. -``` - -You can use the [inline_notes` plugin](https://gitlab.com/csspageweaver/plugins/inline_notes) to create these span elements from listed notes, which are more common in conversion tools like Pandoc. - -The inline_notes plugin should be called before the footnotes plugin in the `manifest.json`: - - -```json - "plugins": [ - "inline_notes", - "footnotes_fix", - // other plugins ... - ], -``` - -## Styling call & footer - -It's possible to change the styles of call notes and marker notes directly in your stylesheet like in the following code: - -```CSS -::footnote-call{ - font-weight: bold; -} - -::footnote-marker{ - font-weight: bold; -} -``` - diff --git a/maquette-tests/csspageweaver/plugins/footnotesFix/config.json b/maquette-tests/csspageweaver/plugins/footnotesFix/config.json deleted file mode 100644 index b25395b..0000000 --- a/maquette-tests/csspageweaver/plugins/footnotesFix/config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "Footnotes", - "description": "Fix footnote reset", - "author": ["Julie Blanc"], - "licence": "MIT", - "version": "1.0", - "hook": "footnotes.js", - "stylesheet": "footnotes.css" -} \ No newline at end of file diff --git a/maquette-tests/csspageweaver/plugins/footnotesFix/footnotes.css b/maquette-tests/csspageweaver/plugins/footnotesFix/footnotes.css deleted file mode 100644 index 9052428..0000000 --- a/maquette-tests/csspageweaver/plugins/footnotesFix/footnotes.css +++ /dev/null @@ -1,9 +0,0 @@ -@page { - @footnote { - float: bottom; - } - } - -.pagedjs_footnote { - float: footnote; -} \ No newline at end of file diff --git a/maquette-tests/csspageweaver/plugins/footnotesFix/footnotes.js b/maquette-tests/csspageweaver/plugins/footnotesFix/footnotes.js deleted file mode 100644 index 5d56992..0000000 --- a/maquette-tests/csspageweaver/plugins/footnotesFix/footnotes.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @name Footnotes - * @file Reset the way footnote are counted - * @author Julie Blanc - * @see { @link https://gitlab.com/csspageweaver/plugins/footnotesFix/ } - */ - -import { Handler } from '/csspageweaver/lib/paged.esm.js'; - -export default class footnotes extends Handler { - - constructor(chunker, polisher, caller) { - super(chunker, polisher, caller); - this.parameters = cssPageWeaver.features.footnotesFix.parameters; - this.reset = this.parameters?.reset ; - this.counter = 0; - this.selector = this.parameters?.selector || ".footnote"; - } - - beforeParsed(content) { - - - let notes = content.querySelectorAll(this.selector); - notes.forEach(function (note, index) { - note.classList.add("pagedjs_footnote"); - }); - - - - if(this.reset){ - let elems = content.querySelectorAll(this.reset); - elems.forEach(function (elem, index) { - var span = document.createElement('span'); - span.classList.add("reset-fix-footnote"); - span.style.position = "absolute"; - elem.insertBefore(span, elem.firstChild); - }); - }else{ - console.log("[footnotesFix] no reset") - } - - } - - - afterPageLayout(pageElement, page, breakToken){ - - if(this.reset){ - - // reset on pages - if(this.reset === "page"){ - this.counter = 0; - } - - // reset on specific element - let newchapter = pageElement.querySelector('.reset-fix-footnote'); - if(newchapter){ - this.counter = 0; - } - - let footnotes = pageElement.querySelectorAll(".pagedjs_footnote_content [data-note]"); - - let callnotes = pageElement.querySelectorAll('a.pagedjs_footnote'); - callnotes.forEach((call, index) => { - - this.counter = this.counter + 1; // increment - let num = this.counter - 1; - - // update data-counter for call - call.setAttribute('data-counter-footnote-increment', num); - call.style.counterReset = "footnote " + num; - - // update data-counter for marker - let footnote = footnotes[index]; - let dataCounter = num + 1; - footnote.setAttribute('data-counter-note', dataCounter); - footnote.style.counterReset = "footnote-marker " + num; - - }); - } - } - - - -} \ No newline at end of file diff --git a/maquette-tests/csspageweaver/plugins/inlineNotes/inlineNotes.js b/maquette-tests/csspageweaver/plugins/inlineNotes/inlineNotes.js index b458191..840ad98 100644 --- a/maquette-tests/csspageweaver/plugins/inlineNotes/inlineNotes.js +++ b/maquette-tests/csspageweaver/plugins/inlineNotes/inlineNotes.js @@ -11,6 +11,7 @@ export default class inlineNotes extends Handler { constructor(chunker, polisher, caller) { super(chunker, polisher, caller); + this.section = cssPageWeaver.features.inlineNotes.parameters?.section || false, this.input = cssPageWeaver.features.inlineNotes.parameters?.input || ".footnote-ref"; // ← CSS selector of the call element this.containerNotes = cssPageWeaver.features.inlineNotes.parameters?.containerNotes || "#footnotes"; // ← CSS selector of the container of the footnote this.newClass = cssPageWeaver.features.inlineNotes.parameters?.newClass || "inline-note"; // ← Class of the span create for the note @@ -21,6 +22,7 @@ export default class inlineNotes extends Handler { inlineNotesHandler({ content: content, input: this.input, + section: this.section, containerNotes: this.containerNotes, type: this.newClass }); @@ -35,12 +37,25 @@ function inlineNotesHandler(params){ let content = params.content; let input = params.input; let type = params.type; - - createNotes(content, input, type); + let section = params.section; + let containerNotes = params.containerNotes; - content.querySelectorAll(params.containerNotes).forEach(noteContainer => { + if (section) { + let sections = content.querySelectorAll(section); + sections.forEach(sectionEl => { + createNotes(sectionEl, input, type); + let noteContainer = sectionEl.querySelector(containerNotes); + if (noteContainer) { + noteContainer.remove(); + } + }); + } else { + createNotes(content, input, type); + let noteContainer = content.querySelector(containerNotes); + if (noteContainer) { noteContainer.remove(); - }); + } + } } diff --git a/maquette-tests/csspageweaver/plugins/sidenotes/sidenotes.js b/maquette-tests/csspageweaver/plugins/sidenotes/sidenotes.js index 675012e..2063589 100644 --- a/maquette-tests/csspageweaver/plugins/sidenotes/sidenotes.js +++ b/maquette-tests/csspageweaver/plugins/sidenotes/sidenotes.js @@ -33,27 +33,6 @@ export default class sidenotes extends Handler { // note.style.left = "0px"; // }); - let notes = content.querySelectorAll(this.notesClass); - notes.forEach(function (note, index) { - note.style.position = "absolute"; - note.style.top = "0px"; - note.style.left = "0px"; - }); - - - } - - afterPageLayout(pageElement, page, breakToken) { - let pageBox = pageElement.querySelector(".pagedjs_pagebox"); - var div = document.createElement('div'); - div.classList.add("note-container") - pageBox.appendChild(div) - let notes = pageElement.querySelectorAll(this.notesClass); - notes.forEach(function (note, index) { - // console.log(note); - div.appendChild(note); - note.style.position = "relative"; - }); } diff --git a/maquette-tests/index.html b/maquette-tests/index.html index d6833da..2b07942 100644 --- a/maquette-tests/index.html +++ b/maquette-tests/index.html @@ -5,31 +5,12 @@ - D6cor + CSS Page Weaver Example - + + - - - - - - - - - - - - - - - - - - - - - + @@ -40,45 +21,20 @@

Décor 6 - Numérique

- - - - - - - - -
- - - D6cor - Olivain Porry - Un robot-poete ne nous fait toujours pas peur - +
-

Essai

-
++++
+++++
+++
++
- +
+
+
+
+
+
- +++
++
+
+
- +

+
++
+
-
-
++--------------------------+
-

Un robot-poete
ne nous fait toujours
pas peur

-

Olivain Porry

-
+--------------------------++
-
-
+
++
+++
++++
+++
++
+
-
+ +

Un robot-poète ne nous fait toujours pas peur

+

Essai

+

Olivain Porry

+

Olivain Porry est artiste, docteur en recherche-création (SACRe) du laboratoire EnsadLab + (université PSL) et diplômé d'un DNSEP de l'École des Beaux-Arts de Nantes. Son travail plastique se + concentre sur l'émergence, dans une expérience esthétique, de modalités relationnelles entre public, + dispositif artistique et environnement.

-

Entouré d’un cadre noir et brillant, posé sur une surface blanche et +

Entouré d’un cadre noir et brillant, posé sur une surface blanche et plastique, un texte s’affiche et décrit ce qui se trouve supposément devant lui : « Un homme se tient dans une salle baignée de lumière rouge ». Si un homme se tient en effet debout face à l’appareil, la salle @@ -106,7 +62,8 @@ Ducrocq, tandis que Boris Vian, lui, s’en amusait. Dans une correspondance restée célèbre sous le titre « Un robot-poète ne nous fait pas peur »1, il - écrivait : « Mirandolez, éclaboussez ce
robot poète de vos connaissances en cybernétique, + écrivait : « Mirandolez, + éclaboussez ce robot poète de vos connaissances en cybernétique, expliquez-lui comment il marche et vous l’aurez tout humble à votre merci. »

Aujourd’hui, notre rapport aux mots prend une forme nouvelle, @@ -114,7 +71,7 @@ l’apparition de vocables qui circulent, se répètent et se diffusent dans nos imaginaires. Parmi eux, un mot en particulier cristallise ces tensions : le mot « arafed ».

-

Une sociolinguisitique arafed

+

Une sociolinguisitique arafed

C’est à l’occasion du Chaos Computer Congress, dans l’une des grandes salles de conférence du centre des congrès de Hambourg, que le terme « arafed » est décrit par deux chercheurs
cas, par les articles indéfinis « A » + dans la très grande majorité des cas, par les articles indéfinis « A » et « An » : An apple on a table, a brown teddy bear with a blue bib on that says baby. La surreprésentation de ces articles indéfinis en début de phrase a mené BLIP à produire, au cours de son entraînement, @@ -170,13 +127,13 @@ sociolinguistique. Les LLM animent aujourd’hui de très nombreux programmes informatiques, des bots, qui lisent et écrivent sur internet avec des objectifs allant de l’exploration de données (data - mining) à la diffusion
de propagande politique. De X à Instagram en + mining) à la diffusion de propagande politique. De X à Instagram en passant par Reddit, les réseaux sociaux pullulent de ces bots qui produisent textes, images et sons pour nous encourager à interagir avec eux et entretenir ces interactions. Sur des plateformes comme Medium et Quora, la quantité de contenus générés par des algorithmes d’intelligence artificielle a augmenté de manière significative ces - dernières années pour atteindre jusqu’à 40% de ce qui y est posté
6. Un pourcentage qui serait équivalent à celui des productions générées par IA sur l’ensemble du réseau internet7.

@@ -206,7 +163,7 @@ constituent des matrices lexicales que les locuteurs s’approprient : une adoption généralement inconsciente d’un vocabulaire, de lexiques et de structures syntaxiques, provoquée par l’usage répété des LLM dans - l’exercice
d’écriture. Dans ce contexte, le langage apparaît comme une + l’exercice d’écriture. Dans ce contexte, le langage apparaît comme une matière poreuse, traversée par des flux de textes générés automatiquement à travers des logiques systématiques et probabilistes décorrélées des dimensions socio-culturelles des langues. @@ -223,14 +180,7 @@ fond : un dialecte hybride qui n’autorise que l’élaboration d’idées aussi précises qu’elles s’avèrent uniformes10.

- - - -

La langage est un champ de bataille

- - -

Si les LLM apparaissent comme de nouveaux acteurs sociolinguistiques, leurs usages, nombreux et divers, cristallisent aussi une forme de lutte culturelle. Cette conflictualité se donne à voir sur les réseaux sociaux @@ -298,10 +248,7 @@ garde-fous des grands modèles de langage à travers l’invention d’une stratégie d’attaque au nom évocateur : la poésie antagoniste18.

- - -

Pour une poesie antagoniste

- +

Pour une poésie antagoniste

Dans un article publié en 2023, des chercheurs ont démontré qu’ils étaient parvenus à faire apparaître des données d’entraînement brutes utilisées par OpenAI en instruisant ChatGPT de répéter un même mot à @@ -355,7 +302,6 @@ technologies de langage, mais s’affirment comme des espaces d’expérimentation critique, capables d’agir directement sur les régimes linguistiques et algorithmiques contemporains.

-

Toujours pas peur

Pris dans des boucles de production automatisées et soumis à des logiques d’optimisation, de standardisation et de rendement, le langage @@ -557,376 +503,13 @@

+
- -
- - D6cor - Charlie Aubry - "Des intuitions venues en le faisant" - -
-
- ++
- + -
-
- +
- +
- +
- ++
- +++
- ++++
- +++++
- ++++
- +++
++
+
+

+
-
-
-
++--------------------------+
-

"Des intuitions venues en le faisant"

-

Charlie Aubry

-
+--------------------------++
-
-


+
++++
+++
++
+

++
+
+
+
+
+ -
- -
- -
.............................
-
Entretien avec Charlie Aubry, réalisé le 30 novembre 2025 par Martin De Bie.
-
.............................
- -

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque feugiat non odio eu euismod. In sit amet eros ut velit ornare sollicitudin sit amet quis est. Vestibulum ultricies dui commodo diam tristique efficitur. Mauris eleifend enim at vestibulum placerat. Vestibulum placerat elit metus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam iaculis magna eget nisl semper, ut scelerisque nisi luctus. Fusce pharetra tincidunt pharetra. Curabitur ac sodales mauris. Praesent erat leo, rhoncus ut felis a, auctor egestas nulla. Nulla pretium ex vitae ante commodo sollicitudin. Phasellus sed velit aliquam, laoreet neque vel, faucibus quam. Etiam posuere cursus sem, quis laoreet tortor posuere ac. Aliquam sed fermentum justo, a lobortis libero. In auctor arcu id metus auctor, ac tincidunt velit euismod. Donec vel arcu ut sapien convallis pharetra.

-

Mauris tincidunt eleifend eleifend. Nunc in elit venenatis, gravida elit ac, commodo dui. Nulla tempus augue lorem, ut dignissim elit gravida vel. Phasellus dui nulla, lacinia et accumsan a, condimentum sed nisl. Aenean tincidunt vitae eros vel sollicitudin. Suspendisse potenti. Vestibulum eget orci in urna maximus tempus. Suspendisse rhoncus imperdiet nunc, vitae ultricies metus ornare quis. Etiam quis auctor erat.

- - - -
Martin
-

Bonjour Charlie, merci d’avoir accepté cet entretien pour - la revue Décor numéro 6. Avant de commencer, j’aimerais revenir - brièvement sur ton travail.

-

Tu es artiste plasticien, et quand on parcourt ton travail, on se - rend rapidement compte que tu as un goût assez prononcé pour la - collection, le démontage, le hacking de machines, le détournement - d’objets souvent désuets et promis à l’abandon. Il y a aussi chez toi - une manière assez forte de faire dialoguer une pensée complexe avec des - formes très accessibles. Pour cela, tu utilises des médiums très variés - : la vidéo, l’installation, des formes parfois plus sculpturales, avec - une place souvent centrale accordée au son et à la musique que tu - pratiques aussi à côté.

-

Aujourd’hui, j’aimerais qu’on parle plus précisément de ton travail à - travers une pièce, une installation : P3 450. Elle a été présentée aux - Abattoirs de Toulouse en 2019, puis au Palais de Tokyo en 2020. L’idée, - c’est de s’appuyer sur cette pièce pour comprendre ton processus de - création, lorsque tu imagines tes installations. J’aimerais qu’on essaye - de “craquer ton code créatif” qui me semble être davantage une posture - qu’une méthode fixe, que tu appliques à chaque projet.

-

Pour commencer, peux-tu nous décrire brièvement cette installation P3 - 450 ? Son origine, son fonctionnement, et ce que cela produit comme - expérience pour le public ?

-
Charlie
-

Déjà, merci pour l’invitation.

-

Pour P3 450, si on repart sur la genèse du projet, c’était en réponse - à la loi sécurité globale qui donnait le droit aux autorités étatiques - de scanner les visages et d’en tirer des informations, et ensuite de - faire des croisements de ces données-là : trouver des identités, ou - plein d’autres choses. Et je crois que c’est aussi lié avec l’arrivée - des premières IA qui se démocratisent, le début de ChatGPT, plein - d’autres outils, comme les petites cartes NVIDIA type Jetson Nano qui - permettaient de faire tourner des petites IA de reconnaissance. Et d’un - coup, à ce moment-là, j’ai commencé à réaliser la force de frappe de ces - outils, ou qu’elles allaient avoir : dans les croisements de big data, - pouvoir repérer quelqu’un, trouver son compte en banque, se rendre - compte que tout est lié informatiquement dans des bases de données. On - le voit quand on retrouve des gens en un claquement de doigts. Tous ces - croisements entre la plaque d’immatriculation, le compte en banque, la - CAF, etc.

-

J’y voyais quelque chose d’assez violent. Je me suis demandé comment - ça pouvait se remettre dans l’espace public, enfin dans l’espace - d’exposition, mais que ce soit pas utopique : quelque chose de réel, - fonctionnel, et aussi fonctionnel juridiquement. À l’époque, on s’est - entouré d’une avocate juriste dans le numérique : avec elle, on a trouvé - le périmètre d’action, ce qu’on avait le droit de
faire. Les lois - changeaient tous les six mois : à un instant T ça marchait, et ça ne - marche plus maintenant.

-

Je me suis entouré d’un docteur en intelligence artificielle qui - s’appelle Jean-Charles Risch, avec qui on a travaillé en collaboration. - Il est le grand architecte de l'installation.

-

L’installation ressemble à une espèce de data center. Il y avait - l’idée de montrer la consommation, montrer ce que ça génère : des bips - informatiques, des ordis qui travaillent, les câbles… On parle du cloud - comme si c’était dématérialisé, mais en fait ça arrive vraiment à un - endroit, un endroit qui récupère tout ça.[...]

-

En fonction du visage de certains, ça bloquait pendant 30 secondes, - et les écrans allaient chercher de la publicité, des choses attractives, - pour ces personnes-là, à partir de choses terribles : l’IA qu’on a - entraînée essayait de trouver des catégories sociales. C’est un peu ce - que fait Facebook : essayer de faire un profil psychologique et social - avec quelques photos.[...]

-

Pour entraîner l’IA, qu’on a fabriquée de A à Z, on l’a déposée aussi - à l’organisme INPI ou je ne sais plus, pour avoir les droits, parce - qu’on l’a fait de zéro. Jean-Charles Risch est spécialisé en machine - learning. L’IA était capable d’apprendre à partir de quelques données, - puis de s’auto-alimenter. Et là, pour “trouver une classe sociale”, ça - veut dire quoi ? C’est intéressant de voir le chemin qu’elle fait.

-

Par exemple : quelqu’un porte du Louis Vuitton, est-ce que c’est - quelqu’un de riche ? S’il est racisé, est-ce que c’est toujours - quelqu’un de riche ? S’il est blanc, est-ce que c’est quelqu’un de riche - ? Tout ça. En plus, il y avait une analyse faciale : si la vidéo - projetée sur la personne repérée, si la personne souriait, elle avait un - bon point. Si c’était intermédiaire ou elle était pas contente, elle - avait un mauvais point. À force, elle s’est auto-alimentée. C’était - d’une grande précision, très flippant.

-
Martin
-

À quel point c’était important dans le processus de - création de partir de zéro, d’entraîner “from scratch” un algorithme, - alors qu’il existait déjà des modèles, des datasets que tu pouvais - récupérer assez facilement ?

-
Charlie
-

Je crois que c’est un moyen de comprendre, déjà, pour moi.

-

Jean-Charles, lui, était docteur, il comprenait les enjeux. Mais moi - je ne comprenais pas bien. J’avais besoin de le faire
avec lui pour - comprendre l’architecture, et aussi les enjeux : distinguer ce qui est - de l’ordre du mythe, du Terminator. D’ailleurs c’est pour ça qu’on l’a - nommé P3 450 : c’est le nom de série des cartes qui - pilotent la quarantaine d’ordis. Et ça faisait référence à au T1000 de - Terminator ou bien au film THX 1138…

-

Le titre joue sur le mythe du dépassement de l’humain, mais en le - faisant on se rend compte que non : c’est basé sur des clichés racistes, - homophobes… c’est terrible. C’était intéressant de comprendre comment - cela fonctionne : comment on crée un pseudo-cerveau, quelle autonomie - réelle, et comment cela peut s’appliquer.

-

Et juridiquement, partir de zéro permettait de mettre un périmètre - clair. On a utilisé des datasets, des banques d’images : pour entraîner - une IA, il faut des centaines de milliers d’images. On a eu des - librairies open source énormes, des centaines de gigas, pour - différencier identité de genre, etc.[...]

-
Martin
-

Donc lorsque tu commences à travailler avec Jean-Charles - Risch, tu comprends comment cela fonctionne, mais tu n’as pas encore la - forme définitive de l’installation. Comment le fait de mettre les mains - dans le cambouis a fait évoluer ce que tu allais construire visuellement - au fur et à mesure que le projet avançait ?

-
Charlie
-

Il y avait une grosse part d’impro. Aux Abattoirs, j’avais - quatre jours d’installation. Avec beaucoup de schémas, on a fait tourner - les machines dans un petit espace, et ça a créé une première version - monolithique, à l’échelle de la pièce où on a fait tourner les - machines. [...]

-

- Quand on entend les ordis réfléchir, le bruit des disques durs… On a - envie que ça se matérialise. On s’imagine à l’échelle d’internet : un - data center avec des centaines de milliers de serveurs. [...]

-

- Mais cela s’est formalisé tard, au moment du montage. Et j’avais envie - de ramener quelque chose d’humain, pas juste une baie informatique : - raconter des histoires dedans, mettre des objets du quotidien, etc. Mais - oui, ça s’est formalisé sur la fin : des intuitions venues en le - faisant.

-
Martin
-

Tu parlais des biais, ça me fait penser au chatbot de - Microsoft (Tay), qui est devenu raciste en moins de 48h. Est-ce qu’à un - moment, en voyant évoluer l’IA, vous avez eu peur que ça prenne une - mauvaise tournure ?

- Avez-vous choisi de la contraindre, ou au contraire de prendre le risque - de laisser apparaître ces dérives, parce que cela fait aussi partie de - la réalité de ces algorithmes ?

-
Charlie
-

On a eu des gros stops de la part du musée. Comme l’idée était - que cela puisse exister dans la vraie vie, il fallait que le spectateur - rentre sans signer une décharge. Il y avait donc des éléments - rhétoriques : on parlait “d’analyse de pixels” plutôt que de - portraits. [...]

-

- Après, on n’a pas énormément contraint le système. Là où cela a - vraiment été limité, c’est sur l’identification des personnes. C’était - interdit par la juriste et par le musée. Car lorsqu’on associe un visage - humain et qu’on lui dit “trouve une identité”, ça sortait des dingueries - : afficher des animaux selon des caractères physiques… mais parfois ça - arrivait à trouver une identité, une sur dix tentatives. Cela dépendait - surtout de sa médiatisation.

-

Donc tout cela, on l’a exclu. Pour le reste, ça se baladait sur - YouTube.

-

Pour le schéma, on avait fait un tableau, une grille que l’IA pouvait - auto-remplir. Au début, on a mis des mots-clés caricaturaux : personne - âgée est associée à documentaire animalier ou discours politique ; un - enfant lui vers Nike, Haribo, etc et via l’API YouTube, on recherche par - tags. Puis on lui a dit : tu as ça comme base, auto-alimente toi et - génère des nouveaux tags en fonction de la réaction des gens. [...]

-

Mais le spectateur ne voyait pas forcément cette ingénierie - derrière.

-
Martin
-

Justement, quelle était la perception des gens ?
- Est-ce qu’ils comprenaient vraiment ce qui se jouait ?
- Comment ressortaient-ils de l’installation ? Et quels types de discours - revenaient le plus souvent ?

-
Charlie
-

Il y a eu quelques personnes averties qui m’ont écrit pour me - dire : “je ne veux pas être enregistré”. Mais je ne suis pas sûr - qu’elles comprenaient vraiment ce qui se jouait. C’était surtout la peur - d’être filmé.

-

Dans l’installation, il y avait un écran de contrôle de chaque côté, - pour que l’on puisse tourner autour. Cela affichait en temps réel ce que - l’IA voyait : parfois un focus sur un visage, âge, genre, etc.

-

Mais c’était assez déceptif : je pensais que les gens seraient en - colère, qu’ils casseraient tout. En fait, ils étaient plutôt contents. - Cela faisait attraction. [...]

- -
Martin
-

Aujourd’hui, en 2026, l’IA est partout dans les - conversations.
- Si la pièce était présentée maintenant, est-ce que tu penses qu’elle - aurait un impact différent maintenant que l’on a une conscience plus - aiguë de ces enjeux ?
- Et qu’en serait-il de cette question du visible et de l’invisible, - notamment autour des data centers ?

-
Charlie
-

Je pense que les gens n’ont toujours pas vraiment conscience - que les data centers réchauffent le climat, qu’ils consomment énormément - d’eau, d’air… Ça, ce n’est pas encore totalement conscientisé. L’IA, - oui.

-

Mais pour le reste, on est toujours dans une forme de dictature - molle. L’idée, c’est que tu passes dans l’installation, puis tu sors et - tu te dis : “tiens, je vais me faire un McDo”, en pensant que ça vient - de toi. En fait, l'IA, sur certains attraits, te pousse à consommer. - T’as l’impression que ça vient de toi, mais pas du tout. Peut-être qu’il - aurait fallu pousser encore plus loin, aller vers une forme de - sponsoring assumé. Il y avait déjà YouTube. [...]

-
Martin
-

Quel est ton point de vue sur les outils numériques, et - plus spécifiquement sur l’IA, dans le champ de l’art ?
- Pour les créateurs, cela ouvre des possibilités presque infinies, mais - cela soulève aussi des questions politiques, parfois polémiques.
- Comment toi, tu te situes par rapport à cela ?

-
Charlie
-

C’est compliqué. Réponse en deux voies.

-

La première voie, c’est que si tu m’avais posé la question avant que - je sois professionnel à 100 %, j’aurais probablement répondu autrement. - Aujourd’hui, j’ai parfois l’impression d’être davantage le chef d’une - PME qu’un artiste plasticien : il y a la compta, l’auto-branding, les - réseaux… On se rend compte que tout entre en jeu, la condition sociale{} - aussi. Ce sont des autoroutes à vitesses très différentes. [...]

-

Quand je réponds à un appel à candidature, je ne suis pas payé pour - le faire, et la réponse est négative la plupart du
temps. Passer trois - jours dessus, c’est lourd. Donc là-dessus, l’IA m’aide. [...] On passe de - quatre jours à deux heures. Et ça me permet de me recentrer sur ma - pratique.

-

C’est pareil pour la démocratisation des savoirs : ça démultiplie ma - capacité à faire. Si je répare quelque chose, je prends une photo d’un - PCB, j’ai immédiatement des pistes. Ça me fait gagner du temps et ça - m’apprend aussi des choses. En même temps, je reste critique. Dans le - monde de l’art, il y a déjà ce côté performatif permanent, les gros - studios, les assistants… Je n’ai pas envie d’entrer là-dedans. Si l’IA - me sert, c’est pour dégager du temps et continuer à avoir les mains dans - les outils. [...]

-

a seconde voie, ce serait d’être totalement réticent. On est pris - dans un paradoxe capitaliste : j’ai des Nike, un iPhone, je sais ce que - ça implique en termes de ressources. C’est extrêmement difficile de - sortir du flux. Je ne cherche pas une forme de pureté, j’essaie plutôt - de resserrer l’angle. Et puis il y a l’absence d’éthique : ces outils - peuvent aussi servir à produire du malveillant. On peut la berner - facilement et leur faire produire des choses dangereuses sous prétexte - de fiction.

-

En même temps, il ne s’agit pas non plus d’être des luddites. C’est - une révolution technologique, et s’y opposer frontalement serait tout - aussi violent. Pour moi, la question est politique à une échelle - globale. Comme pour l’eau ou les vitrines allumées la nuit : ce n’est - pas l’individu, c’est le système. Et ce qui se profile, c’est un écart - technologique énorme entre les pays, une nouvelle forme d’ordre. À mon - échelle, ça me rend plus performatif dans mon domaine. Mais la vraie - question reste celle de la balance : est-ce que mon travail justifie de - réchauffer 15 litres d’eau par prompt ? On ne matérialise pas réellement - l’impact.

-
Martin
-

D’ailleurs on parlait des petits modèles qui tournent en - local, de souveraineté, d’outils plus frugaux. Cela pose la question de - l’ouverture : des outils libres, du partage. Tu es sensible à l’idée de - maîtriser tes propres outils, mais aussi à celle de les rendre - accessibles.
- Comment tu te situes par rapport à cela aujourd’hui ?

-
Charlie
-

Jusqu’à il n’y a pas longtemps, on pouvait trouver le code de - P3 450 sur mon site, je suis en train de tout refaire, mais tous mes - programmes sont accessibles.

-

La question du droit d’auteur, au XXIe siècle, ce n’est pas là-dessus - que je me concentre. Ce qui m’intéresse davantage, c’est la question du - revenu continu. Le droit d’auteur est lié à une forme de capital, à des - inerties qui enrichissent souvent des gens déjà riches, et c’est très - difficile d’entrer dans ces cercles-là.

-

Par contre, la démocratisation des outils m’a rendu autonome, que ce - soit sur le code ou sur les outils. Ça permet aussi de comprendre - comment les systèmes fonctionnent, de les contourner parfois, et surtout - de voir à quel endroit on peut intervenir. Je pense qu’on est dans une - bulle, dans quelque chose qui part un peu dans les extrêmes. Mais pour - la majorité des usages, ça va se nuancer. Avoir un agent local qui - consomme peu, ça deviendra logique. On ne pourra pas continuer à - fonctionner comme aujourd’hui.

-

Ce qui m’inquiète, c’est la question d’une forme de “primitivisme” - technologique : des gens qui seraient considérés comme primitifs parce - qu’ils n’auraient pas accès à certaines augmentations, à certaines - technologies. Est-ce qu’il y aura des zones autonomes anti-IA, des - dispositifs anti-détection ? On peut déjà imaginer des choses comme ça. - Tout est interdépendant. on traite les sujets un par un, mais en réalité - tout se répond. Il faudrait des approches globales, à l’échelle - internationale sur le plan écologique et technologique. [...]

-
Martin
-

Peut-être une dernière chose pour conclure. On est partis - un peu dans tous les sens, mais c’est aussi ce que génère ton travail : - quand on est artiste aujourd’hui, on est obligé d’aller chercher - partout, parce que tout est intrinsèquement lié. On ne peut pas parler - d’un sujet sans être “tout azimut”, sans croiser des dimensions - techniques, politiques, sociales.

-
Charlie
-

Ouais. Le plus dur, aujourd’hui, c’est cette dichotomie entre - le régime capitaliste, la démocratisation du confort, et puis la - saturation qu’on est en train de vivre. On voit même des mots comme - “écoterroristes” entrer dans le langage courant… Alors qu’en parallèle, - on sature l’espace, on accumule les déchets, les satellites, - Starlink.

-

On est en train de créer une inertie qui se replie sur elle-même. - J’ai parfois l’impression que le capitalisme fabrique sa propre - obsolescence. C’est quand même fou d’en arriver à penser qu’il serait - plus facile d’imaginer une fin du monde qu’une fin du capitalisme. À - l’échelle de l’humanité, le capitalisme, c’est 300 ans. Il y a eu - d’autres systèmes avant, qui ont duré bien plus longtemps.

-

Malgré tout, je crois qu’à un moment il y aura une forme de force - commune. Les gens vont se rassembler, créer ensemble, s’autonomiser. On - va forcément taper un plafond, que ce soit en termes de ressources ou de - fabrication. Et je pense que la suite, ce sera l’hybridation : garder - les vieux objets, les amplis, les Mac et simplement leur ajouter de - petits modules, du Bluetooth, un PCB, plutôt que de tout jeter.

-

C’est déjà le cas dans certains pays où tout est récupéré et hybridé - , mais sur ces territoires c’est une nécessité. Le vrai problème, c’est - le fossé qui va continuer à se creuser entre ceux qui peuvent se - permettre de réchauffer les océans et ceux qui en subissent les - conséquences. À un moment, il faudra arrêter ou rééquilibrer les choses. - Sinon, on sera inondés. On fera des radeaux…

-
Martin
-

Merci beaucoup Charlie.

-
Charlie
-

Merci à toi.

- -
- - - -
- - - D6cor - Essai - Outdoor computer club - U l’aria diventa più respirabile per tutti - -
+

E l’aria diventa più respirabile per tutti: Une télévision pirate pour le quartier

Essai

-
- -

E l’aria diventa più respirabile per tutti: une télévision pirate pour le quartier

-

Outdoor computer club

-
+

Outdoor computer club

Le Outdoor Computer Club est un collectif qui explore des manières de démystifier et de se réapproprier collectivement les technologies de réseau et de l'information. Le OCC crée des espaces de bricolage et de réflexion collectifs ainsi que des interventions dans l’espace public.

@@ -964,7 +547,6 @@

Tv communal :
Télévisions populaires au Venezuela

-

Pour comprendre le projet politique des télévisions communales au Venezuela, il est important de revenir sur la tentative de coup d’État contre Hugo Chávez en 2002, et sur le rôle décisif qu’y ont joué les @@ -1072,6 +654,7 @@ favorise les échanges de savoirs, les rencontres intergénérationnelles et la circulation des luttes entre différents secteurs sociaux.

+

Pour le gouvernement Chávez, soutenir les télévisions communales permet de s’appuyer sur des acteurs disposant d’une légitimité populaire forte, souvent supérieure à celle de la télévision d’État. Plutôt que @@ -1103,6 +686,7 @@

C'est en riposte à ce monopole qu'un groupe d'activistes décide en 2002 de créer un réseau national de télévision pirate. 

+

A cette époque, la télévision numérique n'est pas encore démocratisée et la télévision satellite peu accessible, la plupart des foyers italiens reçoivent l'image sur leur poste via des ondes émises par des @@ -1110,6 +694,7 @@ des collines fassent obstacle à la diffusion du signal d'une chaîne de télévision et créent des zones grises où cette chaîne n'est pas recevable. On appelle ça un cône d'ombre.

+

C'est le cas à Bologne, au croisement de la via Rialto et de la via Orfeo, où l'équipe de OrfeoTV installe son studio de télévision au milieu d'un espace électromagnétique vacant : un cône d'ombre de la @@ -1203,7 +788,7 @@ communale réside alors dans cette opportunité de se raconter soi-même, de s'auto-déterminer.  

-

Une télévision rhizomatique

+ Une télévision rhizomatique

Le renversement ne s'opère pas seulement dans la reconfiguration des rôles émetteur-récepteur. Les télévisions de quartier transforment le modèle médiatique dit one-to-many + étanchéifier les communautés. 

Les Telestreet et les TV communales proposent d'engager la population autant dans le processus d'information que dans celui de @@ -1276,13 +861,7 @@ pirate en 2026 reste à prouver, par l'expérience5

-
- -

Bibliographie

- - - - +

Bibliographie :

Ardizzoni, Michela. « Neighborhood Television Channels in Italy: The Case of Telestreet ». Beyond Monopoly: Globalization and Contemporary Italian Media, s. d. Consulté le 16 février 2026. « What is Mini FM? » Consulté le 12 janvier 2026. http://anarchy.k2.tku.ac.jp/radio/micro/what_is_minifm/index.html.

- -
- +

Images :

+


+ Les images sont dans le dossier parent de ce document
+ Il s’agit d’images issues de notre expérience de construction d’une + télévision pirate, elle n’ont pas de place particulière dans le récit + donc peuvent être disposées n’importe ou
+
+
les legendes de ces images :

+

Image de l’antenne : Antenne et émetteur sur un pylône en bois, + installé au dernier étage du bâtiment Voix Machine, à Fontenay S/ Bois. + 2025

+

Image du spectateur : Réception de la première emission de OTVC.

+

Les deux autres images ne sont pas essentielles, elle peuvent être + ajoutées selon les besoins du ou de la graphiste.
+
+ Zoom de l’antenne : Antenne « Loop », construite pour emettre sur la + fréquance 471.25 Mhz, la chaine 21. +

+

Zoom de l’emetteur : Emetteur constitué d’un modulateur et d’un + amplificateur achetés sur leboncoin.fr. Cables rca et coaxiaux.

+

Bio :

+

Le Outdoor Computer Club est un collectif qui explore des manières de + démystifier et de se réapproprier collectivement les technologies de + réseau et de l'information. Le OCC crée des espaces de bricolage et de + réflexion collectifs ainsi que des interventions dans l’espace + public.

+
  1. Emanuelli, Massimo. « Orfeo Tv ». 2019

    @@ -1372,26 +975,15 @@ -
    - - D6cor - Essai - Jean-Noël Lafargue - Code créatif - - -
    -

    Essai

    -
    - -

    Code créatif

    -

    Jean-Noël Lafargue

    -
    - -
    - - +
    +
    +

    Code créatif

    +

    Jean-Noël Lafargue

    +

    Le Outdoor Computer Club est un collectif qui explore des manières de démystifier et de se + réapproprier collectivement les technologies de réseau et de l'information. Le OCC crée des espaces de + bricolage et de réflexion collectifs ainsi que des interventions dans l’espace public.

    +

    On peut distinguer deux types d’enseignements des pratiques numériques dans le cadre des départements d’art ou de design en école diff --git a/maquette-tests/journal.md b/maquette-tests/journal.md index b31af0f..db57a56 100644 --- a/maquette-tests/journal.md +++ b/maquette-tests/journal.md @@ -11,10 +11,7 @@ Ajout de la prise en compte des sections pour inline note (modifier le plugin cs ### Fonts - -https://webonastick.com/fonts/routed-gothic/ - -https://lineto.com/typefaces/ivory-mono +https://lineto.com/typefaces/ivory-mono ++ https://blazetype.eu/typefaces/kyle @@ -22,6 +19,8 @@ https://blazetype.eu/typefaces/kyle-mono https://extraset.ch/typefaces/face/ + + https://www.type-together.com/temeraire-font diff --git a/maquette-tests/js/decor-blockquote.js b/maquette-tests/js/decor-blockquote.js deleted file mode 100644 index ac0f5f2..0000000 --- a/maquette-tests/js/decor-blockquote.js +++ /dev/null @@ -1,33 +0,0 @@ -import { Handler } from '/csspageweaver/lib/paged.esm.js'; - - -export default class itemsDecor extends Handler { - constructor(chunker, polisher, caller) { - super(chunker, polisher, caller); - this.symbol = "."; - } - afterPageLayout(pageElement, page, breakToken) { - let blockquotes = pageElement.querySelectorAll("blockquote"); - blockquotes.forEach((blockquote) => { - const container = document.createElement("div"); - container.className = "before-blockquote_container"; - const inner = document.createElement("div"); - inner.className = "before-blockquote"; - inner.textContent = this.symbol.repeat(300); - container.appendChild(inner); - blockquote.insertBefore(container, blockquote.firstChild); - container.style.height = `${blockquote.offsetHeight}px`; - - const containerAfter = document.createElement("div"); - containerAfter.className = "after-blockquote_container"; - const innerAfter = document.createElement("div"); - innerAfter.className = "after-blockquote"; - innerAfter.textContent = this.symbol.repeat(300); - containerAfter.appendChild(innerAfter); - blockquote.insertBefore(containerAfter, container.nextSibling); - containerAfter.style.height = `${blockquote.offsetHeight}px`; - }); - } - - -} diff --git a/maquette-tests/js/decor-num-pages.js b/maquette-tests/js/decor-num-pages.js deleted file mode 100644 index d455852..0000000 --- a/maquette-tests/js/decor-num-pages.js +++ /dev/null @@ -1,57 +0,0 @@ -import { Handler } from '/csspageweaver/lib/paged.esm.js'; - - -export default class itemsDecor extends Handler { - constructor(chunker, polisher, caller) { - super(chunker, polisher, caller); - this.symbol = "+"; - this.totalPages = 33; - } - - afterPageLayout(pageElement, page, breakToken) { - const numPage = parseInt(pageElement.dataset.pageNumber); - // const half = this.totalPages / 2; - // const isFirstHalf = numPage <= half; - // console.log(numPage, isFirstHalf ? "première moitié" : "deuxième moitié"); - - const area = pageElement.querySelector(".pagedjs_area"); - if (area) { - const container = document.createElement("div"); - container.className = "running-page_container"; - - const progress = (numPage / this.totalPages) * 100; - - const symbols = document.createElement("div"); - symbols.className = "symbols"; - symbols.style.width = `${progress}%`; - symbols.style.wordBreak = "break-all"; - - const dots = document.createElement("div"); - dots.className = "dots"; - dots.textContent = ".".repeat(100); - - const runningPage = document.createElement("div"); - runningPage.className = "running-page"; - runningPage.appendChild(symbols); - runningPage.appendChild(dots); - container.appendChild(runningPage); - area.after(container); - - symbols.textContent = this.symbol; - const baseHeight = symbols.offsetHeight; - let count = 1; - while (count < 2000) { - count++; - symbols.textContent = this.symbol.repeat(count); - if (symbols.offsetHeight > baseHeight) { - symbols.textContent = this.symbol.repeat(count - 1); - break; - } - } - - } - - } - - -} diff --git a/maquette-tests/js/decor-subtitles.js b/maquette-tests/js/decor-subtitles.js deleted file mode 100644 index 2d1b2f8..0000000 --- a/maquette-tests/js/decor-subtitles.js +++ /dev/null @@ -1,154 +0,0 @@ -import { Handler } from '/csspageweaver/lib/paged.esm.js'; - - -export default class itemsDecor extends Handler { - constructor(chunker, polisher, caller) { - super(chunker, polisher, caller); - this.symbol = "+"; - } - - - - createDecor(symbol, sizes, sizeClass, baseClass = "decor-h3") { - const div = document.createElement("div"); - div.className = `${baseClass} ${sizeClass}`; - sizes.forEach((n, i) => { - const line = document.createElement("div"); - line.dataset.count = i + 1; - line.textContent = symbol.repeat(n); - div.appendChild(line); - }); - return div; - } - - createLine(symbol, nodes) { - const line = document.createElement("span"); - line.className = "subtitle-line"; - - const spanBefore = document.createElement("span"); - spanBefore.className = "subtitle-before"; - spanBefore.textContent = symbol.repeat(3); - line.appendChild(spanBefore); - - const spanText = document.createElement("span"); - spanText.className = "subtitle-text"; - nodes.forEach(node => spanText.appendChild(node)); - line.appendChild(spanText); - - const spanAfter = document.createElement("span"); - spanAfter.className = "subtitle-after"; - spanAfter.textContent = ""; - line.appendChild(spanAfter); - - return line; - } - - - processTitle(subtitle, symbol, withDecor, isLeft) { - if (subtitle.querySelector(".subtitle-line")) return; - - const children = Array.from(subtitle.childNodes); - - // Découper en segments à chaque
    - const segments = []; - let current = []; - children.forEach(node => { - if (node.nodeName === "BR") { - segments.push(current); - current = []; - } else { - current.push(node); - } - }); - segments.push(current); - - // Reconstruire le titre avec des .subtitle-line - subtitle.innerHTML = ""; - segments.filter(seg => seg.length > 0).forEach(nodes => { - const line = this.createLine(symbol, nodes); - subtitle.appendChild(line); - - const spanAfter = line.querySelector(".subtitle-after"); - const baseHeight = line.offsetHeight; - let count = 0; - // subtitle-after → Ajouter des symboles à la ligne en vérifiant la hauteur de la ligne, si la ligne devient plus haute, supprimer le dernier symbole ajouté - while (count < 300) { - count++; - spanAfter.textContent = symbol.repeat(count); - if (line.offsetHeight > baseHeight) { - spanAfter.textContent = symbol.repeat(count - 1); - break; - } - } - }); - - if (withDecor) { - const smallSizes = [1, 2, 3, 2, 1]; - const bigSizes = [1, 2, 3, 4, 5, 4, 3, 2, 1]; - let firstDecor, secondDecor; - if (isLeft) { - firstDecor = this.createDecor(symbol, smallSizes, "decor-h3_small"); - secondDecor = this.createDecor(symbol, bigSizes, "decor-h3_big"); - } else { - firstDecor = this.createDecor(symbol, bigSizes, "decor-h3_big"); - secondDecor = this.createDecor(symbol, smallSizes, "decor-h3_small"); - } - const container = document.createElement("div"); - container.className = "h3_container " + subtitle.className; - subtitle.className = ""; - subtitle.parentNode.insertBefore(container, subtitle); - container.appendChild(firstDecor); - container.appendChild(secondDecor); - container.appendChild(subtitle); - } - } - - - - beforeParsed(content){ - content.querySelectorAll("h3").forEach(subtitle => { - const next = subtitle.nextElementSibling; - if (next) next.classList.add("following-h3"); - }); - content.querySelectorAll("h4").forEach(subtitle => { - const next = subtitle.nextElementSibling; - if (next) next.classList.add("following-h4"); - }); - } - - - - afterPageLayout(pageElement, page, breakToken) { - const symbol = this.symbol; - const isLeft = pageElement.classList.contains("pagedjs_left_page"); - - pageElement.querySelectorAll("h3").forEach(subtitle => { - this.processTitle(subtitle, symbol, true, isLeft); - }); - - pageElement.querySelectorAll("h4").forEach(subtitle => { - this.processTitle(subtitle, symbol, false, isLeft); - const container = document.createElement("div"); - container.className = "h4_container " + subtitle.className; - subtitle.className = ""; - subtitle.parentNode.insertBefore(container, subtitle); - container.appendChild(subtitle); - }); - - pageElement.querySelectorAll("h6").forEach(h6 => { - if (h6.closest(".h6_container")) return; - const smallSizes = [1, 2, 3, 2, 1]; - const bigSizes = [1, 2, 3, 4, 5, 4, 3, 2, 1]; - const firstDecor = isLeft - ? this.createDecor(symbol, smallSizes, "decor-h6_small", "decor-h6") - : this.createDecor(symbol, bigSizes, "decor-h6_big", "decor-h6"); - const container = document.createElement("div"); - container.className = "h6_container"; - h6.parentNode.insertBefore(container, h6); - container.appendChild(firstDecor); - container.appendChild(h6); - }); - } - - -} diff --git a/maquette-tests/js/items-decor.js b/maquette-tests/js/items-decor.js new file mode 100644 index 0000000..2f397fc --- /dev/null +++ b/maquette-tests/js/items-decor.js @@ -0,0 +1,25 @@ +import { Handler } from '/csspageweaver/lib/paged.esm.js'; + + +export default class myCustomHandler2 extends Handler { + constructor(chunker, polisher, caller) { + super(chunker, polisher, caller); + } + + + afterPageLayout(pageElement, page, breakToken) { + console.log(pageElement); + let pageArea = pageElement.querySelector(".pagedjs_area"); + let pageAreaTop = pageArea.getBoundingClientRect().top; + let items = pageElement.querySelectorAll("p, h3, h4, .inline-note"); + items.forEach(function (item) { + let topOffset = item.getBoundingClientRect().top - pageAreaTop; + let decor = document.createElement("div"); + decor.classList.add("item-decor"); + decor.style.top = topOffset + "px"; + decor.textContent = pageElement.classList.contains("pagedjs_left_page") ? "<" : ">"; + pageArea.appendChild(decor); + }); + } +} + diff --git a/maquette-tests/type.html b/maquette-tests/type.html index 2f37cfe..7da298f 100644 --- a/maquette-tests/type.html +++ b/maquette-tests/type.html @@ -4,11 +4,11 @@ Document - + - + @@ -21,203 +21,12 @@ - - - - - - - - -

    - -

    'Adelphe Trouble Germinal'

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Un robot-poète ne nous fait toujours pas peur

    - -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - - -
    - -

    Garabosse Perle

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Un robot-poète ne nous fait toujours pas peur

    - -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - - -
    - -

    Velvetyne

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Un robot-poète ne nous fait toujours pas peur

    - -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - -
    - -

    Bilzig

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Un robot-poète ne nous fait toujours pas peur

    - -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - - -
    +

    Wagram Slab (super variable)

    @@ -259,279 +68,6 @@

    - - -
    - -

    Baskemo Sans

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Un robot-poète ne nous fait toujours pas peur

    - -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - -
    - -

    ITC Cheltenham

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Un robot-poète ne nous fait toujours pas peur

    - -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - -
    - -

    ITC Cheltenham (light)

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Un robot-poète ne nous fait toujours pas peur

    - -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - - - -
    - -

    Routed Gothic Wide

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - - - -
    - -

    Routed Gothic Narrow

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - - -
    - -

    Routed Gothic

    -
    -

    Un robot-poète ne nous fait toujours pas peur

    -

    Une télévision pirate pour le quartier

    -

    Un robot-poète ne nous fait toujours pas peur

    -
    - -
    -

    - En réponse à cet appel, des dizaines de télévisions de rue se - constituent dans tout le Pays : C'est le début du mouvement - Telestreet. Dans les années qui suivent, ce sont à peu près 150 - chaînes de télévision pirate qui apparaissent sur le réseau - Telestreet, partout dans le pays. Elles émanent de groupes - autogérés créés pour l'occasion mais aussi d'associations existantes ou - de groupes étudiants. Elles suivent chacune les principes du mouvement - mais leur situation géographique et sociale teinte les contenus - produits. A Naples, InsuTV diffuse des documentaires et des - reportages à propos des dynamiques sociales sur place. Dans la ville - balnéaire de Senigallia, le programme de DiscoVolante TV est - construit par un groupe de personnes handicapées et traite des questions - locales à travers leur prisme tandis qu'à Florence Gli Anelli - MancantiTV diffuse dans la zone de la Piazza Santa Maria et - informe sur les politiques migratoires et les conditions de vie des sans - papiers.  -

    - -

    - Au fil des années, la précarité financière et légale des - Telestreets commencera à peser sur ses acteur·ices. Certaines - télévisions de quartier chercheront alors à régulariser leur activité, - sans succès. Le mouvement ne parviendra donc pas à pérenniser son impact - sur le paysage médiatique et la plupart des chaînes arrêteront leur - activité à l'aube des années 2010. Telestreet aura cependant participé à - la construction d'une approche participative de la télévision que l'on - retrouve aujourd'hui dans l'ADN de certains médias comme - Primitivi à Marseille ou ZinTV à Bruxelles.  -

    -
    -
    - - -