From 1e167679f6827c7119d616633b21fffef269cd75 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 31 Oct 2020 15:24:26 +0100 Subject: Use only HTML and CSS --- .gitignore | 4 - Makefile | 25 --- README.md | 30 +-- assets/gitlab-icon.svg | 1 - assets/icon.png | Bin 701 -> 0 bytes assets/project/catchvoid.png | Bin 60480 -> 0 bytes assets/project/cooking.png | Bin 71273 -> 0 bytes assets/project/map.png | Bin 1837960 -> 0 bytes assets/project/personal-page.png | Bin 69689 -> 0 bytes assets/project/reading.png | Bin 859810 -> 0 bytes assets/project/shared-cost.png | Bin 104841 -> 0 bytes assets/project/timer.png | Bin 27947 -> 0 bytes assets/project/todo.png | Bin 57397 -> 0 bytes css/Body.hs | 36 ---- css/Color.hs | 27 --- css/Header.hs | 53 ------ css/IconLink.hs | 31 ---- css/Link.hs | 23 --- css/Media.hs | 36 ---- css/NotFound.hs | 20 -- css/Project.hs | 19 -- css/Resume.hs | 87 --------- css/Section.hs | 43 ----- css/Size.hs | 24 --- css/Skills.hs | 22 --- css/Style.hs | 58 ------ cv.tex | 23 --- cv/education/1-insa.md | 8 - cv/education/2-master.md | 8 - cv/experience/1-dividat.md | 16 -- cv/experience/2-zengularity.md | 22 --- cv/experience/3-irisa.md | 15 -- cv/experience/4-mission-critical-it.md | 10 - cv/hobby/1-hobbies.md | 2 - cv/skill/1-technical-lead.md | 6 - cv/skill/2-developer.md | 10 - cv/skill/3-researcher.md | 8 - deploy | 4 + fr/README.md | 29 --- fr/cv.tex | 23 --- fr/cv/education/1-insa.md | 8 - fr/cv/education/2-master.md | 8 - fr/cv/experience/1-developer.md | 22 --- fr/cv/experience/2-researcher.md | 15 -- fr/cv/experience/3-research-developer.md | 10 - fr/cv/hobby/1-hobbies.md | 2 - fr/cv/skill/1-technical-lead.md | 6 - fr/cv/skill/2-developer.md | 10 - fr/cv/skill/3-researcher.md | 8 - fr/index.html | 66 ------- fr/project/01-shared-cost.md | 13 -- fr/project/02-ad-listener.md | 11 -- fr/project/03-reading.md | 14 -- fr/project/04-map-marks.md | 10 - fr/project/05-catchvoid.md | 10 - fr/project/06-personal-page.md | 13 -- fr/project/07-timer.md | 9 - fr/project/08-cooking.md | 12 -- fr/project/09-nixos-config.md | 8 - fr/project/10-dotfiles.md | 6 - fr/projects.html | 5 - index.html | 66 ------- personalPage.cabal | 18 -- project/01-shared-cost.md | 15 -- project/02-todo.md | 11 -- project/03-ad-listener.md | 10 - project/04-reading.md | 16 -- project/05-map.md | 13 -- project/06-catchvoid.md | 13 -- project/07-personal-page.md | 14 -- project/08-timer.md | 11 -- project/09-cooking.md | 13 -- project/10-nixos-config.md | 8 - project/11-dotfiles.md | 6 - projects.html | 5 - public/icon.png | Bin 0 -> 701 bytes public/index.html | 203 +++++++++++++++++++++ public/projects.html | 302 +++++++++++++++++++++++++++++++ public/projects/catchvoid.png | Bin 0 -> 60480 bytes public/projects/cooking.png | Bin 0 -> 71273 bytes public/projects/map.png | Bin 0 -> 1837961 bytes public/projects/reading.png | Bin 0 -> 859810 bytes public/projects/shared-cost.png | Bin 0 -> 104841 bytes public/projects/timer.png | Bin 0 -> 27947 bytes public/projects/todo.png | Bin 0 -> 57397 bytes public/style.css | 170 +++++++++++++++++ resume/external-link.png | Bin 957 -> 0 bytes resume/gitlab.png | Bin 7718 -> 0 bytes shell.nix | 29 --- src/Main.hs | 151 ---------------- stack.yaml.lock | 26 --- templates/icons/code.svg | 1 - templates/icons/external-link.svg | 1 - templates/icons/gitlab.svg | 1 - templates/icons/printer.svg | 1 - templates/icons/user.svg | 1 - templates/layout.html | 34 ---- templates/layout.tex | 93 ---------- templates/project.html | 37 ---- templates/resume.html | 28 --- templates/resume.tex | 18 -- 101 files changed, 683 insertions(+), 1621 deletions(-) delete mode 100644 .gitignore delete mode 100644 Makefile delete mode 100644 assets/gitlab-icon.svg delete mode 100644 assets/icon.png delete mode 100644 assets/project/catchvoid.png delete mode 100644 assets/project/cooking.png delete mode 100644 assets/project/map.png delete mode 100644 assets/project/personal-page.png delete mode 100644 assets/project/reading.png delete mode 100644 assets/project/shared-cost.png delete mode 100644 assets/project/timer.png delete mode 100644 assets/project/todo.png delete mode 100644 css/Body.hs delete mode 100644 css/Color.hs delete mode 100644 css/Header.hs delete mode 100644 css/IconLink.hs delete mode 100644 css/Link.hs delete mode 100644 css/Media.hs delete mode 100644 css/NotFound.hs delete mode 100644 css/Project.hs delete mode 100644 css/Resume.hs delete mode 100644 css/Section.hs delete mode 100644 css/Size.hs delete mode 100644 css/Skills.hs delete mode 100644 css/Style.hs delete mode 100644 cv.tex delete mode 100644 cv/education/1-insa.md delete mode 100644 cv/education/2-master.md delete mode 100644 cv/experience/1-dividat.md delete mode 100644 cv/experience/2-zengularity.md delete mode 100644 cv/experience/3-irisa.md delete mode 100644 cv/experience/4-mission-critical-it.md delete mode 100644 cv/hobby/1-hobbies.md delete mode 100644 cv/skill/1-technical-lead.md delete mode 100644 cv/skill/2-developer.md delete mode 100644 cv/skill/3-researcher.md create mode 100755 deploy delete mode 100644 fr/README.md delete mode 100644 fr/cv.tex delete mode 100644 fr/cv/education/1-insa.md delete mode 100644 fr/cv/education/2-master.md delete mode 100644 fr/cv/experience/1-developer.md delete mode 100644 fr/cv/experience/2-researcher.md delete mode 100644 fr/cv/experience/3-research-developer.md delete mode 100644 fr/cv/hobby/1-hobbies.md delete mode 100644 fr/cv/skill/1-technical-lead.md delete mode 100644 fr/cv/skill/2-developer.md delete mode 100644 fr/cv/skill/3-researcher.md delete mode 100644 fr/index.html delete mode 100644 fr/project/01-shared-cost.md delete mode 100644 fr/project/02-ad-listener.md delete mode 100644 fr/project/03-reading.md delete mode 100644 fr/project/04-map-marks.md delete mode 100644 fr/project/05-catchvoid.md delete mode 100644 fr/project/06-personal-page.md delete mode 100644 fr/project/07-timer.md delete mode 100644 fr/project/08-cooking.md delete mode 100644 fr/project/09-nixos-config.md delete mode 100644 fr/project/10-dotfiles.md delete mode 100644 fr/projects.html delete mode 100644 index.html delete mode 100644 personalPage.cabal delete mode 100644 project/01-shared-cost.md delete mode 100644 project/02-todo.md delete mode 100644 project/03-ad-listener.md delete mode 100644 project/04-reading.md delete mode 100644 project/05-map.md delete mode 100644 project/06-catchvoid.md delete mode 100644 project/07-personal-page.md delete mode 100644 project/08-timer.md delete mode 100644 project/09-cooking.md delete mode 100644 project/10-nixos-config.md delete mode 100644 project/11-dotfiles.md delete mode 100644 projects.html create mode 100644 public/icon.png create mode 100644 public/index.html create mode 100644 public/projects.html create mode 100644 public/projects/catchvoid.png create mode 100644 public/projects/cooking.png create mode 100644 public/projects/map.png create mode 100644 public/projects/reading.png create mode 100644 public/projects/shared-cost.png create mode 100644 public/projects/timer.png create mode 100644 public/projects/todo.png create mode 100644 public/style.css delete mode 100644 resume/external-link.png delete mode 100644 resume/gitlab.png delete mode 100644 shell.nix delete mode 100644 src/Main.hs delete mode 100644 stack.yaml.lock delete mode 100644 templates/icons/code.svg delete mode 100644 templates/icons/external-link.svg delete mode 100644 templates/icons/gitlab.svg delete mode 100644 templates/icons/printer.svg delete mode 100644 templates/icons/user.svg delete mode 100644 templates/layout.html delete mode 100644 templates/layout.tex delete mode 100644 templates/project.html delete mode 100644 templates/resume.html delete mode 100644 templates/resume.tex diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b6a1d25..0000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -dist-newstyle/ -_cache/ -output/ -public/ diff --git a/Makefile b/Makefile deleted file mode 100644 index 6e56aad..0000000 --- a/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -all: build - -start: - @nix-shell --command "tmuxinator local" - -stop: - @tmux kill-session -t personalPage - -clean: - @cabal new-exec personalPage clean > /dev/null 2>&1 || true - @cabal new-clean - -build: - @cabal new-build - @cabal new-exec personalPage build - -deploy: - @make clean build - @cabal new-exec personalPage deploy - -watch: - @nodemon --watch src -e hs --exec 'make watch-command --silent' - -watch-command: - @(killall personalPage || :) && sleep 1 && cabal new-build && cabal new-exec personalPage clean && cabal new-exec personalPage watch diff --git a/README.md b/README.md index cc6d0d2..1bdb0fa 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,13 @@ # Personal Page -Live [here](https://guyonvarch.gitlab.io/personalPage). +Live [here](https://guyonvarch.me). -[![build status](https://gitlab.com/guyonvarch/personalPage/badges/deploy/build.svg)](https://gitlab.com/guyonvarch/personalPage/commits/master) +## Getting started -## Required dependency - -- `pdflatex` - -## Gettings started - -Install nix and follow the instructions: - -```bash -curl https://nixos.org/nix/install | sh -``` - -Then, start the environment with: - -```bash -make start -``` - -Later, stop the environment with: - -```bash -make stop -``` +Open `public/index.html`. ## Deploy ```bash -./make deploy +./deploy ``` diff --git a/assets/gitlab-icon.svg b/assets/gitlab-icon.svg deleted file mode 100644 index fd2bdb8..0000000 --- a/assets/gitlab-icon.svg +++ /dev/null @@ -1 +0,0 @@ -gitlab-icon-rgb \ No newline at end of file diff --git a/assets/icon.png b/assets/icon.png deleted file mode 100644 index 115a297..0000000 Binary files a/assets/icon.png and /dev/null differ diff --git a/assets/project/catchvoid.png b/assets/project/catchvoid.png deleted file mode 100644 index bc05c6b..0000000 Binary files a/assets/project/catchvoid.png and /dev/null differ diff --git a/assets/project/cooking.png b/assets/project/cooking.png deleted file mode 100644 index 2d2bcc9..0000000 Binary files a/assets/project/cooking.png and /dev/null differ diff --git a/assets/project/map.png b/assets/project/map.png deleted file mode 100644 index 495dd3f..0000000 Binary files a/assets/project/map.png and /dev/null differ diff --git a/assets/project/personal-page.png b/assets/project/personal-page.png deleted file mode 100644 index fa59e0e..0000000 Binary files a/assets/project/personal-page.png and /dev/null differ diff --git a/assets/project/reading.png b/assets/project/reading.png deleted file mode 100644 index 4b58f0e..0000000 Binary files a/assets/project/reading.png and /dev/null differ diff --git a/assets/project/shared-cost.png b/assets/project/shared-cost.png deleted file mode 100644 index e0101cb..0000000 Binary files a/assets/project/shared-cost.png and /dev/null differ diff --git a/assets/project/timer.png b/assets/project/timer.png deleted file mode 100644 index dd37a2d..0000000 Binary files a/assets/project/timer.png and /dev/null differ diff --git a/assets/project/todo.png b/assets/project/todo.png deleted file mode 100644 index 763f1bb..0000000 Binary files a/assets/project/todo.png and /dev/null differ diff --git a/css/Body.hs b/css/Body.hs deleted file mode 100644 index 0ff8df0..0000000 --- a/css/Body.hs +++ /dev/null @@ -1,36 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Body - ( style - ) where - -import Clay hiding (style) -import Prelude hiding ((**)) - -import qualified Color -import qualified Link -import qualified Media -import qualified Size - -style :: Css -style = do - - ".Body__Container" ** p ? do - Media.desktop $ marginRight (pct 20) - lineHeight (px 28) - - ".Body__Container" ** ul ? do - paddingLeft (px 0) - Media.desktop $ margin (px 20) (px 0) (px 20) (px 30) - Media.tablet $ margin (px 15) (px 0) (px 15) (px 20) - Media.mobile $ marginBottom Size.listItemSep - - ".Body__Container" ** li ? do - Size.lineHeight - before & do - content (stringContent "•") - color Color.red - display inlineBlock - marginRight (px 10) - - Link.style (".Body__Container" ** a) diff --git a/css/Color.hs b/css/Color.hs deleted file mode 100644 index bfc8134..0000000 --- a/css/Color.hs +++ /dev/null @@ -1,27 +0,0 @@ -module Color where - -import qualified Clay.Color as C - -white :: C.Color -white = C.white - -red :: C.Color -red = C.rgb 170 57 57 - -orange :: C.Color -orange = C.rgb 182 119 25 - -green :: C.Color -green = C.rgb 0 93 0 - -blue :: C.Color -blue = C.rgb 79 182 187 - -black :: C.Color -black = C.rgb 0 0 0 - -link :: C.Color -link = blue C.-. 70 - -gray :: C.Color -gray = C.rgb 100 100 100 diff --git a/css/Header.hs b/css/Header.hs deleted file mode 100644 index ab58b0c..0000000 --- a/css/Header.hs +++ /dev/null @@ -1,53 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Header - ( style - ) where - -import Data.Monoid ((<>)) - -import Clay hiding (style) -import Clay.Display (displayTable) - -import qualified Color as Color -import qualified Media as Media - -style :: Css -style = do - - ".Header__Container" ? do - backgroundColor Color.red - color Color.white - fontSize (px 28) - display flex - - ".Header__Link" ? do - display flex - justifyContent center - alignItems center - flexGrow 1 - flexBasis (px 0) - height (em 3) - lineHeight (em 3) - textDecoration none - padding (px 0) (px 0) (px 0) (px 0) - textAlign (alignSide sideCenter) - color Color.white - textTransform capitalize - transition "background-color" (ms 500) ease (sec 0) - Media.tablet $ fontSize (em 0.8) - Media.mobile $ fontSize (em 0.6) - - (".Header__Link" # hover <> ".Header__Link" # focus <> ".Header__LinkCurrent") ? do - backgroundColor Color.red - borderBottomStyle solid - borderBottomColor (Color.red +. 40) - Media.mobile $ borderBottomWidth (px 6) - Media.tablet $ borderBottomWidth (px 8) - Media.desktop $ borderBottomWidth (px 10) - - ".Header__Icon" ? do - display flex - height (px 40) - marginRight (px 20) - Media.mobile $ display none diff --git a/css/IconLink.hs b/css/IconLink.hs deleted file mode 100644 index 9abbb5d..0000000 --- a/css/IconLink.hs +++ /dev/null @@ -1,31 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module IconLink - ( style - ) where - -import Clay hiding (style) - -import qualified Link -import qualified Media - -style :: Css -style = do - - Link.style ".IconLink__Link" - - ".IconLink__Link" ? do - display inlineFlex - alignItems center - marginBottom (px 15) - - Media.desktop $ fontSize (px 18) - Media.tablet $ fontSize (px 16) - Media.mobile $ fontSize (px 14) - - ".IconLink__Icon" ? do - marginRight (px 12) - - Media.desktop $ height (px 20) - Media.tablet $ height (px 16) - Media.mobile $ height (px 14) diff --git a/css/Link.hs b/css/Link.hs deleted file mode 100644 index ba3b090..0000000 --- a/css/Link.hs +++ /dev/null @@ -1,23 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Link - ( style - ) where - -import Clay hiding (style) -import Clay.Selector (Fix, SelectorF (SelectorF)) - -import qualified Color - -style :: (Fix SelectorF) -> Css -style selector = do - - selector ? do - textDecoration none - color Color.link - transition "color" (sec 0.3) easeOut (sec 0) - focus & outline solid (px 0) Color.white - - (selector # hover) <> (selector # focus) ? do - textDecoration underline - color Color.blue diff --git a/css/Media.hs b/css/Media.hs deleted file mode 100644 index f9b56e1..0000000 --- a/css/Media.hs +++ /dev/null @@ -1,36 +0,0 @@ -module Media - ( mobile - , mobileTablet - , tablet - , tabletDesktop - , desktop - ) where - -import Clay hiding (query) -import qualified Clay -import qualified Clay.Media as Media -import Clay.Stylesheet (Feature) - -mobile :: Css -> Css -mobile = query [Media.maxWidth mobileTabletLimit] - -mobileTablet :: Css -> Css -mobileTablet = query [Media.maxWidth tabletDesktopLimit] - -tablet :: Css -> Css -tablet = query [Media.minWidth mobileTabletLimit, Media.maxWidth tabletDesktopLimit] - -tabletDesktop :: Css -> Css -tabletDesktop = query [Media.minWidth mobileTabletLimit] - -desktop :: Css -> Css -desktop = query [Media.minWidth tabletDesktopLimit] - -query :: [Feature] -> Css -> Css -query = Clay.query Media.screen - -mobileTabletLimit :: Size LengthUnit -mobileTabletLimit = (px 520) - -tabletDesktopLimit :: Size LengthUnit -tabletDesktopLimit = (px 950) diff --git a/css/NotFound.hs b/css/NotFound.hs deleted file mode 100644 index ee8a0af..0000000 --- a/css/NotFound.hs +++ /dev/null @@ -1,20 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Design.NotFound - ( notFoundCss - ) where - -import Clay - -notFoundCss :: Css -notFoundCss = - - ".notFoundPage" ? do - - h1 ? do - fontSize (px 40) - fontWeight bold - margin (px 20) (px 20) (px 20) (px 20) - - p ? - margin (px 20) (px 20) (px 20) (px 20) diff --git a/css/Project.hs b/css/Project.hs deleted file mode 100644 index 4d17e42..0000000 --- a/css/Project.hs +++ /dev/null @@ -1,19 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Project - ( style - ) where - -import qualified Color -import Clay hiding (style) - -style :: Css -style = do - - ".Project__Body" ? do - marginTop (px 20) - - ".Project__Body" ? img ? do - border solid (px 1) Color.gray - sym borderRadius (px 8) - width (pct 100) diff --git a/css/Resume.hs b/css/Resume.hs deleted file mode 100644 index ec7af62..0000000 --- a/css/Resume.hs +++ /dev/null @@ -1,87 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Resume - ( style - ) where - -import Clay hiding (style) - -import qualified Color -import qualified Media -import qualified Size - -style :: Css -style = do - - ".Resume__NameAndPrint" ? do - display flex - justifyContent spaceBetween - - ".Resume__Print" ? do - color Color.red - transition "all" (ms 100) ease (sec 0) - hover & transform (scale 1.2 1.2) - marginLeft (px 10) - - Media.desktop $ do - lineHeight (px 50) - height (px 50) - fontSize (px 40) - - Media.tablet $ do - lineHeight (px 40) - height (px 40) - fontSize (px 30) - - Media.mobile $ do - lineHeight (px 30) - height (px 30) - fontSize (px 20) - - ".Resume__GitLabLink" ? do - Media.desktop $ marginLeft (px 30) - Media.tablet $ marginLeft (px 20) - - ".Resume__Container" ? do - Media.desktop $ do - marginBottom (px 40) - marginLeft (px 30) - Media.tablet $ do - marginBottom (px 40) - marginLeft (px 20) - Media.mobile $ - marginBottom (px 25) - - ".Resume__Name" <> ".Resume__Location" <> ".Resume__Description" ? do - Size.lineHeight - - ".Resume__Name" ? do - backgroundColor Color.orange - color Color.white - padding (px 0) (px 10) (px 0) (px 10) - sym borderRadius (px 2) - - Media.desktop $ do - display inlineBlock - marginBottom (px 10) - - Media.mobileTablet $ - marginBottom (px 10) - - ".Resume__Time" ? do - fontStyle italic - marginBottom (px 10) - - Media.desktop $ do - display inlineBlock - marginLeft (px 15) - - Media.mobile $ - fontSize (pct 90) - - ".Resume__Location" ? do - color Color.green - Size.tabletMarginBottom - Media.mobile $ do - fontSize (pct 90) - marginBottom (px 10) diff --git a/css/Section.hs b/css/Section.hs deleted file mode 100644 index 4e236a3..0000000 --- a/css/Section.hs +++ /dev/null @@ -1,43 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Section - ( style - ) where - -import Clay hiding (style) - -import qualified Color -import qualified Media - -style :: Css -style = do - - ".Section__Container" ? do - position relative - margin (pct 0) (pct 10) (pct 0) (pct 10) - - ".Section__Title" ? do - color Color.red - fontFamily [] [monospace] - fontWeight bold - - Media.desktop $ do - lineHeight (px 50) - fontSize (px 30) - marginBottom (px 40) - marginTop (px 55) - - Media.tablet $ do - lineHeight (px 40) - fontSize (px 27) - marginBottom (px 35) - marginTop (px 45) - - Media.mobile $ do - lineHeight (px 30) - fontSize (px 22) - marginBottom (px 20) - marginTop (px 35) - - ".Section__Entries" ? do - paddingLeft (px 0) diff --git a/css/Size.hs b/css/Size.hs deleted file mode 100644 index 1fc097b..0000000 --- a/css/Size.hs +++ /dev/null @@ -1,24 +0,0 @@ -module Size - ( lineHeight - , listItemSep - , tabletMarginBottom - ) where - -import Clay hiding (lineHeight) -import qualified Clay - -import qualified Media - -lineHeight :: Css -lineHeight = do - Media.desktop $ Clay.lineHeight (px 40) - Media.tablet $ Clay.lineHeight (px 35) - Media.mobile $ Clay.lineHeight (px 30) - -listItemSep :: Size LengthUnit -listItemSep = - px 8 - -tabletMarginBottom :: Css -tabletMarginBottom = - Media.tablet $ marginBottom (px 15) diff --git a/css/Skills.hs b/css/Skills.hs deleted file mode 100644 index 96ef74e..0000000 --- a/css/Skills.hs +++ /dev/null @@ -1,22 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Skills - ( style - ) where - -import Clay hiding (style) -import qualified Clay.Flexbox as CF - -style :: Css -style = do - - ".Skills__List" ? do - display flex - flexWrap CF.wrap - sym2 margin (px 5) (px 0) - paddingLeft (px 0) - - ".Skills__Item" ? do - lineHeight normal - borderBottom solid (px 2) lightgray - margin (px 10) (px 15) (px 5) (px 0) diff --git a/css/Style.hs b/css/Style.hs deleted file mode 100644 index f53ca1e..0000000 --- a/css/Style.hs +++ /dev/null @@ -1,58 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -import Clay -import qualified Data.Text.Lazy.IO as T - -import qualified Body -import qualified Color -import qualified Header -import qualified IconLink -import qualified Media -import qualified Project -import qualified Resume -import qualified Section -import qualified Skills - -main :: IO () -main = T.putStrLn . renderWith compact [] $ do - - appearKeyframes - - body ? do - overflowX hidden - color Color.black - margin (px 0) (px 0) (px 40) (px 0) - Media.mobile $ fontSize (px 16) - Media.tabletDesktop $ fontSize (px 18) - - ".Main__Container" ? do - animationName "appear" - animationDuration (sec 0.2) - animationTimingFunction easeIn - animationIterationCount (iterationCount 1.0) - - svg ? do - width inherit - height inherit - - ul ? do - listStyleType none - paddingLeft (px 0) - - Body.style - Header.style - IconLink.style - Project.style - Resume.style - Section.style - Skills.style - -appearKeyframes :: Css -appearKeyframes = keyframes - "appear" - [ (0, do - "transform" -: "translateX(10px)" - opacity 0 - ) - , (100, "transform" -: "translateX(0px)") - ] diff --git a/cv.tex b/cv.tex deleted file mode 100644 index 85f9b2d..0000000 --- a/cv.tex +++ /dev/null @@ -1,23 +0,0 @@ -\section{Experience} - -$for(experience)$ - $body$ -$endfor$ - -\section{Educational background} - -$for(education)$ - $body$ -$endfor$ - -\section{Skills} - -$for(skills)$ - $body$ -$endfor$ - -\section{Interests} - -$for(hobbies)$ - $body$ -$endfor$ diff --git a/cv/education/1-insa.md b/cv/education/1-insa.md deleted file mode 100644 index fa2e34b..0000000 --- a/cv/education/1-insa.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: Master of Science Computer Science -location: INSA, Rennes ---- - -- Language -- System -- Network diff --git a/cv/education/2-master.md b/cv/education/2-master.md deleted file mode 100644 index 6fe177b..0000000 --- a/cv/education/2-master.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: Master of Research Computer Science -location: University of Rennes I ---- - -- Machine learning -- Modelisation -- Data indexation diff --git a/cv/experience/1-dividat.md b/cv/experience/1-dividat.md deleted file mode 100644 index 47fc25f..0000000 --- a/cv/experience/1-dividat.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: Developer -time: since 2019 -location: Dividat, Schindellegi -skills: - - Elm - - Scala - - Nix - - Python - - Ocaml - - Rust - - PostgreSQL ---- - -Prevent falls with technology-based training therapy which promotes autonomous -mobility and functional independence in old age, after an accident or illness. diff --git a/cv/experience/2-zengularity.md b/cv/experience/2-zengularity.md deleted file mode 100644 index 118550e..0000000 --- a/cv/experience/2-zengularity.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Developer / Tech Lead -time: 5 years -location: Zengularity, Paris -skills: - - Scala - - Scala.js - - Elm - - Akka - - Play! - - MongoDB - - PostgreSQL - - ElasticSearch ---- - -Web Oriented Architecture (WOA) for information systems : - -- Training platform for the unemployed in Seine-Saint-Denis. -- File house insurance claims for Saretec. -- Unit and automatic franking of Colissimo labels for La Poste. -- Participant’s pages for the Mutuelle Nationale Territoriale (MNT). -- Food sample analysis with results visualization for Adisseo. diff --git a/cv/experience/3-irisa.md b/cv/experience/3-irisa.md deleted file mode 100644 index e33164a..0000000 --- a/cv/experience/3-irisa.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -name: Phd Intern -time: 5 months -location: IRISA, Rennes -skills: - - Semantic Web - - Scala - - Java - - LaTeX - - GWT - - Jena ---- - -Scalable query-based faceted search for guided and expressive search on the -semantic web. diff --git a/cv/experience/4-mission-critical-it.md b/cv/experience/4-mission-critical-it.md deleted file mode 100644 index e4b65a1..0000000 --- a/cv/experience/4-mission-critical-it.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: R&D Engineering Intern -time: 3 months -location: Mission Critical IT, Bruxelles -skills: -- Semantic Web -- Mercury ---- - -Guided querying and edition of semantic web information. diff --git a/cv/hobby/1-hobbies.md b/cv/hobby/1-hobbies.md deleted file mode 100644 index 33c5705..0000000 --- a/cv/hobby/1-hobbies.md +++ /dev/null @@ -1,2 +0,0 @@ -- Tune my workstation (NixOS, i3, bépo keyboard layout). -- Create video games (SDL, Elm). diff --git a/cv/skill/1-technical-lead.md b/cv/skill/1-technical-lead.md deleted file mode 100644 index 8d2788c..0000000 --- a/cv/skill/1-technical-lead.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: Technical lead ---- - -- Create tasks and subtasks from functional needs. -- Optimise task order for the development team. diff --git a/cv/skill/2-developer.md b/cv/skill/2-developer.md deleted file mode 100644 index 159a950..0000000 --- a/cv/skill/2-developer.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Developer ---- - -- Program with functional languages (Haskell, Scala, Elm). -- Build web applications (HTTP protocol; HTML, CSS, Javascript and JSON languages). -- Interact with data (SQL, MongoDB, SPARQL). -- Work with versioning (Git). -- Review code and test functionalities. -- Write bash scripts. diff --git a/cv/skill/3-researcher.md b/cv/skill/3-researcher.md deleted file mode 100644 index 1f6b3e3..0000000 --- a/cv/skill/3-researcher.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: Researcher ---- - -- Conduct a bibliographic research. -- Build a prototype and experiment from it. -- Analyse the results from an experimentation and check the hypotheses. -- Present a research study through an article and a slideshow (LaTeX). diff --git a/deploy b/deploy new file mode 100755 index 0000000..73af6f2 --- /dev/null +++ b/deploy @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo + +rsync -avzh public/ guyonvarch.me:/var/www/guyonvarch.me --delete diff --git a/fr/README.md b/fr/README.md deleted file mode 100644 index ebb5f0e..0000000 --- a/fr/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Currently not translated in french - -## Language bar - -```haskell -darkRed :: C.Color -darkRed = C.rgb 119 21 21 -``` - -```html -
- FR - EN -
-``` - -```haskell -".Language__Container" ? do - display flex - flexDirection rowReverse - backgroundColor Color.darkRed - paddingRight (px 5) - -".Language__Link" ? do - color Color.white - sym2 margin (px 5) (px 5) - fontSize (px 12) - textDecoration none -``` diff --git a/fr/cv.tex b/fr/cv.tex deleted file mode 100644 index 3d6aa2f..0000000 --- a/fr/cv.tex +++ /dev/null @@ -1,23 +0,0 @@ -\section{Experience} - -$for(experience)$ - $body$ -$endfor$ - -\section{Études} - -$for(education)$ - $body$ -$endfor$ - -\section{Compétences} - -$for(skills)$ - $body$ -$endfor$ - -\section{Intérêts} - -$for(hobbies)$ - $body$ -$endfor$ diff --git a/fr/cv/education/1-insa.md b/fr/cv/education/1-insa.md deleted file mode 100644 index fe722cc..0000000 --- a/fr/cv/education/1-insa.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: Diplôme d’ingénieur en informatique -location: INSA, Rennes ---- - -- Langage -- Système -- Réseau diff --git a/fr/cv/education/2-master.md b/fr/cv/education/2-master.md deleted file mode 100644 index 4e9b9f3..0000000 --- a/fr/cv/education/2-master.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: Master Recherche en Informatique -location: University of Rennes I ---- - -- Apprentissage artificiel -- Modélisation -- Indexation de données diff --git a/fr/cv/experience/1-developer.md b/fr/cv/experience/1-developer.md deleted file mode 100644 index 2fb3ccb..0000000 --- a/fr/cv/experience/1-developer.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Développeur -time: depuis 2014 -location: Zengularity, Paris -skills: - - Scala - - Scala.js - - Elm - - Akka - - Play! - - MongoDB - - PostgreSQL - - ElasticSearch ---- - -Architecture web pour les systèmes d’information. - -- Catalogue de formations pour les bénéficiaires du RSA en Seine-Saint-Denis. -- Déclaration de sinistres pour Saretec. -- Affranchissement à l’unité et automatique d’étiquettes Colissimo pour La Poste. -- Espace adhérent de la Mutuelle Nationale Territoriale (MNT). -- Analyse d’échantillons alimentaires et visualisation des résultats pour Adisseo. diff --git a/fr/cv/experience/2-researcher.md b/fr/cv/experience/2-researcher.md deleted file mode 100644 index 6fe2c6d..0000000 --- a/fr/cv/experience/2-researcher.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -name: Chercheur stagiaire -time: 5 mois -location: IRISA, Rennes -skills: - - Semantic Web - - Scala - - Java - - LaTeX - - GWT - - Jena ---- - -Mise à l’échelle d’une recherche à facettes, à base de requêtes guidées et -expressives, dans le web sémantique. diff --git a/fr/cv/experience/3-research-developer.md b/fr/cv/experience/3-research-developer.md deleted file mode 100644 index f8da1cd..0000000 --- a/fr/cv/experience/3-research-developer.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Ingénieur de recherche stagiaire -time: 3 mois -location: Mission Critical IT, Bruxelles -skills: -- Semantic Web -- Mercury ---- - -Recherche et édition guidées de données du web sémantique. diff --git a/fr/cv/hobby/1-hobbies.md b/fr/cv/hobby/1-hobbies.md deleted file mode 100644 index 25fd153..0000000 --- a/fr/cv/hobby/1-hobbies.md +++ /dev/null @@ -1,2 +0,0 @@ -- Ajuster mon poste informatique (NixOS, i3, clavier bépo). -- Créer des jeux vidéos (SDL, Elm). diff --git a/fr/cv/skill/1-technical-lead.md b/fr/cv/skill/1-technical-lead.md deleted file mode 100644 index 6fdd8b2..0000000 --- a/fr/cv/skill/1-technical-lead.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: Meneur technique ---- - -- Rédiger des tâches et sous-tâches à partir des besoins. -- Optimiser l’ordre des tâches pour l’équipe de développement. diff --git a/fr/cv/skill/2-developer.md b/fr/cv/skill/2-developer.md deleted file mode 100644 index f62363c..0000000 --- a/fr/cv/skill/2-developer.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Développeur ---- - -- Programmer avec des langages fonctionnels (Haskell, Scala, Elm). -- Construire des applications web (protocole HTTP ; langages HTML, CSS, Javascript et JSON). -- Interagir avec des données (SQL, MongoDB, SPARQL). -- Travailler avec des versions (Git). -- Vérifier techniquement et fonctionnellement les développements. -- Écrire des scripts en Bash. diff --git a/fr/cv/skill/3-researcher.md b/fr/cv/skill/3-researcher.md deleted file mode 100644 index 5eb1320..0000000 --- a/fr/cv/skill/3-researcher.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: Chercheur ---- - -- Mener une recherche bibliographique. -- Construire un prototype et expérimenter à partir de ce prototype. -- Analyser les résultats du prototype et vérifier les hypothèses. -- Présenter un résultat de recherche à travers un article et un diaporama (LaTeX). diff --git a/fr/index.html b/fr/index.html deleted file mode 100644 index 960bc30..0000000 --- a/fr/index.html +++ /dev/null @@ -1,66 +0,0 @@ -
- -

- Joris Guyonvarch - - - $partial("templates/icons/printer.svg")$ - -

- - - - $partial("templates/icons/gitlab.svg")$ - - guyonvarch - - -
- -
- -

Expérience

- - - -
- -
- -

Études

- - - -
- -
- -

Compétences

- - - -
- -
- -

Intérêts

- - - -
diff --git a/fr/project/01-shared-cost.md b/fr/project/01-shared-cost.md deleted file mode 100644 index fc82853..0000000 --- a/fr/project/01-shared-cost.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: Shared Cost -gitlab: guyonvarch/sharedCost -skills: - - Haskell - - Scotty - - Elm - - Clay - - Persistent ---- - -Partage des coûts au sein d’un groupe de personnes avec une Application -Internet Riche (RIA). diff --git a/fr/project/02-ad-listener.md b/fr/project/02-ad-listener.md deleted file mode 100644 index 4cf85c3..0000000 --- a/fr/project/02-ad-listener.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: ad-listener -gitlab: guyonvarch/ad-listener -skills: - - Haskell - - TagSoup ---- - -Surveille l’ajout de nouvelles annonces à partir de critères de recherche -personnalisés et notifie par courriel lorsqu’une nouvelle annonce est -disponible. diff --git a/fr/project/03-reading.md b/fr/project/03-reading.md deleted file mode 100644 index ab8493a..0000000 --- a/fr/project/03-reading.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Reading -gitlab: guyonvarch/reading -live: https://guyonvarch.gitlab.io/reading -skills: - - Scala - - Scala.js - - ScalaCSS - - Scalatags - - Scala.Rx ---- - -Guide les élèves à trouver un livre en raffinant le résultat avec une recherche -à facettes. diff --git a/fr/project/04-map-marks.md b/fr/project/04-map-marks.md deleted file mode 100644 index 4808a0a..0000000 --- a/fr/project/04-map-marks.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Map Marks -gitlab: guyonvarch/mapMarks -live: https://guyonvarch.gitlab.io/mapMarks -skills: - - JavaScript - - Leaflet ---- - -Affiche des marqueurs sur une carte à partir d’un fichier CSV. diff --git a/fr/project/05-catchvoid.md b/fr/project/05-catchvoid.md deleted file mode 100644 index b270781..0000000 --- a/fr/project/05-catchvoid.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: cAtchVoid -gitlab: guyonvarch/catchvoid -live: http://guyonvarch.gitlab.io/catchvoid -skills: - - Elm - - Game development ---- - -Attrape les points de ta couleur tout en évitant les autres points. Tu peux inverser la couleur de ton joueur, ce qui a pour effet d’inverser la mécanique du jeu. Fais le meilleur score possible. diff --git a/fr/project/06-personal-page.md b/fr/project/06-personal-page.md deleted file mode 100644 index b391e97..0000000 --- a/fr/project/06-personal-page.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: Personal Page -gitlab: guyonvarch/personalPage -live: https://guyonvarch.me/ -skills: - - Haskell - - Hakyll - - Clay - - LaTeX ---- - -Présente le curriculum et les projets à partir de données au format YAML avec -une application web. diff --git a/fr/project/07-timer.md b/fr/project/07-timer.md deleted file mode 100644 index 8a5c1f7..0000000 --- a/fr/project/07-timer.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -name: Timer -gitlab: guyonvarch/timer -live: http://guyonvarch.gitlab.io/timer -skills: - - Elm ---- - -Crée et gère une liste de minuteurs avec une Application Internet Riche (RIA). diff --git a/fr/project/08-cooking.md b/fr/project/08-cooking.md deleted file mode 100644 index 9485e30..0000000 --- a/fr/project/08-cooking.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: Cooking -gitlab: guyonvarch/cooking -live: https://guyonvarch.gitlab.io/cooking -skills: - - Haskell - - Hakyll - - Clay ---- - -Présente des recettes sous la forme d’un blog à partir de fichiers -markdown. diff --git a/fr/project/09-nixos-config.md b/fr/project/09-nixos-config.md deleted file mode 100644 index 2884686..0000000 --- a/fr/project/09-nixos-config.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: nixos-config -gitlab: guyonvarch/nixos-config -skills: - - Nix ---- - -Configure de manière déclarative mon système NixOS. diff --git a/fr/project/10-dotfiles.md b/fr/project/10-dotfiles.md deleted file mode 100644 index 685f385..0000000 --- a/fr/project/10-dotfiles.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: dotfiles -gitlab: guyonvarch/dotfiles ---- - -Configure les applications que j’utilise. diff --git a/fr/projects.html b/fr/projects.html deleted file mode 100644 index 8659cbc..0000000 --- a/fr/projects.html +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/index.html b/index.html deleted file mode 100644 index a867f1e..0000000 --- a/index.html +++ /dev/null @@ -1,66 +0,0 @@ -
- -

- Joris Guyonvarch - - - $partial("templates/icons/printer.svg")$ - -

- - - - $partial("templates/icons/gitlab.svg")$ - - guyonvarch - - -
- -
- -

Experience

- - - -
- -
- -

Educational background

- - - -
- -
- -

Skills

- - - -
- -
- -

Hobbies

- - - -
diff --git a/personalPage.cabal b/personalPage.cabal deleted file mode 100644 index 54b497b..0000000 --- a/personalPage.cabal +++ /dev/null @@ -1,18 +0,0 @@ -name: personalPage -version: 0.0.1 -build-type: Simple -cabal-version: >= 1.10 - -executable personalPage - main-is: Main.hs - ghc-options: -Wall -Werror - hs-source-dirs: src - default-language: Haskell2010 - ghc-options: -threaded - build-depends: base >= 4.12 && < 4.13 - , hakyll >= 4.13 && < 4.14 - , clay - , process - , filepath - , text - , pandoc diff --git a/project/01-shared-cost.md b/project/01-shared-cost.md deleted file mode 100644 index 91b6c46..0000000 --- a/project/01-shared-cost.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -name: Shared Cost -gitlab: guyonvarch/shared-cost -skills: - - Haskell - - Scotty - - Clay - - GHCJS - - reflex-frp ---- - -Share costs with a group of people with a Rich Internet Application -(RIA). - -![](assets/project/shared-cost.png) diff --git a/project/02-todo.md b/project/02-todo.md deleted file mode 100644 index 3d65beb..0000000 --- a/project/02-todo.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: Todo -gitlab: guyonvarch/todo -skills: - - Python - - Qt ---- - -Manage a context-based next-action list. - -![](assets/project/todo.png) diff --git a/project/03-ad-listener.md b/project/03-ad-listener.md deleted file mode 100644 index 130cde1..0000000 --- a/project/03-ad-listener.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: ad-listener -gitlab: guyonvarch/ad-listener -skills: - - Haskell - - TagSoup ---- - -Watch for new ads according to custom search criteria and send an -email notification each time a new ad is available. diff --git a/project/04-reading.md b/project/04-reading.md deleted file mode 100644 index 273a405..0000000 --- a/project/04-reading.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: Reading -gitlab: guyonvarch/reading -live: https://guyonvarch.gitlab.io/reading -skills: - - Scala - - Scala.js - - ScalaCSS - - Scalatags - - Scala.Rx ---- - -Guide students to find a book by refining the result set with faceted -search. - -![](assets/project/reading.png) diff --git a/project/05-map.md b/project/05-map.md deleted file mode 100644 index ae01dac..0000000 --- a/project/05-map.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: Map -gitlab: guyonvarch/map -live: https://guyonvarch.gitlab.io/map -skills: - - Ocaml - - BuckleScript - - Leaflet ---- - -Add customized markers on a map. - -![](assets/project/map.png) diff --git a/project/06-catchvoid.md b/project/06-catchvoid.md deleted file mode 100644 index 5ac97e0..0000000 --- a/project/06-catchvoid.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: cAtchVoid -gitlab: guyonvarch/catchvoid -live: http://guyonvarch.gitlab.io/catchvoid -skills: - - Elm - - Game development ---- - -Catch the points of your color, avoid the others. You can switch -colors in order to reverse the game mechanic. Get the best score. - -![](assets/project/catchvoid.png) diff --git a/project/07-personal-page.md b/project/07-personal-page.md deleted file mode 100644 index f813be9..0000000 --- a/project/07-personal-page.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Personal Page -gitlab: guyonvarch/personalPage -live: https://guyonvarch.me/ -skills: - - Haskell - - Hakyll - - Clay - - LaTeX ---- - -Show resume and projects from YAML data with a web application. - -![](assets/project/personal-page.png) diff --git a/project/08-timer.md b/project/08-timer.md deleted file mode 100644 index 7d98ff9..0000000 --- a/project/08-timer.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: Timer -gitlab: guyonvarch/timer -live: http://guyonvarch.gitlab.io/timer -skills: - - Elm ---- - -Create and manage timers with a Rich Internet Application (RIA). - -![](assets/project/timer.png) diff --git a/project/09-cooking.md b/project/09-cooking.md deleted file mode 100644 index 4f2b72a..0000000 --- a/project/09-cooking.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: Cooking -gitlab: guyonvarch/cooking -live: https://cooking.guyonvarch.me -skills: - - Zola - - Ocaml - - BuckleScript ---- - -Show recipes as a blog from markdown files. - -![](assets/project/cooking.png) diff --git a/project/10-nixos-config.md b/project/10-nixos-config.md deleted file mode 100644 index b09c11f..0000000 --- a/project/10-nixos-config.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: nixos-config -gitlab: guyonvarch/nixos-config -skills: - - Nix ---- - -Configure declaratively my NixOS system. diff --git a/project/11-dotfiles.md b/project/11-dotfiles.md deleted file mode 100644 index 582dcf8..0000000 --- a/project/11-dotfiles.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: dotfiles -gitlab: guyonvarch/dotfiles ---- - -Configure the tools I use. diff --git a/projects.html b/projects.html deleted file mode 100644 index 8659cbc..0000000 --- a/projects.html +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/public/icon.png b/public/icon.png new file mode 100644 index 0000000..115a297 Binary files /dev/null and b/public/icon.png differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..9aac4ed --- /dev/null +++ b/public/index.html @@ -0,0 +1,203 @@ + + + + + + + + Joris Guyonvarch + + + + + +
+ Resume + Projects +
+ +
+
+

Experience

+ + +
+ +
+

Educational background

+ + +
+ +
+

Skills

+ + +
+ +
+

Hobbies

+ + +
+
+ + diff --git a/public/projects.html b/public/projects.html new file mode 100644 index 0000000..476b152 --- /dev/null +++ b/public/projects.html @@ -0,0 +1,302 @@ + + + + + + + + Joris Guyonvarch + + + + + +
+ Resume + Projects +
+ +
+ +
+ + diff --git a/public/projects/catchvoid.png b/public/projects/catchvoid.png new file mode 100644 index 0000000..bc05c6b Binary files /dev/null and b/public/projects/catchvoid.png differ diff --git a/public/projects/cooking.png b/public/projects/cooking.png new file mode 100644 index 0000000..2d2bcc9 Binary files /dev/null and b/public/projects/cooking.png differ diff --git a/public/projects/map.png b/public/projects/map.png new file mode 100644 index 0000000..dcc83e4 Binary files /dev/null and b/public/projects/map.png differ diff --git a/public/projects/reading.png b/public/projects/reading.png new file mode 100644 index 0000000..4b58f0e Binary files /dev/null and b/public/projects/reading.png differ diff --git a/public/projects/shared-cost.png b/public/projects/shared-cost.png new file mode 100644 index 0000000..e0101cb Binary files /dev/null and b/public/projects/shared-cost.png differ diff --git a/public/projects/timer.png b/public/projects/timer.png new file mode 100644 index 0000000..dd37a2d Binary files /dev/null and b/public/projects/timer.png differ diff --git a/public/projects/todo.png b/public/projects/todo.png new file mode 100644 index 0000000..763f1bb Binary files /dev/null and b/public/projects/todo.png differ diff --git a/public/style.css b/public/style.css new file mode 100644 index 0000000..999fb7c --- /dev/null +++ b/public/style.css @@ -0,0 +1,170 @@ +@keyframes appear { + 0.0% { + transform: translateX(0.8rem); + opacity: 0; + } + 100.0% { + transform: translateX(0); + } +} + +@media screen and (max-width: 500px) { + html { + font-size: 90%; + } +} + +@media screen and (min-width: 500px) and (max-width: 900px) { + html { + font-size: 100%; + } +} + +@media screen and (min-width: 900px) { + html { + font-size: 110%; + } +} + +body { + overflow-x: hidden; + margin: 0; + line-height: 1.8rem; +} + +.g-Main { + animation-name: appear; + animation-duration: 0.2s; + animation-timing-function: ease-in; + animation-iteration-count: 1; + width: 80%; + margin: 0 auto; +} + +svg { + width: inherit; + height: inherit; +} + +ul { + list-style-type: none; + padding-left: 0; +} + +.g-Paragraph { + margin-bottom: 1rem; +} + +.g-List { + padding-left: 0; + margin: 0.5rem 0 1rem 0.5rem; +} + +.g-List__Item::before { + content: "•"; + color: #bf7f3f; + display: inline-block; + margin-right: 0.5rem; +} + +.g-List__Item { + padding: 0.2rem 0; +} + +.g-Image { + border: solid 1px #646464; + border-radius: 0.5rem; + margin-bottom: 1rem; + width: 100%; + max-width: 900px; +} + +.g-Header { + background-color: #bf7f3f; + font-size: 2.5rem; + display: flex; + font-variant: small-caps; +} + +.g-Header__Link { + display: flex; + font-size: 0.6em; + justify-content: center; + align-items: center; + flex-grow: 1; + flex-basis: 0; + height: 3.5rem; + text-decoration: none; + padding: 0; + text-align: center; + color: #ffffff; +} + +.g-Header__Link:hover, +.g-Header__Link:focus, +.g-Header__Link--Current { + border-bottom: #9a5f20 solid 0.6rem; +} + +.g-IconLink__Link { + text-decoration: none; + color: #515170; + transition: color 0.3s ease-out 0.0s; + display: inline-flex; + align-items: center; +} + +.g-IconLink__Link:focus { + outline: solid 0 #ffffff; +} + +.g-IconLink__Link:hover, +.g-IconLink__Link:focus { + text-decoration: underline; +} + +.g-IconLink__Icon { + margin-right: 1rem; + height: 1.2rem; +} + +.g-Resume__Title { + margin: 2.5rem 0 0.5rem; +} + +.g-Resume__Title > em { + font-style: normal; + border-bottom: solid 0.2rem #bf7f3f; +} + +.g-Section__Title { + color: #bf7f3f; + font-size: 1.8rem; + font-weight: lighter; + margin-bottom: 2rem; + margin-top: 3.5rem; + border-bottom: 0.1rem solid #bf7f3f; + padding-bottom: 0.5rem; + font-variant: small-caps; + letter-spacing: 0.1rem; +} + +.g-Section__Entries { + padding-left: 0; +} + +.g-Skills { + display: flex; + flex-wrap: wrap; + margin-bottom: 1rem; + padding-left: 0; +} + +.g-Skills__Item { + font-size: 0.8rem; + margin-right: 1rem; + margin-bottom: 0.5rem; + background-color: #EEEEEE; + border-radius: 0.1rem; + padding: 0 0.5rem; +} diff --git a/resume/external-link.png b/resume/external-link.png deleted file mode 100644 index cf25c68..0000000 Binary files a/resume/external-link.png and /dev/null differ diff --git a/resume/gitlab.png b/resume/gitlab.png deleted file mode 100644 index 0d8b975..0000000 Binary files a/resume/gitlab.png and /dev/null differ diff --git a/shell.nix b/shell.nix deleted file mode 100644 index 186912b..0000000 --- a/shell.nix +++ /dev/null @@ -1,29 +0,0 @@ -with (import (builtins.fetchGit { - name = "nixpkgs-20.03"; - url = "git@github.com:nixos/nixpkgs.git"; - rev = "5272327b81ed355bbed5659b8d303cf2979b6953"; - ref = "refs/tags/20.03"; -}) {}); - -haskell.lib.buildStackProject { - name = "myenv"; - - buildInputs = [ - cabal-install - zlib - stack - nodePackages.nodemon - tmux - tmuxinator - nodejs - (texlive.combine { - inherit (texlive) scheme-medium marvosym enumitem bookman titlesec - hyperref fancyhdr changepage lastpage xcolor xifthen ifmtarg; - } - ) - ]; - - shellHook = '' - export PATH=node_modules/.bin:$PATH; - ''; -} diff --git a/src/Main.hs b/src/Main.hs deleted file mode 100644 index 1e9e6d9..0000000 --- a/src/Main.hs +++ /dev/null @@ -1,151 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -import Control.Applicative (empty) -import qualified Data.Text as T -import Hakyll ((.&&.)) -import Hakyll (Compiler, Configuration (..), - Context (Context), - ContextField (ListField), Identifier, - Item, MonadMetadata, TmpFile (TmpFile)) -import qualified Hakyll as H -import qualified System.FilePath as FilePath (replaceExtension, - takeDirectory) -import qualified System.Process as Process (rawSystem, readCreateProcess, - shell, system) -import qualified Text.Pandoc as Pandoc - -main :: IO () -main = H.hakyllWith configuration $ do - - -- Static files - H.match "assets/**" $ do - H.route H.idRoute - H.compile H.copyFileCompiler - - H.match "css/**.hs" $ do - H.route . H.customRoute $ const "style.css" - H.compile $ do - H.unsafeCompiler (Process.readCreateProcess (Process.shell "cd css && runghc Style.hs") "") - >>= H.makeItem - - H.match "cv/**" $ H.version "html" $ do - H.route $ H.setExtension "html" - let context = - metadataListField `mappend` - H.defaultContext - H.compile $ H.pandocCompiler - >>= H.loadAndApplyTemplate "templates/resume.html" context - >>= H.relativizeUrls - - H.match "cv/**" $ H.version "tex" $ do - H.route $ H.setExtension "tex" - let context = - metadataListField `mappend` - H.defaultContext - H.compile $ H.getResourceBody - >>= H.readPandoc - >>= writeLaTeX - >>= H.loadAndApplyTemplate "templates/resume.tex" context - - H.match "project/**" $ do - H.route $ H.setExtension "html" - let context = - metadataListField `mappend` - H.defaultContext - H.compile $ H.pandocCompiler - >>= H.loadAndApplyTemplate "templates/project.html" context - >>= H.relativizeUrls - - H.match "index.html" $ do - H.route H.idRoute - let layoutContext = - H.constField "isResume" "true" `mappend` - H.defaultContext - let context = - H.listField "experience" H.defaultContext (H.loadAll ("cv/experience/*" .&&. H.hasVersion "html")) `mappend` - H.listField "education" H.defaultContext (H.loadAll ("cv/education/*" .&&. H.hasVersion "html")) `mappend` - H.listField "skills" H.defaultContext (H.loadAll ("cv/skill/*" .&&. H.hasVersion "html")) `mappend` - H.listField "hobbies" H.defaultContext (H.loadAll ("cv/hobby/*" .&&. H.hasVersion "html")) `mappend` - H.defaultContext - H.compile $ - H.getResourceBody - >>= H.applyAsTemplate context - >>= H.loadAndApplyTemplate "templates/layout.html" layoutContext - >>= H.relativizeUrls - - H.match "projects.html" $ do - H.route H.idRoute - let layoutContext = - H.constField "isProjects" "true" `mappend` - H.defaultContext - let context = - H.listField "projects" H.defaultContext (H.loadAll "project/*") `mappend` - H.defaultContext - H.compile $ - H.getResourceBody - >>= H.applyAsTemplate context - >>= H.loadAndApplyTemplate "templates/layout.html" layoutContext - >>= H.relativizeUrls - - H.match "cv.tex" $ do - H.route $ H.setExtension ".pdf" - let context = - H.listField "experience" H.defaultContext (H.loadAll ("cv/experience/*" .&&. H.hasVersion "tex")) `mappend` - H.listField "education" H.defaultContext (H.loadAll ("cv/education/*" .&&. H.hasVersion "tex")) `mappend` - H.listField "skills" H.defaultContext (H.loadAll ("cv/skill/*" .&&. H.hasVersion "tex")) `mappend` - H.listField "hobbies" H.defaultContext (H.loadAll ("cv/hobby/*" .&&. H.hasVersion "tex")) `mappend` - H.defaultContext - H.compile $ - H.getResourceBody - >>= H.applyAsTemplate context - >>= H.readPandoc - >>= writeLaTeX - >>= H.loadAndApplyTemplate "templates/layout.tex" context - >>= generatePdf - - H.match "templates/**" $ - H.compile H.templateBodyCompiler - -writeLaTeX :: Item Pandoc.Pandoc -> Compiler (Item String) -writeLaTeX = traverse $ \pandoc -> - case Pandoc.runPure (Pandoc.writeLaTeX Pandoc.def pandoc) of - Left err -> fail $ show err - Right x -> return (T.unpack x) - -configuration :: Configuration -configuration = H.defaultConfiguration - { destinationDirectory = "public" - , deploySite = const $ - Process.rawSystem "rsync" [ "-avzh", "public/", "joris@guyonvarch.me:/var/www/guyonvarch.me" ] - } - -metadataListField :: Context a -metadataListField = Context $ \k _ i -> do - values <- getMetadataListField (H.itemIdentifier i) k - case values of - Just vs -> do - listItems <- mapM H.makeItem vs - return $ ListField (H.field "item" (return . H.itemBody)) listItems - Nothing -> - empty - -getMetadataListField :: MonadMetadata m => Identifier -> String -> m (Maybe [String]) -getMetadataListField identifier key = do - metadata <- H.getMetadata identifier - return $ H.lookupStringList key metadata - -generatePdf :: Item String -> Compiler (Item TmpFile) -generatePdf item = do - TmpFile texPath <- H.newTmpFile "file.tex" - let tmpDir = FilePath.takeDirectory texPath - pdfPath = FilePath.replaceExtension texPath "pdf" - - H.unsafeCompiler $ do - writeFile texPath $ H.itemBody item - _ <- Process.system $ unwords ["cd resume", "&&", "pdflatex", "-halt-on-error", - "-output-directory", "../" ++ tmpDir, "../" ++ texPath, ">/dev/null", "2>&1"] - _ <- Process.system $ unwords ["cd resume", "&&", "pdflatex", "-halt-on-error", - "-output-directory", "../" ++ tmpDir, "../" ++ texPath, ">/dev/null", "2>&1"] - return () - - H.makeItem $ TmpFile pdfPath diff --git a/stack.yaml.lock b/stack.yaml.lock deleted file mode 100644 index 6d1882e..0000000 --- a/stack.yaml.lock +++ /dev/null @@ -1,26 +0,0 @@ -# This file was autogenerated by Stack. -# You should not edit this file by hand. -# For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files - -packages: -- completed: - hackage: hakyll-4.12.5.1@sha256:d1948b265e6628bcb6875571212f9acefe23179c73ca4f87f417b290ff381ca6,8677 - pantry-tree: - size: 7631 - sha256: ac35d6b2a3b6d87517ff5184430a283c378330ec5da6f7dce26416568bf134ee - original: - hackage: hakyll-4.12.5.1@sha256:d1948b265e6628bcb6875571212f9acefe23179c73ca4f87f417b290ff381ca6 -- completed: - hackage: lrucache-1.2.0.1@sha256:18fc3d7052012c7ab3cd395160f34b53c5e1ec5379cc45185baf35b90ffadc2e,1254 - pantry-tree: - size: 619 - sha256: 61b2a39a11873f2d8a577e1f6b5e848d2f465ea7f6837ce15436796d3a20eda0 - original: - hackage: lrucache-1.2.0.1@sha256:18fc3d7052012c7ab3cd395160f34b53c5e1ec5379cc45185baf35b90ffadc2e -snapshots: -- completed: - size: 498365 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/13/18.yaml - sha256: c813b03544da8a9053b722f00f3f9a0aade23443130ac7160fefa89e01f5fb17 - original: lts-13.18 diff --git a/templates/icons/code.svg b/templates/icons/code.svg deleted file mode 100644 index c4954b5..0000000 --- a/templates/icons/code.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/templates/icons/external-link.svg b/templates/icons/external-link.svg deleted file mode 100644 index 6371124..0000000 --- a/templates/icons/external-link.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/templates/icons/gitlab.svg b/templates/icons/gitlab.svg deleted file mode 100644 index 85d54a1..0000000 --- a/templates/icons/gitlab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/templates/icons/printer.svg b/templates/icons/printer.svg deleted file mode 100644 index 8a9a7ac..0000000 --- a/templates/icons/printer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/templates/icons/user.svg b/templates/icons/user.svg deleted file mode 100644 index 7bb5f29..0000000 --- a/templates/icons/user.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/templates/layout.html b/templates/layout.html deleted file mode 100644 index aabe2b8..0000000 --- a/templates/layout.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - Joris Guyonvarch - - - - - - -
- -
$partial("templates/icons/user.svg")$
- CV -
- - -
$partial("templates/icons/code.svg")$
- Projects -
-
- -
- $body$ -
- - - - diff --git a/templates/layout.tex b/templates/layout.tex deleted file mode 100644 index 320dee7..0000000 --- a/templates/layout.tex +++ /dev/null @@ -1,93 +0,0 @@ -\documentclass[a4paper, 11pt]{article} - -\usepackage[hmargin=2.5cm,tmargin=2cm,bmargin=3.5cm,footskip=2cm]{geometry} - -\usepackage{color} -\definecolor{darkblue}{RGB}{0,0,100} - -\usepackage[colorlinks=true, allcolors=darkblue, pdfborder={0 0 0}]{hyperref} - -\usepackage{titlesec} - -\usepackage{graphicx} - -\usepackage{parskip} -\setlength{\parindent}{0em} -\setlength{\parskip}{0.25cm} -\setcounter{secnumdepth}{-1} - -\usepackage[dvipsnames]{xcolor} -\usepackage[inline]{enumitem} -\setlist[itemize]{leftmargin=0.8cm,after=\vspace{0.1cm}} -\renewcommand{\labelitemi}{$$\color{brown}\bullet$$} - -% Other packages - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{fp,etoolbox,marvosym,bookman,titlesec,hyperref,tabularx,graphicx,fancyhdr,changepage,lastpage,ulem} -\usepackage{xifthen} - -% Conf - -\setlength{\parindent}{0pt} -\color[HTML]{303030} % Default foreground color -\definecolor{link}{HTML}{505070} -\hypersetup{colorlinks,breaklinks,urlcolor=link,linkcolor=link} -\setlength{\tabcolsep}{0pt} - -\pagestyle{fancy} -\lhead{} -\chead{} -\rhead{} -\renewcommand{\headrulewidth}{0pt} -\cfoot{\thepage\ / \pageref{LastPage}} - -\titleformat - {\section} - {\LARGE\scshape\raggedright\color{brown}} % format - {} % label - {0cm} % sep - {\vspace{0.3cm}} % before - [\titlerule\vspace{0.2cm}] % after - -\titleformat - {\subsection} - {\large\raggedright\bf} % format - {} % label - {0cm} % sep - {\vspace{0.3cm}} % before - [\vspace{0.1cm}] % after - -% Commands - -\providecommand{\tightlist}{% - \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} - -\newcommand{\iconLink}[3] { - \includegraphics[width=8px]{#1} & \href{#2}{\sf\small#3} \\ -} - -% Doc - -\begin{document} - -\begin{minipage}[t]{0.6\textwidth} - \centering - {\Huge Joris Guyonvarch} \\ - \vspace{0.2cm} - {\Large Developer} \\ -\end{minipage} -\begin{minipage}[t]{0.4\textwidth} - \begin{flushright} - \vspace{-1.3em} - \begin{tabular}{p{15pt}l} - \iconLink{external-link.png}{https://guyonvarch.me}{guyonvarch.me} - \iconLink{gitlab.png}{https://gitlab.com/guyonvarch}{guyonvarch} - \end{tabular} - \end{flushright} -\end{minipage} - -$body$ - -\end{document} diff --git a/templates/project.html b/templates/project.html deleted file mode 100644 index 4bcc386..0000000 --- a/templates/project.html +++ /dev/null @@ -1,37 +0,0 @@ -
  • - -

    $name$

    - -
    - - - $partial("templates/icons/gitlab.svg")$ - - $gitlab$ - -
    - -
    - $if(live)$ - - - $partial("templates/icons/external-link.svg")$ - - $live$ - - $endif$ -
    - -
    - $body$ -
    - - $if(skills)$ - - $endif$ - -
  • diff --git a/templates/resume.html b/templates/resume.html deleted file mode 100644 index e848025..0000000 --- a/templates/resume.html +++ /dev/null @@ -1,28 +0,0 @@ -
  • - - $if(name)$ -
    - $name$ -
    - $endif$ - - $if(location)$ -
    - $location$ - $if(time)$– $time$$endif$ -
    - $endif$ - -
    - $body$ -
    - - $if(skills)$ - - $endif$ - -
  • diff --git a/templates/resume.tex b/templates/resume.tex deleted file mode 100644 index 678e20b..0000000 --- a/templates/resume.tex +++ /dev/null @@ -1,18 +0,0 @@ -$if(name)$ - \subsection{$name$} -$endif$ - -{\color{OliveGreen} $if(location)$ $location$ $endif$ $if(time)$ – $time$ $endif$} - -$body$ - -$if(skills)$ - \begin{enumerate*}[label={}] - $for(skills)$ - \item{} - \hspace{-0.3cm} - {\color{gray}\uline{\textcolor{black}{$item$}}} - \hspace{0.2cm} - $endfor$ - \end{enumerate*} -$endif$ -- cgit v1.2.3