aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--Makefile25
-rw-r--r--README.md30
-rw-r--r--assets/gitlab-icon.svg1
-rw-r--r--assets/project/personal-page.pngbin69689 -> 0 bytes
-rw-r--r--css/Body.hs36
-rw-r--r--css/Color.hs27
-rw-r--r--css/Header.hs53
-rw-r--r--css/IconLink.hs31
-rw-r--r--css/Link.hs23
-rw-r--r--css/Media.hs36
-rw-r--r--css/NotFound.hs20
-rw-r--r--css/Project.hs19
-rw-r--r--css/Resume.hs87
-rw-r--r--css/Section.hs43
-rw-r--r--css/Size.hs24
-rw-r--r--css/Skills.hs22
-rw-r--r--css/Style.hs58
-rw-r--r--cv.tex23
-rw-r--r--cv/education/1-insa.md8
-rw-r--r--cv/education/2-master.md8
-rw-r--r--cv/experience/1-dividat.md16
-rw-r--r--cv/experience/2-zengularity.md22
-rw-r--r--cv/experience/3-irisa.md15
-rw-r--r--cv/experience/4-mission-critical-it.md10
-rw-r--r--cv/hobby/1-hobbies.md2
-rw-r--r--cv/skill/1-technical-lead.md6
-rw-r--r--cv/skill/2-developer.md10
-rw-r--r--cv/skill/3-researcher.md8
-rwxr-xr-xdeploy4
-rw-r--r--fr/README.md29
-rw-r--r--fr/cv.tex23
-rw-r--r--fr/cv/education/1-insa.md8
-rw-r--r--fr/cv/education/2-master.md8
-rw-r--r--fr/cv/experience/1-developer.md22
-rw-r--r--fr/cv/experience/2-researcher.md15
-rw-r--r--fr/cv/experience/3-research-developer.md10
-rw-r--r--fr/cv/hobby/1-hobbies.md2
-rw-r--r--fr/cv/skill/1-technical-lead.md6
-rw-r--r--fr/cv/skill/2-developer.md10
-rw-r--r--fr/cv/skill/3-researcher.md8
-rw-r--r--fr/index.html66
-rw-r--r--fr/project/01-shared-cost.md13
-rw-r--r--fr/project/02-ad-listener.md11
-rw-r--r--fr/project/03-reading.md14
-rw-r--r--fr/project/04-map-marks.md10
-rw-r--r--fr/project/05-catchvoid.md10
-rw-r--r--fr/project/06-personal-page.md13
-rw-r--r--fr/project/07-timer.md9
-rw-r--r--fr/project/08-cooking.md12
-rw-r--r--fr/project/09-nixos-config.md8
-rw-r--r--fr/project/10-dotfiles.md6
-rw-r--r--fr/projects.html5
-rw-r--r--index.html66
-rw-r--r--personalPage.cabal18
-rw-r--r--project/01-shared-cost.md15
-rw-r--r--project/02-todo.md11
-rw-r--r--project/03-ad-listener.md10
-rw-r--r--project/04-reading.md16
-rw-r--r--project/05-map.md13
-rw-r--r--project/06-catchvoid.md13
-rw-r--r--project/07-personal-page.md14
-rw-r--r--project/08-timer.md11
-rw-r--r--project/09-cooking.md13
-rw-r--r--project/10-nixos-config.md8
-rw-r--r--project/11-dotfiles.md6
-rw-r--r--projects.html5
-rw-r--r--public/icon.png (renamed from assets/icon.png)bin701 -> 701 bytes
-rw-r--r--public/index.html203
-rw-r--r--public/projects.html302
-rw-r--r--public/projects/catchvoid.png (renamed from assets/project/catchvoid.png)bin60480 -> 60480 bytes
-rw-r--r--public/projects/cooking.png (renamed from assets/project/cooking.png)bin71273 -> 71273 bytes
-rw-r--r--public/projects/map.png (renamed from assets/project/map.png)bin1837960 -> 1837961 bytes
-rw-r--r--public/projects/reading.png (renamed from assets/project/reading.png)bin859810 -> 859810 bytes
-rw-r--r--public/projects/shared-cost.png (renamed from assets/project/shared-cost.png)bin104841 -> 104841 bytes
-rw-r--r--public/projects/timer.png (renamed from assets/project/timer.png)bin27947 -> 27947 bytes
-rw-r--r--public/projects/todo.png (renamed from assets/project/todo.png)bin57397 -> 57397 bytes
-rw-r--r--public/style.css170
-rw-r--r--resume/external-link.pngbin957 -> 0 bytes
-rw-r--r--resume/gitlab.pngbin7718 -> 0 bytes
-rw-r--r--shell.nix29
-rw-r--r--src/Main.hs151
-rw-r--r--stack.yaml.lock26
-rw-r--r--templates/icons/code.svg1
-rw-r--r--templates/icons/external-link.svg1
-rw-r--r--templates/icons/gitlab.svg1
-rw-r--r--templates/icons/printer.svg1
-rw-r--r--templates/icons/user.svg1
-rw-r--r--templates/layout.html34
-rw-r--r--templates/layout.tex93
-rw-r--r--templates/project.html37
-rw-r--r--templates/resume.html28
-rw-r--r--templates/resume.tex18
93 files changed, 683 insertions, 1621 deletions
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 @@
-<svg id="logo_art" data-name="logo art" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 586 559"><defs><style>.cls-1{fill:#fc6d26;}.cls-2{fill:#e24329;}.cls-3{fill:#fca326;}</style></defs><title>gitlab-icon-rgb</title><g id="g44"><path id="path46" class="cls-1" d="M461.17,301.83l-18.91-58.12L404.84,128.43a6.47,6.47,0,0,0-12.27,0L355.15,243.64H230.82L193.4,128.43a6.46,6.46,0,0,0-12.26,0L143.78,243.64l-18.91,58.19a12.88,12.88,0,0,0,4.66,14.39L293,435,456.44,316.22a12.9,12.9,0,0,0,4.73-14.39"/></g><g id="g48"><path id="path50" class="cls-2" d="M293,434.91h0l62.16-191.28H230.87L293,434.91Z"/></g><g id="g56"><path id="path58" class="cls-1" d="M293,434.91,230.82,243.63h-87L293,434.91Z"/></g><g id="g64"><path id="path66" class="cls-3" d="M143.75,243.69h0l-18.91,58.12a12.88,12.88,0,0,0,4.66,14.39L293,435,143.75,243.69Z"/></g><g id="g72"><path id="path74" class="cls-2" d="M143.78,243.69h87.11L193.4,128.49a6.47,6.47,0,0,0-12.27,0l-37.35,115.2Z"/></g><g id="g76"><path id="path78" class="cls-1" d="M293,434.91l62.16-191.28H442.3L293,434.91Z"/></g><g id="g80"><path id="path82" class="cls-3" d="M442.24,243.69h0l18.91,58.12a12.85,12.85,0,0,1-4.66,14.39L293,434.91l149.2-191.22Z"/></g><g id="g84"><path id="path86" class="cls-2" d="M442.28,243.69h-87.1l37.42-115.2a6.46,6.46,0,0,1,12.26,0l37.42,115.2Z"/></g></svg> \ No newline at end of file
diff --git a/assets/project/personal-page.png b/assets/project/personal-page.png
deleted file mode 100644
index fa59e0e..0000000
--- a/assets/project/personal-page.png
+++ /dev/null
Binary files 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
-<div class="Language__Container">
- <a class="Language__Link" href="">FR</a>
- <a class="Language__Link" href="">EN</a>
-</div>
-```
-
-```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 @@
-<section class="Section__Container">
-
- <h1 class="Resume__NameAndPrint Section__Title">
- Joris Guyonvarch
-
- <a class="Resume__Print" href="cv.pdf" target="_blank">
- $partial("templates/icons/printer.svg")$
- </a>
- </h1>
-
- <a class="Resume__GitLabLink IconLink__Link" href="https://gitlab.com/guyonvarch">
- <span class="IconLink__Icon">
- $partial("templates/icons/gitlab.svg")$
- </span>
- guyonvarch
- </a>
-
-</section>
-
-<section class="Section__Container">
-
- <h1 class="Section__Title">Expérience</h1>
-
- <ul class="Section__Entries">
- $for(experience)$
- $body$
- $endfor$
- </ul>
-
-</section>
-
-<section class="Section__Container">
-
- <h1 class="Section__Title">Études</h1>
-
- <ul class="Section__Entries">
- $for(education)$
- $body$
- $endfor$
- </ul>
-
-</section>
-
-<section class="Section__Container">
-
- <h1 class="Section__Title">Compétences</h1>
-
- <ul class="Section__Entries">
- $for(skills)$
- $body$
- $endfor$
- </ul>
-
-</section>
-
-<section class="Section__Container">
-
- <h1 class="Section__Title">Intérêts</h1>
-
- <ul class="Section__Entries">
- $for(hobbies)$
- $body$
- $endfor$
- </ul>
-
-</section>
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 @@
-<ul class="Projects__List">
- $for(projects)$
- $body$
- $endfor$
-</ul>
diff --git a/index.html b/index.html
deleted file mode 100644
index a867f1e..0000000
--- a/index.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<section class="Section__Container">
-
- <h1 class="Resume__NameAndPrint Section__Title">
- Joris Guyonvarch
-
- <a class="Resume__Print" href="cv.pdf" target="_blank">
- $partial("templates/icons/printer.svg")$
- </a>
- </h1>
-
- <a class="Resume__GitLabLink IconLink__Link" href="https://gitlab.com/guyonvarch">
- <span class="IconLink__Icon">
- $partial("templates/icons/gitlab.svg")$
- </span>
- guyonvarch
- </a>
-
-</section>
-
-<section class="Section__Container">
-
- <h1 class="Section__Title">Experience</h1>
-
- <ul class="Section__Entries">
- $for(experience)$
- $body$
- $endfor$
- </ul>
-
-</section>
-
-<section class="Section__Container">
-
- <h1 class="Section__Title">Educational background</h1>
-
- <ul class="Section__Entries">
- $for(education)$
- $body$
- $endfor$
- </ul>
-
-</section>
-
-<section class="Section__Container">
-
- <h1 class="Section__Title">Skills</h1>
-
- <ul class="Section__Entries">
- $for(skills)$
- $body$
- $endfor$
- </ul>
-
-</section>
-
-<section class="Section__Container">
-
- <h1 class="Section__Title">Hobbies</h1>
-
- <ul class="Section__Entries">
- $for(hobbies)$
- $body$
- $endfor$
- </ul>
-
-</section>
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 @@
-<ul class="Projects__List">
- $for(projects)$
- $body$
- $endfor$
-</ul>
diff --git a/assets/icon.png b/public/icon.png
index 115a297..115a297 100644
--- a/assets/icon.png
+++ b/public/icon.png
Binary files 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 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="author" content="Joris Guyonvarch">
+ <meta name="description" content="I am a developer using functional programming. Here are my resume and projects.">
+ <title>Joris Guyonvarch</title>
+ <link rel="stylesheet" href="style.css" />
+ <link rel="icon" href="icon.png" />
+ </head>
+
+ <body>
+ <header class="g-Header">
+ <a href="" class="g-Header__Link g-Header__Link--Current">Resume</a>
+ <a href="projects.html" class="g-Header__Link ">Projects</a>
+ </header>
+
+ <main class="g-Main">
+ <section class="g-Section">
+ <h1 class="g-Section__Title">Experience</h1>
+
+ <ul class="g-Section__Entries">
+
+ <li class="g-Resume">
+ <div class="g-Resume__Title">
+ <em>Dividat</em> since 2019
+ </div>
+
+ <p class="g-Paragraph">
+ Prevent falls with technology-based training therapy which
+ promotes autonomous mobility and functional independence in old
+ age, after an accident or illness.
+ </p>
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Elm</li>
+ <li class="g-Skills__Item">Scala</li>
+ <li class="g-Skills__Item">Nix</li>
+ <li class="g-Skills__Item">Python</li>
+ <li class="g-Skills__Item">Ocaml</li>
+ <li class="g-Skills__Item">Rust</li>
+ <li class="g-Skills__Item">PostgreSQL</li>
+ </ul>
+ </li>
+
+ <li class="g-Resume">
+ <div class="g-Resume__Title">
+ <em>Zengularity</em> for 5 years
+ </div>
+
+ <p class="g-Paragraph">
+ Web Oriented Architecture (WOA) for information systems :
+ </p>
+
+ <ul class="g-List">
+ <li class="g-List__Item">Training platform for the unemployed in Seine-Saint-Denis.</li>
+ <li class="g-List__Item">File house insurance claims for Saretec.</li>
+ <li class="g-List__Item">Unit and automatic franking of Colissimo labels for La Poste.</li>
+ <li class="g-List__Item">Participant’s pages for the Mutuelle Nationale Territoriale (MNT).</li>
+ <li class="g-List__Item">Food sample analysis with results visualization for Adisseo.</li>
+ </ul>
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Scala</li>
+ <li class="g-Skills__Item">Scala.js</li>
+ <li class="g-Skills__Item">Elm</li>
+ <li class="g-Skills__Item">Akka</li>
+ <li class="g-Skills__Item">Play!</li>
+ <li class="g-Skills__Item">MongoDB</li>
+ <li class="g-Skills__Item">PostgreSQL</li>
+ <li class="g-Skills__Item">ElasticSearch</li>
+ </ul>
+ </li>
+
+ <li class="g-Resume">
+ <div class="g-Resume__Title">
+ <em>IRISA Rennes</em> for 5 months
+ </div>
+
+ <p class="g-Paragraph">
+ Scalable query-based faceted search for guided and expressive
+ search on the semantic web.
+ </p>
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Semantic Web</li>
+ <li class="g-Skills__Item">Scala</li>
+ <li class="g-Skills__Item">Java</li>
+ <li class="g-Skills__Item">LaTeX</li>
+ <li class="g-Skills__Item">GWT</li>
+ <li class="g-Skills__Item">Jena</li>
+ </ul>
+ </li>
+
+ <li class="g-Resume">
+ <div class="g-Resume__Title">
+ <em>Mission Critical IT</em> for 3 months
+ </div>
+
+ <p class="g-Paragraph">
+ Guided querying and edition of semantic web information.
+ </p>
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Semantic Web</li>
+ <li class="g-Skills__Item">Mercury</li>
+ </ul>
+ </li>
+ </ul>
+ </section>
+
+ <section class="g-Section">
+ <h1 class="g-Section__Title">Educational background</h1>
+
+ <ul class="g-Section__Entries">
+ <li class="g-Resume">
+ <div class="g-Resume__Title">
+ <em>Master of Science Computer Science</em> at INSA Rennes
+ </div>
+
+ <ul class="g-List">
+ <li class="g-List__Item">Language</li>
+ <li class="g-List__Item">System</li>
+ <li class="g-List__Item">Network</li>
+ </ul>
+ </li>
+
+ <li class="g-Resume">
+ <div class="g-Resume__Title">
+ <em>Master of Research Computer Science</em> at University of Rennes I
+ </div>
+
+ <ul class="g-List">
+ <li class="g-List__Item">Machine learning</li>
+ <li class="g-List__Item">Modelisation</li>
+ <li class="g-List__Item">Data indexation</li>
+ </ul>
+ </li>
+ </ul>
+ </section>
+
+ <section class="g-Section">
+ <h1 class="g-Section__Title">Skills</h1>
+
+ <ul class="g-Section__Entries">
+ <li class="g-Resume">
+ <div class="g-Resume__Title">
+ <em>Technical lead</em>
+ </div>
+
+ <ul class="g-List">
+ <li class="g-List__Item">Create tasks and subtasks from functional needs.</li>
+ <li class="g-List__Item">Optimise task order for the development team.</li>
+ </ul>
+ </li>
+
+ <li class="g-Resume">
+ <div class="g-Resume__Title">
+ <em>Developer</em>
+ </div>
+
+ <ul class="g-List">
+ <li class="g-List__Item">Program with functional languages (Haskell, Scala, Elm).</li>
+ <li class="g-List__Item">Build web applications (HTTP protocol; HTML, CSS, Javascript and JSON languages).</li>
+ <li class="g-List__Item">Interact with data (SQL, MongoDB, SPARQL).</li>
+ <li class="g-List__Item">Work with versioning (Git).</li>
+ <li class="g-List__Item">Review code and test functionalities.</li>
+ <li class="g-List__Item">Write bash and Python scripts.</li>
+ </ul>
+ </li>
+
+ <li class="g-Resume">
+ <div class="g-Resume__Title">
+ <em>Researcher</em>
+ </div>
+
+ <ul class="g-List">
+ <li class="g-List__Item">Conduct a bibliographic research.</li>
+ <li class="g-List__Item">Build a prototype and experiment from it.</li>
+ <li class="g-List__Item">Analyse the results from an experimentation and check the hypotheses.</li>
+ <li class="g-List__Item">Present a research study through an article and a slideshow (LaTeX).</li>
+ </ul>
+ </li>
+ </ul>
+ </section>
+
+ <section class="g-Section">
+ <h1 class="g-Section__Title">Hobbies</h1>
+
+ <ul class="g-Section__Entries">
+ <li class="g-Resume">
+
+ <ul class="g-List">
+ <li class="g-List__Item">Tune my workstation (NixOS, i3, bépo keyboard layout).</li>
+ <li class="g-List__Item">Create video games (SDL, Elm).</li>
+ </ul>
+ </li>
+ </ul>
+ </section>
+ </main>
+ </body>
+</html>
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 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="author" content="Joris Guyonvarch">
+ <meta name="description" content="I’m a developer using functional programming. View my resume and projects.">
+ <title>Joris Guyonvarch</title>
+ <link rel="stylesheet" href="style.css" />
+ <link rel="icon" href="icon.png" />
+ </head>
+
+ <body>
+ <header class="g-Header">
+ <a href="index.html" class="g-Header__Link ">Resume</a>
+ <a href="projects.html" class="g-Header__Link g-Header__Link--Current">Projects</a>
+ </header>
+
+ <main class="g-Main">
+ <ul class="g-Projects__List">
+ <li class="g-Section">
+ <h1 class="g-Section__Title">Shared Cost</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/shared-cost">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/shared-cost
+ </a>
+ </div>
+
+ <p class="g-Paragraph">
+ Share costs with a group of people with a Rich Internet
+ Application (RIA).
+ </p>
+
+ <img class="g-Image" src="projects/shared-cost.png" />
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Haskell</li>
+ <li class="g-Skills__Item">Scotty</li>
+ <li class="g-Skills__Item">Clay</li>
+ <li class="g-Skills__Item">GHCJS</li>
+ <li class="g-Skills__Item">reflex-frp</li>
+ </ul>
+ </li>
+
+ <li class="g-Section">
+ <h1 class="g-Section__Title">Todo</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/todo">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/todo
+ </a>
+ </div>
+
+ <p class="g-Paragraph">Manage a context-based next-action list.</p>
+
+ <img class="g-Image" src="projects/todo.png" />
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Python</li>
+ <li class="g-Skills__Item">Qt</li>
+ </ul>
+ </li>
+
+ <li class="g-Section">
+ <h1 class="g-Section__Title">Reading</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/reading">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/reading
+ </a>
+ </div>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://guyonvarch.gitlab.io/reading">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>
+
+ </span>
+ https://guyonvarch.gitlab.io/reading
+ </a>
+ </div>
+
+ <p class="g-Paragraph">
+ Guide students to find a book by refining the result set with faceted search.
+ </p>
+
+ <img class="g-Image" src="projects/reading.png" />
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Scala</li>
+ <li class="g-Skills__Item">Scala.js</li>
+ <li class="g-Skills__Item">ScalaCSS</li>
+ <li class="g-Skills__Item">Scalatags</li>
+ <li class="g-Skills__Item">Scala.Rx</li>
+ </ul>
+ </li>
+
+ <li class="g-Section">
+ <h1 class="g-Section__Title">Map</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/map">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/map
+ </a>
+ </div>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://guyonvarch.gitlab.io/map">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>
+
+ </span>
+ https://guyonvarch.gitlab.io/map
+ </a>
+ </div>
+
+ <p class="g-Paragraph">Add customized markers on a map.</p>
+
+ <img class="g-Image" src="projects/map.png" />
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Ocaml</li>
+ <li class="g-Skills__Item">BuckleScript</li>
+ <li class="g-Skills__Item">Leaflet</li>
+ </ul>
+ </li>
+
+ <li class="g-Section">
+ <h1 class="g-Section__Title">cAtchVoid</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/catchvoid">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/catchvoid
+ </a>
+ </div>
+
+ <div>
+ <a class="g-IconLink__Link" href="http://guyonvarch.gitlab.io/catchvoid">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>
+
+ </span>
+ http://guyonvarch.gitlab.io/catchvoid
+ </a>
+ </div>
+
+ <p class="g-Paragraph">
+ Catch the points of your color, avoid the others. You can switch
+ colors in order to reverse the game mechanic. Get the best score.
+ </p>
+ <img class="g-Image" src="projects/catchvoid.png" />
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Elm</li>
+ <li class="g-Skills__Item">Game development</li>
+ </ul>
+ </li>
+
+ <li class="g-Section">
+ <h1 class="g-Section__Title">Timer</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/timer">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/timer
+ </a>
+ </div>
+
+ <div>
+ <a class="g-IconLink__Link" href="http://guyonvarch.gitlab.io/timer">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>
+
+ </span>
+ http://guyonvarch.gitlab.io/timer
+ </a>
+ </div>
+
+ <p class="g-Paragraph">
+ Create and manage timers with a Rich Internet Application (RIA).
+ </p>
+
+ <img class="g-Image" src="projects/timer.png" />
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Elm</li>
+ </ul>
+ </li>
+
+ <li class="g-Section">
+ <h1 class="g-Section__Title">Cooking</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/cooking">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/cooking
+ </a>
+ </div>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://cooking.guyonvarch.me">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>
+
+ </span>
+ https://cooking.guyonvarch.me
+ </a>
+ </div>
+
+ <p class="g-Paragraph">Show recipes as a blog from markdown files.</p>
+
+ <img class="g-Image" src="projects/cooking.png" />
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Zola</li>
+ <li class="g-Skills__Item">Ocaml</li>
+ <li class="g-Skills__Item">BuckleScript</li>
+ </ul>
+ </li>
+
+ <li class="g-Section">
+ <h1 class="g-Section__Title">ad-listener</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/ad-listener">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/ad-listener
+ </a>
+ </div>
+
+ <p class="g-Paragraph">
+ Watch for new ads according to custom search criteria and send an
+ email notification each time a new ad is available.
+ </p>
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Haskell</li>
+ <li class="g-Skills__Item">TagSoup</li>
+ </ul>
+ </li>
+
+ <li class="g-Section">
+ <h1 class="g-Section__Title">nixos-config</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/nixos-config">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/nixos-config
+ </a>
+ </div>
+
+ <p class="g-Paragraph">Configure declaratively my NixOS system.</p>
+
+ <ul class="g-Skills">
+ <li class="g-Skills__Item">Nix</li>
+ </ul>
+ </li>
+
+ <li class="g-Section">
+ <h1 class="g-Section__Title">dotfiles</h1>
+
+ <div>
+ <a class="g-IconLink__Link" href="https://gitlab.com/guyonvarch/dotfiles">
+ <span class="g-IconLink__Icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg>
+ </span>
+ guyonvarch/dotfiles
+ </a>
+ </div>
+
+ <p class="g-Paragraph">
+ Configure my tools.
+ </p>
+ </li>
+ </ul>
+ </main>
+ </body>
+</html>
diff --git a/assets/project/catchvoid.png b/public/projects/catchvoid.png
index bc05c6b..bc05c6b 100644
--- a/assets/project/catchvoid.png
+++ b/public/projects/catchvoid.png
Binary files differ
diff --git a/assets/project/cooking.png b/public/projects/cooking.png
index 2d2bcc9..2d2bcc9 100644
--- a/assets/project/cooking.png
+++ b/public/projects/cooking.png
Binary files differ
diff --git a/assets/project/map.png b/public/projects/map.png
index 495dd3f..dcc83e4 100644
--- a/assets/project/map.png
+++ b/public/projects/map.png
Binary files differ
diff --git a/assets/project/reading.png b/public/projects/reading.png
index 4b58f0e..4b58f0e 100644
--- a/assets/project/reading.png
+++ b/public/projects/reading.png
Binary files differ
diff --git a/assets/project/shared-cost.png b/public/projects/shared-cost.png
index e0101cb..e0101cb 100644
--- a/assets/project/shared-cost.png
+++ b/public/projects/shared-cost.png
Binary files differ
diff --git a/assets/project/timer.png b/public/projects/timer.png
index dd37a2d..dd37a2d 100644
--- a/assets/project/timer.png
+++ b/public/projects/timer.png
Binary files differ
diff --git a/assets/project/todo.png b/public/projects/todo.png
index 763f1bb..763f1bb 100644
--- a/assets/project/todo.png
+++ b/public/projects/todo.png
Binary files 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
--- a/resume/external-link.png
+++ /dev/null
Binary files differ
diff --git a/resume/gitlab.png b/resume/gitlab.png
deleted file mode 100644
index 0d8b975..0000000
--- a/resume/gitlab.png
+++ /dev/null
Binary files 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 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-code"><polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline></svg> \ 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 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>
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 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-gitlab"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg> \ 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 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-printer"><polyline points="6 9 6 2 18 2 18 9"></polyline><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"></path><rect x="6" y="14" width="12" height="8"></rect></svg> \ 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 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-user"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg> \ 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 @@
-<!DOCTYPE html>
-<html>
-
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="author" content="Joris Guyonvarch">
- <meta name="description" content="I’m a developer using functional programming. View my resume and projects.">
- <title>Joris Guyonvarch</title>
- <link rel="stylesheet" href="/style.css" />
- <link rel="icon" href="/assets/icon.png" />
- </head>
-
- <body>
-
- <header class="Header__Container">
- <a href="/" class="Header__Link $if(isResume)$Header__LinkCurrent$endif$">
- <div class="Header__Icon">$partial("templates/icons/user.svg")$</div>
- CV
- </a>
-
- <a href="/projects.html" class="Header__Link $if(isProjects)$Header__LinkCurrent$endif$">
- <div class="Header__Icon">$partial("templates/icons/code.svg")$</div>
- Projects
- </a>
- </header>
-
- <main class="Main__Container">
- $body$
- </main>
-
- </body>
-
-</html>
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 @@
-<li class="Section__Container">
-
- <h1 class="Section__Title">$name$</h1>
-
- <div>
- <a class="IconLink__Link" href="https://gitlab.com/$gitlab$">
- <span class="IconLink__Icon">
- $partial("templates/icons/gitlab.svg")$
- </span>
- $gitlab$
- </a>
- </div>
-
- <div>
- $if(live)$
- <a class="IconLink__Link" href="$live$">
- <span class="IconLink__Icon">
- $partial("templates/icons/external-link.svg")$
- </span>
- $live$
- </a>
- $endif$
- </div>
-
- <div class="Project__Body Body__Container">
- $body$
- </div>
-
- $if(skills)$
- <ul class="Skills__List">
- $for(skills)$
- <li class="Skills__Item">$item$</li>
- $endfor$
- </ul>
- $endif$
-
-</li>
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 @@
-<li class="Resume__Container">
-
- $if(name)$
- <div class="Resume__Name">
- $name$
- </div>
- $endif$
-
- $if(location)$
- <div class="Resume__Location">
- $location$
- $if(time)$– $time$$endif$
- </div>
- $endif$
-
- <div class="Body__Container">
- $body$
- </div>
-
- $if(skills)$
- <ul class="Skills__List">
- $for(skills)$
- <li class="Skills__Item">$item$</li>
- $endfor$
- </ul>
- $endif$
-
-</li>
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$