···12121313templ GalleryPage(works []ortfodb.AnalyzedWork, language string, title string, titleIsAlreadyTranslated bool) {
1414 <main class={ galleryPageMain() }>
1515- <h1 i18n?={ !titleIsAlreadyTranslated }>{ title }</h1>
1515+ if title != "" {
1616+ <h1 i18n?={ !titleIsAlreadyTranslated }>{ title }</h1>
1717+ }
1618 { children... }
1719 @WorksGrid(works, language, "works")
1820 </main>
+10
components/intro.templ
···11+package components
22+33+templ Intro() {
44+ <section class="intro">
55+ <p class="pre-h1" i18n>Hi! I'm Ewen Le Bihan.</p>
66+ <h1 i18n>These are my creations.</h1>
77+ <p i18n>I'm interested in almost anything that is both creative and digital.</p>
88+ { children... }
99+ </section>
1010+}
···1212"Content-Transfer-Encoding: 8bit\n"
1313"X-Generator: Poedit 3.4.1\n"
14141515+msgid "Get my resume"
1616+msgstr "Voir mon CV"
1717+1518msgid "Hi! I'm Ewen Le Bihan."
1619msgstr "Hey! Je suis Ewen Le Bihan."
2020+2121+msgid "I'm interested in almost anything that is both creative and digital."
2222+msgstr "Je suis intéressé par tout ce qui est à la fois créatif et numérique."
2323+2424+msgid "Learn more"
2525+msgstr "En savoir plus"
17261827msgid "Proudly powered by <a href=\"https://github.com/ortfo\">ortfo</a>, my portfolio database management system and <a href=\"https://github.com/a-h/templ\">templ</a>"
1928msgstr "Fièrement propulsé par <a href=\"https://github.com/ortfo\">ortfo</a>, mon système de gestion de base de données pour les portfolios et <a href=\"https://github.com/a-h/templ\">templ</a>"
···132141msgid "motion design"
133142msgstr "motion design"
134143135135-msgid "posters"
136136-msgstr "affiches"
137137-138138-msgid "programs"
139139-msgstr "programmes"
140140-141141-msgid "sites"
142142-msgstr "sites"
143143-144144-msgid "thumbnails"
145145-msgstr "miniatures"
146146-147147-msgid "typefaces"
148148-msgstr "fontes"
149149-150150-msgid "typography"
151151-msgstr "typographie"
152152-153153-msgid "visual identities"
154154-msgstr "identités visuelles"
155155-156156-msgid "web extensions"
157157-msgstr "extensions web"
158158-159144msgid "music"
160145msgstr "musique"
161146···174159msgid "poster"
175160msgstr "affiche"
176161162162+msgid "posters"
163163+msgstr "affiches"
164164+177165msgid "program"
178166msgstr "programme"
167167+168168+msgid "programs"
169169+msgstr "programmes"
170170+171171+msgid "sites"
172172+msgstr "sites"
173173+174174+msgid "thumbnails"
175175+msgstr "miniatures"
179176180177msgid "programming"
181178msgstr "programmation"
···191188192189msgid "typeface"
193190msgstr "fonte"
191191+192192+msgid "typefaces"
193193+msgstr "fontes"
194194+195195+msgid "typography"
196196+msgstr "typographie"
197197+198198+msgid "visual identities"
199199+msgstr "identités visuelles"
200200+201201+msgid "web extensions"
202202+msgstr "extensions web"
194203195204msgid "visual identity"
196205msgstr "identité visuelle"
+2
main.go
···9999 redirect(filepath.Join("to", site.Name), site.URL)
100100 }
101101102102+ handlePage("about", pages.AboutPage(translations.language))
103103+102104 go http.ListenAndServe(":"+fmt.Sprint(port), server)
103105 fmt.Printf("[%s] Server started on http://localhost:%d\n", translations.language, port)
104106
+32
pages/about.templ
···11+package pages
22+33+import "github.com/ewen-lbh/portfolio/components"
44+55+templ english() {
66+ <section><h2>arts</h2><p>Drawing at the school of fine arts in Nîmes, painting and sculpture workshops. Since I was 7 years old, I've been composing electronic music, taking piano and DJ lessons and participating in a music production masterclass. During my college years, I made many posters and logos using various software (3D, motion design, graphic design...)</p></section>
77+ <section><h2>digital</h2><p>I learned to program in different computer languages: HTML, Python and JavaScript, which allowed me to create my website and, currently, a web application for students. All my programming projects are visible to everyone on my GitHub profile: all my projects are "Open Source".</p></section>
88+ <section><h2>linguistics</h2><p>English being essential to read documentations, I have deepened this language (TOEIC Bridge: 176/180), conversed by mail with an American to realize a logo. I am also fascinated by writing since childhood: Cyrillic (hence my choice of <abbr title="Langue Vivante 3, an optional third language course available to high school students">LV3</abbr>, Russian), Greek (private lessons) and hiraganas and katakanas (Japanese, self-taught).</p></section>
99+ <section><h2>science</h2><p>I'm also interested in mathematic's language: I chose to continue my scientific education after high school by enrolling in a "classe préparatoire aux grandes écoles", an intensive 2-year program that prepares students for the competitive entrance exams to the top engineering schools. I sometimes learn complex mathematical concepts by browsing on wikipedia or by watching videos from YouTube channels such as "3Blue1Brown" or "Numerphile".</p></section>
1010+ <section class="go-back"><a class="arrow-link" href="/"><img src="https://assets.ewen.works/icons/arrow-left.svg"/><p>Back home</p></a></section>
1111+}
1212+1313+templ french() {
1414+ <section><h2>artistique</h2><p>Dessin à l'école des beaux-arts de Nîmes, ateliers de peinture, de sculpture. Depuis mes 7 ans, je compose de la musique électronique, j'ai suivi des cours de piano et de DJ et participé à une masterclass de production musicale. Pendant mes années de collège, j'ai réalisé de nombreuses affiches et logos en utilisant divers logiciels (3D, motion design, graphisme…)</p></section>
1515+ <section><h2>numérique</h2><p>J'ai appris à programmer dans différents langages informatiques: HTML, Python et JavaScript, ce qui m'a permis de créer mon site et, actuellement, une application web pour étudiants. J'ai aussi pour projet la création de plusieurs langages de programmation.</p><p>Tout mes projets de programmation sont visibles par tous sur mon <a href="https://github.com/ewen-lbh">profil Github</a>: tout mes projets sont dits "Open Source".</p></section>
1616+ <section><h2>linguistique</h2><p>L'anglais étant indispensable à la lecture de documentations et plus généralement à l'autodidactie, j'ai approfondi cette langue (TOEIC: 950/990), conversé par mail avec un américain pour réaliser un logo. Je suis aussi fasciné depuis l'enfance par l'écriture: le cyrillique (d'où mon choix de LV3, le russe), le grec (cours particuliers) et les hiraganas et katakanas (japonais en autodidacte).</p></section>
1717+ <section><h2>scientifique</h2><p>Le langage mathématique m'intéresse tout autant: j'ai choisi de poursuivre mon éducation scientifique après le lycée en m'inscrivant en classe préparatoire aux grandes écoles, un cursus intensif en 2 ans préparant aux concours d'admissions à des grandes écoles d'ingénieur. Il m'arrive d'appréhender des concepts complexes mathématiques en naviguant sur wikipédia anglais ou en regardant des vidéos de chaînes YouTube telles que <a href="https://www.youtube.com/c/3blue1brown">3Blue1Brown</a> ou <a href="https://youtube.com/c/numberphile">Numerphile</a></p></section>
1818+ <section class="go-back"><a class="arrow-link" href="/"><img src="https://assets.ewen.works/icons/arrow-left.svg"/><p>Retour</p></a></section>
1919+}
2020+2121+templ AboutPage(language string) {
2222+ @components.Intro() {
2323+ @components.ArrowLink("/resume") {
2424+ Get my resume
2525+ }
2626+ }
2727+ if language == "fr" {
2828+ @french()
2929+ } else {
3030+ @english()
3131+ }
3232+}
+5-2
pages/index.templ
···44import "github.com/ewen-lbh/portfolio/components"
5566templ Index(db ortfodb.Database, language string) {
77- @components.GalleryPage(db.WorksSlice(), language, "Hi! I'm Ewen Le Bihan.", false) {
88- <p i18n class="intro">These are my creations.</p>
77+ @components.Intro() {
88+ @components.ArrowLink("/about") {
99+ Learn more
1010+ }
911 }
1212+ @components.GalleryPage(db.WorksSlice(), language, "", false)
1013}