diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2019-10-21 06:49:39 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2019-10-21 06:49:39 +0200 |
| commit | 421677613114bb40780d3a5516b6930d386d0b09 (patch) | |
| tree | c3388994b4370bd407e197f344792a51d9ae8d9b | |
| parent | a543aa89c4db8e0e5509e96540a8dc5303159148 (diff) | |
| download | mitjafelicijan.com-421677613114bb40780d3a5516b6930d386d0b09.tar.gz | |
Added comments and updated CV
| -rw-r--r-- | content/cv.md | 30 | ||||
| -rw-r--r-- | package.json | 6 | ||||
| -rw-r--r-- | source/assets/default.css | 26 | ||||
| -rw-r--r-- | source/layouts/comments.njk | 2 | ||||
| -rw-r--r-- | source/layouts/draft.njk | 77 | ||||
| -rw-r--r-- | source/layouts/footer.njk | 42 | ||||
| -rw-r--r-- | source/layouts/index.njk | 114 | ||||
| -rw-r--r-- | source/layouts/navigation.njk | 24 | ||||
| -rw-r--r-- | source/layouts/page.njk | 72 | ||||
| -rw-r--r-- | source/layouts/post.njk | 81 |
10 files changed, 264 insertions, 210 deletions
diff --git a/content/cv.md b/content/cv.md index 0d4aeb4..ca02245 100644 --- a/content/cv.md +++ b/content/cv.md | |||
| @@ -6,14 +6,13 @@ slug: curriculum-vitae | |||
| 6 | --- | 6 | --- |
| 7 | 7 | ||
| 8 | **Mitja Felicijan** | 8 | **Mitja Felicijan** |
| 9 | *Embedded systems developer* | ||
| 10 | *[mitja.felicijan@gmail.com](mailto:mitja.felicijan@gmail.com?subject=Website+CV+Contact)* | 9 | *[mitja.felicijan@gmail.com](mailto:mitja.felicijan@gmail.com?subject=Website+CV+Contact)* |
| 11 | *Slovenia, EU* | 10 | *Slovenia, EU* |
| 12 | 11 | ||
| 13 | ## Technical experience | 12 | ## Technical experience |
| 14 | 13 | ||
| 15 | - **Key languages:** Golang, Python, C/C++, Bash, C#, Java, Perl. | 14 | - **Key languages:** Golang, Python, C, Bash. |
| 16 | - **Platforms:** GNU/Linux, Arch, Debian, Gentoo, Red Hat, Custom distros. | 15 | - **Platforms:** GNU/Linux, macOS. |
| 17 | - **Fields of study:** Zigbee, KNX, Modbus, Machine to Machine, Embedded systems, Operating systems, Distributed systems, IOT, RDBMS, Algorithms, Database engine design, SQL, NoSQL, NewSQL, Big data analytics, Machine learning, Prediction algorithms, Realtime analytics, Systems automation, Natural language processing, Bioinformatics. | 16 | - **Fields of study:** Zigbee, KNX, Modbus, Machine to Machine, Embedded systems, Operating systems, Distributed systems, IOT, RDBMS, Algorithms, Database engine design, SQL, NoSQL, NewSQL, Big data analytics, Machine learning, Prediction algorithms, Realtime analytics, Systems automation, Natural language processing, Bioinformatics. |
| 18 | 17 | ||
| 19 | ## Major projects | 18 | ## Major projects |
| @@ -37,15 +36,20 @@ slug: curriculum-vitae | |||
| 37 | - Wireless industrial lighting management system - hardware and software (2016) | 36 | - Wireless industrial lighting management system - hardware and software (2016) |
| 38 | - Minimal configuration reverse proxy (2017) | 37 | - Minimal configuration reverse proxy (2017) |
| 39 | - Industrial IOT platform for deployment on on-premise (2018) | 38 | - Industrial IOT platform for deployment on on-premise (2018) |
| 39 | - Custom Platform as a service based on Docker Swarm (2018) | ||
| 40 | - Toolkit for encoding binary data into DNA sequence (2019) | ||
| 41 | - Minimal configuration reverse proxy with load balancing and rate limiting (2019) | ||
| 42 | - E-ink conference room occupancy display, hadrware and software solution (2019) | ||
| 40 | 43 | ||
| 41 | ## Employment history | 44 | ## Employment history |
| 42 | 45 | ||
| 43 | - Freelancer (2001 – Present) | 46 | - Freelancer (2001 – Present) |
| 44 | - Software developer at Mobinia (2005 – 2007) | 47 | - Software developer at Mobinia (2005 – 2007) |
| 45 | - CTO at Milk (2007 – 2009) | 48 | - CTO at Milk (2007 – 2009) |
| 46 | - Founder and CTO of UTS (2009 – 2014) | 49 | - Co-Founder of UTS (2009 – 2014) |
| 47 | - Founding member of Origami Group (2014 – 2017) | ||
| 48 | - Senior Software Engineer at TSmedia (2015 - 2017) | 50 | - Senior Software Engineer at TSmedia (2015 - 2017) |
| 51 | - Senior Software Engineer at Renderspace (2017 - 2019) | ||
| 52 | - IT Consultant (2017 – Present) | ||
| 49 | 53 | ||
| 50 | ## Awards | 54 | ## Awards |
| 51 | 55 | ||
| @@ -54,11 +58,11 @@ slug: curriculum-vitae | |||
| 54 | 58 | ||
| 55 | ## Key responsibilities | 59 | ## Key responsibilities |
| 56 | 60 | ||
| 57 | - Responsible for embedded platforms development. | 61 | - Embedded platform development. |
| 58 | - Responsible for hardware design and driver development. | 62 | - Hardware design and driver development. |
| 59 | - Responsible for the designing, develop and test the systems. | 63 | - Designing, developing and testing systems. |
| 60 | - Responsible for implementation of the systems. | 64 | - Implementation of the systems. |
| 61 | - Responsible for writing and maintaining user and technical documents. | 65 | - Writing and maintaining user and technical documents. |
| 62 | - Responsible for development and maintenance of the project. | 66 | - Development and maintenance of the project. |
| 63 | - Responsible for code revision, testing and output. | 67 | - Code revision, testing and output. |
| 64 | - Work on the enhancement suggested by the customers and fixes the bugs reported.) | 68 | - Work on the enhancement suggested by the customers and fixes the bugs reported. |
diff --git a/package.json b/package.json index ab61dc9..0cae7e9 100644 --- a/package.json +++ b/package.json | |||
| @@ -20,13 +20,13 @@ | |||
| 20 | "gulp-terser": "^1.2.0", | 20 | "gulp-terser": "^1.2.0", |
| 21 | "html-minifier": "^4.0.0", | 21 | "html-minifier": "^4.0.0", |
| 22 | "http-server": "^0.11.1", | 22 | "http-server": "^0.11.1", |
| 23 | "markdown-it": "^9.1.0", | 23 | "markdown-it": "^10.0.0", |
| 24 | "markdown-it-anchor": "^5.2.4", | 24 | "markdown-it-anchor": "^5.2.5", |
| 25 | "markdown-it-checkbox": "^1.1.0", | 25 | "markdown-it-checkbox": "^1.1.0", |
| 26 | "markdown-it-deflist": "^2.0.3", | 26 | "markdown-it-deflist": "^2.0.3", |
| 27 | "markdown-it-footnote": "^3.0.2", | 27 | "markdown-it-footnote": "^3.0.2", |
| 28 | "markdown-it-prism": "^2.0.3", | 28 | "markdown-it-prism": "^2.0.3", |
| 29 | "nunjucks": "^3.2.0", | 29 | "nunjucks": "^3.2.0", |
| 30 | "yaml": "^1.6.0" | 30 | "yaml": "^1.7.2" |
| 31 | } | 31 | } |
| 32 | } | 32 | } |
diff --git a/source/assets/default.css b/source/assets/default.css index 0d1b09e..ee88a25 100644 --- a/source/assets/default.css +++ b/source/assets/default.css | |||
| @@ -5,8 +5,8 @@ | |||
| 5 | * { | 5 | * { |
| 6 | box-sizing: border-box; | 6 | box-sizing: border-box; |
| 7 | -moz-osx-font-smoothing: grayscale !important; | 7 | -moz-osx-font-smoothing: grayscale !important; |
| 8 | text-rendering: optimizeLegibility !important; | 8 | text-rendering: optimizeLegibility !important; |
| 9 | -webkit-font-smoothing: antialiased !important; | 9 | -webkit-font-smoothing: antialiased !important; |
| 10 | } | 10 | } |
| 11 | 11 | ||
| 12 | body { | 12 | body { |
| @@ -55,7 +55,7 @@ img { | |||
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | .wrapper { | 57 | .wrapper { |
| 58 | max-width: 800px; | 58 | max-width: 720px; |
| 59 | margin: 0 auto; | 59 | margin: 0 auto; |
| 60 | } | 60 | } |
| 61 | 61 | ||
| @@ -301,6 +301,26 @@ article img.large { | |||
| 301 | } | 301 | } |
| 302 | } | 302 | } |
| 303 | 303 | ||
| 304 | /******************************************************************* COMMENTS */ | ||
| 305 | |||
| 306 | #commento { | ||
| 307 | margin-top: 75px; | ||
| 308 | } | ||
| 309 | |||
| 310 | #commento-footer { | ||
| 311 | display: none !important; | ||
| 312 | } | ||
| 313 | |||
| 314 | #commento-submit-button-root { | ||
| 315 | background: #fff !important; | ||
| 316 | color: #495057 !important; | ||
| 317 | box-shadow: none !important; | ||
| 318 | } | ||
| 319 | |||
| 320 | .commento-avatar-img { | ||
| 321 | margin-top: 0 !important; | ||
| 322 | } | ||
| 323 | |||
| 304 | /********************************************************************** PRINT */ | 324 | /********************************************************************** PRINT */ |
| 305 | 325 | ||
| 306 | @media print { | 326 | @media print { |
diff --git a/source/layouts/comments.njk b/source/layouts/comments.njk new file mode 100644 index 0000000..7ee4af8 --- /dev/null +++ b/source/layouts/comments.njk | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | <div id="commento"></div> | ||
| 2 | <script src="https://cdn.commento.io/js/commento.js"></script> | ||
diff --git a/source/layouts/draft.njk b/source/layouts/draft.njk index 72923c9..0f2091c 100644 --- a/source/layouts/draft.njk +++ b/source/layouts/draft.njk | |||
| @@ -1,61 +1,62 @@ | |||
| 1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
| 2 | <html lang="en"> | 2 | <html lang="en"> |
| 3 | 3 | ||
| 4 | <head> | 4 | <head> |
| 5 | <meta charset="utf-8"> | 5 | <meta charset="utf-8"> |
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 7 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | 7 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> |
| 8 | <meta name="theme-color" content="#ffffff"> | 8 | <meta name="theme-color" content="#ffffff"> |
| 9 | 9 | ||
| 10 | <meta name="google-site-verification" content="EwUGW1WlCkRIQuyQ9AE1-bLitWthw-eVMZFTAMZVZaA"> | 10 | <meta name="google-site-verification" content="EwUGW1WlCkRIQuyQ9AE1-bLitWthw-eVMZFTAMZVZaA"> |
| 11 | 11 | ||
| 12 | <link rel="icon" type="image/png" href="{{ vars.domain }}/files/avatar-64x64.png?ver={{ timestamp }}"> | 12 | <link rel="icon" type="image/png" href="{{ vars.domain }}/files/avatar-64x64.png?ver={{ timestamp }}"> |
| 13 | 13 | ||
| 14 | <title>{{ title }}</title> | 14 | <title>{{ title }}</title> |
| 15 | <meta name="author" content="{{ vars.author }}"> | 15 | <meta name="author" content="{{ vars.author }}"> |
| 16 | <meta name="description" content="{{ description }}"> | 16 | <meta name="description" content="{{ description }}"> |
| 17 | 17 | ||
| 18 | <meta name="og:url" content="{{ vars.domain }}/{{ slug }}"> | 18 | <meta name="og:url" content="{{ vars.domain }}/{{ slug }}"> |
| 19 | <meta name="og:type" content="website"> | 19 | <meta name="og:type" content="website"> |
| 20 | <meta name="og:title" content="{{ title }}"> | 20 | <meta name="og:title" content="{{ title }}"> |
| 21 | <meta name="og:description" content="{{ description }}"> | 21 | <meta name="og:description" content="{{ description }}"> |
| 22 | <meta name="og:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> | 22 | <meta name="og:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> |
| 23 | 23 | ||
| 24 | <meta name="twitter:card" content="summary"> | 24 | <meta name="twitter:card" content="summary"> |
| 25 | <meta name="twitter:site" content="@mitjafelicijan"> | 25 | <meta name="twitter:site" content="@mitjafelicijan"> |
| 26 | <meta name="twitter:title" content="{{ title }}"> | 26 | <meta name="twitter:title" content="{{ title }}"> |
| 27 | <meta name="twitter:description" content="{{ description }}"> | 27 | <meta name="twitter:description" content="{{ description }}"> |
| 28 | <meta name="twitter:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> | 28 | <meta name="twitter:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> |
| 29 | 29 | ||
| 30 | {{ css }} | 30 | {{ css }} |
| 31 | 31 | ||
| 32 | </head> | 32 | </head> |
| 33 | 33 | ||
| 34 | <body> | 34 | <body> |
| 35 | 35 | ||
| 36 | <main class="wrapper"> | 36 | <main class="wrapper"> |
| 37 | 37 | ||
| 38 | {% include "navigation.njk" %} | 38 | {% include "navigation.njk" %} |
| 39 | 39 | ||
| 40 | <article> | 40 | <article> |
| 41 | 41 | ||
| 42 | <header> | 42 | <header> |
| 43 | <h1>{{ title }}</h1> | 43 | <h1>{{ title }}</h1> |
| 44 | <p class="pubdate">Published on | 44 | <p class="pubdate">Published on |
| 45 | <time pubdate="{{ writtenDate.original }}">{{ writtenDate.formatted }}</time> | 45 | <time pubdate="{{ writtenDate.original }}">{{ writtenDate.formatted }}</time> |
| 46 | by {{ vars.author }}</p> | 46 | by |
| 47 | </header> | 47 | {{ vars.author }}</p> |
| 48 | </header> | ||
| 48 | 49 | ||
| 49 | {{ content|safe }} | 50 | {{ content|safe }} |
| 50 | 51 | ||
| 51 | </article> | 52 | </article> |
| 52 | 53 | ||
| 53 | {{ javascript }} | 54 | {{ javascript }} |
| 54 | 55 | ||
| 55 | {% include "footer.njk" %} | 56 | {% include "footer.njk" %} |
| 56 | 57 | ||
| 57 | </main> | 58 | </main> |
| 58 | 59 | ||
| 59 | </body> | 60 | </body> |
| 60 | 61 | ||
| 61 | </html> | 62 | </html> |
diff --git a/source/layouts/footer.njk b/source/layouts/footer.njk index 6fbb1b8..c4cf79e 100644 --- a/source/layouts/footer.njk +++ b/source/layouts/footer.njk | |||
| @@ -7,29 +7,41 @@ | |||
| 7 | 7 | ||
| 8 | <!-- MathJax --> | 8 | <!-- MathJax --> |
| 9 | <script type="text/x-mathjax-config"> | 9 | <script type="text/x-mathjax-config"> |
| 10 | MathJax.Hub.Config({ | 10 | MathJax |
| 11 | TeX: { | 11 | .Hub |
| 12 | equationNumbers: { | 12 | .Config({ |
| 13 | autoNumber: "AMS" | 13 | TeX: { |
| 14 | equationNumbers: { | ||
| 15 | autoNumber: "AMS" | ||
| 16 | } | ||
| 17 | }, | ||
| 18 | tex2jax: { | ||
| 19 | inlineMath: [ | ||
| 20 | [ | ||
| 21 | '$', '$' | ||
| 22 | ], | ||
| 23 | [ | ||
| 24 | '\\(', '\\)' | ||
| 25 | ] | ||
| 26 | ], | ||
| 27 | displayMath: [ | ||
| 28 | ['$$', '$$'] | ||
| 29 | ], | ||
| 30 | processEscapes: true | ||
| 14 | } | 31 | } |
| 15 | }, | 32 | }); |
| 16 | tex2jax: { | ||
| 17 | inlineMath: [ ['$','$'], ['\\(', '\\)'] ], | ||
| 18 | displayMath: [ ['$$','$$'] ], | ||
| 19 | processEscapes: true, | ||
| 20 | } | ||
| 21 | }); | ||
| 22 | </script> | 33 | </script> |
| 23 | 34 | ||
| 24 | <!-- Global site tag (gtag.js) - Google Analytics --> | 35 | <!-- Global site tag (gtag.js) - Google Analytics --> |
| 25 | <script async src="https://www.googletagmanager.com/gtag/js?id=UA-12769079-10"></script> | 36 | <script async="async" src="https://www.googletagmanager.com/gtag/js?id=UA-12769079-10"></script> |
| 26 | <script> | 37 | <script> |
| 27 | window.dataLayer = window.dataLayer || []; | 38 | window.dataLayer = window.dataLayer || []; |
| 28 | function gtag() { dataLayer.push(arguments); } | 39 | function gtag() { |
| 40 | dataLayer.push(arguments); | ||
| 41 | } | ||
| 29 | gtag('js', new Date()); | 42 | gtag('js', new Date()); |
| 30 | 43 | ||
| 31 | gtag('config', 'UA-12769079-10'); | 44 | gtag('config', 'UA-12769079-10'); |
| 32 | </script> | 45 | </script> |
| 33 | 46 | ||
| 34 | 47 | <script src="//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" async="async"></script> | |
| 35 | <script src="//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" async></script> | ||
diff --git a/source/layouts/index.njk b/source/layouts/index.njk index c4912a7..9e2fde8 100644 --- a/source/layouts/index.njk +++ b/source/layouts/index.njk | |||
| @@ -1,80 +1,80 @@ | |||
| 1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
| 2 | <html lang="en"> | 2 | <html lang="en"> |
| 3 | 3 | ||
| 4 | <head> | 4 | <head> |
| 5 | <meta charset="utf-8"> | 5 | <meta charset="utf-8"> |
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 7 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | 7 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> |
| 8 | <meta name="theme-color" content="#ffffff"> | 8 | <meta name="theme-color" content="#ffffff"> |
| 9 | 9 | ||
| 10 | <meta name="google-site-verification" content="EwUGW1WlCkRIQuyQ9AE1-bLitWthw-eVMZFTAMZVZaA"> | 10 | <meta name="google-site-verification" content="EwUGW1WlCkRIQuyQ9AE1-bLitWthw-eVMZFTAMZVZaA"> |
| 11 | 11 | ||
| 12 | <link rel="icon" type="image/png" href="{{ vars.domain }}/files/avatar-64x64.png?ver={{ timestamp }}"> | 12 | <link rel="icon" type="image/png" href="{{ vars.domain }}/files/avatar-64x64.png?ver={{ timestamp }}"> |
| 13 | 13 | ||
| 14 | <title>{{ vars.title }}</title> | 14 | <title>{{ vars.title }}</title> |
| 15 | <meta name="author" content="{{ vars.author }}"> | 15 | <meta name="author" content="{{ vars.author }}"> |
| 16 | <meta name="description" content="{{ vars.description }}"> | 16 | <meta name="description" content="{{ vars.description }}"> |
| 17 | 17 | ||
| 18 | <meta name="og:url" content="{{ vars.domain }}"> | 18 | <meta name="og:url" content="{{ vars.domain }}"> |
| 19 | <meta name="og:type" content="website"> | 19 | <meta name="og:type" content="website"> |
| 20 | <meta name="og:title" content="{{ vars.title }}"> | 20 | <meta name="og:title" content="{{ vars.title }}"> |
| 21 | <meta name="og:description" content="{{ vars.description }}"> | 21 | <meta name="og:description" content="{{ vars.description }}"> |
| 22 | <meta name="og:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> | 22 | <meta name="og:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> |
| 23 | 23 | ||
| 24 | <meta name="twitter:card" content="summary"> | 24 | <meta name="twitter:card" content="summary"> |
| 25 | <meta name="twitter:site" content="@mitjafelicijan"> | 25 | <meta name="twitter:site" content="@mitjafelicijan"> |
| 26 | <meta name="twitter:title" content="{{ vars.title }}"> | 26 | <meta name="twitter:title" content="{{ vars.title }}"> |
| 27 | <meta name="twitter:description" content="{{ vars.description }}"> | 27 | <meta name="twitter:description" content="{{ vars.description }}"> |
| 28 | <meta name="twitter:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> | 28 | <meta name="twitter:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> |
| 29 | 29 | ||
| 30 | {{ css }} | 30 | {{ css }} |
| 31 | 31 | ||
| 32 | </head> | 32 | </head> |
| 33 | 33 | ||
| 34 | <body> | 34 | <body> |
| 35 | 35 | ||
| 36 | <main class="wrapper"> | 36 | <main class="wrapper"> |
| 37 | 37 | ||
| 38 | {% include "navigation.njk" %} | 38 | {% include "navigation.njk" %} |
| 39 | 39 | ||
| 40 | <div class="list"> | 40 | <div class="list"> |
| 41 | 41 | ||
| 42 | <h3>Research</h3> | 42 | <h3>Research</h3> |
| 43 | <nav class="article-list"> | 43 | <nav class="article-list"> |
| 44 | {% for post in posts %} | 44 | {% for post in posts %} |
| 45 | {% if post.type == "research" %} | 45 | {% if post.type == "research" %} |
| 46 | <article> | 46 | <article> |
| 47 | <a href="/{{ post.slug }}" aria-label="Read more about {{ post.title }}"> | 47 | <a href="/{{ post.slug }}" aria-label="Read more about {{ post.title }}"> |
| 48 | <time pubdate="{{ post.dateOriginal }}" class="pubdate">{{ post.dateFormatted }}</time> | 48 | <time pubdate="{{ post.dateOriginal }}" class="pubdate">{{ post.dateFormatted }}</time> |
| 49 | <h2>{{ post.title }}</h2> | 49 | <h2>{{ post.title }}</h2> |
| 50 | </a> | 50 | </a> |
| 51 | </article> | 51 | </article> |
| 52 | {% endif %} | 52 | {% endif %} |
| 53 | {% endfor %} | 53 | {% endfor %} |
| 54 | </nav> | 54 | </nav> |
| 55 | 55 | ||
| 56 | <h3>General</h3> | 56 | <h3>General</h3> |
| 57 | <nav class="article-list"> | 57 | <nav class="article-list"> |
| 58 | {% for post in posts %} | 58 | {% for post in posts %} |
| 59 | {% if post.type != "research" %} | 59 | {% if post.type != "research" %} |
| 60 | <article> | 60 | <article itemtype="http://schema.org/Article"> |
| 61 | <a href="/{{ post.slug }}" aria-label="Read more about {{ post.title }}"> | 61 | <a href="/{{ post.slug }}" aria-label="Read more about {{ post.title }}" itemprop="url" rel="bookmark"> |
| 62 | <time pubdate="{{ post.dateOriginal }}" class="pubdate">{{ post.dateFormatted }}</time> | 62 | <time pubdate="{{ post.dateOriginal }}" class="pubdate">{{ post.dateFormatted }}</time> |
| 63 | <h2>{{ post.title }}</h2> | 63 | <h2>{{ post.title }}</h2> |
| 64 | </a> | 64 | </a> |
| 65 | </article> | 65 | </article> |
| 66 | {% endif %} | 66 | {% endif %} |
| 67 | {% endfor %} | 67 | {% endfor %} |
| 68 | </nav> | 68 | </nav> |
| 69 | 69 | ||
| 70 | </div> | 70 | </div> |
| 71 | 71 | ||
| 72 | {{ javascript }} | 72 | {{ javascript }} |
| 73 | 73 | ||
| 74 | {% include "footer.njk" %} | 74 | {% include "footer.njk" %} |
| 75 | 75 | ||
| 76 | </main> | 76 | </main> |
| 77 | 77 | ||
| 78 | </body> | 78 | </body> |
| 79 | 79 | ||
| 80 | </html> | 80 | </html> |
diff --git a/source/layouts/navigation.njk b/source/layouts/navigation.njk index 8814fc1..c5c6c80 100644 --- a/source/layouts/navigation.njk +++ b/source/layouts/navigation.njk | |||
| @@ -3,9 +3,18 @@ | |||
| 3 | <a href="/" class="logo">Mitja Felicijan</a> | 3 | <a href="/" class="logo">Mitja Felicijan</a> |
| 4 | </div> | 4 | </div> |
| 5 | <nav> | 5 | <nav> |
| 6 | <a href="//github.com/mitjafelicijan" aria-label="Github"> | 6 | |
| 7 | <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | 7 | <a href="/curriculum-vitae" title="Curriculum Vitae" aria-label="Curriculum Vitae"> |
| 8 | viewBox="0 0 92 92" style="enable-background:new 0 0 92 92;" xml:space="preserve"> | 8 | <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"> |
| 9 | <g> | ||
| 10 | <path fill="none" d="M0 0h24v24H0z"/> | ||
| 11 | <path d="M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zM4 15v4h16v-4H4zm7-4v2h2v-2h-2zM9 3v2h6V3H9z"/> | ||
| 12 | </g> | ||
| 13 | </svg> | ||
| 14 | </a> | ||
| 15 | |||
| 16 | <a href="//github.com/mitjafelicijan" title="Github" aria-label="Github"> | ||
| 17 | <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewbox="0 0 92 92" style="enable-background:new 0 0 92 92;" xml:space="preserve"> | ||
| 9 | <g> | 18 | <g> |
| 10 | <path style="fill:#030104;" d="M61.896,52.548c-3.59,0-6.502,4.026-6.502,8.996c0,4.971,2.912,8.999,6.502,8.999 | 19 | <path style="fill:#030104;" d="M61.896,52.548c-3.59,0-6.502,4.026-6.502,8.996c0,4.971,2.912,8.999,6.502,8.999 |
| 11 | c3.588,0,6.498-4.028,6.498-8.999C68.395,56.574,65.484,52.548,61.896,52.548z M84.527,29.132c0.74-1.826,0.777-12.201-3.17-22.132 | 20 | c3.588,0,6.498-4.028,6.498-8.999C68.395,56.574,65.484,52.548,61.896,52.548z M84.527,29.132c0.74-1.826,0.777-12.201-3.17-22.132 |
| @@ -16,14 +25,13 @@ | |||
| 16 | c0-4.389,1.549-8.465,5.229-11.847c6.141-5.636,16.527-2.651,28.316-2.651c0.045,0,0.093-0.001,0.141-0.003 | 25 | c0-4.389,1.549-8.465,5.229-11.847c6.141-5.636,16.527-2.651,28.316-2.651c0.045,0,0.093-0.001,0.141-0.003 |
| 17 | c0.049,0.002,0.096,0.003,0.141,0.003c11.789,0,22.178-2.984,28.316,2.651c3.68,3.382,5.229,7.458,5.229,11.847 | 26 | c0.049,0.002,0.096,0.003,0.141,0.003c11.789,0,22.178-2.984,28.316,2.651c3.68,3.382,5.229,7.458,5.229,11.847 |
| 18 | C79.686,78.322,65,80.574,46.141,80.574z M30.104,52.548c-3.588,0-6.498,4.026-6.498,8.996c0,4.971,2.91,8.999,6.498,8.999 | 27 | C79.686,78.322,65,80.574,46.141,80.574z M30.104,52.548c-3.588,0-6.498,4.026-6.498,8.996c0,4.971,2.91,8.999,6.498,8.999 |
| 19 | c3.592,0,6.502-4.028,6.502-8.999C36.605,56.574,33.695,52.548,30.104,52.548z" /> | 28 | c3.592,0,6.502-4.028,6.502-8.999C36.605,56.574,33.695,52.548,30.104,52.548z"/> |
| 20 | </g> | 29 | </g> |
| 21 | </svg> | 30 | </svg> |
| 22 | </a> | 31 | </a> |
| 23 | 32 | ||
| 24 | <a href="//twitter.com/mitjafelicijan" aria-label="Twitter"> | 33 | <a href="//twitter.com/mitjafelicijan" title="Twitter" aria-label="Twitter"> |
| 25 | <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | 34 | <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewbox="0 0 612 612" style="enable-background:new 0 0 612 612;" xml:space="preserve"> |
| 26 | viewBox="0 0 612 612" style="enable-background:new 0 0 612 612;" xml:space="preserve"> | ||
| 27 | <g> | 35 | <g> |
| 28 | <path style="fill:#010002;" d="M612,116.258c-22.525,9.981-46.694,16.75-72.088,19.772c25.929-15.527,45.777-40.155,55.184-69.411 | 36 | <path style="fill:#010002;" d="M612,116.258c-22.525,9.981-46.694,16.75-72.088,19.772c25.929-15.527,45.777-40.155,55.184-69.411 |
| 29 | c-24.322,14.379-51.169,24.82-79.775,30.48c-22.907-24.437-55.49-39.658-91.63-39.658c-69.334,0-125.551,56.217-125.551,125.513 | 37 | c-24.322,14.379-51.169,24.82-79.775,30.48c-22.907-24.437-55.49-39.658-91.63-39.658c-69.334,0-125.551,56.217-125.551,125.513 |
| @@ -31,7 +39,7 @@ | |||
| 31 | c0,43.559,22.181,81.993,55.835,104.479c-20.575-0.688-39.926-6.348-56.867-15.756v1.568c0,60.806,43.291,111.554,100.693,123.104 | 39 | c0,43.559,22.181,81.993,55.835,104.479c-20.575-0.688-39.926-6.348-56.867-15.756v1.568c0,60.806,43.291,111.554,100.693,123.104 |
| 32 | c-10.517,2.83-21.607,4.398-33.08,4.398c-8.107,0-15.947-0.803-23.634-2.333c15.985,49.907,62.336,86.199,117.253,87.194 | 40 | c-10.517,2.83-21.607,4.398-33.08,4.398c-8.107,0-15.947-0.803-23.634-2.333c15.985,49.907,62.336,86.199,117.253,87.194 |
| 33 | c-42.947,33.654-97.099,53.655-155.916,53.655c-10.134,0-20.116-0.612-29.944-1.721c55.567,35.681,121.536,56.485,192.438,56.485 | 41 | c-42.947,33.654-97.099,53.655-155.916,53.655c-10.134,0-20.116-0.612-29.944-1.721c55.567,35.681,121.536,56.485,192.438,56.485 |
| 34 | c230.948,0,357.188-191.291,357.188-357.188l-0.421-16.253C573.872,163.526,595.211,141.422,612,116.258z" /> | 42 | c230.948,0,357.188-191.291,357.188-357.188l-0.421-16.253C573.872,163.526,595.211,141.422,612,116.258z"/> |
| 35 | </g> | 43 | </g> |
| 36 | </svg> | 44 | </svg> |
| 37 | </a> | 45 | </a> |
diff --git a/source/layouts/page.njk b/source/layouts/page.njk index a2434a1..89aea8b 100644 --- a/source/layouts/page.njk +++ b/source/layouts/page.njk | |||
| @@ -1,58 +1,60 @@ | |||
| 1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
| 2 | <html lang="en"> | 2 | <html lang="en"> |
| 3 | 3 | ||
| 4 | <head> | 4 | <head> |
| 5 | <meta charset="utf-8"> | 5 | <meta charset="utf-8"> |
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 7 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | 7 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> |
| 8 | <meta name="theme-color" content="#ffffff"> | 8 | <meta name="theme-color" content="#ffffff"> |
| 9 | 9 | ||
| 10 | <meta name="google-site-verification" content="EwUGW1WlCkRIQuyQ9AE1-bLitWthw-eVMZFTAMZVZaA"> | 10 | <meta name="google-site-verification" content="EwUGW1WlCkRIQuyQ9AE1-bLitWthw-eVMZFTAMZVZaA"> |
| 11 | 11 | ||
| 12 | <link rel="icon" type="image/png" href="{{ vars.domain }}/files/avatar-64x64.png?ver={{ timestamp }}"> | 12 | <link rel="icon" type="image/png" href="{{ vars.domain }}/files/avatar-64x64.png?ver={{ timestamp }}"> |
| 13 | 13 | ||
| 14 | <title>{{ title }}</title> | 14 | <title>{{ title }}</title> |
| 15 | <meta name="author" content="{{ vars.author }}"> | 15 | <meta name="author" content="{{ vars.author }}"> |
| 16 | <meta name="description" content="{{ description }}"> | 16 | <meta name="description" content="{{ description }}"> |
| 17 | 17 | ||
| 18 | <meta name="og:url" content="{{ vars.domain }}/{{ slug }}"> | 18 | <meta name="og:url" content="{{ vars.domain }}/{{ slug }}"> |
| 19 | <meta name="og:type" content="website"> | 19 | <meta name="og:type" content="website"> |
| 20 | <meta name="og:title" content="{{ title }}"> | 20 | <meta name="og:title" content="{{ title }}"> |
| 21 | <meta name="og:description" content="{{ description }}"> | 21 | <meta name="og:description" content="{{ description }}"> |
| 22 | <meta name="og:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> | 22 | <meta name="og:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> |
| 23 | 23 | ||
| 24 | <meta name="twitter:card" content="summary"> | 24 | <meta name="twitter:card" content="summary"> |
| 25 | <meta name="twitter:site" content="@mitjafelicijan"> | 25 | <meta name="twitter:site" content="@mitjafelicijan"> |
| 26 | <meta name="twitter:title" content="{{ title }}"> | 26 | <meta name="twitter:title" content="{{ title }}"> |
| 27 | <meta name="twitter:description" content="{{ description }}"> | 27 | <meta name="twitter:description" content="{{ description }}"> |
| 28 | <meta name="twitter:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> | 28 | <meta name="twitter:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> |
| 29 | 29 | ||
| 30 | {{ css }} | 30 | {{ css }} |
| 31 | 31 | ||
| 32 | </head> | 32 | </head> |
| 33 | 33 | ||
| 34 | <body> | 34 | <body> |
| 35 | 35 | ||
| 36 | <main class="wrapper"> | 36 | <main class="wrapper"> |
| 37 | 37 | ||
| 38 | {% include "navigation.njk" %} | 38 | {% include "navigation.njk" %} |
| 39 | 39 | ||
| 40 | <article> | 40 | <article itemtype="http://schema.org/Article"> |
| 41 | 41 | ||
| 42 | <header> | 42 | <header> |
| 43 | <h1>{{ title }}</h1> | 43 | <h1>{{ title }}</h1> |
| 44 | </header> | 44 | </header> |
| 45 | 45 | ||
| 46 | {{ content }} | 46 | <div> |
| 47 | {{ content|safe }} | ||
| 48 | </div> | ||
| 47 | 49 | ||
| 48 | </article> | 50 | </article> |
| 49 | 51 | ||
| 50 | {{ javascript }} | 52 | {{ javascript }} |
| 51 | 53 | ||
| 52 | {% include "footer.njk" %} | 54 | {% include "footer.njk" %} |
| 53 | 55 | ||
| 54 | </main> | 56 | </main> |
| 55 | 57 | ||
| 56 | </body> | 58 | </body> |
| 57 | 59 | ||
| 58 | </html> | 60 | </html> |
diff --git a/source/layouts/post.njk b/source/layouts/post.njk index 72923c9..9851c13 100644 --- a/source/layouts/post.njk +++ b/source/layouts/post.njk | |||
| @@ -1,61 +1,66 @@ | |||
| 1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
| 2 | <html lang="en"> | 2 | <html lang="en"> |
| 3 | 3 | ||
| 4 | <head> | 4 | <head> |
| 5 | <meta charset="utf-8"> | 5 | <meta charset="utf-8"> |
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 7 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | 7 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> |
| 8 | <meta name="theme-color" content="#ffffff"> | 8 | <meta name="theme-color" content="#ffffff"> |
| 9 | 9 | ||
| 10 | <meta name="google-site-verification" content="EwUGW1WlCkRIQuyQ9AE1-bLitWthw-eVMZFTAMZVZaA"> | 10 | <meta name="google-site-verification" content="EwUGW1WlCkRIQuyQ9AE1-bLitWthw-eVMZFTAMZVZaA"> |
| 11 | 11 | ||
| 12 | <link rel="icon" type="image/png" href="{{ vars.domain }}/files/avatar-64x64.png?ver={{ timestamp }}"> | 12 | <link rel="icon" type="image/png" href="{{ vars.domain }}/files/avatar-64x64.png?ver={{ timestamp }}"> |
| 13 | 13 | ||
| 14 | <title>{{ title }}</title> | 14 | <title>{{ title }}</title> |
| 15 | <meta name="author" content="{{ vars.author }}"> | 15 | <meta name="author" content="{{ vars.author }}"> |
| 16 | <meta name="description" content="{{ description }}"> | 16 | <meta name="description" content="{{ description }}"> |
| 17 | 17 | ||
| 18 | <meta name="og:url" content="{{ vars.domain }}/{{ slug }}"> | 18 | <meta name="og:url" content="{{ vars.domain }}/{{ slug }}"> |
| 19 | <meta name="og:type" content="website"> | 19 | <meta name="og:type" content="article"> |
| 20 | <meta name="og:title" content="{{ title }}"> | 20 | <meta name="og:title" content="{{ title }}"> |
| 21 | <meta name="og:description" content="{{ description }}"> | 21 | <meta name="og:description" content="{{ description }}"> |
| 22 | <meta name="og:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> | 22 | <meta name="og:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> |
| 23 | 23 | ||
| 24 | <meta name="twitter:card" content="summary"> | 24 | <meta name="twitter:card" content="summary"> |
| 25 | <meta name="twitter:site" content="@mitjafelicijan"> | 25 | <meta name="twitter:site" content="@mitjafelicijan"> |
| 26 | <meta name="twitter:title" content="{{ title }}"> | 26 | <meta name="twitter:title" content="{{ title }}"> |
| 27 | <meta name="twitter:description" content="{{ description }}"> | 27 | <meta name="twitter:description" content="{{ description }}"> |
| 28 | <meta name="twitter:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> | 28 | <meta name="twitter:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}"> |
| 29 | 29 | ||
| 30 | {{ css }} | 30 | {{ css }} |
| 31 | 31 | ||
| 32 | </head> | 32 | </head> |
| 33 | 33 | ||
| 34 | <body> | 34 | <body> |
| 35 | 35 | ||
| 36 | <main class="wrapper"> | 36 | <main class="wrapper"> |
| 37 | 37 | ||
| 38 | {% include "navigation.njk" %} | 38 | {% include "navigation.njk" %} |
| 39 | 39 | ||
| 40 | <article> | 40 | <article itemtype="http://schema.org/Article"> |
| 41 | 41 | ||
| 42 | <header> | 42 | <header> |
| 43 | <h1>{{ title }}</h1> | 43 | <h1>{{ title }}</h1> |
| 44 | <p class="pubdate">Published on | 44 | <p class="pubdate">Published on |
| 45 | <time pubdate="{{ writtenDate.original }}">{{ writtenDate.formatted }}</time> | 45 | <time pubdate="{{ writtenDate.original }}">{{ writtenDate.formatted }}</time> |
| 46 | by {{ vars.author }}</p> | 46 | by |
| 47 | </header> | 47 | {{ vars.author }}</p> |
| 48 | </header> | ||
| 48 | 49 | ||
| 49 | {{ content|safe }} | 50 | <div> |
| 51 | {{ content|safe }} | ||
| 52 | </div> | ||
| 50 | 53 | ||
| 51 | </article> | 54 | </article> |
| 52 | 55 | ||
| 53 | {{ javascript }} | 56 | {{ javascript }} |
| 54 | 57 | ||
| 55 | {% include "footer.njk" %} | 58 | {% include "comments.njk" %} |
| 56 | 59 | ||
| 57 | </main> | 60 | {% include "footer.njk" %} |
| 58 | 61 | ||
| 59 | </body> | 62 | </main> |
| 63 | |||
| 64 | </body> | ||
| 60 | 65 | ||
| 61 | </html> | 66 | </html> |
