diff --git a/__pycache__/pelicanconf.cpython-38.pyc b/__pycache__/pelicanconf.cpython-38.pyc index 6f24a85..72c1a36 100644 Binary files a/__pycache__/pelicanconf.cpython-38.pyc and b/__pycache__/pelicanconf.cpython-38.pyc differ diff --git a/content/calendar/calendar.yaml b/content/calendar/calendar.yaml index 1f8acac..a9152a9 100644 --- a/content/calendar/calendar.yaml +++ b/content/calendar/calendar.yaml @@ -15,14 +15,13 @@ calendar: - #Full moon walk on the 18.03.22 - 18-03-22: - start_time: "18:00" + #New Moon walk on the 30.04.22 + 30-04-22: + event_type: + en: "Walk" + fr: "Ballade" + nl: "Wandelen" + es: "Paseos" + start_time: "20:00" start_location: "Drève du comte" start_location_link: "https://www.openstreetmap.org/way/14502214#map=17/50.79518/4.40096" - - # New Moon walk on the 01.04.22 - 01-04-22: - start_time: "19:30" - start_location: "Drève du comte" - start_location_link: "https://www.openstreetmap.org/way/14502214#map=17/50.79518/4.40096" \ No newline at end of file diff --git a/content/flyer/flyer.md b/content/flyer/flyer.md new file mode 100644 index 0000000..45adf2a --- /dev/null +++ b/content/flyer/flyer.md @@ -0,0 +1,23 @@ +Title: flyer +template: flyer +status: hidden + + + + +Walking when all the colours have disappeared from the forest is a special experience. +You tune in to other senses. You discover silence, but you also notice movements and sounds that are absent during the day.
+Moreover, when you walk during the most intense and important moments of the lunar cycle, you can transform your intentions. +That is what these walks invite you to do. + + + +Se promener lorsque toutes les couleurs ont disparu de la forêt est une expérience particulière. +Vous êtes à l'écoute d’autres sens. Vous découvrez le silence, mais vous remarquez aussi des mouvements et des sons qui sont absents pendant la journée.
+De plus, lorsque vous marchez pendant les moments les plus intenses et les plus importants du cycle lunaire, vous pouvez transformer vos intentions. C'est à cela que vous invitent ces marches. + + + +Wandelen wanneer alle kleurtjes uit het bos verdwenen zijn, is een bijzondere ervaring. +Je stelt in op andere zintuigen. Je ontdekt de stilte, maar je merkt ook bewegingen en geluiden op die overdag afwezig zijn.
+Wanneer je bovendien wandelt tijdens de meest intense en belangrijke momenten van de maancyclus, kan je je intenties transformeren. Dat is waartoe deze wandelingen je uitnodigen. \ No newline at end of file diff --git a/content/pages/footer.md b/content/pages/footer.md index ddcbd7c..2b9cdac 100644 --- a/content/pages/footer.md +++ b/content/pages/footer.md @@ -1,11 +1,12 @@ Title: Footer save_as: partial: true +save_as: -The typography of this website varies slightly under the influence of the moon. -The website color theme switch according if it's day time or night time in Brussels. +The typography of this website varies slightly under the influence of the moon.
+The website color theme changes following day time or night time in Brussels. Font [Unoverso](https://github.com/oxomoto/Unoverso-Libre) by Oxomoto, and Inconsolata Variable by Raph Levien. All texts and images are published under de [CC4R license](https://constantvzw.org/wefts/cc4r.en.html), Anaïs Berck, 2022. -Website design and development by Doriane Timmermans (OSP) \ No newline at end of file +Website design and development by Doriane Timmermans ([OSP](http://osp.kitchen/)) \ No newline at end of file diff --git a/content/pages/footer_es.md b/content/pages/footer_es.md index 331ca78..383657a 100644 --- a/content/pages/footer_es.md +++ b/content/pages/footer_es.md @@ -1,9 +1,10 @@ Title: Footer lang: es +save_as: -La tipografía de este sitio web varía ligeramente bajo la influencia de la luna. +La tipografía de este sitio web varía ligeramente bajo la influencia de la luna.
El tema del sitio web cambia de color según sea de día o de noche en Bruselas. Fuente [Unoverso](https://github.com/oxomoto/Unoverso-Libre) de Oxomoto, e Inconsolata Variable de Raph Levien. Todos los textos e imágenes están publicados bajo licencia [CC4R](https://constantvzw.org/wefts/cc4r.en.html), Anaïs Berck, 2022. -Diseño y desarrollo del sitio web por Doriane Timmermans (OSP). \ No newline at end of file +Diseño y desarrollo del sitio web por Doriane Timmermans ([OSP](http://osp.kitchen/)). \ No newline at end of file diff --git a/content/pages/footer_fr.md b/content/pages/footer_fr.md index 4ac2faf..70fe409 100644 --- a/content/pages/footer_fr.md +++ b/content/pages/footer_fr.md @@ -1,9 +1,10 @@ Title: Footer lang: fr +save_as: -La typographie de ce site web varie légèrement sous l'influence de la lune. -Le thème de couleurs de ce site web change selon qu'il fait jour ou nuit à Bruxelles. +La typographie de ce site web varie légèrement sous l'influence de la lune.
+Le thème de couleurs de ce site web change selon s'il fait jour ou nuit à Bruxelles. Font [Unoverso](https://github.com/oxomoto/Unoverso-Libre) par Oxomoto, et Inconsolata Variable par Raph Levien. Tous les textes et images sont publiés sous [license CC4R](https://constantvzw.org/wefts/cc4r.en.html), Anaïs Berck, 2022. -Conception et développement du site web par Doriane Timmermans (OSP). \ No newline at end of file +Conception et développement du site web par Doriane Timmermans ([OSP](http://osp.kitchen/)). \ No newline at end of file diff --git a/content/pages/footer_nl.md b/content/pages/footer_nl.md index 37c67d4..d27a2f4 100644 --- a/content/pages/footer_nl.md +++ b/content/pages/footer_nl.md @@ -1,9 +1,10 @@ Title: Footer lang: nl +save_as: -De typografie van deze website varieert lichtjes onder invloed van de maan. +De typografie van deze website varieert lichtjes onder invloed van de maan.
Het kleurenthema van de website verandert naargelang het in Brussel dag- of nachttijd is. Font [Unoverso](https://github.com/oxomoto/Unoverso-Libre) van Oxomoto, en Inconsolata Variable van Raph Levien. Alle teksten en beelden zijn gepubliceerd onder de [CC4R licentie](https://constantvzw.org/wefts/cc4r.en.html), Anaïs Berck, 2022. -Website ontwerp en ontwikkeling door Doriane Timmermans (OSP). \ No newline at end of file +Website ontwerp en ontwikkeling door Doriane Timmermans ([OSP](http://osp.kitchen/)). \ No newline at end of file diff --git a/content/pages/index.md b/content/pages/index.md index 12799f5..cae7186 100644 --- a/content/pages/index.md +++ b/content/pages/index.md @@ -3,6 +3,8 @@ save_as: index.html slug: index template: index + + Walking when all the colours have disappeared from the forest is a special experience. You tune in to other senses. You discover silence, but you also notice movements and sounds that are absent during the day. Moreover, when you walk during the most intense and important moments of the lunar cycle, you can transform your intentions. @@ -12,6 +14,6 @@ We will walk in silence, interspersed with some experiments to which An invites Each walk takes a maximum of 2 hours. We conclude with a cup of tea. - + The walks are an initiative of [Anaïs Berck](https://www.anaisberck.be), represented here by the thousands of trees of the Sonian forest and by artist, storyteller and nature guide An Mertens. diff --git a/content/pages/index_es.md b/content/pages/index_es.md index 493e1a4..67474eb 100644 --- a/content/pages/index_es.md +++ b/content/pages/index_es.md @@ -3,12 +3,14 @@ slug: index lang: es template: index + + Caminar cuando todos los colores han desaparecido del bosque es una experiencia especial. Se sintoniza con otros sentidos. Descubres el silencio, pero también percibes movimientos y sonidos que son ausentes durante el día. Además, cuando caminas en los momentos más intensos e importantes del ciclo lunar, puedes transformar tus intenciones. A eso te invitan estos paseos. Caminaremos en silencio, intercalando algunos experimentos a los que An te invita. Cada paseo dura un máximo de 2 horas. Concluimos con un té. - + Los paseos son una iniciativa de [Anaïs Berck](https://www.anaisberck.be), representada aquí por los miles de árboles del Sonian Forest y por la artista, contadora y guía de la naturaleza An Mertens. diff --git a/content/pages/index_fr.md b/content/pages/index_fr.md index e03c787..b22c78f 100644 --- a/content/pages/index_fr.md +++ b/content/pages/index_fr.md @@ -3,12 +3,14 @@ slug: index lang: fr template: index + + Se promener lorsque toutes les couleurs ont disparu de la forêt est une expérience particulière. Vous êtes à l'écoute d’autres sens. Vous découvrez le silence, mais vous remarquez aussi des mouvements et des sons qui sont absents pendant la journée. De plus, lorsque vous marchez pendant les moments les plus intenses et les plus importants du cycle lunaire, vous pouvez transformer vos intentions. C'est à cela que vous invitent ces marches. Nous marcherons en silence, entrecoupés de quelques expériences auxquelles An vous invite. Chaque promenade dure au maximum 2 heures. Nous terminons en partageant un thé. - + Les balades sont une initiative d'[Anaïs Berck](https://www.anaisberck.be), représentée ici par les milliers d'arbres de la forêt de Soignes et par l'artiste, conteuse et guide nature An Mertens. diff --git a/content/pages/index_multilang.json b/content/pages/index_multilang.json index a2bbcdf..2e4230b 100644 --- a/content/pages/index_multilang.json +++ b/content/pages/index_multilang.json @@ -48,22 +48,10 @@ "es": "La caminata comienza a las" }, "sunsetat":{ - "en": "Sunset at", - "fr": "Coucher de soleil à", - "nl": "Zonsondergang om", - "es": "Puesta de sol a las" - }, - "moonat":{ - "en": "Moon event at", - "fr": "Événement lunaire à", - "nl": "Maangebeuren om", - "es": "Evento lunar a las" - }, - "mailsubject":{ - "en": "$ walk on the", - "fr": "Balade de $ le", - "nl": "$ wandeling op", - "es": "Paseo de $ el" + "en": "Sunset", + "fr": "Coucher de soleil", + "nl": "Zonsondergang", + "es": "Puesta de sol" }, "more":{ "en": "More to come", diff --git a/content/pages/index_nl.md b/content/pages/index_nl.md index 3e3b909..7a692ee 100644 --- a/content/pages/index_nl.md +++ b/content/pages/index_nl.md @@ -3,12 +3,14 @@ slug: index lang: nl template: index + + Wandelen wanneer alle kleurtjes uit het bos verdwenen zijn, is een bijzondere ervaring. Je stelt in op andere zintuigen. Je ontdekt de stilte, maar je merkt ook bewegingen en geluiden op die overdag afwezig zijn. Wanneer je bovendien wandelt tijdens de meest intense en belangrijke momenten van de maancyclus, kan je je intenties transformeren. Dat is waartoe deze wandelingen je uitnodigen. We wandelen in stilte, afgewisseld met enkele experimenten waartoe An je uitnodigt. Elke wandeling duurt maximum 2 uur. We sluiten af met een kopje thee. - + De wandelingen zijn een initiatief van [Anaïs Berck](https://www.anaisberck.be), hier vertegenwoordigd door de duizenden bomen van het Zoniënwoud en door kunstenaar, verteller en natuurgids An Mertens. diff --git a/content/projects/individual-walks_es.md b/content/projects/individual-walks_es.md index 8a515d0..f5a9b0d 100644 --- a/content/projects/individual-walks_es.md +++ b/content/projects/individual-walks_es.md @@ -9,3 +9,4 @@ Como guía, An ofrece varios métodos. Se basa en sus experiencias con el reiki, ## Biodiversidad Una ardilla susurrando en la copa de un haya, un arrendajo volando sobre tu cabeza, las ramas cargadas de frutos del saúco llamando tu atención... El bosque es un mundo de abundancia y cada elemento puede contribuir metafóricamente a la solución de tu problema, a corto o largo plazo. + diff --git a/content/projects/moonwalks.md b/content/projects/moonwalks.md index 479f6f5..9fb3dca 100644 --- a/content/projects/moonwalks.md +++ b/content/projects/moonwalks.md @@ -1,5 +1,7 @@ Title: Moonwalks + + ## New rituals Botanist and Native American Indian Robin Wall Kimmerer states in her book “Braiding Sweetgrass” that the core of the climate crisis is related to losing the connection with the land. By reconnecting, a form of recovery of the land and its people can take place, as well as a sustainable caring for. The connection can be made in various ways, for example by taking responsibility for a piece of land, be it as a vegetable garden, ornamental garden or forest. Her hypothesis is that a person's physical, emotional and spiritual health improves greatly when the relationship with the land is reinstated in his/her life. She urges the creation of new rituals that promote such relationships. The moon walks try to be such a new ritual. @@ -12,8 +14,8 @@ These are just two of the authors who specifically point to the end of anthropoc ## Full and New Moonwalks These and other authors inspired me to organise - as a new ritual - new and full moon walks. I have been doing this since the spring of 2021. They are walks that combine elements from forest bathing, meditation and guided nature walks. - + > I enjoyed the mixture of different ingredients: biology, fiction, politics... I also liked the silence, and the intensity of the experience. The space, for example, seemed very vast to me (I know the place well, I know we didn't walk miles and yet it seemed long, dense: a journey). I also found it very nice to see/feel the night appearing, and to realise that I was not afraid. Because I was with you? Because the trees had given me a friendly welcome? > diff --git a/content/projects/moonwalks_fr.md b/content/projects/moonwalks_fr.md index e42b259..d866e16 100644 --- a/content/projects/moonwalks_fr.md +++ b/content/projects/moonwalks_fr.md @@ -2,6 +2,8 @@ Title: Balades lunaires slug: moonwalks lang: fr + + ## Nouveaux rituels La botaniste et amérindienne Robin Wall Kimmerer affirme dans son livre «Les herbes sacrées» que le noyau de la crise climatique est lié à la perte du lien avec la terre. En se reconnectant, une forme de récupération de la terre et de ses habitants peut avoir lieu, ainsi qu'une prise de soin durable. Le lien peut être établi de différentes manières, par exemple en prenant la responsabilité d'un terrain, qu'il s'agisse d'un potager, d'un jardin d'ornement ou d'une forêt. Son hypothèse est que la santé physique, émotionnelle et spirituelle d'une personne s'améliore considérablement lorsque la relation avec la terre est rétablie dans sa vie. Elle préconise la création de nouveaux rituels qui favorisent ces relations. Les balades lunaires essaient d’être un nouveau rituel. @@ -14,8 +16,8 @@ Ce ne sont là que deux des auteurs qui soulignent spécifiquement la fin de l'a ## Balades de pleine et nouvelle lune Ces auteurs et d'autres m'ont inspiré l'idée d'organiser - comme un nouveau rituel - des promenades à la nouvelle et à la pleine lune. Je fais ceci depuis le printemps 2021. Ce sont des promenades à mi-chemin entre le bain de forêt, la méditation et les promenades guidées dans la nature. - + > J'ai aimé le mélange entre les différents éléments de la narration: entre biologie, fiction, politique... J'ai aussi beaucoup aimé le silence, et puis la densité de l'expérience. L'espace, par exemple, m'a semblé très dilaté (je connais bien l'endroit, je sais qu'on n'a pas marché pendant des kilomètres et pourtant ça m'a paru long, dense: un voyage). J'ai aussi beaucoup aimé voir/ sentir la nuit tomber, et me rendre compte que je n'avais pas peur. Parce que j'étais avec vous? Parce que les arbres m'avaient souhaité bienvenue avec bienveillance? > diff --git a/content/projects/moonwalks_nl.md b/content/projects/moonwalks_nl.md index 055d000..d0b8350 100644 --- a/content/projects/moonwalks_nl.md +++ b/content/projects/moonwalks_nl.md @@ -2,6 +2,9 @@ Title: Maanwandelingen slug: moonwalks lang: nl + + + ## Nieuwe rituelen Botaniste en Native American Indian Robin Wall Kimmerer stelt in haar boek “Braiding Sweetgrass”, dat de kern van de klimaatcrisis te maken heeft met het verliezen van de verbinding met het land. Door de verbinding weer aan te gaan, kan er ook een vorm van herstel van het land en de mensen plaatsvinden en een duurzaam zorg-dragen-voor. De verbinding kan op verschillende manieren gemaakt worden, bijvoorbeeld door de verantwoordelijkheid te nemen voor een stuk grond, zij het als moestuin, siertuin of bos. Haar hypothese is dat zowel de fysieke, de emotionele als de spirituele gezondheid van een persoon sterk verbetert als de relatie met het land weer een plaats krijgt in zijn/haar leven. Ze dringt erop aan om nieuwe rituelen in het leven te roepen, die die relaties bevorderen. De maanwandelingen proberen om zo’n nieuw ritueel te zijn. @@ -14,8 +17,8 @@ Dit zijn maar twee van de auteurs die specifiek wijzen op het einde van het antr ## Volle en Nieuwe Maanwandelingen Deze en andere auteurs inspireerden me om – als een nieuw ritueel - nieuwe en volle maanwandelingen te organiseren. Ik doe dit sinds de lente van 2021. Het zijn wandelingen die het midden houden tussen bosbaden, meditatie en geleide natuurwandelingen. - + > Ik heb genoten van de mix van verschillende ingrediënten: biologie, fictie, politiek... Ik hield ook van de stilte, en de intensiteit van de ervaring. De ruimte, bijvoorbeeld, leek mij heel uitgestrekt (ik ken de plaats goed, ik weet dat wij geen kilometers hebben gelopen en toch leek het lang, intens: een reis). Ik vond het ook heel fijn om de nacht te zien/voelen verschijnen, en te beseffen dat ik niet bang was. Omdat ik bij jou was? Omdat de bomen me vriendelijk welkom hadden geheten? > diff --git a/pelicanconf.py b/pelicanconf.py index d500f61..8b18c11 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # AUTHOR = 'Anaïs Berck' -SITENAME = 'Moonwalks.be' +SITENAME = 'moonwalks.be' SITEURL = '' PATH = 'content' @@ -60,6 +60,7 @@ ARTICLE_LANG_SAVE_AS = '{category}/{slug}_{lang}.html' ARTICLE_LANG_URL = '/{category}/{slug}_{lang}.html' # pages have no category +PAGE_PATHS = ['pages/', 'flyer/'] PAGE_SAVE_AS = '{slug}.html' PAGE_URL = '/{slug}.html' PAGE_LANG_SAVE_AS = '{slug}_{lang}.html' @@ -77,7 +78,7 @@ TAG_SAVE_AS = '' # DIRECT_TEMPLATES = ['index', 'authors', 'categories', 'tags', 'archives'] # because gallery and even index is a page # (this allow to have translation for index_fr, index_nl, etc) -DIRECT_TEMPLATES = ['alltypo'] +DIRECT_TEMPLATES = [] # to copy every image to the output direction STATIC_PATHS = ['gallery'] @@ -90,7 +91,7 @@ MENUITEMS = [ # TRANSLATION # ============================================================================== -# only article with this lang will be listed +# only article in this lang will be listed by default DEFAULT_LANG = 'en' # two article with same slug are considered as translation: # ARTICLE_TRANSLATION_ID = 'slug' @@ -114,7 +115,7 @@ DEFAULT_DATE = 'fs' PLUGIN_PATHS = ['plugins'] -PLUGINS = ['quotes-section', 'data_files', 'gallery','image_process','multilang-json-page'] +PLUGINS = ['html-comment-sections', 'data_files', 'gallery','image_process','multilang-json-page'] # --- quotes-sections (self made) # separate an article when meeting diff --git a/plugins/html-comment-sections/__init__.py b/plugins/html-comment-sections/__init__.py new file mode 100644 index 0000000..a6dc9e2 --- /dev/null +++ b/plugins/html-comment-sections/__init__.py @@ -0,0 +1,36 @@ +from readline import set_completion_display_matches_hook +from pelican import signals +import re + + +def split_sections(generator, content): + """ + Split the markdown content of an article or page into sections + everytime it encounter a comment of the form + and put those in a new `sections` attribute as a dictonnary. + + The `content` attribute is left intact. + """ + + html_content = content.content + content.sections = {} + + pattern = re.compile(r").)*)\]-->((?:(?!'); - article._content = article_sections[0] - if len(article_sections) > 1: - article.quotes = article_sections[1] - -def split_to_bio_section(article): - article_sections = article._content.split(''); - article._content = article_sections[0] - if len(article_sections) > 1: - article.bio = article_sections[1] - -def article_add_quotes(article_generator): - for article in article_generator.articles: - split_to_quotes_section(article) - for translation in article.translations: - split_to_quotes_section(translation) - -def page_add_bio(page_generator): - for page in page_generator.pages: - split_to_bio_section(page) - for translation in page.translations: - split_to_bio_section(translation) - -def register(): - signals.article_generator_finalized.connect(article_add_quotes) - signals.page_generator_finalized.connect(page_add_bio) diff --git a/plugins/quotes-section/__pycache__/__init__.cpython-38.pyc b/plugins/quotes-section/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 2afe00d..0000000 Binary files a/plugins/quotes-section/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/theme/static/css/article.css b/theme/static/css/article.css index b290d3b..0198a3a 100644 --- a/theme/static/css/article.css +++ b/theme/static/css/article.css @@ -28,6 +28,13 @@ nav.nav-projects li.active::after{ font-size: var(--fs-mono); */ } +a.margin-anchor{ + --margin: calc(var(--lh) * 6); + display: block; + margin-top: calc(-1 * var(--margin)); + height: var(--margin); +} + /* QUOTES ========================================================================== */ diff --git a/theme/static/css/calendar.css b/theme/static/css/calendar.css index ee7e2f3..909bab9 100644 --- a/theme/static/css/calendar.css +++ b/theme/static/css/calendar.css @@ -29,7 +29,7 @@ margin-bottom: calc(var(--lh) * 0.5); } #calendar-section .calendar-content{ - padding-left: calc(var(--lh) * 1); + /* padding-left: calc(var(--lh) * 1); */ } #calendar-section footer{ padding-top: calc(var(--lh) * 0.5); @@ -68,6 +68,7 @@ } .cal-entry__description{ + font-size: var(--fs-up); margin-top: calc(var(--lh) * 0.5); } .cal-entry__data{ @@ -104,7 +105,6 @@ } .cal-entry__phase h2.phase-name { line-height: calc(var(--lh) * 1.5); - text-transform: capitalize; white-space: nowrap; width: 6em; } @@ -166,12 +166,12 @@ } @keyframes newmoon { 0% { font-variation-settings: "SERI"0, "slnt"0; } - 50% { font-variation-settings: "SERI"100, "slnt"0; color: var(--clr-back);} + 50% { font-variation-settings: "SERI"100, "slnt"0; } 100% { font-variation-settings: "SERI"0, "slnt"0; } } @keyframes fullmoon { 0% { font-variation-settings: "SERI"100, "slnt"0; } - 50% { font-variation-settings: "SERI"0, "slnt"0; color: var(--clr-back);} + 50% { font-variation-settings: "SERI"0, "slnt"0; } 100% { font-variation-settings: "SERI"100, "slnt"0; } } diff --git a/theme/static/css/flyer.css b/theme/static/css/flyer.css new file mode 100644 index 0000000..846b6d4 --- /dev/null +++ b/theme/static/css/flyer.css @@ -0,0 +1,214 @@ + + +/* RESET + ===================================================== */ +body{ + background: white; + color: black; +} + +body > header{ + display: none; +} + +body > section.grid-display > .column-fixed{ + display: none; +} + +body > section.grid-display { + display: block; + padding: 0 !important; +} + +.text-content{ + max-width: none; +} + +/* VARIABLES + ===================================================== */ + +:root{ + /* big -> bigger but mono big stay the same */ + --fs-big: 5rem; + --fs-mono-big: 2.4rem; + + /* reduce a bit the lh for print */ + --lh: 1.3rem; + + /* 3 lang paysage */ + --fs-big: 5rem; + + /* 3 langs paysage */ + --fs-main: 11pt; + + /* + notes: + - 12pt is a bit too much for main text + */ + + /* variable for flyer */ + --margin: 1cm; + /* A5 */ + --page-w: 210mm; + --page-h: 148mm; +} + + +/* PRINT LAYOUT + ===================================================== */ +.page{ + width: var(--page-w); + height: var(--page-h); + + box-sizing: border-box; + + position: relative; + overflow: visible; + + /* https://developer.mozilla.org/en-US/docs/Web/CSS/break-after */ + break-after: page; + page-break-inside: avoid; +} + +.container{ + position: relative; +} +.layer{ + position: absolute; + inset: 0; +} +.page-rotate{ + width: var(--page-h); + height: var(--page-w); + position: absolute; + top: 100%; + right: 0; + transform-origin: top right; + transform: rotate(90deg); +} + +@media only screen { + body{ + background-color: whitesmoke; + } + .page{ + margin: 1cm auto; + outline: 1px yellowgreen solid; + background: white; + } +} + +/* COMPOSITION + ===================================================== */ + +html{ + font-size: var(--fs-main); +} + +.flyer h2{ + line-height: 1; + + display: inline-block; +} +.flyer h2:nth-of-type(3){ + margin-left: calc(var(--lh) * 2); +} + + +.recto__text{ + padding: var(--margin); + + display: grid; + grid-template-rows: 1fr min-content min-content; +} +.verso__text{ + padding: var(--margin); + + display: flex; + flex-direction: column; + justify-content: flex-end; +} + +.recto__langs{ + display: flex; + gap: var(--lh); +} +.recto__langs > *{ + flex: 0 1 100%; + gap: var(--lh); +} + +.recto__lang > p{ + margin: 0; +} + +footer{ + margin: calc(var(--lh) * 1) 0 calc(var(--lh) * 0.5); + display: flex; + /* justify-content: space-between; */ + align-items: baseline; + + gap: calc(var(--lh) * 2); + + /* 3 langs paysage */ + margin: calc(var(--lh) * 0.5) 0 calc(var(--lh) * 0); +} + +.verso footer{ + color: white; +} + +/* GRID DRAWING + ===================================================== */ + +.grid-cell{ + width: 100%; + height: 100%; + position: relative; +} +.element-wrapper{ + position: absolute; + inset: 0; + + transform-origin: center center; + + width: 100%; + height: 100%; +} + +/* added */ + +.drawing-back{ + background: + radial-gradient(circle closest-side, white, white 50%, transparent calc(100% - var(--margin))), + linear-gradient(to bottom, white, black); + + /* background-blend-mode: difference; */ +} + +/* .drawing-cirlce{ + background: linear-gradient(white, black); +} */ + +.drawing-grid{ + box-sizing: border-box; + overflow: hidden; + width: 100%; + height: 100%; + position: absolute; + inset: 0; + + /* mix-blend-mode: difference; */ +} + +.leaf{ + --s: 80%; + box-sizing: border-box; + width: var(--s); + height: var(--s); + border-radius: 0 100% 0 50% / 0 50% 0 100%; + background: black; + + /* border: var(--border); + background: white; */ +} \ No newline at end of file diff --git a/theme/static/css/gallery.css b/theme/static/css/gallery.css index c02fafb..766285d 100644 --- a/theme/static/css/gallery.css +++ b/theme/static/css/gallery.css @@ -3,12 +3,12 @@ display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr) ); grid-auto-rows: 200px; - + box-sizing: border-box; border: var(--border); height: calc(100vh - calc(5 * var(--lh))); overflow: auto; - background: var(--c-soft); + background: var(--clr-soft); } .gallery-section > .image{ position: relative; @@ -32,12 +32,6 @@ pointer-events: none; } - -/* remove the watch on gallery mode */ -body.gallery aside.moon-watch{ - display: none; -} - body.gallery > section.grid-display{ grid-template-columns: 1fr; } \ No newline at end of file diff --git a/theme/static/css/header.css b/theme/static/css/header.css index d2a1b6f..b170a9f 100644 --- a/theme/static/css/header.css +++ b/theme/static/css/header.css @@ -58,47 +58,47 @@ nav.lang-menu #lang__es{ /* NAVIGATION ========================================================================== */ -nav.nav-menu ul{ + +nav.nav-menu{ height: calc(var(--lh) * 2); display: flex; + justify-content: space-between; align-items: stretch; + + background: var(--clr-soft); border-top: var(--border); border-bottom: var(--border); border-color: var(--clr-header); box-sizing: border-box; +} - /* theme 1 */ - background: var(--clr-soft); +ul.nav-menu__pages{ + flex: 1 1 0; + display: flex; + align-items: stretch; +} +div.nav-menu__footer{ + flex: 1 1 0; + display: flex; + align-items: stretch; - /* theme 2 */ - /* border-top: var(--border); - background: var(--clr-text); - border-color: var(--clr-soft); - color: var(--clr-soft); */ + /* square */ + max-width: calc(var(--lh) * 2); } -nav.nav-menu li{ + +/* ----- MAIN NAV ----- */ + +ul.nav-menu__pages li{ flex: 1 0 0%; box-sizing: border-box; max-width: 16rem; position: relative; border-right: var(--border); border-color: var(--clr-header); - - /* theme 1 */ - /* background: var(--clr-back); */ - - /* theme 2 */ - /* border-color: var(--clr-soft); */ -} -nav.nav-menu li:first-child{ - /* border-left: var(--border); */ - - /* theme 2 */ - /* border-color: var(--clr-soft); */ + overflow: hidden; } - -nav.nav-menu a{ +ul.nav-menu__pages a{ color: currentColor; display: block; height: 100%; @@ -113,15 +113,23 @@ nav.nav-menu a{ text-decoration: none; transition: 300ms font-variation-settings; font-variation-settings: "SERI" 0, "slnt" 0; + + padding: 0 0.5em; } -nav.nav-menu a span{ +ul.nav-menu__pages a span{ padding-top: 0.2em; } -nav.nav-menu a:hover, -nav.nav-menu li.active a{ - font-variation-settings: "SERI" 100, "slnt" 0; +ul.nav-menu__pages a span{ + overflow: hidden; + text-overflow: ellipsis; } +/* variations */ + +ul.nav-menu__pages a:hover, +ul.nav-menu__pages li.active a{ + font-variation-settings: "SERI" 100, "slnt" 0; +} nav.nav-menu li.active{ background: white; } @@ -131,6 +139,7 @@ nav.nav-menu li.active{ } /* order */ + nav.nav-menu #nav__index{ order: 1; } @@ -139,12 +148,18 @@ nav.nav-menu #nav__projects{ } nav.nav-menu #nav__gallery{ order: 3; + margin-right: calc(-1 * var(--border-width)); } -/* breaking point */ -/* 16em * 3 * 1.25*/ -@media only screen and (max-width: 60em) { - nav.nav-menu li#nav__gallery{ - border-right: none; - } + +/* ----- FOOTER LINK ----- */ + +.open-footer{ + /* border */ + border-left: var(--border); + border-color: var(--clr-header); + + /* square size */ + flex: 1 0 0; } + diff --git a/theme/static/css/icon.svg b/theme/static/css/icon.svg new file mode 100644 index 0000000..29f2ee1 --- /dev/null +++ b/theme/static/css/icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/theme/static/css/layout.css b/theme/static/css/layout.css index ac9f8f2..876acec 100644 --- a/theme/static/css/layout.css +++ b/theme/static/css/layout.css @@ -10,11 +10,13 @@ body > header{ } body > section.grid-display{ display: grid; - grid-template-columns: 40% 60%; + grid-template-columns: 1fr 60%; + padding: var(--lh) var(--lh) 0; + gap: 0 calc(var(--lh) * 2); + box-sizing: content-box; position: relative; } body > section.grid-display > *{ - padding: var(--lh); box-sizing: border-box; } @@ -43,7 +45,6 @@ body.all-typo > section.grid-display{ body > section.grid-display{ grid-template-columns: 1fr !important; - padding: var(--lh); } /* remove column containers */ diff --git a/theme/static/css/main.css b/theme/static/css/main.css index bb2dd28..aa3230e 100644 --- a/theme/static/css/main.css +++ b/theme/static/css/main.css @@ -29,24 +29,19 @@ body{ /* slitghly brown forest light, low contrast */ --clr-text: hsl(62, 6%, 24%); --clr-soft-text: rgba(0,0,0,0.25); - --clr-header: var(--clr-text); - - /* day -- colored */ - /* --clr-soft: hsl(60, 32%, 84%); - --clr-back: hsl(90, 32%, 86%); */ - - /* day -- grey green */ - /* --clr-soft: hsl(54, 32%, 78%); - --clr-back: hsl(66, 18%, 82%); */ + --clr-header: black; --clr-soft: hsl(54, 40%, 82%); - --clr-back: hsl(82, 16%, 84%); - - /* --clr-soft: hsl(60, 32%, 78%); - --clr-back: hsl(48, 24%, 82%); */ + /* hsl(34, 44%, 69%) */ + --clr-back: hsl(82, 24%, 84%); + /* a bit more solarized */ + --clr-soft: hsl(48, 46%, 82%); + --clr-back: hsl(72, 32%, 84%); + background: var(--clr-back); color: var(--clr-text); + --border-width: 1px; --border: var(--border-width) solid var(--clr-text); @@ -54,17 +49,14 @@ body{ body.night{ /* slitghly cyan moon reflection, low contrast */ - --clr-text: hsl(160, 6%, 82%); + --clr-text: hsl(160, 6%, 86%); --clr-soft-text: rgba(255,255,255,0.35); --clr-header: hsl(320, 4%, 12%); - - /* night -- colored */ - /* --clr-soft: hsl(340, 4%, 30%); - --clr-back: hsl(240, 30%, 18%); */ + --clr-header: black; /* night -- grey purple */ - --clr-soft: hsl(350, 3%, 42%); - --clr-back: hsl(252, 15%, 22%); + --clr-soft: hsl(290, 10%, 38%); + --clr-back: hsl(252, 30%, 16%); } @@ -72,14 +64,18 @@ body.night{ a, a:visited{ color: currentColor; - /* color: yellowgreen; */ - /* text-decoration-thickness: var(--border-width); */ - text-decoration-thickness: 1px; + text-decoration-thickness: var(--border-width); } :is(a, a:visited):hover{ text-decoration: none; } +hr{ + border: none; + border: var(--border); + margin: var(--lh) 0; +} + /* selection */ *::selection{ background: white; @@ -98,6 +94,23 @@ a:visited{ opacity: 1; } +h2.phase-name { + text-transform: capitalize; +} + +.full-moon-fvs{ + font-variation-settings: "SERI"100, "slnt"0; +} +.full-moon-slanted-fvs{ + font-variation-settings: "SERI"100, "slnt"-100; +} +.new-moon-fvs{ + font-variation-settings: "SERI"0, "slnt"0; +} +.new-moon-slanted-fvs{ + font-variation-settings: "SERI"0, "slnt"100; +} + /* CONSTANT VERTICAL RYTHM =========================================================================== */ @@ -187,48 +200,111 @@ section.data-section::after{ line-height: 1.25; } -section > a:first-of-type{ - display: block; - margin-top: -200px; - height: 200px; +section.data-section::after{ + color: white; +} +.night section.data-section::after{ + color: var(--clr-header); } /* INTRO TEXT =========================================================================== */ /* first sentence */ -#about-section .about-box > p:first-child{ +.about-box > p:first-child{ font-size: var(--fs-up); margin-bottom: 0; line-height: 1.1; } -#about-section .bio-box > p:first-child{ +.bio-box{ margin-top: calc(var(--lh) * 1); + + display: grid; + grid-template-columns: calc(var(--lh) * 4) 1fr; + gap: calc(var(--lh) * 0.5); } +/* svg */ +.bio-box__leaves > svg{ + fill: var(--clr-text); + stroke:none; + stroke-width:0; + fill-opacity:1; + stroke-miterlimit:4; + stroke-dasharray:none; +} +.bio-box__text{ + border-left: var(--border); + padding-left: calc(var(--lh) * 0.5); +} + + /* FOOTER =========================================================================== */ -body > footer{ +button{ + /* reset buton style */ + border: none; + background-color: transparent; + font-family: 'Inconsolata', monospace; + font-size: var(--fs-mono-big); + font-variation-settings: var(--fvs-mono-big); + color: currentColor; + cursor: pointer; + box-sizing: border-box; + + /* flex centering */ + display: flex; + justify-content: center; + align-items: center; + text-align: center; +} + +dialog.footer{ background: var(--clr-soft); - font-size: 0.625rem !important; - border-top: var(--border); + border: var(--border); border-color: var(--clr-header); - - display: grid; - grid-template-columns: 1fr 1fr; -} -body > footer > *{ padding: var(--lh); + color: currentColor; +} + +dialog.footer .close-footer{ + position: absolute; + top: 0; + right: 0; + height: calc(var(--lh) * 2); + width: calc(var(--lh) * 2); + + border-left: var(--border); + border-bottom: var(--border); + border-color: var(--clr-header); +} + +dialog.footer p:first-of-type{ + margin-top: 0; + margin-right: calc(var(--lh) * 2); +} +dialog.footer p:last-of-type{ + font-family: 'Inconsolata', monospace; + font-variation-settings: var(--fvs-mono); + font-size: var(--fs-mono); + line-height: 1.25; +} + +dialog.footer::backdrop{ + background: black; + opacity: 0.25; +} +.night dialog.footer::backdrop{ + background: black; + opacity: 0.25; } @media only screen and (max-width: 920px) { - body > footer{ - grid-template-columns: 1fr; - } - body > footer > p:not(:last-of-type){ - padding-bottom: 0; + dialog.footer{ + padding: var(--lh) calc(var(--lh) / 2); + margin: auto calc(var(--lh) / 2); } } diff --git a/theme/static/js/moon-calendar.js b/theme/static/js/moon-calendar.js index 2f912fb..5a3caa2 100644 --- a/theme/static/js/moon-calendar.js +++ b/theme/static/js/moon-calendar.js @@ -125,19 +125,22 @@ function addDateToCalendar(date, moon){ if (calendar[time_id]){ let walk_entry = calendar[time_id]; + // Event type + let event_type = walk_entry.event_type[window.current_local.substring(0,2)]; + // --- add the class $cal_entry.addClass("confirmed"); $cal_entry.find(".reservation .not-confirmed").remove(); // --- fill infos + $cal_entry.find(".event-type").html(event_type); $cal_entry.find(".start-time").html(walk_entry.start_time); $cal_entry.find(".start-location a").html(walk_entry.start_location); $cal_entry.find(".start-location a").attr("href", walk_entry.start_location_link); // --- mail subject // only added if event has an entry in yaml AND not a past event - let mail_subject = $cal_entry.find(".reservation a").attr("data-mail-subject"); - mail_subject = mail_subject.replace("$", phase_name) + " " + formated_date['date']; + let mail_subject = [event_type, phase_name, formated_date['date']].join(", "); let uri = "mailto:" + contact_mail + "?subject="; uri += encodeURIComponent(mail_subject); $cal_entry.find(".reservation a").attr("href", uri); @@ -333,7 +336,7 @@ function createCalendar(months_ahead){ for (var i = 0; i < months_ahead; i++) { - let lang = window.current_local.substring(0,2) + let lang = window.current_local.substring(0,2); // config to send to the API let config_month = { diff --git a/theme/static/js/moon-watch.js b/theme/static/js/moon-watch.js index 21a4972..5360841 100644 --- a/theme/static/js/moon-watch.js +++ b/theme/static/js/moon-watch.js @@ -89,7 +89,8 @@ function updateCurrentMoonTypo(date){ let moon = getMoonStateFromDate(date, lat, long); updateAxis($(".moon-phased-typo > p"), moon["phase"], false); - updateAxis($(".moon-phased-typo > *:not(p)"), moon["phase"], true); + updateAxis($(".moon-phased-typo > blockquote"), moon["phase"], false); + updateAxis($(".moon-phased-typo > h2"), moon["phase"], true); updateAxis($("#about-section .about-box p:first-child"), moon["phase"], true); } diff --git a/theme/static/js/tools/css-grid-drawing.js b/theme/static/js/tools/css-grid-drawing.js new file mode 100644 index 0000000..f6936c8 --- /dev/null +++ b/theme/static/js/tools/css-grid-drawing.js @@ -0,0 +1,261 @@ + +class Grid{ + constructor(id, cell_size, mode = "STRETCH"){ + + this.id = id; + this.$grid = $("#"+id); + + if (Array.isArray(cell_size)){ + this.cell_width = cell_size[0]; + this.cell_height = cell_size[1]; + } else{ + this.cell_width = cell_size; + this.cell_height = cell_size; + } + this.columns = 0; + this.rows = 0; + + const possible_mode = ["STRETCH", "FIXED", "SPACE"]; + if(possible_mode.includes(mode)){ + this.mode = mode; + } + + // this.init_css(); + + this.elements = []; + this.distribute = function(i,j){ + // default distribution if there is more than one element + let index = j; + let choose = (index+(i%this.elements.length))%this.elements.length; + return choose; + } + + this.mouvements = []; + + } + + init_css(){ + // get the new element because pagedjs changed it + this.$grid = $("#"+this.id); + + // compute number of cell that can fit horizontaly and verticaly + this.columns = String(Math.floor(this.$grid.width() / this.cell_width)); + this.rows = String(Math.floor(this.$grid.height() / this.cell_height)); + console.log(this.$grid.width(), this.$grid.height()); + console.log("col-row-size", this.columns, this.rows, "(" + this.cell_width + "px", this.cell_width + "px" + ")"); + + // init css grid + this.$grid.css("display", "grid"); + if(this.mode == "STRETCH" || this.mode == "SPACE"){ + this.$grid.css("grid-template-columns", "repeat("+ this.columns +", 1fr"); + this.$grid.css("grid-template-rows", "repeat("+ this.rows +", 1fr"); + } else{ + this.$grid.css("grid-template-columns", "repeat("+ this.columns +", "+ this.cell_width + "px"); + this.$grid.css("grid-template-rows", "repeat("+ this.rows +", "+ this.cell_height + "px"); + } + } + + addElement(element_template){ + this.elements.push(element_template); + } + + addMouvement(grid_mouvement){ + this.mouvements.push(grid_mouvement); + } + + draw(){ + // fill all the grid with it's element + + this.init_css(); + + for (var i = 0; i < this.rows; i++) { + for (var j = 0; j < this.columns; j++) { + + // pick the element we are going to draw + let pick = this.distribute(i,j); + let element_html = ""; + if(pick >= 0){ + element_html = this.elements[pick].html; + } + + // a clone + let $el = $(element_html); + + // wrapp it in a cell + let $cell = $("
").addClass("grid-cell"); + let $wrapper = $("
").addClass("element-wrapper"); + //so we can chain transform on it + // $wrapper.css("transform-origin", "center center"); + // $wrapper.css("transform", "translate(-50%, -50%)"); + if(this.mode == "SPACE"){ + $wrapper.css("width", this.cell_width); + $wrapper.css("height", this.cell_height); + } + $cell.append($wrapper.append($el)); + + // iterate over all mouvement and apply them to the clone + this.mouvements.forEach( function(mvt){ + mvt.apply($cell,i,j); + }); + + // get a clone with mouvement applied + // let $el = this.element_template.draw(i,j); + + + this.$grid.append($cell); + } + } + } + +} + +class GridElement{ + // a template of grid element to clone into the grid + constructor(id){ + + //get html content string + // let content = $("#"+id).html(); + + // wrapp it in a cell + // let $cell = $("
").addClass("grid-cell"); + // let $wrapper = $("
").addClass("element-wrapper"); + // $cell.append($wrapper.append(content)); + // + // this.html = $("
").append($cell).html().trim(); + + this.html = $("#"+id).html(); + + // this.mouvements = []; + } + + // addMouvement(grid_mouvement){ + // this.mouvements.push(grid_mouvement); + // } + + // draw(i, j){ + // // return the DOM element according to it's template and an i,j parameter + // + // // a clone + // let $new_el = $(this.html); + // + // // iterate over all mouvement and apply them to the clone + // this.mouvements.forEach( function(mvt){ + // mvt.apply($new_el,i,j); + // }); + // + // return $new_el; + // } +} + +class GridMouvement{ + + constructor(css_property, eval_function, selector=".element-wrapper"){ + this.selector = selector; + this.property = css_property; + this.evaluate = eval_function; + } + + apply($element, i, j){ + // apply the mouvement to an element according to it's i, j position + // on the grid + let $search = $("
").append($element); + let $affected_by_mvt = $search.find(this.selector); + let css = this.evaluate(i,j); + if(this.property == "transform"){ + let current_transform = $affected_by_mvt.css("transform"); + css = current_transform + " " + css; + } + $affected_by_mvt.css(this.property, css); + } + +} + + +// default mouvements + +function map_range(value, in_min, in_max, out_min, out_max) { + return (value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; +} + +const sym2HH = new GridMouvement("transform", function(i,j){ + let scaleY = 1; + if(j%2==1){ scaleY = -1; } + let transform = "scaleY("+scaleY+")"; + return transform; +}); +const sym2VV = new GridMouvement("transform", function(i,j){ + let scaleX = 1; + if(i%2==1){ scaleX = -1; } + let transform = "scaleX("+scaleX+")"; + return transform; +}); +const sym4 = new GridMouvement("transform", function(i,j){ + let scaleX = 1; + let scaleY = 1; + if(i%2==1){ scaleX = -1; } + if(j%2==1){ scaleY = -1; } + let transform = "scaleX("+scaleX+") scaleY("+scaleY+")"; + return transform; +}); +const sym4alt = new GridMouvement("transform", function(i,j){ + let scaleX = 1; + let scaleY = 1; + if(i%2==1){ scaleY = -1; } + if(j%2==1){ scaleX = -1; } + let transform = "scaleX("+scaleX+") scaleY("+scaleY+")"; + return transform; +}); + +const line_shift = new GridMouvement("transform", function(i,j){ + let translate = ""; + if(i%2==1){ + translate = "translateX(-25%)"; + } + if(i%2==0){ + translate = "translateX(+25%)"; + } + return translate; +}); + + +const shrink = new GridMouvement("transform", function(i,j){ + let factor = j/(mygrid.columns); + return "scale("+factor+")"; +}); + + +const rotation = new GridMouvement("transform", function(i,j){ + let angle = String((j/(mygrid.columns-1))*360)+"deg"; + let rotate = "rotate("+angle+")"; + return rotate; +}); + +const random_rot = new GridMouvement("transform", function(i,j){ + let angle = Math.random()*360; + let rotate = "rotate("+angle+"deg)"; + return rotate; +}); + + +const random_color = new GridMouvement("background", function(i,j){ + let hue = map_range(Math.random(),0,1,30,100); + let color = "hsl("+hue+",70%,50%)"; + return color; +}, ".leaves"); + + +const scattered = new GridMouvement("transform", function(i,j){ + let maxdecal = 120; + let decalx = (Math.random()*maxdecal) - (maxdecal/2); + let decaly = (Math.random()*maxdecal) - (maxdecal/2); + let transform = "translate("+decalx+"%, "+decaly+"%)"; + return transform; +}); + + +const diagonal_fontsize = new GridMouvement("font-size", function(i,j){ + let x = j/(mygrid.columns-1); + let y = i/(mygrid.rows-1); + let fontsize = Math.max(Math.abs(x-y) * 10, 1); + return fontsize+"em"; +}); \ No newline at end of file diff --git a/theme/templates/alltypo.html b/theme/templates/alltypo.html index 9a192f7..c62dda4 100644 --- a/theme/templates/alltypo.html +++ b/theme/templates/alltypo.html @@ -7,3 +7,11 @@
{% endblock %} + +{% block js_body %} + {{super()}} + + +{% endblock %} \ No newline at end of file diff --git a/theme/templates/article.html b/theme/templates/article.html index e01d5c8..cf4fb13 100644 --- a/theme/templates/article.html +++ b/theme/templates/article.html @@ -8,6 +8,8 @@ {% endblock %} +{% block title %}{{ super() }} — {{ multilang[article.category] }}{% endblock title %} + {% block body_class %}{{ article.category }}{% endblock %} {% block fixed_content %} @@ -20,7 +22,7 @@
- +
+ {% if (page and page.slug != 'gallery') or not page %}
{% block scroll_content %} {% endblock %}
+ {% endif %} -
+ + {% for p in pages %} {% if p.slug == "footer" %} {% if current_lang == DEFAULT_LANG %} @@ -58,9 +65,23 @@ {% endif %} {% endif %} {% endfor %} -
+ {% block js_body %} + + + - + + {% endblock %} diff --git a/theme/templates/flyer.html b/theme/templates/flyer.html new file mode 100644 index 0000000..c0cf10a --- /dev/null +++ b/theme/templates/flyer.html @@ -0,0 +1,134 @@ +{% extends "base.html" %} + +{% block head %} + {{ super() }} + + + + + +{% endblock %} + +{% block scroll_content %} + +
+ +
+
+ +
+

New moon 

+

walks

+ +

Full moon 

+

walks

+
+ +
+
+

en

+
+ {{ page.sections["en"] }} +
+
+
+

fr

+
+ {{ page.sections["fr"] }} +
+
+
+

nl

+
+ {{ page.sections["nl"] }} +
+
+
+ + + +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+ + + + +{% endblock %} + +{% block js_body %} + {{ super() }} + + +{% endblock %} \ No newline at end of file diff --git a/theme/templates/gallery.html b/theme/templates/gallery.html index bcc2aec..94405cb 100644 --- a/theme/templates/gallery.html +++ b/theme/templates/gallery.html @@ -8,6 +8,8 @@ {% endblock %} +{% block title %}{{ super() }} — {{page.title}}{% endblock title %} + {% block body_class %}gallery{% endblock %} {% block fixed_content %} diff --git a/theme/templates/index.html b/theme/templates/index.html index f44a328..dd3aa2a 100644 --- a/theme/templates/index.html +++ b/theme/templates/index.html @@ -8,16 +8,26 @@ {% endblock %} +{% block title %}{{ super() }} — {{page.title}}{% endblock title %} + {% block body_class %}calendar{% endblock %} {% block fixed_content %}
- {{ page.content }} + {{ page.sections["intro"] }}
-
- {{ page.bio }} +
+ +
+ {% include 'inline-svg/bouleau.svg' %} +
+ +
+ {{ page.sections["bio"] }} +
+
diff --git a/theme/templates/inline-svg/bouleau.svg b/theme/templates/inline-svg/bouleau.svg new file mode 100644 index 0000000..cf39ff2 --- /dev/null +++ b/theme/templates/inline-svg/bouleau.svg @@ -0,0 +1,15 @@ + + + + + + + diff --git a/theme/templates/partials/calendar.html b/theme/templates/partials/calendar.html index bc58266..7712fd0 100644 --- a/theme/templates/partials/calendar.html +++ b/theme/templates/partials/calendar.html @@ -7,7 +7,7 @@ -->
- {{ page.multilang.datetime }} + {{ page.multilang.datetime }}
@@ -38,8 +38,7 @@
- {{ page.multilang.start }} + , ,
@@ -61,7 +60,7 @@ {{ page.multilang.sunsetat }}
- {{ page.multilang.moonat }} +
diff --git a/theme/templates/partials/moon-watch.html b/theme/templates/partials/moon-watch.html index dfc155a..1d50200 100644 --- a/theme/templates/partials/moon-watch.html +++ b/theme/templates/partials/moon-watch.html @@ -6,8 +6,7 @@
-->
-

+

diff --git a/theme/templates/partials/nav-menu.html b/theme/templates/partials/nav-menu.html index 5777300..2ccdca4 100644 --- a/theme/templates/partials/nav-menu.html +++ b/theme/templates/partials/nav-menu.html @@ -47,42 +47,47 @@