From 050fa1564f7baa17e8c9424169b01d95f93b82c4 Mon Sep 17 00:00:00 2001 From: SpaceFox Date: Tue, 31 Jan 2023 23:51:54 +0100 Subject: [PATCH] Nouveau design --- src/main/kotlin/fr/spacefox/japon/Resource.kt | 38 +- .../kotlin/fr/spacefox/japon/data/Category.kt | 2 + .../kotlin/fr/spacefox/japon/data/Content.kt | 5 +- .../kotlin/fr/spacefox/japon/data/Page.kt | 9 +- .../kotlin/fr/spacefox/japon/data/Place.kt | 5 +- .../resources/META-INF/resources/css/main.css | 507 ++++++++++++++++++ .../META-INF/resources/css/normalize.css | 349 ++++++++++++ src/main/resources/templates/base.qute.html | 63 ++- src/main/resources/templates/detail.qute.html | 7 +- .../resources/templates/licences.qute.html | 65 +++ src/main/resources/templates/list.qute.html | 37 +- .../resources/templates/listWithMap.qute.html | 43 +- .../templates/mentionslegales.qute.html | 20 + 13 files changed, 1053 insertions(+), 97 deletions(-) create mode 100644 src/main/resources/META-INF/resources/css/main.css create mode 100644 src/main/resources/META-INF/resources/css/normalize.css create mode 100644 src/main/resources/templates/licences.qute.html create mode 100644 src/main/resources/templates/mentionslegales.qute.html diff --git a/src/main/kotlin/fr/spacefox/japon/Resource.kt b/src/main/kotlin/fr/spacefox/japon/Resource.kt index 4a5adeb..8def5a2 100644 --- a/src/main/kotlin/fr/spacefox/japon/Resource.kt +++ b/src/main/kotlin/fr/spacefox/japon/Resource.kt @@ -11,16 +11,14 @@ import javax.ws.rs.PathParam import javax.ws.rs.Produces import javax.ws.rs.core.MediaType - @Path("/") class ListHtmlResource(val list: Template) { @GET @Path("accueil") @Produces(MediaType.TEXT_HTML) - fun accueil(): TemplateInstance = list.data("title", "Accueil") - .data("pages", Page.values()) - .withMenuData() + fun accueil(): TemplateInstance = + list.data("title", "Accueil").data("pages", Page.values()).withMenuData() @GET @Path("category/{name}") @@ -28,7 +26,7 @@ class ListHtmlResource(val list: Template) { fun category(@PathParam("name") name: String): TemplateInstance { val category = Category.valueOf(name) return list - .data("title", "Catégorie :${category.displayName}") + .data("title", category.displayName) .data("pages", category.pages()) .withMenuData() } @@ -43,25 +41,41 @@ class ListWithMapHtmlResource(val listWithMap: Template) { fun category(@PathParam("name") name: String): TemplateInstance { val place = Place.valueOf(name) return listWithMap - .data("title", "Lieu :${place.displayName}") + .data("title", place.displayName) .data("place", place) .data("pages", place.pages()) .withMenuData() } } - @Path("/page/") class PageResource(val detail: Template) { @GET @Path("{name}") @Produces(MediaType.TEXT_HTML) - fun page(@PathParam("name") name: String): TemplateInstance = detail.data("page", Page.valueOf(name)) - .withMenuData() + fun page(@PathParam("name") name: String): TemplateInstance = + detail.data("page", Page.valueOf(name)).withMenuData() +} + +@Path("/mentionslegales/") +class LegalResource(val mentionslegales: Template) { + + @GET + @Path("/") + @Produces(MediaType.TEXT_HTML) + fun page(): TemplateInstance = mentionslegales.instance().withMenuData() +} + +@Path("/licences/") +class LicencesResource(val licences: Template) { + + @GET + @Path("/") + @Produces(MediaType.TEXT_HTML) + fun page(): TemplateInstance = licences.instance().withMenuData() } private fun TemplateInstance.withMenuData(): TemplateInstance { - return this.data("categories", Category.values()) - .data("places", Place.values()) -} \ No newline at end of file + return this.data("categories", Category.values()).data("places", Place.values()) +} diff --git a/src/main/kotlin/fr/spacefox/japon/data/Category.kt b/src/main/kotlin/fr/spacefox/japon/data/Category.kt index 498b127..ff50909 100644 --- a/src/main/kotlin/fr/spacefox/japon/data/Category.kt +++ b/src/main/kotlin/fr/spacefox/japon/data/Category.kt @@ -12,4 +12,6 @@ enum class Category(val displayName: String) { francisla("Francis-La"); fun pages(): List = Page.values().filter { it.category == this } + + fun imgCount(): Int = pages().sumOf { it.imgCount() } } diff --git a/src/main/kotlin/fr/spacefox/japon/data/Content.kt b/src/main/kotlin/fr/spacefox/japon/data/Content.kt index caf2b86..415de77 100644 --- a/src/main/kotlin/fr/spacefox/japon/data/Content.kt +++ b/src/main/kotlin/fr/spacefox/japon/data/Content.kt @@ -10,11 +10,12 @@ data class Text(val text: String) : Content { data class Image(val folder: String, val id: String, val title: String) : Content { override fun render(): String { + val figCaption = if (title.isBlank()) "" else "
$title
" return """
-
$title
+ $figCaption $title
""" } -} \ No newline at end of file +} diff --git a/src/main/kotlin/fr/spacefox/japon/data/Page.kt b/src/main/kotlin/fr/spacefox/japon/data/Page.kt index 853e3de..feeac56 100644 --- a/src/main/kotlin/fr/spacefox/japon/data/Page.kt +++ b/src/main/kotlin/fr/spacefox/japon/data/Page.kt @@ -1855,9 +1855,12 @@ enum class Page( ), ; - private val formatter = DateTimeFormatter.ofPattern("EEEE dd MMMM yyyy") + fun dateHuman(): String = humanFormatter.format(date) - fun dateHuman(): String = formatter.format(date) + fun timestamp(): String = machineFormatter.format(date) - fun timestamp(): Long = date.toEpochDay() + fun imgCount(): Int = content.count { it is Image } } + +private val machineFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd") +private val humanFormatter = DateTimeFormatter.ofPattern("EEEE dd MMMM yyyy") diff --git a/src/main/kotlin/fr/spacefox/japon/data/Place.kt b/src/main/kotlin/fr/spacefox/japon/data/Place.kt index 217b11e..ce3a0b3 100644 --- a/src/main/kotlin/fr/spacefox/japon/data/Place.kt +++ b/src/main/kotlin/fr/spacefox/japon/data/Place.kt @@ -54,7 +54,10 @@ enum class Place(val displayName: String, val iframeSrc: String, val link: Strin iframeSrc = "https://maps.google.fr/maps?f=q&source=s_q&hl=fr&geocode=&q=tokyo&aq=&sll=48.680792,2.502588&sspn=3.315151,8.453979&ie=UTF8&hq=&hnear=Tokyo,+Japon&t=p&ll=35.817813,139.658203&spn=7.124687,16.45752&z=6&output=embed", link = - "https://maps.google.fr/maps?f=q&source=embed&hl=fr&geocode=&q=tokyo&aq=&sll=48.680792,2.502588&sspn=3.315151,8.453979&ie=UTF8&hq=&hnear=Tokyo,+Japon&t=p&ll=35.817813,139.658203&spn=7.124687,16.45752&z=6"),; + "https://maps.google.fr/maps?f=q&source=embed&hl=fr&geocode=&q=tokyo&aq=&sll=48.680792,2.502588&sspn=3.315151,8.453979&ie=UTF8&hq=&hnear=Tokyo,+Japon&t=p&ll=35.817813,139.658203&spn=7.124687,16.45752&z=6"), + ; fun pages(): List = Page.values().filter { it.place == this } + + fun imgCount(): Int = pages().sumOf { it.imgCount() } } diff --git a/src/main/resources/META-INF/resources/css/main.css b/src/main/resources/META-INF/resources/css/main.css new file mode 100644 index 0000000..204c487 --- /dev/null +++ b/src/main/resources/META-INF/resources/css/main.css @@ -0,0 +1,507 @@ +/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */ +@import url('https://fonts.googleapis.com/css2?family=Satisfy&family=Oleo+Script&family=Kiwi+Maru&family=Zen+Old+Mincho&family=Noto+Serif+JP&display=swap'); + +/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */ +/* + * What follows is the result of much research on cross-browser styling. + * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, + * Kroc Camen, and the H5BP dev community and team. + */ + +/* ========================================================================== + Base styles: opinionated defaults + ========================================================================== */ + +html { + color: #222; + font-size: 1rem; + line-height: 1.4; +} + +/* + * Remove text-shadow in selection highlight: + * https://twitter.com/miketaylr/status/12228805301 + * + * Vendor-prefixed and regular ::selection selectors cannot be combined: + * https://stackoverflow.com/a/16982510/7133471 + * + * Customize the background color to match your design. + */ + +::-moz-selection { + background: #b3d4fc; + text-shadow: none; +} + +::selection { + background: #b3d4fc; + text-shadow: none; +} + +/* + * A better looking default horizontal rule + */ + +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1em 0; + padding: 0; +} + +/* + * Remove the gap between audio, canvas, iframes, + * images, videos and the bottom of their containers: + * https://github.com/h5bp/html5-boilerplate/issues/440 + */ + +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; +} + +/* + * Remove default fieldset styles. + */ + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +/* + * Allow only vertical resizing of textareas. + */ + +textarea { + resize: vertical; +} + +/* ========================================================================== + Author's custom styles + ========================================================================== */ + +/* ---------- Structure ---------- */ +/* Margin/padding reset */ +h1, +h2, +nav, +figure, +figcaption, +p { + margin: 0; + padding: 0; +} + +/* Centered blocks */ +body, +nav section, +p, +figcaption, +article { + margin: 0 auto; +} + +/* Other behaviours */ +nav li { + /* large line height in nav to simplify navigation */ + line-height: 2rem; +} + +body > header { + margin-top: 1rem; +} + +main header, +main article { + display: grid; + grid-template-columns: 1fr 1fr; + align-items: center; + grid-gap: 1rem; +} + +main header h1, +main article a.title { + grid-column: 1 / 3; + grid-row: 1; +} + +main header h2.date, +main article .date { + grid-column: 1; + grid-row: 2; + text-align: left; + font-size: 0.8rem; +} + +main header h2.place, +main article .place { + grid-column: 2; + grid-row: 2; + text-align: right; + font-size: 0.8rem; +} + +main article a.category { + grid-column: 1; + grid-row: 3; + text-align: left; + font-size: 0.8rem; +} + +main article .imgCount { + grid-column: 2; + grid-row: 3; + text-align: right; + font-size: 0.8rem; +} + +footer { + display: grid; + grid-template-columns: 1fr; + align-items: center; + grid-gap: 1rem; +} + +/* ---------- Fonts ---------- */ +/* Families */ +body { + font-family: 'Noto Serif JP', serif; +} + +body > header h1, +main header h1, +nav section h1, +main article a.title { + font-family: 'Oleo Script', 'Noto Serif JP', cursive; +} + +/* Sizes */ +body > header h1 { + font-size: 2.5rem; +} + +main header h1 { + padding-left: 0.5rem; + font-size: 1.5rem; +} + +main article a.title { + font-size: 1.25rem; +} + +header h2, +main figcaption, +main p { + font-size: 1rem; + line-height: 1.5rem; +} + +footer { + font-size: 0.8rem; + line-height: 1.5rem; +} + +footer h1 { + font-size: 1rem; +} + +/* Aligns */ +h1, +body > header, +main, +figure { + text-align: center; +} + +p, +ul, +ol { + text-align: left; +} + +section h1, +section h2, +section h3 { + margin-bottom: 1rem; +} + +/* ---------- Design ---------- */ +/* Elements in boxes */ +figure img, +iframe, +nav section, +main figcaption, +main > p, +body > header, +main header, +main article, +main > section, +footer { + box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.25); + margin-bottom: 1rem; + padding: 1rem; + background-color: white; + max-width: calc(100vw - 2rem); +} + +/* Boxes colors */ +html { + background-color: #808080; +} + +nav section, +main header { + background-color: #eee; +} + +main figcaption, +main > p, +main article, +main > section { + background-color: lightgray; +} + +/* Boxes behaviour (additional rules after structure for technical reasons) */ +main figcaption, +main > p { + max-width: fit-content; +} + +main a[href^="http"]::after, +main a[href^="https://"]::after { + content: ""; + width: 0.75rem; + height: 0.75rem; + margin-left: 0.25rem; + margin-bottom: 0.25rem; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + display: inline-block; +} + +/* ---------- Width-dependent design elements ---------- */ +/* Base = smartphone = all the design above */ + +/* Wide screen (desktop) */ +@media screen and (min-width: 42rem) { + nav { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 1rem; + align-items: center; + } + + nav > section { + width: 17rem; + } + + nav li { + /* no need for extra height */ + line-height: initial; + } +} + +@media screen and (min-width: 48rem) { + main article { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-gap: 1rem; + align-items: center; + line-height: 1rem; + } + + main article a.title { + grid-column: 1 / 3; + grid-row: 1; + text-align: left; + } + + main article div.imgCount { + grid-column: 3; + grid-row: 1; + text-align: right; + font-size: 1rem; + } + + main article div.date { + grid-column: 1; + grid-row: 2; + text-align: right; + font-size: 1rem; + } + + main article div.place { + grid-column: 2; + grid-row: 2; + text-align: left; + font-size: 1rem; + } + + main article a.category { + grid-column: 3; + grid-row: 2; + text-align: right; + font-size: 1rem; + } +} + +@media screen and (min-width: 64rem) { + body { + max-width: 64rem; + } + + body > header h1 { + font-size: 3rem; + } + + main header h1 { + padding-left: 0.5rem; + font-size: 2rem; + } + + main article a.title { + font-size: 1.5rem; + } + + main header { + display: grid; + grid-template-columns: 3fr 1fr; + grid-gap: 1rem; + align-items: center; + } + + main header h1 { + grid-column: 1; + grid-row: 1 / 3; + text-align: left; + } + + main header h2 { + text-align: right; + line-height: 1rem; + } + + main header h2.date { + grid-column: 2; + grid-row: 1; + font-size: 1rem; + text-align: right; + } + + main header h2.place { + grid-column: 2; + grid-row: 2; + font-size: 1rem; + } + + footer { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-gap: 1rem; + align-items: start; + } +} + + +/* ========================================================================== + Helper classes + ========================================================================== */ + +/* + * Hide visually and from screen readers + */ + +.hidden, +[hidden] { + display: none !important; +} + +/* + * Hide only visually, but have it available for screen readers: + * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility + * + * 1. For long content, line feeds are not interpreted as spaces and small width + * causes content to wrap 1 word per line: + * https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe + */ + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + white-space: nowrap; + width: 1px; + /* 1 */ +} + +/* + * Extends the .sr-only class to allow the element + * to be focusable when navigated to via the keyboard: + * https://www.drupal.org/node/897638 + */ + +.sr-only.focusable:active, +.sr-only.focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + white-space: inherit; + width: auto; +} + +/* + * Hide visually and from screen readers, but maintain layout + */ + +.invisible { + visibility: hidden; +} + +/* + * Clearfix: contain floats + * + * For modern browsers + * 1. The space content is one way to avoid an Opera bug when the + * `contenteditable` attribute is included anywhere else in the document. + * Otherwise it causes space to appear at the top and bottom of elements + * that receive the `clearfix` class. + * 2. The use of `table` rather than `block` is only necessary if using + * `:before` to contain the top-margins of child elements. + */ + +.clearfix::before, +.clearfix::after { + content: " "; + display: table; +} + +.clearfix::after { + clear: both; +} + + + + + + + + + + + diff --git a/src/main/resources/META-INF/resources/css/normalize.css b/src/main/resources/META-INF/resources/css/normalize.css new file mode 100644 index 0000000..192eb9c --- /dev/null +++ b/src/main/resources/META-INF/resources/css/normalize.css @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/src/main/resources/templates/base.qute.html b/src/main/resources/templates/base.qute.html index 85b39c3..99412a7 100644 --- a/src/main/resources/templates/base.qute.html +++ b/src/main/resources/templates/base.qute.html @@ -2,17 +2,15 @@ + + Un renard au Japon – {#insert title}Default Title{/} - - - - - - - + + +
@@ -20,33 +18,50 @@

Votre renard préféré au Japon. Un âne au nom comme un jeu de mots vaseux squatte...

- -
+ + + +
{#insert}No body!{/insert} -
+ + diff --git a/src/main/resources/templates/detail.qute.html b/src/main/resources/templates/detail.qute.html index 3f51c60..5926412 100644 --- a/src/main/resources/templates/detail.qute.html +++ b/src/main/resources/templates/detail.qute.html @@ -1,7 +1,10 @@ {#include base} {#title}{page.title}{/title} -

{page.title}

-

Le {page.dateHuman} à {page.place.displayName}

+
+

{page.title}

+

Le {page.dateHuman}

+

à {page.place.displayName}

+
{#for element in page.content} {element.render().raw} {/for} diff --git a/src/main/resources/templates/licences.qute.html b/src/main/resources/templates/licences.qute.html new file mode 100644 index 0000000..f70a38e --- /dev/null +++ b/src/main/resources/templates/licences.qute.html @@ -0,0 +1,65 @@ +{#include base} + {#title}Licences{/title} +

Licences

+
+

Réutiliser le contenu du site

+

Ceci concerne tout le contenu du site : photographies et textes.

+

Vous êtes autorisé à :

+
    +
  • Partager — copier, distribuer et communiquer le matériel par tous moyens et sous tous + formats +
  • +
  • Adapter — remixer, transformer et créer à partir du matériel pour toute utilisation, y + compris commerciale. +  + L’Offrant ne peut retirer les autorisations concédées par la licence tant que vous appliquez les + termes de cette licence. +
  • +
+

Selon les conditions suivantes :

+
    +
  • Attribution — Vous devez créditer l'Œuvre, intégrer un lien vers la licence et indiquer + si des modifications ont + été effectuées à l'Œuvre. Vous devez indiquer ces informations par tous les moyens raisonnables, sans + toutefois + suggérer que l’Offrant vous soutient ou soutient la façon dont vous avez utilisé son Œuvre. +
  • +
  • Pas de restrictions complémentaires — Vous n'êtes pas autorisé à appliquer des + conditions légales ou des mesures + techniques qui restreindraient légalement autrui à utiliser l'Œuvre dans les conditions décrites par la + licence. +
  • +
+

Exemple de crédit pour une réutilisation d’image

+

Image d’exemple de réutilisation

+

« Tamia pressé » par SpaceFox / CC BY 4.0

+

Le crédit précise les 4 indications nécessaires :

+
    +
  1. Le titre de la photo,
  2. +
  3. L’auteur
  4. +
  5. La source (le lien derrière le titre)
  6. +
  7. La licence (avec un lien vers le résumé)
  8. +
+

C’est simple et court, pas besoin de faire plus compliqué !

+

Resources

+
    +
  1. Le résumé de la licence, sur le site + Creative Commons
  2. +
  3. Le texte intégral de la licence, sur + le site Creative Commons
  4. +
  5. Comment me créditer + correctement (en anglais) +
  6. +
+
+
+

Réutiliser le code source du site

+

Le code source du site est mis à disposition selon les termes de la licence MIT. + Il est disponible sur Github.

+

Vous pouvez donc utiliser, copier, modifier, publier, distribuer, vendre et incorporer le code source du site + dans une + autre licence tant que les notices de licence et de copyright sont intégrées dans toutes les copies.

+
+{/include} \ No newline at end of file diff --git a/src/main/resources/templates/list.qute.html b/src/main/resources/templates/list.qute.html index d3e9bc0..2b2780c 100644 --- a/src/main/resources/templates/list.qute.html +++ b/src/main/resources/templates/list.qute.html @@ -1,30 +1,17 @@ {#include base} {#title}{title}{/title} -

{title}

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

{title}

+
{#for page in pages} - - - - - - + {/for} - - - - {/include} \ No newline at end of file diff --git a/src/main/resources/templates/listWithMap.qute.html b/src/main/resources/templates/listWithMap.qute.html index 35a31a3..762dc43 100644 --- a/src/main/resources/templates/listWithMap.qute.html +++ b/src/main/resources/templates/listWithMap.qute.html @@ -1,33 +1,20 @@ {#include base} {#title}{title}{/title} -

{title}

- - - - - - - - - - - {#for page in pages} - - - - - - - {/for} - - +
+

{title}

+
+ {#for page in pages} + + {/for} -
Agrandir le plan - - +

Agrandir le plan

{/include} \ No newline at end of file diff --git a/src/main/resources/templates/mentionslegales.qute.html b/src/main/resources/templates/mentionslegales.qute.html new file mode 100644 index 0000000..aba61e4 --- /dev/null +++ b/src/main/resources/templates/mentionslegales.qute.html @@ -0,0 +1,20 @@ +{#include base} + {#title}Mentions légales{/title} +

Mentions légales

+
+

Hébergement

+

PulseHeberg
+ 9 Boulevard de Strasbourg
+ 83000 Toulon
+ France

+

https://pulseheberg.com

+
+

Cookies

+

Ce site n’utilise pas de cookies à d’autres fins que purement techniques.

+

Il n’utilise aucun système de + publicité ciblée, de réseaux sociaux ou de mesure + d’audience et donc ne nécessite pas de + bandeau d’information qui permettrait de s’opposer à ces cookies.

+
+{/include} \ No newline at end of file