hugosoucycc

[ARCHIVED] Another old source code of <hugo.soucy.cc>.
Log | Files | Refs | Submodules

commit 2f8357812f1f3c2cb056fe0c9a37ad62ccef1ad0
parent b571616cd83f83e1c8e83275a610687f2475648c
Author: Hugo Soucy <hugo.soucy@savoirfairelinux.com>
Date:   Thu,  9 Nov 2017 11:47:01 -0500

Merge branch 'master' of github.com:hs0ucy/hugosoucycc

Diffstat:
Marchetypes/note.md | 2+-
Mbootstrap | 4++--
Mcontent/a-propos.meta | 12++++++------
Mcontent/albums-preferes.md | 3++-
Acontent/ce-site-web-explique-markdown.md | 5+++++
Acontent/ce-site-web-explique-markdown.meta | 6++++++
Mcontent/file/curriculum-vitae.md | 112-------------------------------------------------------------------------------
Acontent/note/2017/10/-la-claire-fntaine-l-l-mais-o.md | 2++
Acontent/note/2017/10/-la-claire-fntaine-l-l-mais-o.meta | 9+++++++++
Acontent/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.md | 3+++
Acontent/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.meta | 8++++++++
Acontent/note/2017/10/test-de-repost-en-posse-3.md | 13+++++++++++++
Acontent/note/2017/10/test-de-repost-en-posse-3.meta | 8++++++++
Mfakestache | 8+++++---
Mfunctions/create-html-pages | 3++-
Ashortlinks | 19+++++++++++++++++++
Mstatic/dev/css/modules/cv.css | 36++++++++++++++++++++++++++++++++----
Mstatic/prod/css/styles.css | 36++++++++++++++++++++++++++++++++----
Mstatic/prod/css/styles.min.css | 4++--
Mtemplates/mustache/curriculum-vitae.mustache | 41+++++++++++++++++++++--------------------
Mtemplates/mustache/note.mustache | 11++++++++++-
Atemplates/mustache/partials/cv.mustache | 488+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtemplates/mustache/partials/nav.index.mustache | 5+++++
Mtemplates/mustache/partials/nav.mustache | 11++++++++---
24 files changed, 689 insertions(+), 160 deletions(-)

diff --git a/archetypes/note.md b/archetypes/note.md @@ -1,2 +1,2 @@ -# {{ archetype_title }} +{{ archetype_title }} diff --git a/bootstrap b/bootstrap @@ -6,6 +6,6 @@ cd "$(dirname "$0")" # Include fakestache configuration file . config/app.cfg -# Update file/curriculum-vitae.md +# Update partials/cv.mustache # from git@github.com:hs0ucy/Curriculum-vitae.git repository -curl https://raw.githubusercontent.com/hs0ucy/Curriculum-vitae/master/curriculum-vitae.md > "$CONTENT_PATH/file/curriculum-vitae.md" +curl https://raw.githubusercontent.com/hs0ucy/Curriculum-vitae/master/curriculum-vitae.html > "$TPL_MUSTACHE_PATH/partials/cv.mustache" diff --git a/content/a-propos.meta b/content/a-propos.meta @@ -1,6 +1,6 @@ -#!/usr/bin/env bash - -title="À propos de ce site Web" -date="2017-03-16" -datetime="00:00:00" -template="default" +{ + "title": "À propos de ce site Web", + "date": "2017-03-16", + "datetime": "00:00:00", + "template": "default" +} diff --git a/content/albums-preferes.md b/content/albums-preferes.md @@ -2,7 +2,8 @@ Mes albums préférés =================== -Attention, cette liste n'est pas nécessairement par ordre de péférence. +Attention, cette liste n'est pas nécessairement par ordre de +péférence. * [Think tank, Blur](https://musicbrainz.org/release-group/25b8f0eb-8031-3a24-b363-476229fa882b) * [Pinkerton, Weezer](https://musicbrainz.org/release-group/385f30e2-0483-355d-aded-23e66aa20f87) diff --git a/content/ce-site-web-explique-markdown.md b/content/ce-site-web-explique-markdown.md @@ -0,0 +1,5 @@ +# Ce site Web expliqué : Le markdown + + + + diff --git a/content/ce-site-web-explique-markdown.meta b/content/ce-site-web-explique-markdown.meta @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +title="Ce site Web expliqué : Le markdown" +date="2017-10-09" +datetime="00:00:00" +template="default" diff --git a/content/file/curriculum-vitae.md b/content/file/curriculum-vitae.md @@ -1,112 +0,0 @@ -# Hugo Soucy - -## Développeur Web frontend de la ville de Québec - -* Téléphone : [581-996-6481](tel:+15819966481) -* Courriel : <hugo@soucy.cc> -* GitHub : [@hs0ucy](https://github.com/hs0ucy) -* LinkedIn : [@hs0ucy](https://www.linkedin.com/in/hs0ucy/) -* Site Web : <http://hugo.soucy.cc/> - ---- - -## Profil - -Je suis un développeur Web frontend d'expérience, qui excelle à mettre -en valeur le travail de mes collègues designers et rédacteurs. J'aime -contribuer à l'émergence de sites Web de qualité, accessibles autant -aux humains qu'aux machines; pour y arriver, je favorise l'utilisation -des standards du Web et des formats libres. - -Je maîtrise les langages déclaratifs HTML et CSS, ainsi que la -programmation JavaScript. J'applique les bonnes pratiques -d'intégration Web responsive, tant au niveau de la performance, qu'au -niveau de l'accessibilité et de la compatibilité de navigation. - ---- - -## Expérience professionnelle - -* **Consultant en logiciel libre, spécialiste frontend**, -_Savoir-faire Linux_, Québec | 2014 – - * Intégrer des sites Web responsives avec HTML et CSS - * Programmer avec JavaScript, jQuery, YUI - * Coder des templates backend avec Twig, Django Template, Velocity, etc. - * Faire l'analyse frontend des mandats et futurs mandats - * Élaborer et animer la pratique frontend du département - * Répartir les assignations selon les besoins du calendrier de production - * Gérer les ressources humaines de l’équipe frontend : embauche, évaluation, médiation - * Participer à la planification et à la rédaction d’appels d’offres -* **Intégrateur Web sénior**, -_Libéo_, Québec | 2012 – 2013 - * Intégrer des sites Web responsives avec HTML et CSS - * Programmer avec JavaScript et jQuery - * Développer des interfaces dans TYPO3 et TypoScript -* **Développeur Web**, -_DuProprio_, Charny | 2011 – 2012 - * Intégrer des visuels avec HTML et CSS - * Maintenance du code frontend et backend - * Participe au développement de nouvelles fonctionnalités avec PHP et jQuery -* **Intégrateur Web et référenceur**, -_Kryzalid communication_, Montréal | 2007 – 2011 - * Intégrer tous les éléments des sites Web avec les langages XHTML, CSS, PHP et JavaScript - * Optimiser des sites Web pour le référencement naturel - * Modérer et animer le blogue de l'agence -* **Webmestre**, -_Fromagex_, Rimouski | 2005 – 2006 - * Mettre en place une solution de commerce électronique basée sur osCSS - * Intégrer et programmer le site Web de l'entreprise - * Soutenir techniquement les contributeurs du site -* **Webmestre et formateur en informatique**, -_Atena groupe-conseil_, Rimouski | 2005 – 2006 - * Planifier et concevoir la refonte du site Web de l'entreprise - * Donner des formations en micro-informatique et en création de site Web - * Rédiger des document de formation - * Soutenir techniquement la clientèle -* **Infographiste-Webmestre**, -_À la pige_, Montréal | 2003 – 2005 - * Créer des sites Web - * Concevoir des documents destinés à l'impression -* **Webmestre et formateur informatique**, -_Association franco-yukonnaise_, Whitehorse | 2002 – 2003 - * Concevoir des sites Web - * Produire des documents destinés à l'impression - * Donner des formations en microinformatique - * Créer des documents de formation - * Soutenir techniquement la clientèle -* **Coopérant-formateur en conception Web**, -_ONG Alternatives_, Rabat (Maroc) | 2001 – 2002 - * Planifier et concevoir la refonte du site Web d'ONG - * Donner des formations en création de sites Web - * Rédiger des documents didactiques -* **Intégrateur multimédia**, -_I.C. Axon_, Montréal | 1999 – 2001 - * Faire de la mise en page d'images numériques destinées à des CD-ROM interactifs - ---- - -## Scolarité - -* **Attestation d'études collégiales en design multimédia**, -Académie internationale du design de Montréal, Montréal | 1999 -* **Diplôme d'études collégiales en Arts plastiques**, -Cégep du Vieux-­Montréal, Montréal | 1998 - ---- - -## Formation continue - -* **Liferay: Styling Liferay with Themes** -Savoir-faire Linux, Montréal | 2015 -* **Liferay: Formation Administration Liferay** -Savoir-faire Linux, Montréal | 2014 -* **Accessibilité Web : SGQRI, WCAG**, -Modop, Québec | 2012 -* **TYPO3 Administrateur**, -Infoglobe, Québec | 2012 -* **Ergonomie centrée utilisateur**, -Centre de Recherche Informatique de Montréal (CRIM), Montréal | 2012 -* **Vers le Web 3.0 : Le Web sémantique**, -Centre de Recherche Informatique de Montréal (CRIM), Montréal | 2009 -* **JavaScript avec DHTML et DOM**, -Institut des technologies de l'information du Collège Maisonneuve, Montréal | 2008 diff --git a/content/note/2017/10/-la-claire-fntaine-l-l-mais-o.md b/content/note/2017/10/-la-claire-fntaine-l-l-mais-o.md @@ -0,0 +1,2 @@ + +À la claire fôntaine là là, mais où? diff --git a/content/note/2017/10/-la-claire-fntaine-l-l-mais-o.meta b/content/note/2017/10/-la-claire-fntaine-l-l-mais-o.meta @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +title="À la claire fôntaine là là, mais où?" +date="2017-10-28" +datetime="21:57:39" +template="note" +bridgy="true" +keywords="" +description="" diff --git a/content/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.md b/content/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.md @@ -0,0 +1,3 @@ + +Setup a desktop environment under #OpenBSD with #XFCE +~ <https://blog.cagedmonster.net/desktop-environment-under-openbsd> diff --git a/content/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.meta b/content/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.meta @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +title="Setup a desktop environment under OpenBSD with XFCE" +date="2017-10-10" +datetime="09:12:26" +template="note" +bridgy="true" +keywords="openbsd,xfce" diff --git a/content/note/2017/10/test-de-repost-en-posse-3.md b/content/note/2017/10/test-de-repost-en-posse-3.md @@ -0,0 +1,13 @@ + +Initially, it was probably invented to make #poutine smuggling :P + +<blockquote class="twitter-tweet" data-lang="fr"> + <p lang="en" dir="ltr"> + What a time to be alive. <a href="https://t.co/4FIkJVJNRD">pic.twitter.com/4FIkJVJNRD</a> + </p>&mdash; + <cite class="h-cite u-quotation-of"> + Josh McConnell (@joshmcconnell) <a class="u-url" href="https://twitter.com/joshmcconnell/status/871929679233642496?ref_src=twsrc%5Etfw">6 juin 2017</a> + </cite> +</blockquote> + +<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script> diff --git a/content/note/2017/10/test-de-repost-en-posse-3.meta b/content/note/2017/10/test-de-repost-en-posse-3.meta @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +title="Test de repost en POSSE" +date="2017-10-03" +datetime="22:03:11" +template="note" +bridgy="true" +keywords="indieweb, quote, posse" diff --git a/fakestache b/fakestache @@ -48,10 +48,12 @@ if is_in_array "$1" "${archetypes[@]}" == 1; then mkdir -p "$CONTENT_PATH/$1/${NOW_DATE:0:4}/${NOW_DATE:5:2}/" - mo $ARCHETYPES_PATH/$1.md > "$CONTENT_PATH/$1/${NOW_DATE:0:4}/${NOW_DATE:5:2}/$archetype_filename.md" - mo $ARCHETYPES_PATH/$1.meta > "$CONTENT_PATH/$1/${NOW_DATE:0:4}/${NOW_DATE:5:2}/$archetype_filename.meta" + archetype_destination="$CONTENT_PATH/$1/${NOW_DATE:0:4}/${NOW_DATE:5:2}" - echo "- The files '$CONTENT_PATH/$1/${NOW_DATE:0:4}/${NOW_DATE:5:2}/{$archetype_filename.md, $archetype_filename.meta}' had been created." + mo $ARCHETYPES_PATH/$1.md > "$archetype_destination/$archetype_filename.md" + mo $ARCHETYPES_PATH/$1.meta > "$archetype_destination/$archetype_filename.meta" + + echo "- The files '$archetype_destination/{$archetype_filename.md, $archetype_filename.meta}' had been created." exit 0 else diff --git a/functions/create-html-pages b/functions/create-html-pages @@ -38,6 +38,7 @@ create_html_pages () { unset -v cite unset -v citeurl unset -v replyto + unset -v repostof # Load the meta file of the markdown . "${markdown%.*}.meta" @@ -67,7 +68,7 @@ create_html_pages () { mo "$TPL_MUSTACHE_PATH/default.mustache" > "$(dirname "$markdown")/${outputname%.*}.html" fi - echo "$date|$datetime|$BASE_URL${page_path%.*}.html|$page_title|$page_id" + echo "$date|$datetime|$SITE_URL${page_path%.*}.html|$page_title|$page_id" done | sort -nr -o "$FAKESTACHE_PATH"/"$DB" } diff --git a/shortlinks b/shortlinks @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# Dependency +# <https://github.com/ericchiang/pup> + +# Short URL command example +# curl -v "http://x.soucy.cc/?save=y&url=https://words.werd.io/tear-down-the-new-institutions-91516b868a2c" + +# curl -s "http://x.soucy.cc/?save=y&url=https://words.werd.io/tear-down-the-new-institutions-91516b868a2c" | pup '[name="tighturl"] attr{value}' + +while read -r db_entry; do + field_permalink=$(echo $db_entry | cut -d "|" -f 3) + + field_shortlink=$(curl -s "http://x.soucy.cc/?save=y&url=$field_permalink" | pup '[name="tighturl"] attr{value}') + + echo "$field_permalink|$field_shortlink" + +done < fakestache.db > shortlinks.db + diff --git a/static/dev/css/modules/cv.css b/static/dev/css/modules/cv.css @@ -5,12 +5,40 @@ text-align:left; } -.cv__main h1 { +.cv__hr { + margin-top:var(--size-double-and-half); +} + +.cv__main .logo { padding-right:calc(1rem * (60 / var(--base-size))); } +.cv__contactinfos { + overflow:hidden; +} + +.cv__contactinfos__key, +.cv__contactinfos__value { + float:left; +} + +.cv__contactinfos__value + .cv__contactinfos__key { + clear:left; +} + +.cv__contactinfos__key::after { + content: "\00a0:\00a0"; + display:inline; +} + +.cv__experience, +.cv__education, +.cv__course { + margin-bottom:var(--size-and-half); +} -.cv__main h1 + ul { - list-style-type:none; - margin-left:0; +.cv__experience__name, +.cv__education__name, +.cv__course__name { + font-size:var(--size-h3); } diff --git a/static/prod/css/styles.css b/static/prod/css/styles.css @@ -876,14 +876,42 @@ pre code { text-align:left; } -.cv__main h1 { +.cv__hr { + margin-top:var(--size-double-and-half); +} + +.cv__main .logo { padding-right:calc(1rem * (60 / var(--base-size))); } +.cv__contactinfos { + overflow:hidden; +} -.cv__main h1 + ul { - list-style-type:none; - margin-left:0; +.cv__contactinfos__key, +.cv__contactinfos__value { + float:left; +} + +.cv__contactinfos__value + .cv__contactinfos__key { + clear:left; +} + +.cv__contactinfos__key::after { + content: "\00a0:\00a0"; + display:inline; +} + +.cv__experience, +.cv__education, +.cv__course { + margin-bottom:var(--size-and-half); +} + +.cv__experience__name, +.cv__education__name, +.cv__course__name { + font-size:var(--size-h3); } /* FOOTER */ diff --git a/static/prod/css/styles.min.css b/static/prod/css/styles.min.css @@ -1 +1 @@ -@font-face{font-family:leitura news;src:url(../fonts/leitura/leituranews-italic4-webfont.eot);src:url(../fonts/leitura/leituranews-italic4-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/leitura/leituranews-italic4-webfont.woff) format('woff'),url(../fonts/leitura/leituranews-italic4-webfont.ttf) format('truetype'),url(../fonts/leitura/leituranews-italic4-webfont.svg#LeituraNewsItalic4Regular) format('svg');font-weight:400;font-style:normal}@font-face{font-family:domine;src:url(../fonts/domine/domine-bold-webfont.eot);src:url(../fonts/domine/domine-bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/domine/domine-bold-webfont.woff2) format('woff2'),url(../fonts/domine/domine-bold-webfont.woff) format('woff'),url(../fonts/domine/domine-bold-webfont.ttf) format('truetype'),url(../fonts/domine/domine-bold-webfont.svg#dominebold) format('svg');font-weight:700;font-style:normal}@font-face{font-family:domine;src:url(../fonts/domine/domine-regular-webfont.eot);src:url(../fonts/domine/domine-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/domine/domine-regular-webfont.woff2) format('woff2'),url(../fonts/domine/domine-regular-webfont.woff) format('woff'),url(../fonts/domine/domine-regular-webfont.ttf) format('truetype'),url(../fonts/domine/domine-regular-webfont.svg#domineregular) format('svg');font-weight:400;font-style:normal}/*!normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css*/html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}:root{--base-bg-color: #f1f1f1;--base-fg-color: #111111;--base-link-color: #0000ff;--code-bg-color: rgba(255,255,255,0.4);--code-fg-color: #333333;--shadow-color: #cccccc;--fontfamily-alpha: "Domine",Georgia,"Times New Roman",times,serif;--fontfamily-beta: "Leitura News","Domine", serif;--fontfamily-gamma: monospace;--base-size: 18;--base-fontsize: calc((var(--base-size) / 16) * 100%);--base-lineheight: 1.5;--size-h1: calc(1rem * (36 / var(--base-size)));--size-h2: calc(1rem * (27 / var(--base-size)));--size-h3: calc(1rem * (21 / var(--base-size)));--size-h4: calc(1rem * (18 / var(--base-size)));--size-h5: calc(1rem * (16 / var(--base-size)));--size-h6: calc(1rem * (14 / var(--base-size)));--size-base: calc(1rem * (var(--base-size) / var(--base-size)));--size-half: calc(var(--size-base) / 2);--size-two-thirds: calc(var(--size-base) / 1.5);--size-quarter: calc(var(--size-base) / 4);--size-and-quarter: calc(var(--size-base) * 1.25);--size-and-half: calc(var(--size-base) * 1.5);--size-double: calc(var(--size-base) * 2);--size-double-and-half: calc(var(--size-base) * 2.5);--grid-max-width: 992px}@media screen and (min-width:62.0000em){:root{--base-fontsize: calc((24 / 16) * 100%)}}html,button,input,select,textarea{color:var(--base-fg-color);font-family:var(--fontfamily-alpha);font-size:var(--base-fontsize);line-height:var(--base-lineheight)}html,body{height:100%;min-height:100%;position:relative}body{background:var(--base-bg-color) url(http://assets.soucy.cc/images/noise.png) repeat}hr{display:block;height:1px;border:0;border-top:1px solid var(--base-fg-color);margin:var(--size-base) 0;padding:0}h1,.like-h1{font-size:var(--size-h1);hyphens:none;margin:0 0 var(--size-and-half);padding-top:var(--size-double)}h2,.like-h2{font-size:var(--size-h2);margin:var(--size-double-and-half) 0 var(--size-and-half)}h3,.like-h3{font-size:var(--size-h3);margin:var(--size-and-half) 0 var(--size-base)}h4,.like-h4{font-size:var(--size-h4);margin:var(--size-base) 0}h5,.like-h5{font-size:var(--size-h5);margin:var(--size-base) 0}h6,.like-h6{font-size:var(--size-h6);margin:var(--size-base) 0}a{border-bottom:1px dotted var(--base-link-color);color:var(--base-link-color);text-decoration:none}a:active,a:visited{border-bottom:1px dotted var(--base-fg-color);color:var(--base-fg-color)}a:focus,a:hover{background-color:var(--base-link-color);border:0;color:var(--base-bg-color)}ol,ul{margin-left:var(--size-base);padding:0}ul ul{margin-bottom:var(--size-half);margin-top:var(--size-half)}li{margin-bottom:var(--size-quarter)}address{font-style:normal}address,dl,menu,ol,ul{margin-bottom:var(--size-base);margin-top:var(--size-base)}dd{margin:0}dl,menu,ol,ul{padding:0}nav ul,nav ol{list-style:none;list-style-image:none}menu ul,menu ol,nav ul,nav ol{margin:0}blockquote{border-left:var(--size-half) solid #ccc;display:block;margin:var(--size-base) 0;padding-left:var(--size-and-half)}blockquote span{display:inline-block}blockquote span:before,blockquote span:after{display:inline}blockquote span:after{content:"\00A0\00BB"}blockquote span:before{content:"\00AB\00A0"}blockquote p{display:inline}figure{margin:0}img{max-width:100%;width:auto}code{background:var(--code-bg-color);color:var(--code-fg-color);font-size:var(--size-h5)}pre{background:var(--code-bg-color);overflow-x:auto;padding:var(--size-half)}pre code{background:transparent}.ir{background-color:transparent;border:0;overflow:hidden;*text-indent:-9999px}.ir:before{content:"";display:block;width:0;height:150%}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.clearfix{*zoom:1}.position--fixed{position:fixed}.position--relative{position:relative}.layout{hyphens:auto;margin-left:auto;margin-right:auto;max-width:var(--grid-max-width);padding-left:var(--size-base);padding-right:var(--size-base);width:auto}@media screen and (min-width:48.0000em){.layout{text-align:left}}.layout__vcenter{display:table-cell;height:100vh;vertical-align:middle}.cv__banner,.cv__main{text-align:left}.cv__main h1{padding-right:calc(1rem * (60/var(--base-size)))}.cv__main h1+ul{list-style-type:none;margin-left:0}footer{font-size:var(--size-h6)}:root{--img-cache-size: calc(1rem * (150 / var(--base-size)))}.img-cache{border:1rem solid transparent;border-radius:100%;display:inline-block;float:right;height:var(--img-cache-size);position:relative;overflow:hidden;width:var(--img-cache-size)}.img-cache>.u-photo{height:auto;position:relative;top:-20px;width:auto}.logo,#hugosoucy{font:normal 3.33333rem/1.1 var(--fontfamily-beta);hyphens:none;margin:0 0 var(--size-and-quarter);padding-top:var(--size-and-quarter);padding-right:calc(1rem * (68/var(--base-size)));text-shadow:3px 3px var(--shadow-color)}@media screen and (min-width:22.5000em){.logo,#hugosoucy{line-height:normal}}.logo a[rel=home]{border:0;color:var(--base-fg-color)}:root{--nav-btn-size: calc(1rem * (50 / var(--base-size)))}.nav-button,.nav__close{border:0;display:inline-block;position:absolute;right:var(--size-base);text-align:center;top:var(--size-base)}.nav-button:active,.nav-button:hover,.nav-button:focus,.nav-button:visited{background:transparent;border-bottom:0;color:var(--base-fg-color)}.nav__close,.nav__close:visited{background:transparent;border-bottom:0;color:var(--base-bg-color);z-index:999}.nav-button__text,.nav__close__text{font-size:var(--size-h6);display:block}.nav-button__burger,.nav__x{display:block;margin:0 auto;position:relative}.nav-button__burger{background:var(--base-fg-color)}.nav-button__burger,.nav-button__burger__ico,.nav__x,.nav__x__ico{height:var(--nav-btn-size);line-height:var(--nav-btn-size);width:var(--nav-btn-size)}.nav__x{background:var(--code-fg-color)}.nav-button:hover .nav-button__burger,.nav-button:focus .nav-button__burger{background:var(--base-link-color)}.nav__panel{background:var(--base-fg-color);color:var(--base-bg-color)}.js .nav__panel{display:none}.nav__panel.state--hidden,.nav__panel.state--visible{display:block;height:auto;left:0;min-height:1em;opacity:1;position:absolute;top:0;width:100%}@supports(transition:transform .25s ease-in-out){.nav__panel.state--hidden,.nav__panel.state--visible{transition:transform .25s ease-in-out}}.nav__panel.state--hidden{top:-100%}.nav__panel.state--visible{top:0}@supports(transform:translateY(-100%)){.nav__panel.state--hidden{top:0;transform:translateY(-100%)}.nav__panel.state--visible{transform:translateY(0)}}.nav__panel__content{margin:0 auto;position:relative;text-align:left;width:auto}.nav__list{padding:var(--size-base) 0}.nav__link,.nav__link:visited{color:var(--base-bg-color)}.nav__link{font-size:var(--size-h6)}.no-js .nav__close{display:none;opacity:0}.note__list{list-style-type:none;margin-left:0}.note__item{border-bottom:1px solid var(--shadow-color);margin-bottom:var(--size-and-half);padding-bottom:var(--size-base)}.note__blockquote__footer{margin:var(--size-base) 0 0}.note__footer{font-family:var(--fontfamily-gamma);font-size:var(--size-two-thirds)}.single{text-align:left}.single h1:first-child{padding-right:calc(1rem * (74/var(--base-size)))}.single__footer{font-family:var(--fontfamily-gamma);font-size:var(--size-two-thirds)}.webmention-container{background:rgba(9,9,9,.1);font-family:var(--fontfamily-gamma);font-size:var(--size-two-thirds);margin-top:var(--size-and-half);padding:var(--size-base)}.webmention-mention{margin-bottom:var(--size-base)}.webmention-mention:last-child{margin-bottom:0}.webmention-author a{display:inline}.webmention-author img{display:inline-block;margin-right:var(--size-half);max-width:calc(1rem * (32/var(--base-size)));height:auto}.webmention-summary{margin:var(--size-half) 0 0}- \ No newline at end of file +@font-face{font-family:leitura news;src:url(../fonts/leitura/leituranews-italic4-webfont.eot);src:url(../fonts/leitura/leituranews-italic4-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/leitura/leituranews-italic4-webfont.woff) format('woff'),url(../fonts/leitura/leituranews-italic4-webfont.ttf) format('truetype'),url(../fonts/leitura/leituranews-italic4-webfont.svg#LeituraNewsItalic4Regular) format('svg');font-weight:400;font-style:normal}@font-face{font-family:domine;src:url(../fonts/domine/domine-bold-webfont.eot);src:url(../fonts/domine/domine-bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/domine/domine-bold-webfont.woff2) format('woff2'),url(../fonts/domine/domine-bold-webfont.woff) format('woff'),url(../fonts/domine/domine-bold-webfont.ttf) format('truetype'),url(../fonts/domine/domine-bold-webfont.svg#dominebold) format('svg');font-weight:700;font-style:normal}@font-face{font-family:domine;src:url(../fonts/domine/domine-regular-webfont.eot);src:url(../fonts/domine/domine-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/domine/domine-regular-webfont.woff2) format('woff2'),url(../fonts/domine/domine-regular-webfont.woff) format('woff'),url(../fonts/domine/domine-regular-webfont.ttf) format('truetype'),url(../fonts/domine/domine-regular-webfont.svg#domineregular) format('svg');font-weight:400;font-style:normal}/*!normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css*/html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}:root{--base-bg-color: #f1f1f1;--base-fg-color: #111111;--base-link-color: #0000ff;--code-bg-color: rgba(255,255,255,0.4);--code-fg-color: #333333;--shadow-color: #cccccc;--fontfamily-alpha: "Domine",Georgia,"Times New Roman",times,serif;--fontfamily-beta: "Leitura News","Domine", serif;--fontfamily-gamma: monospace;--base-size: 18;--base-fontsize: calc((var(--base-size) / 16) * 100%);--base-lineheight: 1.5;--size-h1: calc(1rem * (36 / var(--base-size)));--size-h2: calc(1rem * (27 / var(--base-size)));--size-h3: calc(1rem * (21 / var(--base-size)));--size-h4: calc(1rem * (18 / var(--base-size)));--size-h5: calc(1rem * (16 / var(--base-size)));--size-h6: calc(1rem * (14 / var(--base-size)));--size-base: calc(1rem * (var(--base-size) / var(--base-size)));--size-half: calc(var(--size-base) / 2);--size-two-thirds: calc(var(--size-base) / 1.5);--size-quarter: calc(var(--size-base) / 4);--size-and-quarter: calc(var(--size-base) * 1.25);--size-and-half: calc(var(--size-base) * 1.5);--size-double: calc(var(--size-base) * 2);--size-double-and-half: calc(var(--size-base) * 2.5);--grid-max-width: 992px}@media screen and (min-width:62.0000em){:root{--base-fontsize: calc((24 / 16) * 100%)}}html,button,input,select,textarea{color:var(--base-fg-color);font-family:var(--fontfamily-alpha);font-size:var(--base-fontsize);line-height:var(--base-lineheight)}html,body{height:100%;min-height:100%;position:relative}body{background:var(--base-bg-color) url(http://assets.soucy.cc/images/noise.png) repeat}hr{display:block;height:1px;border:0;border-top:1px solid var(--base-fg-color);margin:var(--size-base) 0;padding:0}h1,.like-h1{font-size:var(--size-h1);hyphens:none;margin:0 0 var(--size-and-half);padding-top:var(--size-double)}h2,.like-h2{font-size:var(--size-h2);margin:var(--size-double-and-half) 0 var(--size-and-half)}h3,.like-h3{font-size:var(--size-h3);margin:var(--size-and-half) 0 var(--size-base)}h4,.like-h4{font-size:var(--size-h4);margin:var(--size-base) 0}h5,.like-h5{font-size:var(--size-h5);margin:var(--size-base) 0}h6,.like-h6{font-size:var(--size-h6);margin:var(--size-base) 0}a{border-bottom:1px dotted var(--base-link-color);color:var(--base-link-color);text-decoration:none}a:active,a:visited{border-bottom:1px dotted var(--base-fg-color);color:var(--base-fg-color)}a:focus,a:hover{background-color:var(--base-link-color);border:0;color:var(--base-bg-color)}ol,ul{margin-left:var(--size-base);padding:0}ul ul{margin-bottom:var(--size-half);margin-top:var(--size-half)}li{margin-bottom:var(--size-quarter)}address{font-style:normal}address,dl,menu,ol,ul{margin-bottom:var(--size-base);margin-top:var(--size-base)}dd{margin:0}dl,menu,ol,ul{padding:0}nav ul,nav ol{list-style:none;list-style-image:none}menu ul,menu ol,nav ul,nav ol{margin:0}blockquote{border-left:var(--size-half) solid #ccc;display:block;margin:var(--size-base) 0;padding-left:var(--size-and-half)}blockquote span{display:inline-block}blockquote span:before,blockquote span:after{display:inline}blockquote span:after{content:"\00A0\00BB"}blockquote span:before{content:"\00AB\00A0"}blockquote p{display:inline}figure{margin:0}img{max-width:100%;width:auto}code{background:var(--code-bg-color);color:var(--code-fg-color);font-size:var(--size-h5)}pre{background:var(--code-bg-color);overflow-x:auto;padding:var(--size-half)}pre code{background:transparent}.ir{background-color:transparent;border:0;overflow:hidden;*text-indent:-9999px}.ir:before{content:"";display:block;width:0;height:150%}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.clearfix{*zoom:1}.position--fixed{position:fixed}.position--relative{position:relative}.layout{hyphens:auto;margin-left:auto;margin-right:auto;max-width:var(--grid-max-width);padding-left:var(--size-base);padding-right:var(--size-base);width:auto}@media screen and (min-width:48.0000em){.layout{text-align:left}}.layout__vcenter{display:table-cell;height:100vh;vertical-align:middle}.cv__banner,.cv__main{text-align:left}.cv__hr{margin-top:var(--size-double-and-half)}.cv__main .logo{padding-right:calc(1rem * (60/var(--base-size)))}.cv__contactinfos{overflow:hidden}.cv__contactinfos__key,.cv__contactinfos__value{float:left}.cv__contactinfos__value+.cv__contactinfos__key{clear:left}.cv__contactinfos__key::after{content:"\00a0:\00a0";display:inline}.cv__experience,.cv__education,.cv__course{margin-bottom:var(--size-and-half)}.cv__experience__name,.cv__education__name,.cv__course__name{font-size:var(--size-h3)}footer{font-size:var(--size-h6)}:root{--img-cache-size: calc(1rem * (150 / var(--base-size)))}.img-cache{border:1rem solid transparent;border-radius:100%;display:inline-block;float:right;height:var(--img-cache-size);position:relative;overflow:hidden;width:var(--img-cache-size)}.img-cache>.u-photo{height:auto;position:relative;top:-20px;width:auto}.logo,#hugosoucy{font:normal 3.33333rem/1.1 var(--fontfamily-beta);hyphens:none;margin:0 0 var(--size-and-quarter);padding-top:var(--size-and-quarter);padding-right:calc(1rem * (68/var(--base-size)));text-shadow:3px 3px var(--shadow-color)}@media screen and (min-width:22.5000em){.logo,#hugosoucy{line-height:normal}}.logo a[rel=home]{border:0;color:var(--base-fg-color)}:root{--nav-btn-size: calc(1rem * (50 / var(--base-size)))}.nav-button,.nav__close{border:0;display:inline-block;position:absolute;right:var(--size-base);text-align:center;top:var(--size-base)}.nav-button:active,.nav-button:hover,.nav-button:focus,.nav-button:visited{background:transparent;border-bottom:0;color:var(--base-fg-color)}.nav__close,.nav__close:visited{background:transparent;border-bottom:0;color:var(--base-bg-color);z-index:999}.nav-button__text,.nav__close__text{font-size:var(--size-h6);display:block}.nav-button__burger,.nav__x{display:block;margin:0 auto;position:relative}.nav-button__burger{background:var(--base-fg-color)}.nav-button__burger,.nav-button__burger__ico,.nav__x,.nav__x__ico{height:var(--nav-btn-size);line-height:var(--nav-btn-size);width:var(--nav-btn-size)}.nav__x{background:var(--code-fg-color)}.nav-button:hover .nav-button__burger,.nav-button:focus .nav-button__burger{background:var(--base-link-color)}.nav__panel{background:var(--base-fg-color);color:var(--base-bg-color)}.js .nav__panel{display:none}.nav__panel.state--hidden,.nav__panel.state--visible{display:block;height:auto;left:0;min-height:1em;opacity:1;position:absolute;top:0;width:100%}@supports(transition:transform .25s ease-in-out){.nav__panel.state--hidden,.nav__panel.state--visible{transition:transform .25s ease-in-out}}.nav__panel.state--hidden{top:-100%}.nav__panel.state--visible{top:0}@supports(transform:translateY(-100%)){.nav__panel.state--hidden{top:0;transform:translateY(-100%)}.nav__panel.state--visible{transform:translateY(0)}}.nav__panel__content{margin:0 auto;position:relative;text-align:left;width:auto}.nav__list{padding:var(--size-base) 0}.nav__link,.nav__link:visited{color:var(--base-bg-color)}.nav__link{font-size:var(--size-h6)}.no-js .nav__close{display:none;opacity:0}.note__list{list-style-type:none;margin-left:0}.note__item{border-bottom:1px solid var(--shadow-color);margin-bottom:var(--size-and-half);padding-bottom:var(--size-base)}.note__blockquote__footer{margin:var(--size-base) 0 0}.note__footer{font-family:var(--fontfamily-gamma);font-size:var(--size-two-thirds)}.single{text-align:left}.single h1:first-child{padding-right:calc(1rem * (74/var(--base-size)))}.single__footer{font-family:var(--fontfamily-gamma);font-size:var(--size-two-thirds)}.webmention-container{background:rgba(9,9,9,.1);font-family:var(--fontfamily-gamma);font-size:var(--size-two-thirds);margin-top:var(--size-and-half);padding:var(--size-base)}.webmention-mention{margin-bottom:var(--size-base)}.webmention-mention:last-child{margin-bottom:0}.webmention-author a{display:inline}.webmention-author img{display:inline-block;margin-right:var(--size-half);max-width:calc(1rem * (32/var(--base-size)));height:auto}.webmention-summary{margin:var(--size-half) 0 0}+ \ No newline at end of file diff --git a/templates/mustache/curriculum-vitae.mustache b/templates/mustache/curriculum-vitae.mustache @@ -1,29 +1,30 @@ {{> partials/head.mustache }} -<body class="cv" id="cv"> - <main class="cv__main h-entry hentry"> - <div class="layout e-content p-name"> - {{ main_content }} - </div> +<body class="cv"> + <main class="cv__main"> + <div class="layout"> + {{> partials/cv.mustache }} + {{ main_content }} + </div> - <footer class="cv__footer"> - <address class="layout"> - <hr/> - <p> - <a class="u-url u-uid u-syndication" href="#" rel="bookmark">#</a> + <footer class="cv__footer"> + <address class="layout"> + <hr/> + <p> + <a href="#">#</a> - Créé à {{ SITE_AUTHOR_LOCALITY }} le <time class="dt-published" datetime="{{ date }}T{{ datetime }}">{{ date }}</time> par + Créé à {{ SITE_AUTHOR_LOCALITY }} le <time datetime="{{ date }}T{{ datetime }}">{{ date }}</time> par - <a class="p-author author" href="{{ BASE_URL }}#hs" rel="author"><i>{{ SITE_AUTHOR }}</i></a>. + <a href="{{ BASE_URL }}#hs" rel="author"><i>{{ SITE_AUTHOR }}</i></a>. - Modifié le <time class="dt-updated">{{ modified }}</time>. - </p> - </address> - </footer> - </main> + Modifié le <time>{{ modified }}</time>. + </p> + </address> + </footer> + </main> - {{> partials/nav.button.mustache }} - {{> partials/nav.mustache }} - {{> partials/bottom-script.mustache }} + {{> partials/nav.button.mustache }} + {{> partials/nav.mustache }} + {{> partials/bottom-script.mustache }} </body> </html> diff --git a/templates/mustache/note.mustache b/templates/mustache/note.mustache @@ -39,7 +39,16 @@ &#x21b3; En réponse à {{ replyto }}. </a> </p> - {{/ replyto }} + {{/ replyto }} + + {{# repostof }} + <p> + <a class="note__link--replyto u-repost u-repost-of" + href="{{ repostof }}"> + &#x2672; {{ repostof }}. + </a> + </p> + {{/ repostof }} <p> {{# permalink }} diff --git a/templates/mustache/partials/cv.mustache b/templates/mustache/partials/cv.mustache @@ -0,0 +1,488 @@ +<div prefix="cv: http://rdfs.org/resume-rdf/ dc: http://purl.org/dc/terms/ schema: http://schema.org/"> + <div class="h-resume" + id="cv" + resource="#cv" + typeof="cv:CV"> + <span class="p-name visuallyhidden" + hidden="hidden" + property="cv:cvTitle">Curriculum vitae de Hugo Soucy</span> + + <header class="p-contact h-card" + property="cv:aboutPerson" + resource="http://hugo.soucy.cc/#hs" + typeof="foaf:Person"> + <hgroup> + <h1 class="p-name logo" + property="foaf:name">Hugo Soucy</h1> + <h2> + <span class="p-job-title" property="schema:jobTitle">Développeur Web frontend</span> + de la ville de <span class="p-locality" property="schema:addressLocality">Québec</span> + </h2> + </hgroup> + + <link class="u-photo" + href="http://assets.soucy.cc/images/hugosoucy/hs-automne-2012-372x430.jpg" + property="foaf:img" /> + + <dl class="cv__contactinfos"> + <dt class="cv__contactinfos__key">Téléphone</dt> + <dd class="cv__contactinfos__value"> + <a class="p-tel" + href="tel:+15819966481" + property="foaf:phone" + rel="me">581-996-6481</a> + </dd> + <dt class="cv__contactinfos__key">Courriel</dt> + <dd class="cv__contactinfos__value"> + <a class="u-email" + href="mailto:hugo@soucy.cc" + property="foaf:mbox" + rel="me">hugo@soucy.cc</a> + </dd> + <dt class="cv__contactinfos__key">GitHub</dt> + <dd class="cv__contactinfos__value" + property="foaf:account" + typeof="foaf:OnlineAccount"> + <a class="p-nickname" + href="https://github.com/hs0ucy" + property="foaf:accountProfilePage" + rel="me" + title="GitHub"> + <span property="foaf:nick">@hs0ucy</span> + </a> + </dd> + <dt class="cv__contactinfos__key">LinkedIn</dt> + <dd class="cv__contactinfos__value" + property="foaf:account" + typeof="foaf:OnlineAccount"> + <a href="https://www.linkedin.com/in/hs0ucy/" + property="foaf:accountProfilePage" + rel="me" + title="LinkedIn"> + <span property="foaf:nick">@hs0ucy</span> + </a> + </dd> + + <dt class="cv__contactinfos__key">Site Web</dt> + <dd class="cv__contactinfos__value"> + <a class="u-uid" + href="http://hugo.soucy.cc/" + property="foaf:homepage" + rel="me">http://hugo.soucy.cc/</a> + </dd> + </dl> + </header> + + <hr class="cv__hr" /> + + <section> + <h2>Profil</h2> + + <div class="p-summary" property="dc:description"> + <p>Je suis un développeur Web frontend d'expérience, qui excelle + à mettre en valeur le travail de mes collègues designers et + rédacteurs. J'aime contribuer à l'émergence de sites Web de + qualité, accessibles autant aux humains qu'aux machines; pour y + arriver, je favorise l'utilisation des standards du Web et des + formats libres.</p> + + <p>Je maîtrise les langages déclaratifs HTML et CSS, ainsi que + la programmation JavaScript. J'applique les bonnes pratiques + d'intégration Web responsive, tant au niveau de la performance, + qu'au niveau de l'accessibilité et de la compatibilité de + navigation.</p> + </div> + </section> + + <hr class="cv__hr" /> + + <section> + <h2>Expérience professionnelle</h2> + + <dl> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Consultant en logiciel libre, spécialiste frontend</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="https://savoirfairelinux.com/" + property="cv:URL" + rel="external nofollow"> + <em property="cv:employedIn">Savoir-faire Linux</em> + </a>, <span class="p-locality" property="cv:Locality">Québec</span> + </span> | <time class="dt-start" property="cv:startDate">2014</time> – + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Intégrer des sites Web responsives avec HTML et CSS.</li> + <li>Programmer avec JavaScript, jQuery, YUI.</li> + <li>Coder des templates backend avec Twig, Django Template, Velocity, etc.</li> + <li>Faire l'analyse frontend des mandats et futurs mandats.</li> + <li>Élaborer et animer la pratique frontend du département.</li> + <li>Répartir les assignations selon les besoins du calendrier de production.</li> + <li>Gérer les ressources humaines de l’équipe frontend : embauche, évaluation, médiation.</li> + <li>Participer à la planification et à la rédaction d’appels d’offres.</li> + </ul> + </dd> + </div> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Intégrateur Web sénior</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="https://libeo.com/" + property="cv:URL" + rel="external nofollow"> + <em property="cv:employedIn">Libéo</em> + </a>, <span class="p-locality" property="cv:Locality">Québec</span> + </span> | <time class="dt-start" property="cv:startDate">2012</time> – <time class="dt-end" property="cv:endDate">2013</time> + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Intégrer des sites Web responsives avec HTML et CSS.</li> + <li>Programmer avec JavaScript et jQuery.</li> + <li>Développer des interfaces dans TYPO3 et TypoScript.</li> + </ul> + </dd> + </div> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Développeur Web</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="http://duproprio.com/" + property="cv:URL" + rel="external nofollow"> + <em property="cv:employedIn">DuProprio</em> + </a>, <span class="p-locality">Charny</span> + </span> | <time class="dt-start" property="cv:startDate">2011</time> – <time class="dt-end" property="cv:endDate">2012</time> + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Intégrer des visuels avec HTML et CSS.</li> + <li>Maintenance du code frontend et backend.</li> + <li>Participe au développement de nouvelles fonctionnalités avec PHP et jQuery.</li> + </ul> + </dd> + </div> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Intégrateur Web et référenceur</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="https://www.kryzalid.net/fr" + property="cv:URL" + rel="external nofollow"> + <em property="cv:employedIn">Kryzalid communication</em> + </a>, <span class="p-locality">Montréal</span> + </span> | <time class="dt-start" property="cv:startDate">2007</time> – <time class="dt-end" property="cv:endDate">2011</time> + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Intégrer tous les éléments des sites Web avec les langages XHTML, CSS, PHP et JavaScript.</li> + <li>Optimiser des sites Web pour le référencement naturel.</li> + <li>Modérer et animer le blogue de l'agence.</li> + </ul> + </dd> + </div> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Webmestre</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="http://www.fromagex.com/" + property="cv:URL" + rel="external nofollow"> + <em property="cv:employedIn">Fromagex</em> + </a>, <span class="p-locality">Rimouski</span> + </span> | <time class="dt-start" property="cv:startDate">2005</time> – <time class="dt-end" property="cv:endDate">2006</time> + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Mettre en place une solution de commerce électronique basée sur osCSS.</li> + <li>Intégrer et programmer le site Web de l'entreprise.</li> + <li>Soutenir techniquement les contributeurs du site.</li> + </ul> + </dd> + </div> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Webmestre et formateur en informatique</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="http://www.atena.qc.ca/" + property="cv:URL" + rel="external nofollow"> + <em property="cv:employedIn">Atena groupe-conseil</em> + </a>, <span class="p-locality">Rimouski</span> + </span> | <time class="dt-start" property="cv:startDate">2005</time> – <time class="dt-end" property="cv:endDate">2006</time> + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Planifier et concevoir la refonte du site Web de l'entreprise.</li> + <li>Donner des formations en micro-informatique et en création de site Web.</li> + <li>Rédiger des document de formation.</li> + <li>Soutenir techniquement la clientèle.</li> + </ul> + </dd> + </div> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Infographiste-Webmestre</strong> + </dt> + <dd> + <i>À la pige</i>, Montréal | <time class="dt-start" property="cv:startDate">2003</time> – <time class="dt-end" property="cv:endDate">2005</time> + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Créer des sites Web.</li> + <li>Concevoir des documents destinés.</li> + </ul> + </dd> + </div> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Webmestre et formateur informatique</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="https://www.afy.yk.ca/" + property="cv:URL" + rel="external nofollow"> + <em property="cv:employedIn">Association franco-yukonnaise</em> + </a>, <span class="p-locality">Whitehorse</span> (<span class="p-region">Yukon</span>) + </span> | <time class="dt-start" property="cv:startDate">2002</time> – <time class="dt-end" property="cv:endDate">2003</time> + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Concevoir des sites Web.</li> + <li>Produire des documents destinés à l'impression.</li> + <li>Donner des formations en microinformatique.</li> + <li>Créer des documents de formation.</li> + <li>Soutenir techniquement la clientèle.</li> + </ul> + </dd> + </div> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Coopérant-formateur en conception Web</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="https://www.alternatives.ca/" + property="cv:URL" + rel="external nofollow"> + <em property="cv:employedIn">ONG Alternatives</em> + </a>, <span class="p-locality">Rabat</span> (<span class="p-country-name">Maroc</span>) + </span> | <time class="dt-start" property="cv:startDate">2001</time> – <time class="dt-end" property="cv:endDate">2002</time> + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Planifier et concevoir la refonte du site Web d'ONG.</li> + <li>Donner des formations en création de sites Web.</li> + <li>Rédiger des documents didactiques.</li> + </ul> + </dd> + </div> + <div class="cv__experience p-experience h-event" + property="cv:hasWorkHistory" + typeof="cv:workHistory"> + <dt> + <strong class="cv__experience__name p-name" property="cv:jobTitle">Intégrateur multimédia</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="http://www.icaxon.com/" + property="cv:URL" + rel="external nofollow"> + <em property="cv:employedIn">I.C. Axon</em> + </a>, <span class="p-locality">Montréal</span> + </span> | <time class="dt-start" property="cv:startDate">1999</time> – <time class="dt-end" property="cv:endDate">2001</time> + </dd> + <dd> + <ul class="p-summary" property="cv:jobDescription"> + <li>Faire de la mise en page d'images numériques destinées à des CD-ROM interactifs.</li> + </ul> + </dd> + </div> + </dl> + </section> + + <hr class="cv__hr" /> + + <section> + <h2>Scolarité</h2> + + <dl> + <div class="cv__education p-education h-event" + property="cv:hasEducation" + typeof="cv:Education"> + <dt> + <strong class="cv__education__name p-name" property="cv:degreeType">Attestation d'Études Collégiales en Design Multimédia</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="http://www.aadmtl.com/" + property="cv:URL" + rel="external nofollow"> + <span property="cv:studiedIn">Académie des arts et du design de Montréal</span> + </a>, + <span class="p-locality">Montréal</span> + </span> | <time class="dt-start" property="cv:startDate">1998</time> – <time class="dt-end" property="cv:endDate">1999</time> + </dd> + </div> + <div class="cv__education p-education h-event" + property="cv:hasEducation" + typeof="cv:Education"> + <dt> + <strong class="cv__education__name p-name" property="cv:degreeType">Diplôme d'Études Collégiales en Arts plastiques</strong> + </dt> + <dd> + <span class="p-location h-card"> + <a class="p-fn p-org u-url" + href="http://cvm.qc.ca/" + property="cv:URL" + rel="external nofollow"> + <span property="cv:studiedIn">Cégep du Vieux Montréal</span> + </a>, + <span class="p-locality">Montréal</span> + </span>| <time class="dt-start" property="cv:startDate">1996</time> – <time class="dt-end" property="cv:endDate">1998</time></dd> + </div> + </dl> + </section> + + <hr class="cv__hr" /> + + <section> + <h2>Formation continue</h2> + + <dl> + <div class="cv__course" property="cv:hasCourse" typeof="cv:Course"> + <dt> + <strong class="cv__course__name" property="cv:courseTitle">Liferay: Styling Liferay with Themes</strong> + </dt> + <dd> + <span> + <a href="https://savoirfairelinux.com/" + property="cv:organizedBy" + rel="external nofollow">Savoir-faire Linux</a>, + <span>Montréal</span> + </span> | <time property="cv:courseStartDate">2015</time> + </dd> + </div> + <div class="cv__course" property="cv:hasCourse" typeof="cv:Course"> + <dt> + <strong class="cv__course__name" property="cv:courseTitle">Liferay: Formation Administration Liferay</strong> + </dt> + <dd> + <span> + <a href="https://savoirfairelinux.com/" + property="cv:organizedBy" + rel="external nofollow">Savoir-faire Linux</a>, + <span>Montréal</span> + </span> | <time property="cv:courseStartDate">2014</time> + </dd> + </div> + <div class="cv__course" property="cv:hasCourse" typeof="cv:Course"> + <dt> + <strong class="cv__course__name" property="cv:courseTitle">Accessibilité Web : SGQRI, WCAG</strong> + </dt> + <dd> + <span> + <a href="https://twitter.com/Modop_ca" + property="cv:organizedBy" + rel="external nofollow">Modop</a>, + <span>Québec</span> + </span> | <time property="cv:courseStartDate">2012</time> + </dd> + </div> + <div class="cv__course" property="cv:hasCourse" typeof="cv:Course"> + <dt> + <strong class="cv__course__name" property="cv:courseTitle">TYPO3 Administrateur</strong> + </dt> + <dd> + <span> + <a href="http://infoglobe.ca/" + property="cv:organizedBy" + rel="external nofollow">Infoglobe</a>, + <span>Québec</span> + </span> | <time property="cv:courseStartDate">2012</time> + </dd> + </div> + <div class="cv__course" property="cv:hasCourse" typeof="cv:Course"> + <dt> + <strong class="cv__course__name" property="cv:courseTitle">Ergonomie centrée utilisateur</strong> + </dt> + <dd> + <span> + <a href="http://www.crim.ca/" + property="cv:organizedBy" + rel="external nofollow">Centre de Recherche Informatique de Montréal (CRIM)</a>, + <span>Montréal</span> + </span> | <time property="cv:courseStartDate">2012</time> + </dd> + </div> + <div class="cv__course" property="cv:hasCourse" typeof="cv:Course"> + <dt> + <strong class="cv__course__name" property="cv:courseTitle">Vers le Web 3.0 : Le Web sémantique</strong> + </dt> + <dd> + <span> + <a href="http://www.crim.ca/" + property="cv:organizedBy" + rel="external nofollow">Centre de Recherche Informatique de Montréal (CRIM)</a>, + <span>Montréal</span> + </span> | <time property="cv:courseStartDate">2009</time> + </dd> + </div> + <div class="cv__course" property="cv:hasCourse" typeof="cv:Course"> + <dt> + <strong class="cv__course__name" property="cv:courseTitle">JavaScript avec DHTML et DOM</strong> + </dt> + <dd> + <span> + <a href="https://www.cmaisonneuve.qc.ca/" + property="cv:organizedBy" + rel="external nofollow">Institut des technologies de l'information du Collège Maisonneuve</a>, + <span>Montréal</span> + </span> | <time property="cv:courseStartDate">2008</time> + </dd> + </div> + </dl> + </section> + </div> +</div> diff --git a/templates/mustache/partials/nav.index.mustache b/templates/mustache/partials/nav.index.mustache @@ -24,6 +24,11 @@ À propos </a> </li> + <li class="nav__item"> + <a class="nav__link" href="{{ BASE_URL }}/feed.atom.xml"> + Flux Atom + </a> + </li> </ul> </div> diff --git a/templates/mustache/partials/nav.mustache b/templates/mustache/partials/nav.mustache @@ -25,9 +25,14 @@ </a> </li> <li class="nav__item"> - <a class="nav__link" href="{{ BASE_URL }}/a-propos.html"> - À propos - </a> + <a class="nav__link" href="{{ BASE_URL }}/a-propos.html"> + À propos + </a> + </li> + <li class="nav__item"> + <a class="nav__link" href="{{ BASE_URL }}/feed.atom.xml"> + Flux Atom + </a> </li> </ul> </div>