├── docs ├── 2022 │ ├── 09 │ │ └── 01 │ │ │ └── whats-jekyll │ │ │ └── index.html │ └── 08 │ │ └── 15 │ │ └── example-content │ │ └── index.html ├── robots.txt ├── assets │ ├── favicon.ico │ ├── files │ │ ├── cv.pdf │ │ └── photo.jpg │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── apple-touch-icon.png │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── fonts │ │ ├── Piazzolla-Bold.woff2 │ │ ├── Piazzolla-Italic.woff2 │ │ ├── Piazzolla-Light.woff2 │ │ ├── Piazzolla-Medium.woff2 │ │ ├── Piazzolla-Regular.woff2 │ │ ├── PiazzollaSC-Bold.woff2 │ │ ├── PiazzollaSC-Light.woff2 │ │ ├── hack-bold-subset.woff2 │ │ ├── PiazzollaSC-Italic.woff2 │ │ ├── PiazzollaSC-Medium.woff2 │ │ ├── PiazzollaSC-Regular.woff2 │ │ ├── hack-italic-subset.woff2 │ │ ├── hack-regular-subset.woff2 │ │ ├── Piazzolla-BoldItalic.woff2 │ │ ├── Piazzolla-LightItalic.woff2 │ │ ├── Piazzolla-MediumItalic.woff2 │ │ ├── PiazzollaSC-BoldItalic.woff2 │ │ ├── hack-bolditalic-subset.woff2 │ │ ├── PiazzollaSC-LightItalic.woff2 │ │ └── PiazzollaSC-MediumItalic.woff2 │ ├── js │ │ ├── main.js │ │ ├── particles.json │ │ └── darkmode.js │ ├── site.webmanifest │ └── css │ │ ├── syntax.css │ │ ├── open-color.min.css │ │ └── styles.min.css ├── sitemap.xml ├── 404.html ├── posts │ └── index.html ├── cv │ └── index.html └── index.html ├── Gemfile ├── demo ├── 404.md ├── assets │ ├── favicon.ico │ ├── files │ │ ├── cv.pdf │ │ └── photo.jpg │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── apple-touch-icon.png │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ └── site.webmanifest ├── Gemfile ├── posts.md ├── cv.md ├── _posts │ ├── 2022-09-01-whats-jekyll.md │ ├── 2022-08-01-on-the-use-of-icons.md │ └── 2022-08-15-example-content.md ├── index.md ├── _config.yml └── Gemfile.lock ├── screenshot.png ├── _includes ├── iconlink.html ├── toggler.html ├── footer.html ├── svg │ ├── nav-arrow-down.svg │ ├── nav-arrow-left.svg │ ├── nav-arrow-right.svg │ ├── facebook.svg │ ├── open-in-window.svg │ ├── arrow-left-circled.svg │ ├── open-in-browser.svg │ ├── arrow-right-circled.svg │ ├── stackoverflow.svg │ ├── download-circled-outline.svg │ ├── mail.svg │ ├── pin-alt.svg │ ├── open-new-window.svg │ ├── twitter.svg │ ├── download-square-outline.svg │ ├── phone.svg │ ├── user-circle-alt.svg │ ├── linkedin.svg │ ├── google-circled.svg │ ├── x.svg │ ├── instagram.svg │ ├── github.svg │ ├── key-alt-circled.svg │ ├── cv-circled.svg │ ├── internet.svg │ ├── medium.svg │ ├── mastodon.svg │ ├── clarivate-circled.svg │ ├── github-outline.svg │ ├── scopus-circled.svg │ ├── orcid.svg │ ├── send-mail-circled.svg │ ├── lichess-circled.svg │ ├── bluesky.svg │ └── xing.svg ├── particles-404.html ├── postlist.html ├── header.html ├── archive.html ├── pagination.html ├── contact.html ├── head.html └── particles-home.html ├── assets ├── fonts │ ├── Piazzolla-Bold.woff2 │ ├── Piazzolla-Italic.woff2 │ ├── Piazzolla-Light.woff2 │ ├── Piazzolla-Medium.woff2 │ ├── Piazzolla-Regular.woff2 │ ├── PiazzollaSC-Bold.woff2 │ ├── PiazzollaSC-Light.woff2 │ ├── hack-bold-subset.woff2 │ ├── PiazzollaSC-Italic.woff2 │ ├── PiazzollaSC-Medium.woff2 │ ├── PiazzollaSC-Regular.woff2 │ ├── hack-italic-subset.woff2 │ ├── hack-regular-subset.woff2 │ ├── Piazzolla-BoldItalic.woff2 │ ├── Piazzolla-LightItalic.woff2 │ ├── Piazzolla-MediumItalic.woff2 │ ├── PiazzollaSC-BoldItalic.woff2 │ ├── hack-bolditalic-subset.woff2 │ ├── PiazzollaSC-LightItalic.woff2 │ └── PiazzollaSC-MediumItalic.woff2 ├── js │ ├── main.js │ ├── particles.json │ ├── darkmode.js │ └── particles.min.js └── css │ ├── styles.min.scss │ ├── syntax.css │ └── open-color.min.css ├── .gitignore ├── _layouts ├── page.html ├── cv.html ├── home.html ├── post.html └── default.html ├── _sass ├── _code.scss ├── _pulse.scss ├── _headings.scss ├── _pagination.scss ├── _variables.scss ├── _base.scss ├── _elements.scss ├── _media.scss ├── _particles.scss └── _fonts.scss ├── _config.yml ├── cvless.gemspec ├── LICENSE └── README.md /docs/robots.txt: -------------------------------------------------------------------------------- 1 | Sitemap: https://piazzai.github.io/cvless/sitemap.xml 2 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | source "https://rubygems.org" 4 | gemspec 5 | -------------------------------------------------------------------------------- /demo/404.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: "404" 4 | permalink: /404.html 5 | --- 6 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/screenshot.png -------------------------------------------------------------------------------- /demo/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/demo/assets/favicon.ico -------------------------------------------------------------------------------- /docs/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/favicon.ico -------------------------------------------------------------------------------- /_includes/iconlink.html: -------------------------------------------------------------------------------- 1 | {% include {{ include.icon }} %} 2 | -------------------------------------------------------------------------------- /demo/assets/files/cv.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/demo/assets/files/cv.pdf -------------------------------------------------------------------------------- /docs/assets/files/cv.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/files/cv.pdf -------------------------------------------------------------------------------- /demo/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem 'cvless', '~> 2.7' 4 | gem 'erb', '~> 4.0', '>= 4.0.4' 5 | -------------------------------------------------------------------------------- /demo/assets/files/photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/demo/assets/files/photo.jpg -------------------------------------------------------------------------------- /docs/assets/files/photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/files/photo.jpg -------------------------------------------------------------------------------- /demo/assets/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/demo/assets/favicon-16x16.png -------------------------------------------------------------------------------- /demo/assets/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/demo/assets/favicon-32x32.png -------------------------------------------------------------------------------- /docs/assets/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/favicon-16x16.png -------------------------------------------------------------------------------- /docs/assets/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/favicon-32x32.png -------------------------------------------------------------------------------- /assets/fonts/Piazzolla-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/Piazzolla-Bold.woff2 -------------------------------------------------------------------------------- /demo/assets/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/demo/assets/apple-touch-icon.png -------------------------------------------------------------------------------- /docs/assets/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/apple-touch-icon.png -------------------------------------------------------------------------------- /assets/fonts/Piazzolla-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/Piazzolla-Italic.woff2 -------------------------------------------------------------------------------- /assets/fonts/Piazzolla-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/Piazzolla-Light.woff2 -------------------------------------------------------------------------------- /assets/fonts/Piazzolla-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/Piazzolla-Medium.woff2 -------------------------------------------------------------------------------- /assets/fonts/Piazzolla-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/Piazzolla-Regular.woff2 -------------------------------------------------------------------------------- /assets/fonts/PiazzollaSC-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/PiazzollaSC-Bold.woff2 -------------------------------------------------------------------------------- /assets/fonts/PiazzollaSC-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/PiazzollaSC-Light.woff2 -------------------------------------------------------------------------------- /assets/fonts/hack-bold-subset.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/hack-bold-subset.woff2 -------------------------------------------------------------------------------- /assets/fonts/PiazzollaSC-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/PiazzollaSC-Italic.woff2 -------------------------------------------------------------------------------- /assets/fonts/PiazzollaSC-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/PiazzollaSC-Medium.woff2 -------------------------------------------------------------------------------- /assets/fonts/PiazzollaSC-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/PiazzollaSC-Regular.woff2 -------------------------------------------------------------------------------- /assets/fonts/hack-italic-subset.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/hack-italic-subset.woff2 -------------------------------------------------------------------------------- /assets/fonts/hack-regular-subset.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/hack-regular-subset.woff2 -------------------------------------------------------------------------------- /demo/assets/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/demo/assets/android-chrome-192x192.png -------------------------------------------------------------------------------- /demo/assets/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/demo/assets/android-chrome-512x512.png -------------------------------------------------------------------------------- /docs/assets/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/android-chrome-192x192.png -------------------------------------------------------------------------------- /docs/assets/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/android-chrome-512x512.png -------------------------------------------------------------------------------- /docs/assets/fonts/Piazzolla-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/Piazzolla-Bold.woff2 -------------------------------------------------------------------------------- /assets/fonts/Piazzolla-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/Piazzolla-BoldItalic.woff2 -------------------------------------------------------------------------------- /assets/fonts/Piazzolla-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/Piazzolla-LightItalic.woff2 -------------------------------------------------------------------------------- /assets/fonts/Piazzolla-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/Piazzolla-MediumItalic.woff2 -------------------------------------------------------------------------------- /assets/fonts/PiazzollaSC-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/PiazzollaSC-BoldItalic.woff2 -------------------------------------------------------------------------------- /assets/fonts/hack-bolditalic-subset.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/hack-bolditalic-subset.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/Piazzolla-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/Piazzolla-Italic.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/Piazzolla-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/Piazzolla-Light.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/Piazzolla-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/Piazzolla-Medium.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/Piazzolla-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/Piazzolla-Regular.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/PiazzollaSC-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/PiazzollaSC-Bold.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/PiazzollaSC-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/PiazzollaSC-Light.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/hack-bold-subset.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/hack-bold-subset.woff2 -------------------------------------------------------------------------------- /assets/fonts/PiazzollaSC-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/PiazzollaSC-LightItalic.woff2 -------------------------------------------------------------------------------- /assets/fonts/PiazzollaSC-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/assets/fonts/PiazzollaSC-MediumItalic.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/PiazzollaSC-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/PiazzollaSC-Italic.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/PiazzollaSC-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/PiazzollaSC-Medium.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/PiazzollaSC-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/PiazzollaSC-Regular.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/hack-italic-subset.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/hack-italic-subset.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/hack-regular-subset.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/hack-regular-subset.woff2 -------------------------------------------------------------------------------- /_includes/toggler.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | -------------------------------------------------------------------------------- /docs/assets/fonts/Piazzolla-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/Piazzolla-BoldItalic.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/Piazzolla-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/Piazzolla-LightItalic.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/Piazzolla-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/Piazzolla-MediumItalic.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/PiazzollaSC-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/PiazzollaSC-BoldItalic.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/hack-bolditalic-subset.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/hack-bolditalic-subset.woff2 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | _site/ 3 | .sass-cache/ 4 | .jekyll-cache/ 5 | .jekyll-metadata 6 | # Ignore folders generated by Bundler 7 | .bundle/ 8 | vendor/ 9 | -------------------------------------------------------------------------------- /docs/assets/fonts/PiazzollaSC-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/PiazzollaSC-LightItalic.woff2 -------------------------------------------------------------------------------- /docs/assets/fonts/PiazzollaSC-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/worker/worker.github.io/master/docs/assets/fonts/PiazzollaSC-MediumItalic.woff2 -------------------------------------------------------------------------------- /demo/posts.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Posts 4 | pagination: 5 | enabled: true 6 | --- 7 | 8 | {% include postlist.html %} 9 | {% include pagination.html %} 10 | -------------------------------------------------------------------------------- /_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 | {% include header.html %} 7 |
8 | {{ content }} 9 |
10 | {% include footer.html %} 11 |
12 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /_layouts/cv.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 | {% include header.html %} 7 |
8 | {{ content }} 9 |
10 | {% include footer.html %} 11 |
12 | -------------------------------------------------------------------------------- /_layouts/home.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 | {% include toggler.html %} 7 |
8 | {{ content }} 9 |
10 | {% include footer.html %} 11 |
12 | -------------------------------------------------------------------------------- /assets/js/main.js: -------------------------------------------------------------------------------- 1 | document.addEventListener( 2 | "DOMContentLoaded", 3 | (event) => { 4 | particlesJS.load("particles-js", "assets/js/particles.json", function () { 5 | console.log("particles.js loaded - callback"); 6 | }); 7 | }, 8 | false 9 | ); 10 | -------------------------------------------------------------------------------- /docs/assets/js/main.js: -------------------------------------------------------------------------------- 1 | document.addEventListener( 2 | "DOMContentLoaded", 3 | (event) => { 4 | particlesJS.load("particles-js", "assets/js/particles.json", function () { 5 | console.log("particles.js loaded - callback"); 6 | }); 7 | }, 8 | false 9 | ); 10 | -------------------------------------------------------------------------------- /_includes/svg/nav-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/nav-arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/nav-arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demo/assets/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} -------------------------------------------------------------------------------- /docs/assets/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} -------------------------------------------------------------------------------- /_sass/_code.scss: -------------------------------------------------------------------------------- 1 | pre,code { 2 | font-family: var(--type-mono); 3 | } 4 | 5 | .highlight { 6 | padding: 0 1em; 7 | border-radius: 0.25em; 8 | color: var(--color-chunk); 9 | 10 | pre { 11 | padding: 0; 12 | margin: 0; 13 | } 14 | 15 | .highlight { 16 | padding: 0; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /_includes/svg/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/particles-404.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

404

4 |

Page not found

5 | {% include svg/arrow-left-circled.svg %} 6 |
7 |
8 | -------------------------------------------------------------------------------- /_includes/postlist.html: -------------------------------------------------------------------------------- 1 |
2 | {% for post in paginator.posts %} 3 |

{{ post.title }}

4 | 5 |

{{ post.lead }}

6 | {{ post.content }} 7 | {% endfor %} 8 |
9 | -------------------------------------------------------------------------------- /_includes/svg/open-in-window.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/arrow-left-circled.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/open-in-browser.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/arrow-right-circled.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/stackoverflow.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/download-circled-outline.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/mail.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {{ site.title }} 4 | 5 | {% if site.tagshort %} 6 | {{ site.tagshort }} 7 | {% else %} 8 | {{ site.taglong }} 9 | {% endif %} 10 | 11 |
12 | 13 |
14 | -------------------------------------------------------------------------------- /_includes/svg/pin-alt.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/open-new-window.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 | {% include header.html %} 7 |
8 |

{{ page.title }}

9 | 10 |

{{ page.lead }}

11 | {{ content }} 12 |
13 | {% include footer.html %} 14 |
15 | -------------------------------------------------------------------------------- /assets/css/styles.min.scss: -------------------------------------------------------------------------------- 1 | --- 2 | # Use a comment to ensure Jekyll reads the file to be transformed into CSS later 3 | # only main files contain this front matter, not partials. 4 | --- 5 | 6 | @import "fonts"; 7 | @import "variables"; 8 | @import "base"; 9 | @import "code"; 10 | @import "headings"; 11 | @import "elements"; 12 | @import "particles"; 13 | @import "pulse"; 14 | @import "pagination"; 15 | @import "media"; 16 | -------------------------------------------------------------------------------- /_includes/svg/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/download-square-outline.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/archive.html: -------------------------------------------------------------------------------- 1 | {% assign postsByYearMonth = site.posts | group_by_exp: "post", "post.date | date: '%B %Y'" %} 2 | 3 |
4 | {% for yearMonth in postsByYearMonth %} 5 |

{{ yearMonth.name }}

6 | 11 | {% endfor %} 12 |
13 | -------------------------------------------------------------------------------- /_includes/svg/phone.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/user-circle-alt.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/google-circled.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/x.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_sass/_pulse.scss: -------------------------------------------------------------------------------- 1 | @keyframes pulse { 2 | from { 3 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; 4 | filter: alpha(opacity=40); 5 | opacity: .4; 6 | top: 0; 7 | } 8 | 9 | 50% { 10 | -ms-filter: none; 11 | filter: none; 12 | opacity: 1; 13 | top: -1rem; 14 | } 15 | 16 | to { 17 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; 18 | filter: alpha(opacity=40); 19 | opacity: .4; 20 | top: 0 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /_includes/svg/instagram.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/github.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: "" 2 | description: "" 3 | baseurl: "" 4 | url: "" 5 | 6 | exclude: 7 | - demo/ 8 | - cvless.gemspec 9 | - LICENSE 10 | - README.md 11 | - screenshot.png 12 | 13 | plugins: 14 | - jekyll-feed 15 | - jekyll-gist 16 | - jekyll-paginate-v2 17 | - jekyll-seo-tag 18 | - jekyll-sitemap 19 | 20 | sass: 21 | style: compressed 22 | sourcemap: never 23 | 24 | feed: 25 | path: atom.xml 26 | 27 | autopages: 28 | enabled: false 29 | 30 | pagination: 31 | enabled: true 32 | per_page: 1 33 | sort_reverse: true 34 | permalink: /:num/ 35 | title: ":title · Page :num" 36 | -------------------------------------------------------------------------------- /_includes/svg/key-alt-circled.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demo/cv.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: cv 3 | title: CV 4 | --- 5 | 6 | # Curriculum Vitæ 7 | 8 | {% include contact.html %} 9 | 10 | ## Section 11 | 12 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 13 | 14 | * Ut enim ad minim veniam 15 | * Quis nostrud exercitation 16 | * Ullamco laboris nisi 17 | * Ut aliquip ex ea commodo consequat 18 | 19 | ### Subsection 20 | 21 | Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 22 | -------------------------------------------------------------------------------- /_includes/pagination.html: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /_sass/_headings.scss: -------------------------------------------------------------------------------- 1 | h1,h2,h3 { 2 | color: var(--color-heading); 3 | 4 | a { 5 | color: inherit; 6 | 7 | &:focus, 8 | &:hover { 9 | border-color: inherit; 10 | color: inherit; 11 | } 12 | } 13 | } 14 | 15 | h1 { 16 | font-size: 1.5em; 17 | 18 | &.page-title { 19 | margin: 0; 20 | } 21 | } 22 | 23 | #home h1 { 24 | margin-top: 1.5em; 25 | } 26 | 27 | h2 { 28 | margin-top: 1.25em; 29 | font-size: 1.25em; 30 | } 31 | 32 | h3 { 33 | margin-top: 1em; 34 | font-size: 1em; 35 | text-transform: lowercase; 36 | font-family: var(--type-caps); 37 | font-weight: 500; 38 | } 39 | 40 | h2 + h3 { 41 | margin-top: 0; 42 | } 43 | -------------------------------------------------------------------------------- /_includes/svg/cv-circled.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/internet.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /cvless.gemspec: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | Gem::Specification.new do |spec| 4 | spec.name = "cvless" 5 | spec.version = "2.7.2" 6 | spec.authors = ["piazzai"] 7 | spec.email = ["42124135+piazzai@users.noreply.github.com"] 8 | 9 | spec.summary = "Jekyll theme for a beautiful online CV " 10 | spec.homepage = "https://github.com/piazzai/cvless" 11 | spec.license = "MIT" 12 | 13 | spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r!^(assets|_layouts|_includes|_sass|LICENSE|README|_config\.yml)!i) } 14 | 15 | spec.add_runtime_dependency "github-pages", "~> 232" 16 | spec.add_runtime_dependency "jekyll-paginate-v2", "~> 3.0" 17 | end 18 | -------------------------------------------------------------------------------- /_includes/svg/medium.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/mastodon.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demo/_posts/2022-09-01-whats-jekyll.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: What Jekyll is 4 | lead: A short post to demonstrate the layout. 5 | --- 6 | 7 | [Jekyll](https://jekyllrb.com) is a static site generator, an open-source tool for creating simple yet powerful websites of all shapes and sizes. From [the project's readme](https://github.com/jekyll/jekyll/blob/master/README.markdown): 8 | 9 | > Jekyll is a simple, blog aware, static site generator. It takes a template directory [...] and spits out a complete, static website suitable for serving with Apache or your favorite web server. This is also the engine behind GitHub Pages, which you can use to host your project’s page or blog right here from GitHub. 10 | 11 | It's an immensely useful tool. Find out more on [GitHub](https://github.com/jekyll/jekyll). 12 | -------------------------------------------------------------------------------- /_includes/svg/clarivate-circled.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/github-outline.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/scopus-circled.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/orcid.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/contact.html: -------------------------------------------------------------------------------- 1 |
2 |

Contact

3 | 20 |
21 | -------------------------------------------------------------------------------- /_includes/svg/send-mail-circled.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 | 8 | {% if page.title == "Home" %}{% include particles-home.html %}{% endif %} 9 | {% if page.title == "404" %}{% include particles-404.html %}{% endif %} 10 | 11 |
12 |
13 |
14 | {{ content }} 15 |
16 |
17 |
18 | 19 | {% if page.title != "404" %} 20 | 21 | {% endif %} 22 | {% if page.title == "Home" or page.title == "404" %} 23 | 24 | 25 | {% endif %} 26 | 27 | 28 | -------------------------------------------------------------------------------- /_includes/svg/lichess-circled.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | https://piazzai.github.io/cvless/2022/08/01/on-the-use-of-icons/ 5 | 2022-08-01T00:00:00+01:00 6 | 7 | 8 | https://piazzai.github.io/cvless/2022/08/15/example-content/ 9 | 2022-08-15T00:00:00+01:00 10 | 11 | 12 | https://piazzai.github.io/cvless/2022/09/01/whats-jekyll/ 13 | 2022-09-01T00:00:00+01:00 14 | 15 | 16 | https://piazzai.github.io/cvless/cv/ 17 | 18 | 19 | https://piazzai.github.io/cvless/ 20 | 21 | 22 | https://piazzai.github.io/cvless/posts/ 23 | 24 | 25 | https://piazzai.github.io/cvless/assets/files/cv.pdf 26 | 2025-02-09T09:55:59+00:00 27 | 28 | 29 | -------------------------------------------------------------------------------- /_sass/_pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | display: flex; 3 | margin-top: 2em; 4 | text-align: center; 5 | } 6 | 7 | .pagination-item { 8 | float: left; 9 | width: 50%; 10 | padding: 1em 2em; 11 | border: 0.075em solid var(--color-border); 12 | color: var(--color-button); 13 | -webkit-transition: all 0.1s ease-in-out; 14 | transition: all 0.1s ease-in-out; 15 | 16 | svg circle, 17 | svg path { 18 | stroke: var(--color-button); 19 | } 20 | 21 | &:first-child { 22 | margin-bottom: 0; 23 | border-top-left-radius: var(--border-radius); 24 | border-bottom-left-radius: var(--border-radius); 25 | } 26 | 27 | &:last-child { 28 | margin-left: -1px; 29 | border-top-right-radius: var(--border-radius); 30 | border-bottom-right-radius: var(--border-radius); 31 | } 32 | } 33 | 34 | a.pagination-item { 35 | color: var(--color-text); 36 | 37 | svg circle, 38 | svg path { 39 | stroke: var(--color-text); 40 | } 41 | 42 | &:focus, 43 | &:hover { 44 | background-color: var(--color-border); 45 | border: 0.075em solid var(--color-border); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /_sass/_variables.scss: -------------------------------------------------------------------------------- 1 | :root { 2 | --type-serif: "Piazzolla", serif; 3 | --type-caps: "Piazzolla SC", serif; 4 | --type-mono: "Hack", monospace; 5 | --type-size: 18px; 6 | --type-weight: 400; 7 | --type-height: 1.4; 8 | --type-numeric: oldstyle-nums proportional-nums; 9 | --color-particles-text: var(--oc-gray-1); 10 | --color-particles-background: var(--oc-gray-9); 11 | } 12 | 13 | html, 14 | html[data-theme="light"] { 15 | --color-background: var(--oc-gray-1); 16 | --color-text: var(--oc-gray-8); 17 | --color-heading: var(--oc-gray-8); 18 | --color-link: var(--oc-blue-8); 19 | --color-chunk: var(--oc-gray-8); 20 | --color-mark: var(--oc-yellow-3); 21 | --color-border: var(--oc-gray-4); 22 | --color-button: var(--oc-gray-6); 23 | } 24 | 25 | html[data-theme="dark"] { 26 | --color-background: var(--oc-gray-9); 27 | --color-text: var(--oc-gray-3); 28 | --color-heading: var(--oc-gray-3); 29 | --color-link: var(--oc-blue-3); 30 | --color-chunk: var(--oc-gray-8); 31 | --color-mark: var(--oc-gray-8); 32 | --color-border: var(--oc-gray-7); 33 | --color-button: var(--oc-gray-7); 34 | } 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Michele Piazzai 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /_includes/svg/bluesky.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/xing.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {% if page.layout == "home" %} 7 | {{ site.title }} 8 | {% else %} 9 | {{ site.title }} · {{ page.title }} 10 | {% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | {% seo title=false %} 24 | 25 | -------------------------------------------------------------------------------- /demo/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: home 3 | title: Home 4 | --- 5 | 6 | # About 7 | 8 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 9 | 10 | This is the home page. It can be used for a short introduction. [Click here](cv) to see the full CV, and [here](assets/files/cv.pdf) to download a print version. The theme also ships with a blog: [click here](posts) to scroll posts from the most recent. Finally, [click here](404) to see a page that can't be found. 11 | 12 | By default, the theme only contains these few pages in order to stay lean and flexible. However, it can be easily extended to accommodate more pages, [collections](https://jekyllrb.com/docs/collections/), [categories, and tags](https://jekyllrb.com/docs/posts/#tags-and-categories). 13 | 14 | Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 15 | 16 | Below is a list of blog posts included for illustrative purposes. Make sure to delete or modify them before deploying your website. 17 | 18 | {% include archive.html %} 19 | -------------------------------------------------------------------------------- /demo/_config.yml: -------------------------------------------------------------------------------- 1 | title: cvless 2 | description: Jekyll theme for a beautiful online CV 3 | baseurl: "" 4 | url: https://piazzai.github.io/cvless 5 | 6 | theme: cvless 7 | 8 | # site settings 9 | taglong: Jekyll theme for a beautiful online CV 10 | tagshort: Jekyll theme 11 | cv: true 12 | 13 | # author settings 14 | author: 15 | name: Place Holder 16 | email: username@domain.com 17 | photo: assets/files/photo.jpg 18 | joblines: 19 | - University of Jekyll 20 | - Department of Themes 21 | - 123 Main St, Anytown, USA 22 | address: Foobar Hall 1.23 23 | phone: +1 234 567 890 24 | 25 | # profile links 26 | profile: 27 | facebook: https://www.facebook.com/username 28 | x: https://x.com/username 29 | mastodon: https://mastodon.social/@username 30 | bluesky: https://bsky.app/profile/username.bsky.social 31 | instagram: https://www.instagram.com/username 32 | linkedin: https://www.linkedin.com/in/username 33 | xing: https://www.xing.com/profile/username 34 | stackoverflow: https://stackoverflow.com/users/0000000/username 35 | medium: https://medium.com/@username 36 | github: https://github.com/username 37 | 38 | # build settings 39 | permalink: pretty 40 | exclude: 41 | - LICENSE 42 | - README.md 43 | - Gemfile 44 | - vendor/ 45 | 46 | plugins: 47 | - jekyll-feed 48 | - jekyll-gist 49 | - jekyll-paginate-v2 50 | - jekyll-seo-tag 51 | - jekyll-sitemap 52 | 53 | sass: 54 | sourcemap: never 55 | 56 | -------------------------------------------------------------------------------- /_sass/_base.scss: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: var(--type-serif); 3 | font-size: var(--type-size); 4 | font-weight: var(--type-weight); 5 | line-height: var(--type-height); 6 | font-variant-numeric: var(--type-numeric); 7 | background-color: var(--color-background); 8 | color: var(--color-text); 9 | } 10 | 11 | svg circle, 12 | svg path { 13 | stroke: var(--color-text); 14 | stroke-width: 0.075em; 15 | } 16 | 17 | a { 18 | text-decoration: none; 19 | color: var(--color-link); 20 | 21 | &:focus, 22 | &:hover { 23 | border-bottom: calc(var(--type-size) / 10) dotted var(--color-link); 24 | color: var(--color-link); 25 | } 26 | } 27 | 28 | header { 29 | display: flex; 30 | justify-content: space-between; 31 | margin-top: 1.5em; 32 | margin-bottom: 2em; 33 | } 34 | 35 | footer { 36 | margin: 2em 0; 37 | } 38 | 39 | small { 40 | font-weight: 300; 41 | } 42 | 43 | abbr { 44 | text-transform: lowercase; 45 | font-family: var(--type-caps); 46 | } 47 | 48 | blockquote { 49 | padding-left: 1em; 50 | border-left: 0.1em solid var(--color-border); 51 | font-weight: 300; 52 | } 53 | 54 | mark { 55 | padding: 0.1em; 56 | border-radius: 0.25em; 57 | background-color: var(--color-mark); 58 | color: var(--color-text); 59 | } 60 | 61 | hr { 62 | border-top: 0.1em solid var(--color-text); 63 | } 64 | 65 | img { 66 | display: block; 67 | max-width: 100%; 68 | margin: 1em 0; 69 | border-radius: 0.25em; 70 | } 71 | 72 | table.table { 73 | color: var(--color-text); 74 | } 75 | -------------------------------------------------------------------------------- /assets/js/particles.json: -------------------------------------------------------------------------------- 1 | { 2 | "particles": { 3 | "number": { 4 | "value": 20, 5 | "density": { 6 | "enable": true, 7 | "value_area": 1000 8 | } 9 | }, 10 | "color": { 11 | "value": "#f1f3f5" 12 | }, 13 | "shape": { 14 | "type": "circle" 15 | }, 16 | "opacity": { 17 | "value": 0.5, 18 | "random": false, 19 | "anim": { 20 | "enable": false 21 | } 22 | }, 23 | "size": { 24 | "value": 0.1, 25 | "random": false, 26 | "anim": { 27 | "enable": false 28 | } 29 | }, 30 | "line_linked": { 31 | "enable": true, 32 | "distance": 200, 33 | "color": "#f1f3f5", 34 | "opacity": 0.5, 35 | "width": 1 36 | }, 37 | "move": { 38 | "enable": true, 39 | "speed": 5, 40 | "direction": "none", 41 | "random": true, 42 | "straight": false, 43 | "out_mode": "out", 44 | "attract": { 45 | "enable": false 46 | } 47 | } 48 | }, 49 | "interactivity": { 50 | "detect_on": "canvas", 51 | "events": { 52 | "onhover": { 53 | "enable": true, 54 | "mode": "grab" 55 | }, 56 | "onclick": { 57 | "enable": false 58 | }, 59 | "resize": true 60 | }, 61 | "modes": { 62 | "grab": { 63 | "distance": 200, 64 | "line_linked": { 65 | "opacity": 1 66 | } 67 | } 68 | } 69 | }, 70 | "retina_detect": true 71 | } 72 | -------------------------------------------------------------------------------- /docs/assets/js/particles.json: -------------------------------------------------------------------------------- 1 | { 2 | "particles": { 3 | "number": { 4 | "value": 20, 5 | "density": { 6 | "enable": true, 7 | "value_area": 1000 8 | } 9 | }, 10 | "color": { 11 | "value": "#f1f3f5" 12 | }, 13 | "shape": { 14 | "type": "circle" 15 | }, 16 | "opacity": { 17 | "value": 0.5, 18 | "random": false, 19 | "anim": { 20 | "enable": false 21 | } 22 | }, 23 | "size": { 24 | "value": 0.1, 25 | "random": false, 26 | "anim": { 27 | "enable": false 28 | } 29 | }, 30 | "line_linked": { 31 | "enable": true, 32 | "distance": 200, 33 | "color": "#f1f3f5", 34 | "opacity": 0.5, 35 | "width": 1 36 | }, 37 | "move": { 38 | "enable": true, 39 | "speed": 5, 40 | "direction": "none", 41 | "random": true, 42 | "straight": false, 43 | "out_mode": "out", 44 | "attract": { 45 | "enable": false 46 | } 47 | } 48 | }, 49 | "interactivity": { 50 | "detect_on": "canvas", 51 | "events": { 52 | "onhover": { 53 | "enable": true, 54 | "mode": "grab" 55 | }, 56 | "onclick": { 57 | "enable": false 58 | }, 59 | "resize": true 60 | }, 61 | "modes": { 62 | "grab": { 63 | "distance": 200, 64 | "line_linked": { 65 | "opacity": 1 66 | } 67 | } 68 | } 69 | }, 70 | "retina_detect": true 71 | } 72 | -------------------------------------------------------------------------------- /_sass/_elements.scss: -------------------------------------------------------------------------------- 1 | a.site-title { 2 | font-weight: 500; 3 | color: var(--color-heading); 4 | 5 | &:focus, 6 | &:hover { 7 | border-color: inherit; 8 | color: inherit; 9 | } 10 | } 11 | 12 | .toggle-bar { 13 | display: flex; 14 | justify-content: end; 15 | padding-top: 1.5em; 16 | } 17 | 18 | .toggle-icon { 19 | color: var(--color-heading); 20 | 21 | &:focus, 22 | &:hover { 23 | cursor: pointer; 24 | border: none; 25 | 26 | svg circle, 27 | svg path { 28 | stroke-width: 0.1em; 29 | } 30 | } 31 | } 32 | 33 | .message { 34 | padding: 0.25em 1em; 35 | border-radius: 0.25em; 36 | background-color: var(--color-mark); 37 | color: var(--color-text); 38 | } 39 | 40 | dd { 41 | padding-left: 0.5em; 42 | } 43 | 44 | .archive ul, 45 | .contact ul { 46 | list-style-type: none; 47 | padding: 0; 48 | } 49 | 50 | .li-icon { 51 | margin-right: 0.25em; 52 | } 53 | 54 | a.iconlink { 55 | svg circle, 56 | svg path { 57 | stroke: var(--color-link); 58 | } 59 | 60 | &:focus, 61 | &:hover { 62 | border: none; 63 | 64 | svg circle, 65 | svg path { 66 | stroke-width: 0.1em; 67 | } 68 | } 69 | } 70 | 71 | .footnotes { 72 | margin-top: 2em; 73 | 74 | p { 75 | margin: 0; 76 | } 77 | 78 | &::before { 79 | content: "Notes"; 80 | } 81 | } 82 | 83 | a[href^="#fn:"] { 84 | margin-left: 0.1em; 85 | font-weight: 500; 86 | 87 | &:focus, 88 | &:hover { 89 | font-weight: 700; 90 | border: none; 91 | } 92 | } 93 | 94 | a.reversefootnote { 95 | font-weight: 500; 96 | 97 | &:focus, 98 | &:hover { 99 | font-weight: 700; 100 | border: none; 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /_sass/_media.scss: -------------------------------------------------------------------------------- 1 | @media (prefers-color-scheme: dark) { 2 | html, 3 | html[data-theme="dark"] { 4 | --color-background: var(--oc-gray-9); 5 | --color-text: var(--oc-gray-3); 6 | --color-heading: var(--oc-gray-3); 7 | --color-code: var(--oc-gray-3); 8 | --color-link: var(--oc-blue-3); 9 | --color-mark: var(--oc-gray-8); 10 | --color-border: var(--oc-gray-7); 11 | --color-button: var(--oc-gray-7); 12 | } 13 | 14 | html[data-theme="light"] { 15 | --color-background: var(--oc-gray-1); 16 | --color-text: var(--oc-gray-8); 17 | --color-heading: var(--oc-gray-8); 18 | --color-code: var(--oc-gray-8); 19 | --color-link: var(--oc-blue-8); 20 | --color-mark: var(--oc-yellow-3); 21 | --color-border: var(--oc-gray-4); 22 | --color-button: var(--oc-gray-6); 23 | } 24 | } 25 | 26 | @media screen and (min-width: 768px) { 27 | body { 28 | font-size: 1.25em; 29 | } 30 | 31 | .particles-title { 32 | font-size: 3.5em; 33 | } 34 | 35 | .particles-subtitle { 36 | font-size: 1.75em; 37 | } 38 | 39 | .particles-icon { 40 | margin: 0 1em; 41 | 42 | svg { 43 | -webkit-transform: scale(2.4); 44 | transform: scale(2.4); 45 | } 46 | } 47 | 48 | .particles-scroll svg { 49 | -webkit-transform: scale(3.6); 50 | transform: scale(3.6); 51 | } 52 | } 53 | 54 | @media only print { 55 | body { 56 | font-size: 10pt; 57 | background-color: white; 58 | color: black; 59 | } 60 | 61 | a { 62 | color: black; 63 | } 64 | 65 | dd { 66 | padding-left: 1.5em; 67 | } 68 | 69 | .pagination { 70 | display: none; 71 | } 72 | 73 | #cv { 74 | header { 75 | margin: 0; 76 | } 77 | 78 | .site-title { 79 | font-size: 1.5em; 80 | } 81 | 82 | small { 83 | display: none; 84 | } 85 | 86 | .toggle-icon, 87 | .li-icon, 88 | .reversefootnote, 89 | a.iconlink { 90 | display: none; 91 | } 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /_sass/_particles.scss: -------------------------------------------------------------------------------- 1 | #particles-js { 2 | width: 100%; 3 | background-repeat: no-repeat; 4 | background-size: cover; 5 | background-attachment: fixed; 6 | background-color: var(--color-particles-background); 7 | 8 | .particles-js-canvas-el { 9 | width: 100%; 10 | height: 99.5vh !important; 11 | } 12 | 13 | .jumbotron { 14 | position: absolute; 15 | top: 44%; 16 | left: 50%; 17 | -webkit-transform: translate(-50%, -50%); 18 | transform: translate(-50%, -50%); 19 | pointer-events: none; 20 | } 21 | } 22 | 23 | .fullscreen { 24 | min-height: 100vh; 25 | 26 | h1, 27 | h2 { 28 | color: var(--color-particles-text); 29 | } 30 | } 31 | 32 | .particles-photo { 33 | width: 50%; 34 | border-radius: 50%; 35 | margin: auto; 36 | margin-bottom: 0.5em; 37 | } 38 | 39 | .particles-title { 40 | margin: 0; 41 | font-size: 2.5em; 42 | font-weight: 500; 43 | white-space: nowrap; 44 | } 45 | 46 | .particles-subtitle { 47 | margin: 0 0 1em 0; 48 | font-size: 1.25em; 49 | font-weight: 400; 50 | } 51 | 52 | .nowrap { 53 | white-space: nowrap; 54 | } 55 | 56 | .particles-icon { 57 | margin: 0 0.5em; 58 | pointer-events: all; 59 | 60 | svg { 61 | -webkit-transform: scale(1.8); 62 | transform: scale(1.8); 63 | } 64 | 65 | svg circle, 66 | svg path { 67 | stroke: var(--color-particles-text) !important; 68 | stroke-width: 0.05em; 69 | } 70 | 71 | &:focus, 72 | &:hover { 73 | border: none; 74 | 75 | svg circle, 76 | svg path { 77 | stroke-width: 0.075em; 78 | } 79 | } 80 | } 81 | 82 | .particles-scroll { 83 | position: absolute; 84 | bottom: 5%; 85 | left: 50%; 86 | -webkit-transform: translate(-50%, -50%); 87 | transform: translate(-50%, -50%); 88 | 89 | .particles-icon { 90 | position: relative; 91 | -webkit-animation: pulse 1s infinite; 92 | animation: pulse 1s infinite; 93 | } 94 | 95 | svg { 96 | -webkit-transform: scale(2.7); 97 | transform: scale(2.7); 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /_includes/particles-home.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {% if site.photo %} 4 | 5 | {% endif %} 6 |

{{ site.title }}

7 |

{{ site.taglong }}

8 |
9 | {% if site.profile.facebook %} 10 | {% include svg/facebook.svg %} 11 | {% endif %} 12 | {% if site.profile.x %} 13 | {% include svg/x.svg %} 14 | {% endif %} 15 | {% if site.profile.mastodon %} 16 | {% include svg/mastodon.svg %} 17 | {% endif %} 18 | {% if site.profile.bluesky %} 19 | {% include svg/bluesky.svg %} 20 | {% endif %} 21 | {% if site.profile.instagram %} 22 | {% include svg/instagram.svg %} 23 | {% endif %} 24 | {% if site.profile.linkedin %} 25 | {% include svg/linkedin.svg %} 26 | {% endif %} 27 | {% if site.profile.xing %} 28 | {% include svg/xing.svg %} 29 | {% endif %} 30 | {% if site.profile.stackoverflow %} 31 | {% include svg/stackoverflow.svg %} 32 | {% endif %} 33 | {% if site.profile.medium %} 34 | {% include svg/medium.svg %} 35 | {% endif %} 36 | {% if site.profile.github %} 37 | {% include svg/github.svg %} 38 | {% endif %} 39 | {% if site.author.email %} 40 | {% include svg/mail.svg %} 41 | {% endif %} 42 | {% if site.profile.cv != false %} 43 | {% include svg/cv-circled.svg %} 44 | {% endif %} 45 |
46 |
47 |
48 | {% include svg/nav-arrow-down.svg %} 49 |
50 |
51 | -------------------------------------------------------------------------------- /assets/js/darkmode.js: -------------------------------------------------------------------------------- 1 | var moon = 2 | ''; 3 | var sun = 4 | ''; 5 | 6 | let systemInitiatedDark = window.matchMedia("(prefers-color-scheme: dark)"); 7 | let theme = sessionStorage.getItem("theme"); 8 | 9 | if (systemInitiatedDark.matches) { 10 | document.getElementById("theme-toggle").innerHTML = sun; 11 | } else { 12 | document.getElementById("theme-toggle").innerHTML = moon; 13 | } 14 | 15 | function prefersColorTest(systemInitiatedDark) { 16 | if (systemInitiatedDark.matches) { 17 | document.documentElement.setAttribute("data-theme", "dark"); 18 | document.getElementById("theme-toggle").innerHTML = sun; 19 | sessionStorage.setItem("theme", ""); 20 | } else { 21 | document.documentElement.setAttribute("data-theme", "light"); 22 | document.getElementById("theme-toggle").innerHTML = moon; 23 | sessionStorage.setItem("theme", ""); 24 | } 25 | } 26 | systemInitiatedDark.addEventListener("change", function (event) { 27 | prefersColorTest(event.target); 28 | }); 29 | 30 | function modeSwitcher() { 31 | let theme = sessionStorage.getItem("theme"); 32 | if (theme === "dark") { 33 | document.documentElement.setAttribute("data-theme", "light"); 34 | sessionStorage.setItem("theme", "light"); 35 | document.getElementById("theme-toggle").innerHTML = moon; 36 | } else if (theme === "light") { 37 | document.documentElement.setAttribute("data-theme", "dark"); 38 | sessionStorage.setItem("theme", "dark"); 39 | document.getElementById("theme-toggle").innerHTML = sun; 40 | } else if (systemInitiatedDark.matches) { 41 | document.documentElement.setAttribute("data-theme", "light"); 42 | sessionStorage.setItem("theme", "light"); 43 | document.getElementById("theme-toggle").innerHTML = moon; 44 | } else { 45 | document.documentElement.setAttribute("data-theme", "dark"); 46 | sessionStorage.setItem("theme", "dark"); 47 | document.getElementById("theme-toggle").innerHTML = sun; 48 | } 49 | } 50 | 51 | if (theme === "dark") { 52 | document.documentElement.setAttribute("data-theme", "dark"); 53 | sessionStorage.setItem("theme", "dark"); 54 | document.getElementById("theme-toggle").innerHTML = sun; 55 | } else if (theme === "light") { 56 | document.documentElement.setAttribute("data-theme", "light"); 57 | sessionStorage.setItem("theme", "light"); 58 | document.getElementById("theme-toggle").innerHTML = moon; 59 | } 60 | -------------------------------------------------------------------------------- /docs/assets/js/darkmode.js: -------------------------------------------------------------------------------- 1 | var moon = 2 | ''; 3 | var sun = 4 | ''; 5 | 6 | let systemInitiatedDark = window.matchMedia("(prefers-color-scheme: dark)"); 7 | let theme = sessionStorage.getItem("theme"); 8 | 9 | if (systemInitiatedDark.matches) { 10 | document.getElementById("theme-toggle").innerHTML = sun; 11 | } else { 12 | document.getElementById("theme-toggle").innerHTML = moon; 13 | } 14 | 15 | function prefersColorTest(systemInitiatedDark) { 16 | if (systemInitiatedDark.matches) { 17 | document.documentElement.setAttribute("data-theme", "dark"); 18 | document.getElementById("theme-toggle").innerHTML = sun; 19 | sessionStorage.setItem("theme", ""); 20 | } else { 21 | document.documentElement.setAttribute("data-theme", "light"); 22 | document.getElementById("theme-toggle").innerHTML = moon; 23 | sessionStorage.setItem("theme", ""); 24 | } 25 | } 26 | systemInitiatedDark.addEventListener("change", function (event) { 27 | prefersColorTest(event.target); 28 | }); 29 | 30 | function modeSwitcher() { 31 | let theme = sessionStorage.getItem("theme"); 32 | if (theme === "dark") { 33 | document.documentElement.setAttribute("data-theme", "light"); 34 | sessionStorage.setItem("theme", "light"); 35 | document.getElementById("theme-toggle").innerHTML = moon; 36 | } else if (theme === "light") { 37 | document.documentElement.setAttribute("data-theme", "dark"); 38 | sessionStorage.setItem("theme", "dark"); 39 | document.getElementById("theme-toggle").innerHTML = sun; 40 | } else if (systemInitiatedDark.matches) { 41 | document.documentElement.setAttribute("data-theme", "light"); 42 | sessionStorage.setItem("theme", "light"); 43 | document.getElementById("theme-toggle").innerHTML = moon; 44 | } else { 45 | document.documentElement.setAttribute("data-theme", "dark"); 46 | sessionStorage.setItem("theme", "dark"); 47 | document.getElementById("theme-toggle").innerHTML = sun; 48 | } 49 | } 50 | 51 | if (theme === "dark") { 52 | document.documentElement.setAttribute("data-theme", "dark"); 53 | sessionStorage.setItem("theme", "dark"); 54 | document.getElementById("theme-toggle").innerHTML = sun; 55 | } else if (theme === "light") { 56 | document.documentElement.setAttribute("data-theme", "light"); 57 | sessionStorage.setItem("theme", "light"); 58 | document.getElementById("theme-toggle").innerHTML = moon; 59 | } 60 | -------------------------------------------------------------------------------- /docs/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | cvless · 404 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
48 |
49 |

404

50 |

Page not found

51 | 52 | 53 |
54 |
55 | 56 | 57 |
58 |
59 |
60 | 61 | 62 |
63 |
64 |
65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /docs/posts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | cvless · Posts 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
50 |
51 |
52 |
53 |
54 |
55 | cvless 56 | 57 | 58 | Jekyll theme 59 | 60 | 61 |
62 | 63 |
64 | 65 |
66 |
67 | 68 |
69 | 70 | 80 | 81 | 82 |
83 | 87 | 88 |
89 | 90 |
91 |
92 |
93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /_sass/_fonts.scss: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Piazzolla'; 3 | src: url('../fonts/Piazzolla-Light.woff2') format('woff2'); 4 | font-style: normal; 5 | font-weight: 300; 6 | text-rendering: optimizeLegibility; 7 | } 8 | 9 | @font-face { 10 | font-family: 'Piazzolla'; 11 | src: url('../fonts/Piazzolla-LightItalic.woff2') format('woff2'); 12 | font-style: italic; 13 | font-weight: 300; 14 | text-rendering: optimizeLegibility; 15 | } 16 | 17 | @font-face { 18 | font-family: 'Piazzolla'; 19 | src: url('../fonts/Piazzolla-Regular.woff2') format('woff2'); 20 | font-style: normal; 21 | font-weight: 400; 22 | text-rendering: optimizeLegibility; 23 | } 24 | 25 | @font-face { 26 | font-family: 'Piazzolla'; 27 | src: url('../fonts/Piazzolla-Italic.woff2') format('woff2'); 28 | font-style: italic; 29 | font-weight: 400; 30 | text-rendering: optimizeLegibility; 31 | } 32 | 33 | @font-face { 34 | font-family: 'Piazzolla'; 35 | src: url('../fonts/Piazzolla-Medium.woff2') format('woff2'); 36 | font-style: normal; 37 | font-weight: 500; 38 | text-rendering: optimizeLegibility; 39 | } 40 | 41 | @font-face { 42 | font-family: 'Piazzolla'; 43 | src: url('../fonts/Piazzolla-MediumItalic.woff2') format('woff2'); 44 | font-style: italic; 45 | font-weight: 500; 46 | text-rendering: optimizeLegibility; 47 | } 48 | 49 | @font-face { 50 | font-family: 'Piazzolla'; 51 | src: url('../fonts/Piazzolla-Bold.woff2') format('woff2'); 52 | font-style: normal; 53 | font-weight: 700; 54 | text-rendering: optimizeLegibility; 55 | } 56 | 57 | @font-face { 58 | font-family: 'Piazzolla'; 59 | src: url('../fonts/Piazzolla-BoldItalic.woff2') format('woff2'); 60 | font-style: italic; 61 | font-weight: 700; 62 | text-rendering: optimizeLegibility; 63 | } 64 | 65 | @font-face { 66 | font-family: 'Piazzolla SC'; 67 | src: url('../fonts/PiazzollaSC-Light.woff2') format('woff2'); 68 | font-style: normal; 69 | font-weight: 300; 70 | text-rendering: optimizeLegibility; 71 | } 72 | 73 | @font-face { 74 | font-family: 'Piazzolla SC'; 75 | src: url('../fonts/PiazzollaSC-LightItalic.woff2') format('woff2'); 76 | font-style: italic; 77 | font-weight: 300; 78 | text-rendering: optimizeLegibility; 79 | } 80 | 81 | @font-face { 82 | font-family: 'Piazzolla SC'; 83 | src: url('../fonts/PiazzollaSC-Regular.woff2') format('woff2'); 84 | font-style: normal; 85 | font-weight: 400; 86 | text-rendering: optimizeLegibility; 87 | } 88 | 89 | @font-face { 90 | font-family: 'Piazzolla SC'; 91 | src: url('../fonts/PiazzollaSC-Italic.woff2') format('woff2'); 92 | font-style: italic; 93 | font-weight: 400; 94 | text-rendering: optimizeLegibility; 95 | } 96 | 97 | @font-face { 98 | font-family: 'Piazzolla SC'; 99 | src: url('../fonts/PiazzollaSC-Medium.woff2') format('woff2'); 100 | font-style: normal; 101 | font-weight: 500; 102 | text-rendering: optimizeLegibility; 103 | } 104 | 105 | @font-face { 106 | font-family: 'Piazzolla SC'; 107 | src: url('../fonts/PiazzollaSC-MediumItalic.woff2') format('woff2'); 108 | font-style: italic; 109 | font-weight: 500; 110 | text-rendering: optimizeLegibility; 111 | } 112 | 113 | @font-face { 114 | font-family: 'Piazzolla SC'; 115 | src: url('../fonts/PiazzollaSC-Bold.woff2') format('woff2'); 116 | font-style: normal; 117 | font-weight: 700; 118 | text-rendering: optimizeLegibility; 119 | } 120 | 121 | @font-face { 122 | font-family: 'Piazzolla SC'; 123 | src: url('../fonts/PiazzollaSC-BoldItalic.woff2') format('woff2'); 124 | font-style: italic; 125 | font-weight: 700; 126 | text-rendering: optimizeLegibility; 127 | } 128 | 129 | @font-face { 130 | font-family: 'Hack'; 131 | src: url('../fonts/hack-regular-subset.woff2') format('woff2'); 132 | font-style: normal; 133 | font-weight: 400; 134 | text-rendering: optimizeLegibility; 135 | } 136 | 137 | @font-face { 138 | font-family: 'Hack'; 139 | src: url('../fonts/hack-italic-subset.woff2') format('woff2'); 140 | font-style: italic; 141 | font-weight: 400; 142 | text-rendering: optimizeLegibility; 143 | } 144 | 145 | @font-face { 146 | font-family: 'Hack'; 147 | src: url('../fonts/hack-bold-subset.woff2') format('woff2'); 148 | font-style: normal; 149 | font-weight: 700; 150 | text-rendering: optimizeLegibility; 151 | } 152 | 153 | @font-face { 154 | font-family: 'Hack'; 155 | src: url('../fonts/hack-bolditalic-subset.woff2') format('woff2'); 156 | font-style: italic; 157 | font-weight: 700; 158 | text-rendering: optimizeLegibility; 159 | } 160 | -------------------------------------------------------------------------------- /assets/css/syntax.css: -------------------------------------------------------------------------------- 1 | .highlight table td { 2 | padding: 5px; 3 | } 4 | 5 | .highlight table pre { 6 | margin: 0; 7 | } 8 | 9 | .highlight .cm { 10 | color: #999988; 11 | font-style: italic; 12 | } 13 | 14 | .highlight .cp { 15 | color: #999999; 16 | font-weight: bold; 17 | } 18 | 19 | .highlight .c1 { 20 | color: #999988; 21 | font-style: italic; 22 | } 23 | 24 | .highlight .cs { 25 | color: #999999; 26 | font-weight: bold; 27 | font-style: italic; 28 | } 29 | 30 | .highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf { 31 | color: #999988; 32 | font-style: italic; 33 | } 34 | 35 | .highlight .err { 36 | color: #a61717; 37 | background-color: #e3d2d2; 38 | } 39 | 40 | .highlight .gd { 41 | color: #000000; 42 | background-color: #ffdddd; 43 | } 44 | 45 | .highlight .ge { 46 | color: #000000; 47 | font-style: italic; 48 | } 49 | 50 | .highlight .gr { 51 | color: #aa0000; 52 | } 53 | 54 | .highlight .gh { 55 | color: #999999; 56 | } 57 | 58 | .highlight .gi { 59 | color: #000000; 60 | background-color: #ddffdd; 61 | } 62 | 63 | .highlight .go { 64 | color: #888888; 65 | } 66 | 67 | .highlight .gp { 68 | color: #555555; 69 | } 70 | 71 | .highlight .gs { 72 | font-weight: bold; 73 | } 74 | 75 | .highlight .gu { 76 | color: #aaaaaa; 77 | } 78 | 79 | .highlight .gt { 80 | color: #aa0000; 81 | } 82 | 83 | .highlight .kc { 84 | color: #000000; 85 | font-weight: bold; 86 | } 87 | 88 | .highlight .kd { 89 | color: #000000; 90 | font-weight: bold; 91 | } 92 | 93 | .highlight .kn { 94 | color: #000000; 95 | font-weight: bold; 96 | } 97 | 98 | .highlight .kp { 99 | color: #000000; 100 | font-weight: bold; 101 | } 102 | 103 | .highlight .kr { 104 | color: #000000; 105 | font-weight: bold; 106 | } 107 | 108 | .highlight .kt { 109 | color: #445588; 110 | font-weight: bold; 111 | } 112 | 113 | .highlight .k, .highlight .kv { 114 | color: #000000; 115 | font-weight: bold; 116 | } 117 | 118 | .highlight .mf { 119 | color: #009999; 120 | } 121 | 122 | .highlight .mh { 123 | color: #009999; 124 | } 125 | 126 | .highlight .il { 127 | color: #009999; 128 | } 129 | 130 | .highlight .mi { 131 | color: #009999; 132 | } 133 | 134 | .highlight .mo { 135 | color: #009999; 136 | } 137 | 138 | .highlight .m, .highlight .mb, .highlight .mx { 139 | color: #009999; 140 | } 141 | 142 | .highlight .sa { 143 | color: #000000; 144 | font-weight: bold; 145 | } 146 | 147 | .highlight .sb { 148 | color: #d14; 149 | } 150 | 151 | .highlight .sc { 152 | color: #d14; 153 | } 154 | 155 | .highlight .sd { 156 | color: #d14; 157 | } 158 | 159 | .highlight .s2 { 160 | color: #d14; 161 | } 162 | 163 | .highlight .se { 164 | color: #d14; 165 | } 166 | 167 | .highlight .sh { 168 | color: #d14; 169 | } 170 | 171 | .highlight .si { 172 | color: #d14; 173 | } 174 | 175 | .highlight .sx { 176 | color: #d14; 177 | } 178 | 179 | .highlight .sr { 180 | color: #009926; 181 | } 182 | 183 | .highlight .s1 { 184 | color: #d14; 185 | } 186 | 187 | .highlight .ss { 188 | color: #990073; 189 | } 190 | 191 | .highlight .s, .highlight .dl { 192 | color: #d14; 193 | } 194 | 195 | .highlight .na { 196 | color: #008080; 197 | } 198 | 199 | .highlight .bp { 200 | color: #999999; 201 | } 202 | 203 | .highlight .nb { 204 | color: #0086B3; 205 | } 206 | 207 | .highlight .nc { 208 | color: #445588; 209 | font-weight: bold; 210 | } 211 | 212 | .highlight .no { 213 | color: #008080; 214 | } 215 | 216 | .highlight .nd { 217 | color: #3c5d5d; 218 | font-weight: bold; 219 | } 220 | 221 | .highlight .ni { 222 | color: #800080; 223 | } 224 | 225 | .highlight .ne { 226 | color: #990000; 227 | font-weight: bold; 228 | } 229 | 230 | .highlight .nf, .highlight .fm { 231 | color: #990000; 232 | font-weight: bold; 233 | } 234 | 235 | .highlight .nl { 236 | color: #990000; 237 | font-weight: bold; 238 | } 239 | 240 | .highlight .nn { 241 | color: #555555; 242 | } 243 | 244 | .highlight .nt { 245 | color: #000080; 246 | } 247 | 248 | .highlight .vc { 249 | color: #008080; 250 | } 251 | 252 | .highlight .vg { 253 | color: #008080; 254 | } 255 | 256 | .highlight .vi { 257 | color: #008080; 258 | } 259 | 260 | .highlight .nv, .highlight .vm { 261 | color: #008080; 262 | } 263 | 264 | .highlight .ow { 265 | color: #000000; 266 | font-weight: bold; 267 | } 268 | 269 | .highlight .o { 270 | color: #000000; 271 | font-weight: bold; 272 | } 273 | 274 | .highlight .w { 275 | color: #bbbbbb; 276 | } 277 | 278 | .highlight { 279 | background-color: #f8f8f8; 280 | } 281 | -------------------------------------------------------------------------------- /docs/assets/css/syntax.css: -------------------------------------------------------------------------------- 1 | .highlight table td { 2 | padding: 5px; 3 | } 4 | 5 | .highlight table pre { 6 | margin: 0; 7 | } 8 | 9 | .highlight .cm { 10 | color: #999988; 11 | font-style: italic; 12 | } 13 | 14 | .highlight .cp { 15 | color: #999999; 16 | font-weight: bold; 17 | } 18 | 19 | .highlight .c1 { 20 | color: #999988; 21 | font-style: italic; 22 | } 23 | 24 | .highlight .cs { 25 | color: #999999; 26 | font-weight: bold; 27 | font-style: italic; 28 | } 29 | 30 | .highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf { 31 | color: #999988; 32 | font-style: italic; 33 | } 34 | 35 | .highlight .err { 36 | color: #a61717; 37 | background-color: #e3d2d2; 38 | } 39 | 40 | .highlight .gd { 41 | color: #000000; 42 | background-color: #ffdddd; 43 | } 44 | 45 | .highlight .ge { 46 | color: #000000; 47 | font-style: italic; 48 | } 49 | 50 | .highlight .gr { 51 | color: #aa0000; 52 | } 53 | 54 | .highlight .gh { 55 | color: #999999; 56 | } 57 | 58 | .highlight .gi { 59 | color: #000000; 60 | background-color: #ddffdd; 61 | } 62 | 63 | .highlight .go { 64 | color: #888888; 65 | } 66 | 67 | .highlight .gp { 68 | color: #555555; 69 | } 70 | 71 | .highlight .gs { 72 | font-weight: bold; 73 | } 74 | 75 | .highlight .gu { 76 | color: #aaaaaa; 77 | } 78 | 79 | .highlight .gt { 80 | color: #aa0000; 81 | } 82 | 83 | .highlight .kc { 84 | color: #000000; 85 | font-weight: bold; 86 | } 87 | 88 | .highlight .kd { 89 | color: #000000; 90 | font-weight: bold; 91 | } 92 | 93 | .highlight .kn { 94 | color: #000000; 95 | font-weight: bold; 96 | } 97 | 98 | .highlight .kp { 99 | color: #000000; 100 | font-weight: bold; 101 | } 102 | 103 | .highlight .kr { 104 | color: #000000; 105 | font-weight: bold; 106 | } 107 | 108 | .highlight .kt { 109 | color: #445588; 110 | font-weight: bold; 111 | } 112 | 113 | .highlight .k, .highlight .kv { 114 | color: #000000; 115 | font-weight: bold; 116 | } 117 | 118 | .highlight .mf { 119 | color: #009999; 120 | } 121 | 122 | .highlight .mh { 123 | color: #009999; 124 | } 125 | 126 | .highlight .il { 127 | color: #009999; 128 | } 129 | 130 | .highlight .mi { 131 | color: #009999; 132 | } 133 | 134 | .highlight .mo { 135 | color: #009999; 136 | } 137 | 138 | .highlight .m, .highlight .mb, .highlight .mx { 139 | color: #009999; 140 | } 141 | 142 | .highlight .sa { 143 | color: #000000; 144 | font-weight: bold; 145 | } 146 | 147 | .highlight .sb { 148 | color: #d14; 149 | } 150 | 151 | .highlight .sc { 152 | color: #d14; 153 | } 154 | 155 | .highlight .sd { 156 | color: #d14; 157 | } 158 | 159 | .highlight .s2 { 160 | color: #d14; 161 | } 162 | 163 | .highlight .se { 164 | color: #d14; 165 | } 166 | 167 | .highlight .sh { 168 | color: #d14; 169 | } 170 | 171 | .highlight .si { 172 | color: #d14; 173 | } 174 | 175 | .highlight .sx { 176 | color: #d14; 177 | } 178 | 179 | .highlight .sr { 180 | color: #009926; 181 | } 182 | 183 | .highlight .s1 { 184 | color: #d14; 185 | } 186 | 187 | .highlight .ss { 188 | color: #990073; 189 | } 190 | 191 | .highlight .s, .highlight .dl { 192 | color: #d14; 193 | } 194 | 195 | .highlight .na { 196 | color: #008080; 197 | } 198 | 199 | .highlight .bp { 200 | color: #999999; 201 | } 202 | 203 | .highlight .nb { 204 | color: #0086B3; 205 | } 206 | 207 | .highlight .nc { 208 | color: #445588; 209 | font-weight: bold; 210 | } 211 | 212 | .highlight .no { 213 | color: #008080; 214 | } 215 | 216 | .highlight .nd { 217 | color: #3c5d5d; 218 | font-weight: bold; 219 | } 220 | 221 | .highlight .ni { 222 | color: #800080; 223 | } 224 | 225 | .highlight .ne { 226 | color: #990000; 227 | font-weight: bold; 228 | } 229 | 230 | .highlight .nf, .highlight .fm { 231 | color: #990000; 232 | font-weight: bold; 233 | } 234 | 235 | .highlight .nl { 236 | color: #990000; 237 | font-weight: bold; 238 | } 239 | 240 | .highlight .nn { 241 | color: #555555; 242 | } 243 | 244 | .highlight .nt { 245 | color: #000080; 246 | } 247 | 248 | .highlight .vc { 249 | color: #008080; 250 | } 251 | 252 | .highlight .vg { 253 | color: #008080; 254 | } 255 | 256 | .highlight .vi { 257 | color: #008080; 258 | } 259 | 260 | .highlight .nv, .highlight .vm { 261 | color: #008080; 262 | } 263 | 264 | .highlight .ow { 265 | color: #000000; 266 | font-weight: bold; 267 | } 268 | 269 | .highlight .o { 270 | color: #000000; 271 | font-weight: bold; 272 | } 273 | 274 | .highlight .w { 275 | color: #bbbbbb; 276 | } 277 | 278 | .highlight { 279 | background-color: #f8f8f8; 280 | } 281 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # cvless 2 | 3 | Cvless is a theme for static websites built with Jekyll. It aims for simplicity and readability by following best practices of graphic design, like the use of [high contrast](https://www.contrastrebellion.com), [law of proximity](https://lawsofux.com/law-of-proximity), and responsive layout. Its typography is based on the [Piazzolla system](https://piazzolla.huertatipografica.com/), which performs extremely well over a wide range of font sizes. 4 | 5 | The main aesthetic feature of the theme is the use of [particles.js](https://vincentgarreau.com/particles.js/) in the home and the 404 pages. In addition, the theme includes a well-designed CV page. Printing this from browser automatically adapts the layout for a more traditional appearance, so you no longer have to maintain a separate CV for offline distribution. Finally, the theme offers a simple and easily extensible blog. 6 | 7 | Light and dark modes are available. The theme initializes based on system preferences and stores the user's preference for the duration of the session. 8 | 9 | See the [demo](https://piazzai.github.io/cvless) to get a better sense of what the theme looks like. 10 | 11 | ![](https://github.com/piazzai/cvless/blob/master/screenshot.png) 12 | 13 | ## Installation 14 | 15 | The theme can be installed as usual by cloning this repository and editing the files. However, it is far more convenient to install it as a gem, in which case all the files you do not want or need to customize remain hidden from view, but will still be read and processed during build. 16 | 17 | If you choose to install the theme as a gem, your site should include at a minimum the following files: 18 | 19 | ```bash 20 | . 21 | ├── 404.md 22 | ├── _config.yml 23 | ├── Gemfile 24 | ├── cv.md 25 | └── index.md 26 | ``` 27 | 28 | To install the theme, you can then add this line to your `Gemfile`: 29 | 30 | ```ruby 31 | gem "cvless" 32 | ``` 33 | 34 | And this line to `_config.yml`: 35 | 36 | ```yaml 37 | theme: cvless 38 | ``` 39 | 40 | The easiest way to set up a new website in this way is to clone the contents of the `demo` folder. This provides a working set of files to get you started. You can remove what you will not use, such as the contents of the `_posts` folder. 41 | 42 | After you are done creating the basic files, run bundler: 43 | 44 | $ bundle 45 | 46 | Or install the gem yourself as: 47 | 48 | $ gem install cvless 49 | 50 | To customize hidden files, you can create new files with the same names and paths. For example, to change the layout of the index page, you can create a `_layouts` folder and a file `index.html` within this folder that contains your custom code. During build, Jekyll will give priority to your files over the theme's. 51 | 52 | ## Usage 53 | 54 | Basic configuration occurs in `_config.yml`. This contains site variables such as title, tagline, url, and repository address, as well as the author's name and email address for inclusion in blog posts. You can specify the path to an avatar for inclusion in the home (optional). 55 | 56 | More advanced configuration requires altering some files that are not included in the `demo` template and are hidden in the original theme. There are three files you might want to customize. First, you could change icon links in `_includes/particles-home.html` and add/remove icons as needed. You may add icons that are not included in the theme by default. For more information on how to do this, see [this post](https://piazzai.github.io/cvless/2022/08/01/on-the-use-of-icons/). 57 | 58 | Second, you might want to edit the style variables specified in `_sass/_variables.scss`. These allow you to customize the theme's color scheme and typefaces. There are many resources on the web to learn the principles of good web design. I personally recommend Matthew Butterick's [Practical Typography](https://practicaltypography.com/websites.html). 59 | 60 | In addition to these files, you can customize favicons in the `assets` folder. For that, [favicon.io](https://favicon.io/) is an excellent tool. You can also change the particles.js configurations in `assets/js/particles.json`. The [library homepage](https://vincentgarreau.com/particles.js/) features an interactive tool from which you can export a new configuration. 61 | 62 | ## Credits 63 | 64 | The theme draws in one way or another from the following projects: 65 | 66 | - [Bootstrap](https://getbootstrap.com/) 67 | - [Hack](https://sourcefoundry.org/hack/) 68 | - [Iconoir](https://iconoir.com/) 69 | - [Open Color](https://yeun.github.io/open-color/) 70 | - [Particles.js](https://vincentgarreau.com/particles.js/) 71 | - [Piazzolla](https://piazzolla.huertatipografica.com/) 72 | - [Poole](https://getpoole.com/) 73 | 74 | ## Bugs 75 | 76 | If you find any problem using this theme, please [open an issue](https://github.com/piazzai/cvless/issues). 77 | -------------------------------------------------------------------------------- /docs/2022/09/01/whats-jekyll/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | cvless · What Jekyll is 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
51 |
52 |
53 |
54 |
55 |
56 | cvless 57 | 58 | 59 | Jekyll theme 60 | 61 | 62 |
63 | 64 |
65 | 66 |
67 |

What Jekyll is

68 | 69 |

A short post to demonstrate the layout.

70 |

Jekyll is a static site generator, an open-source tool for creating simple yet powerful websites of all shapes and sizes. From the project’s readme:

71 | 72 |
73 |

Jekyll is a simple, blog aware, static site generator. It takes a template directory […] and spits out a complete, static website suitable for serving with Apache or your favorite web server. This is also the engine behind GitHub Pages, which you can use to host your project’s page or blog right here from GitHub.

74 |
75 | 76 |

It’s an immensely useful tool. Find out more on GitHub.

77 | 78 |
79 | 83 | 84 |
85 | 86 |
87 |
88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /demo/_posts/2022-08-01-on-the-use-of-icons.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: On the use of icons 4 | lead: A very quick guide. 5 | --- 6 | 7 | The icons used in this theme are partly custom-made, and partly come from the [Iconoir](https://iconoir.com/) library. More can be downloaded from the Iconoir website as svg files and saved in `_includes/svg` for use in your website. 8 | 9 | Here's an overview of icons that already ship with the theme. 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 28 | 29 | 30 | 31 | 38 | 39 | 40 | 41 | 47 | 48 | 49 | 50 | 53 | 54 | 55 | 56 | 69 | 70 | 71 | 72 | 76 | 77 | 78 | 79 | 82 | 83 | 84 | 85 | 88 | 89 | 90 | 91 | 94 | 95 | 96 | 97 | 102 | 103 | 104 | 105 | 108 | 109 | 110 |
CategoryIcons
Navigation 22 | {% include svg/arrow-left-circled.svg %} 23 | {% include svg/arrow-right-circled.svg %} 24 | {% include svg/nav-arrow-down.svg %} 25 | {% include svg/nav-arrow-left.svg %} 26 | {% include svg/nav-arrow-right.svg %} 27 |
Actions 32 | {% include svg/download-circled-outline.svg %} 33 | {% include svg/download-square-outline.svg %} 34 | {% include svg/open-in-browser.svg %} 35 | {% include svg/open-in-window.svg %} 36 | {% include svg/open-new-window.svg %} 37 |
Communication 42 | {% include svg/internet.svg %} 43 | {% include svg/mail.svg %} 44 | {% include svg/phone.svg %} 45 | {% include svg/send-mail-circled.svg %} 46 |
Maps 51 | {% include svg/pin-alt.svg %} 52 |
Social 57 | {% include svg/bluesky.svg %} 58 | {% include svg/facebook.svg %} 59 | {% include svg/google-circled.svg %} 60 | {% include svg/instagram.svg %} 61 | {% include svg/linkedin.svg %} 62 | {% include svg/mastodon.svg %} 63 | {% include svg/medium.svg %} 64 | {% include svg/stackoverflow.svg %} 65 | {% include svg/twitter.svg %} 66 | {% include svg/x.svg %} 67 | {% include svg/xing.svg %} 68 |
Git 73 | {% include svg/github-outline.svg %} 74 | {% include svg/github.svg %} 75 |
Security 80 | {% include svg/key-alt-circled.svg %} 81 |
Users 86 | {% include svg/user-circle-alt.svg %} 87 |
CV 92 | {% include svg/cv-circled.svg %} 93 |
Academic 98 | {% include svg/clarivate-circled.svg %} 99 | {% include svg/orcid.svg %} 100 | {% include svg/scopus-circled.svg %} 101 |
Chess 106 | {% include svg/lichess-circled.svg %} 107 |
111 | 112 | They can be used in two ways through Liquid tags. First, as simple glyphs for decorative purposes, as in the table above or in the [contact](/cv) section of the CV: 113 | 114 | {% highlight text %} 115 | {% raw %}{% include svg/github.svg %}{% endraw %} 116 | {% endhighlight %} 117 | 118 | Second, as links: 119 | 120 | {% highlight text %} 121 | {% raw %}{% include iconlink.html icon="svg/github.svg" href="https://github.com/" %}{% endraw %} 122 | {% endhighlight %} 123 | 124 | In this case, the icon shows up with link formatting and its stroke width slightly increases on hovering. Here is an example: {% include iconlink.html icon="svg/github.svg" href="https://github.com/" %} 125 | 126 | Simple CSS allows you to modify many aspects of the icon's appearance, including stroke width, color (with the `stroke` property), and size (with `transform`). Here is a usage example: 127 | 128 | {% highlight css %} 129 | svg { 130 | /* 250% of its original size */ 131 | transform: scale(2.5); 132 | } 133 | svg path { 134 | /* red color */ 135 | stroke: red; 136 | /* thinner line */ 137 | stroke-width: 1.25; 138 | } 139 | {% endhighlight %} 140 | 141 | ## Note 142 | 143 | Each icon available from Iconoir is essentially a text file: 144 | 145 | {% highlight text %} 146 | 147 | 148 | 149 | {% endhighlight %} 150 | 151 | The `` tag at the beginning is useful for apps but not for a Jekyll website, and it can be deleted. 152 | -------------------------------------------------------------------------------- /assets/css/open-color.min.css: -------------------------------------------------------------------------------- 1 | :root{--oc-white:#fff;--oc-white-rgb:255,255,255;--oc-black:#000;--oc-black-rgb:0,0,0;--oc-gray-0:#f8f9fa;--oc-gray-0-rgb:248,249,250;--oc-gray-1:#f1f3f5;--oc-gray-1-rgb:241,243,245;--oc-gray-2:#e9ecef;--oc-gray-2-rgb:233,236,239;--oc-gray-3:#dee2e6;--oc-gray-3-rgb:222,226,230;--oc-gray-4:#ced4da;--oc-gray-4-rgb:206,212,218;--oc-gray-5:#adb5bd;--oc-gray-5-rgb:173,181,189;--oc-gray-6:#868e96;--oc-gray-6-rgb:134,142,150;--oc-gray-7:#495057;--oc-gray-7-rgb:73,80,87;--oc-gray-8:#343a40;--oc-gray-8-rgb:52,58,64;--oc-gray-9:#212529;--oc-gray-9-rgb:33,37,41;--oc-red-0:#fff5f5;--oc-red-0-rgb:255,245,245;--oc-red-1:#ffe3e3;--oc-red-1-rgb:255,227,227;--oc-red-2:#ffc9c9;--oc-red-2-rgb:255,201,201;--oc-red-3:#ffa8a8;--oc-red-3-rgb:255,168,168;--oc-red-4:#ff8787;--oc-red-4-rgb:255,135,135;--oc-red-5:#ff6b6b;--oc-red-5-rgb:255,107,107;--oc-red-6:#fa5252;--oc-red-6-rgb:250,82,82;--oc-red-7:#f03e3e;--oc-red-7-rgb:240,62,62;--oc-red-8:#e03131;--oc-red-8-rgb:224,49,49;--oc-red-9:#c92a2a;--oc-red-9-rgb:201,42,42;--oc-pink-0:#fff0f6;--oc-pink-0-rgb:255,240,246;--oc-pink-1:#ffdeeb;--oc-pink-1-rgb:255,222,235;--oc-pink-2:#fcc2d7;--oc-pink-2-rgb:252,194,215;--oc-pink-3:#faa2c1;--oc-pink-3-rgb:250,162,193;--oc-pink-4:#f783ac;--oc-pink-4-rgb:247,131,172;--oc-pink-5:#f06595;--oc-pink-5-rgb:240,101,149;--oc-pink-6:#e64980;--oc-pink-6-rgb:230,73,128;--oc-pink-7:#d6336c;--oc-pink-7-rgb:214,51,108;--oc-pink-8:#c2255c;--oc-pink-8-rgb:194,37,92;--oc-pink-9:#a61e4d;--oc-pink-9-rgb:166,30,77;--oc-grape-0:#f8f0fc;--oc-grape-0-rgb:248,240,252;--oc-grape-1:#f3d9fa;--oc-grape-1-rgb:243,217,250;--oc-grape-2:#eebefa;--oc-grape-2-rgb:238,190,250;--oc-grape-3:#e599f7;--oc-grape-3-rgb:229,153,247;--oc-grape-4:#da77f2;--oc-grape-4-rgb:218,119,242;--oc-grape-5:#cc5de8;--oc-grape-5-rgb:204,93,232;--oc-grape-6:#be4bdb;--oc-grape-6-rgb:190,75,219;--oc-grape-7:#ae3ec9;--oc-grape-7-rgb:174,62,201;--oc-grape-8:#9c36b5;--oc-grape-8-rgb:156,54,181;--oc-grape-9:#862e9c;--oc-grape-9-rgb:134,46,156;--oc-violet-0:#f3f0ff;--oc-violet-0-rgb:243,240,255;--oc-violet-1:#e5dbff;--oc-violet-1-rgb:229,219,255;--oc-violet-2:#d0bfff;--oc-violet-2-rgb:208,191,255;--oc-violet-3:#b197fc;--oc-violet-3-rgb:177,151,252;--oc-violet-4:#9775fa;--oc-violet-4-rgb:151,117,250;--oc-violet-5:#845ef7;--oc-violet-5-rgb:132,94,247;--oc-violet-6:#7950f2;--oc-violet-6-rgb:121,80,242;--oc-violet-7:#7048e8;--oc-violet-7-rgb:112,72,232;--oc-violet-8:#6741d9;--oc-violet-8-rgb:103,65,217;--oc-violet-9:#5f3dc4;--oc-violet-9-rgb:95,61,196;--oc-indigo-0:#edf2ff;--oc-indigo-0-rgb:237,242,255;--oc-indigo-1:#dbe4ff;--oc-indigo-1-rgb:219,228,255;--oc-indigo-2:#bac8ff;--oc-indigo-2-rgb:186,200,255;--oc-indigo-3:#91a7ff;--oc-indigo-3-rgb:145,167,255;--oc-indigo-4:#748ffc;--oc-indigo-4-rgb:116,143,252;--oc-indigo-5:#5c7cfa;--oc-indigo-5-rgb:92,124,250;--oc-indigo-6:#4c6ef5;--oc-indigo-6-rgb:76,110,245;--oc-indigo-7:#4263eb;--oc-indigo-7-rgb:66,99,235;--oc-indigo-8:#3b5bdb;--oc-indigo-8-rgb:59,91,219;--oc-indigo-9:#364fc7;--oc-indigo-9-rgb:54,79,199;--oc-blue-0:#e7f5ff;--oc-blue-0-rgb:231,245,255;--oc-blue-1:#d0ebff;--oc-blue-1-rgb:208,235,255;--oc-blue-2:#a5d8ff;--oc-blue-2-rgb:165,216,255;--oc-blue-3:#74c0fc;--oc-blue-3-rgb:116,192,252;--oc-blue-4:#4dabf7;--oc-blue-4-rgb:77,171,247;--oc-blue-5:#339af0;--oc-blue-5-rgb:51,154,240;--oc-blue-6:#228be6;--oc-blue-6-rgb:34,139,230;--oc-blue-7:#1c7ed6;--oc-blue-7-rgb:28,126,214;--oc-blue-8:#1971c2;--oc-blue-8-rgb:25,113,194;--oc-blue-9:#1864ab;--oc-blue-9-rgb:24,100,171;--oc-cyan-0:#e3fafc;--oc-cyan-0-rgb:227,250,252;--oc-cyan-1:#c5f6fa;--oc-cyan-1-rgb:197,246,250;--oc-cyan-2:#99e9f2;--oc-cyan-2-rgb:153,233,242;--oc-cyan-3:#66d9e8;--oc-cyan-3-rgb:102,217,232;--oc-cyan-4:#3bc9db;--oc-cyan-4-rgb:59,201,219;--oc-cyan-5:#22b8cf;--oc-cyan-5-rgb:34,184,207;--oc-cyan-6:#15aabf;--oc-cyan-6-rgb:21,170,191;--oc-cyan-7:#1098ad;--oc-cyan-7-rgb:16,152,173;--oc-cyan-8:#0c8599;--oc-cyan-8-rgb:12,133,153;--oc-cyan-9:#0b7285;--oc-cyan-9-rgb:11,114,133;--oc-teal-0:#e6fcf5;--oc-teal-0-rgb:230,252,245;--oc-teal-1:#c3fae8;--oc-teal-1-rgb:195,250,232;--oc-teal-2:#96f2d7;--oc-teal-2-rgb:150,242,215;--oc-teal-3:#63e6be;--oc-teal-3-rgb:99,230,190;--oc-teal-4:#38d9a9;--oc-teal-4-rgb:56,217,169;--oc-teal-5:#20c997;--oc-teal-5-rgb:32,201,151;--oc-teal-6:#12b886;--oc-teal-6-rgb:18,184,134;--oc-teal-7:#0ca678;--oc-teal-7-rgb:12,166,120;--oc-teal-8:#099268;--oc-teal-8-rgb:9,146,104;--oc-teal-9:#087f5b;--oc-teal-9-rgb:8,127,91;--oc-green-0:#ebfbee;--oc-green-0-rgb:235,251,238;--oc-green-1:#d3f9d8;--oc-green-1-rgb:211,249,216;--oc-green-2:#b2f2bb;--oc-green-2-rgb:178,242,187;--oc-green-3:#8ce99a;--oc-green-3-rgb:140,233,154;--oc-green-4:#69db7c;--oc-green-4-rgb:105,219,124;--oc-green-5:#51cf66;--oc-green-5-rgb:81,207,102;--oc-green-6:#40c057;--oc-green-6-rgb:64,192,87;--oc-green-7:#37b24d;--oc-green-7-rgb:55,178,77;--oc-green-8:#2f9e44;--oc-green-8-rgb:47,158,68;--oc-green-9:#2b8a3e;--oc-green-9-rgb:43,138,62;--oc-lime-0:#f4fce3;--oc-lime-0-rgb:244,252,227;--oc-lime-1:#e9fac8;--oc-lime-1-rgb:233,250,200;--oc-lime-2:#d8f5a2;--oc-lime-2-rgb:216,245,162;--oc-lime-3:#c0eb75;--oc-lime-3-rgb:192,235,117;--oc-lime-4:#a9e34b;--oc-lime-4-rgb:169,227,75;--oc-lime-5:#94d82d;--oc-lime-5-rgb:148,216,45;--oc-lime-6:#82c91e;--oc-lime-6-rgb:130,201,30;--oc-lime-7:#74b816;--oc-lime-7-rgb:116,184,22;--oc-lime-8:#66a80f;--oc-lime-8-rgb:102,168,15;--oc-lime-9:#5c940d;--oc-lime-9-rgb:92,148,13;--oc-yellow-0:#fff9db;--oc-yellow-0-rgb:255,249,219;--oc-yellow-1:#fff3bf;--oc-yellow-1-rgb:255,243,191;--oc-yellow-2:#ffec99;--oc-yellow-2-rgb:255,236,153;--oc-yellow-3:#ffe066;--oc-yellow-3-rgb:255,224,102;--oc-yellow-4:#ffd43b;--oc-yellow-4-rgb:255,212,59;--oc-yellow-5:#fcc419;--oc-yellow-5-rgb:252,196,25;--oc-yellow-6:#fab005;--oc-yellow-6-rgb:250,176,5;--oc-yellow-7:#f59f00;--oc-yellow-7-rgb:245,159,0;--oc-yellow-8:#f08c00;--oc-yellow-8-rgb:240,140,0;--oc-yellow-9:#e67700;--oc-yellow-9-rgb:230,119,0;--oc-orange-0:#fff4e6;--oc-orange-0-rgb:255,244,230;--oc-orange-1:#ffe8cc;--oc-orange-1-rgb:255,232,204;--oc-orange-2:#ffd8a8;--oc-orange-2-rgb:255,216,168;--oc-orange-3:#ffc078;--oc-orange-3-rgb:255,192,120;--oc-orange-4:#ffa94d;--oc-orange-4-rgb:255,169,77;--oc-orange-5:#ff922b;--oc-orange-5-rgb:255,146,43;--oc-orange-6:#fd7e14;--oc-orange-6-rgb:253,126,20;--oc-orange-7:#f76707;--oc-orange-7-rgb:247,103,7;--oc-orange-8:#e8590c;--oc-orange-8-rgb:232,89,12;--oc-orange-9:#d9480f;--oc-orange-9-rgb:217,72,15} -------------------------------------------------------------------------------- /docs/assets/css/open-color.min.css: -------------------------------------------------------------------------------- 1 | :root{--oc-white:#fff;--oc-white-rgb:255,255,255;--oc-black:#000;--oc-black-rgb:0,0,0;--oc-gray-0:#f8f9fa;--oc-gray-0-rgb:248,249,250;--oc-gray-1:#f1f3f5;--oc-gray-1-rgb:241,243,245;--oc-gray-2:#e9ecef;--oc-gray-2-rgb:233,236,239;--oc-gray-3:#dee2e6;--oc-gray-3-rgb:222,226,230;--oc-gray-4:#ced4da;--oc-gray-4-rgb:206,212,218;--oc-gray-5:#adb5bd;--oc-gray-5-rgb:173,181,189;--oc-gray-6:#868e96;--oc-gray-6-rgb:134,142,150;--oc-gray-7:#495057;--oc-gray-7-rgb:73,80,87;--oc-gray-8:#343a40;--oc-gray-8-rgb:52,58,64;--oc-gray-9:#212529;--oc-gray-9-rgb:33,37,41;--oc-red-0:#fff5f5;--oc-red-0-rgb:255,245,245;--oc-red-1:#ffe3e3;--oc-red-1-rgb:255,227,227;--oc-red-2:#ffc9c9;--oc-red-2-rgb:255,201,201;--oc-red-3:#ffa8a8;--oc-red-3-rgb:255,168,168;--oc-red-4:#ff8787;--oc-red-4-rgb:255,135,135;--oc-red-5:#ff6b6b;--oc-red-5-rgb:255,107,107;--oc-red-6:#fa5252;--oc-red-6-rgb:250,82,82;--oc-red-7:#f03e3e;--oc-red-7-rgb:240,62,62;--oc-red-8:#e03131;--oc-red-8-rgb:224,49,49;--oc-red-9:#c92a2a;--oc-red-9-rgb:201,42,42;--oc-pink-0:#fff0f6;--oc-pink-0-rgb:255,240,246;--oc-pink-1:#ffdeeb;--oc-pink-1-rgb:255,222,235;--oc-pink-2:#fcc2d7;--oc-pink-2-rgb:252,194,215;--oc-pink-3:#faa2c1;--oc-pink-3-rgb:250,162,193;--oc-pink-4:#f783ac;--oc-pink-4-rgb:247,131,172;--oc-pink-5:#f06595;--oc-pink-5-rgb:240,101,149;--oc-pink-6:#e64980;--oc-pink-6-rgb:230,73,128;--oc-pink-7:#d6336c;--oc-pink-7-rgb:214,51,108;--oc-pink-8:#c2255c;--oc-pink-8-rgb:194,37,92;--oc-pink-9:#a61e4d;--oc-pink-9-rgb:166,30,77;--oc-grape-0:#f8f0fc;--oc-grape-0-rgb:248,240,252;--oc-grape-1:#f3d9fa;--oc-grape-1-rgb:243,217,250;--oc-grape-2:#eebefa;--oc-grape-2-rgb:238,190,250;--oc-grape-3:#e599f7;--oc-grape-3-rgb:229,153,247;--oc-grape-4:#da77f2;--oc-grape-4-rgb:218,119,242;--oc-grape-5:#cc5de8;--oc-grape-5-rgb:204,93,232;--oc-grape-6:#be4bdb;--oc-grape-6-rgb:190,75,219;--oc-grape-7:#ae3ec9;--oc-grape-7-rgb:174,62,201;--oc-grape-8:#9c36b5;--oc-grape-8-rgb:156,54,181;--oc-grape-9:#862e9c;--oc-grape-9-rgb:134,46,156;--oc-violet-0:#f3f0ff;--oc-violet-0-rgb:243,240,255;--oc-violet-1:#e5dbff;--oc-violet-1-rgb:229,219,255;--oc-violet-2:#d0bfff;--oc-violet-2-rgb:208,191,255;--oc-violet-3:#b197fc;--oc-violet-3-rgb:177,151,252;--oc-violet-4:#9775fa;--oc-violet-4-rgb:151,117,250;--oc-violet-5:#845ef7;--oc-violet-5-rgb:132,94,247;--oc-violet-6:#7950f2;--oc-violet-6-rgb:121,80,242;--oc-violet-7:#7048e8;--oc-violet-7-rgb:112,72,232;--oc-violet-8:#6741d9;--oc-violet-8-rgb:103,65,217;--oc-violet-9:#5f3dc4;--oc-violet-9-rgb:95,61,196;--oc-indigo-0:#edf2ff;--oc-indigo-0-rgb:237,242,255;--oc-indigo-1:#dbe4ff;--oc-indigo-1-rgb:219,228,255;--oc-indigo-2:#bac8ff;--oc-indigo-2-rgb:186,200,255;--oc-indigo-3:#91a7ff;--oc-indigo-3-rgb:145,167,255;--oc-indigo-4:#748ffc;--oc-indigo-4-rgb:116,143,252;--oc-indigo-5:#5c7cfa;--oc-indigo-5-rgb:92,124,250;--oc-indigo-6:#4c6ef5;--oc-indigo-6-rgb:76,110,245;--oc-indigo-7:#4263eb;--oc-indigo-7-rgb:66,99,235;--oc-indigo-8:#3b5bdb;--oc-indigo-8-rgb:59,91,219;--oc-indigo-9:#364fc7;--oc-indigo-9-rgb:54,79,199;--oc-blue-0:#e7f5ff;--oc-blue-0-rgb:231,245,255;--oc-blue-1:#d0ebff;--oc-blue-1-rgb:208,235,255;--oc-blue-2:#a5d8ff;--oc-blue-2-rgb:165,216,255;--oc-blue-3:#74c0fc;--oc-blue-3-rgb:116,192,252;--oc-blue-4:#4dabf7;--oc-blue-4-rgb:77,171,247;--oc-blue-5:#339af0;--oc-blue-5-rgb:51,154,240;--oc-blue-6:#228be6;--oc-blue-6-rgb:34,139,230;--oc-blue-7:#1c7ed6;--oc-blue-7-rgb:28,126,214;--oc-blue-8:#1971c2;--oc-blue-8-rgb:25,113,194;--oc-blue-9:#1864ab;--oc-blue-9-rgb:24,100,171;--oc-cyan-0:#e3fafc;--oc-cyan-0-rgb:227,250,252;--oc-cyan-1:#c5f6fa;--oc-cyan-1-rgb:197,246,250;--oc-cyan-2:#99e9f2;--oc-cyan-2-rgb:153,233,242;--oc-cyan-3:#66d9e8;--oc-cyan-3-rgb:102,217,232;--oc-cyan-4:#3bc9db;--oc-cyan-4-rgb:59,201,219;--oc-cyan-5:#22b8cf;--oc-cyan-5-rgb:34,184,207;--oc-cyan-6:#15aabf;--oc-cyan-6-rgb:21,170,191;--oc-cyan-7:#1098ad;--oc-cyan-7-rgb:16,152,173;--oc-cyan-8:#0c8599;--oc-cyan-8-rgb:12,133,153;--oc-cyan-9:#0b7285;--oc-cyan-9-rgb:11,114,133;--oc-teal-0:#e6fcf5;--oc-teal-0-rgb:230,252,245;--oc-teal-1:#c3fae8;--oc-teal-1-rgb:195,250,232;--oc-teal-2:#96f2d7;--oc-teal-2-rgb:150,242,215;--oc-teal-3:#63e6be;--oc-teal-3-rgb:99,230,190;--oc-teal-4:#38d9a9;--oc-teal-4-rgb:56,217,169;--oc-teal-5:#20c997;--oc-teal-5-rgb:32,201,151;--oc-teal-6:#12b886;--oc-teal-6-rgb:18,184,134;--oc-teal-7:#0ca678;--oc-teal-7-rgb:12,166,120;--oc-teal-8:#099268;--oc-teal-8-rgb:9,146,104;--oc-teal-9:#087f5b;--oc-teal-9-rgb:8,127,91;--oc-green-0:#ebfbee;--oc-green-0-rgb:235,251,238;--oc-green-1:#d3f9d8;--oc-green-1-rgb:211,249,216;--oc-green-2:#b2f2bb;--oc-green-2-rgb:178,242,187;--oc-green-3:#8ce99a;--oc-green-3-rgb:140,233,154;--oc-green-4:#69db7c;--oc-green-4-rgb:105,219,124;--oc-green-5:#51cf66;--oc-green-5-rgb:81,207,102;--oc-green-6:#40c057;--oc-green-6-rgb:64,192,87;--oc-green-7:#37b24d;--oc-green-7-rgb:55,178,77;--oc-green-8:#2f9e44;--oc-green-8-rgb:47,158,68;--oc-green-9:#2b8a3e;--oc-green-9-rgb:43,138,62;--oc-lime-0:#f4fce3;--oc-lime-0-rgb:244,252,227;--oc-lime-1:#e9fac8;--oc-lime-1-rgb:233,250,200;--oc-lime-2:#d8f5a2;--oc-lime-2-rgb:216,245,162;--oc-lime-3:#c0eb75;--oc-lime-3-rgb:192,235,117;--oc-lime-4:#a9e34b;--oc-lime-4-rgb:169,227,75;--oc-lime-5:#94d82d;--oc-lime-5-rgb:148,216,45;--oc-lime-6:#82c91e;--oc-lime-6-rgb:130,201,30;--oc-lime-7:#74b816;--oc-lime-7-rgb:116,184,22;--oc-lime-8:#66a80f;--oc-lime-8-rgb:102,168,15;--oc-lime-9:#5c940d;--oc-lime-9-rgb:92,148,13;--oc-yellow-0:#fff9db;--oc-yellow-0-rgb:255,249,219;--oc-yellow-1:#fff3bf;--oc-yellow-1-rgb:255,243,191;--oc-yellow-2:#ffec99;--oc-yellow-2-rgb:255,236,153;--oc-yellow-3:#ffe066;--oc-yellow-3-rgb:255,224,102;--oc-yellow-4:#ffd43b;--oc-yellow-4-rgb:255,212,59;--oc-yellow-5:#fcc419;--oc-yellow-5-rgb:252,196,25;--oc-yellow-6:#fab005;--oc-yellow-6-rgb:250,176,5;--oc-yellow-7:#f59f00;--oc-yellow-7-rgb:245,159,0;--oc-yellow-8:#f08c00;--oc-yellow-8-rgb:240,140,0;--oc-yellow-9:#e67700;--oc-yellow-9-rgb:230,119,0;--oc-orange-0:#fff4e6;--oc-orange-0-rgb:255,244,230;--oc-orange-1:#ffe8cc;--oc-orange-1-rgb:255,232,204;--oc-orange-2:#ffd8a8;--oc-orange-2-rgb:255,216,168;--oc-orange-3:#ffc078;--oc-orange-3-rgb:255,192,120;--oc-orange-4:#ffa94d;--oc-orange-4-rgb:255,169,77;--oc-orange-5:#ff922b;--oc-orange-5-rgb:255,146,43;--oc-orange-6:#fd7e14;--oc-orange-6-rgb:253,126,20;--oc-orange-7:#f76707;--oc-orange-7-rgb:247,103,7;--oc-orange-8:#e8590c;--oc-orange-8-rgb:232,89,12;--oc-orange-9:#d9480f;--oc-orange-9-rgb:217,72,15} -------------------------------------------------------------------------------- /docs/cv/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | cvless · CV 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
50 |
51 |
52 |
53 |
54 |
55 | cvless 56 | 57 | 58 | Jekyll theme 59 | 60 | 61 |
62 | 63 |
64 | 65 |
66 |

Curriculum Vitæ

67 | 68 |
69 |

Contact

70 |
    71 | 72 | 73 |
  • University of Jekyll
  • 74 | 75 |
  • Department of Themes
  • 76 | 77 |
  • 123 Main St, Anytown, USA
  • 78 | 79 | 80 | 81 |
  • 82 | Foobar Hall 1.23
  • 83 | 84 | 85 |
  • 86 | +1 234 567 890
  • 87 | 88 | 89 |
  • 90 | username@domain.com
  • 91 | 92 |
  • 93 | https://piazzai.github.io/cvless
  • 94 |
95 |
96 | 97 |

Section

98 | 99 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

100 | 101 |
    102 |
  • Ut enim ad minim veniam
  • 103 |
  • Quis nostrud exercitation
  • 104 |
  • Ullamco laboris nisi
  • 105 |
  • Ut aliquip ex ea commodo consequat
  • 106 |
107 | 108 |

Subsection

109 | 110 |

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

111 | 112 |
113 | 117 | 118 |
119 | 120 |
121 |
122 |
123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /demo/_posts/2022-08-15-example-content.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: Example content 4 | lead: A long post that showcases style elements. 5 | --- 6 | 7 | **Howdy!** This is an example blog post that shows several types of html content supported in this theme. 8 | {: .message } 9 | 10 | - toc 11 | {: toc } 12 | 13 | Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. _Aenean eu leo quam._ Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum. 14 | 15 | > Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit. 16 | 17 | Etiam porta **sem malesuada magna** mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur. 18 | 19 | ## Inline HTML elements 20 | 21 | HTML defines a long list of available inline tags, a complete list of which can be found on the [Mozilla Developer Network](https://developer.mozilla.org/en-US/docs/Web/HTML/Element). 22 | 23 | - **To bold text**, use ``. 24 | - _To italicize text_, use ``. 25 | - To highlight, use ``. 26 | - Abbreviations, like HTML, should use `` with an optional `title` attribute for the full phrase. 27 | - Citations, like — Franz Kafka, should use ``. 28 | - Deleted text should use `` and inserted text should use ``. 29 | - Superscript text uses `` and subscript text uses ``. 30 | 31 | Most of these elements are styled by browsers with few modifications in the CSS of this theme. 32 | 33 | ## Footnotes 34 | 35 | Footnotes are supported as part of the Markdown syntax. Here's one in action. Clicking this number[^fn-sample] will lead you to a footnote. The syntax looks like: 36 | 37 | {% highlight text %} 38 | Clicking this number[^fn-sample] 39 | {% endhighlight %} 40 | 41 | Each footnote needs the `^fn-` prefix and a unique ID to be referenced for the footnoted content. The syntax for that list looks like this: 42 | 43 | {% highlight text %} 44 | [^fn-sample]: Handy! Now click the return link to go back. 45 | {% endhighlight %} 46 | 47 | You can place the footnoted content wherever you like. Markdown parsers should properly place it at the bottom of the page. 48 | 49 | ## Heading 50 | 51 | This section shows hierarchical headings. Vivamus sagittis lacus vel augue rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. 52 | 53 | ### Code 54 | 55 | Inline code is available with the `` element. Snippets of multiple lines of code are supported through Rouge. Longer lines are displayed through horizontal scrolling. You may also use code fencing (triple backticks) for rendering code. 56 | 57 | {% highlight js %} 58 | // Example can be run directly in your JavaScript console 59 | 60 | // Create a function that takes two arguments and returns the sum of those arguments 61 | var adder = new Function("a", "b", "return a + b"); 62 | 63 | // Call the function 64 | adder(2, 6); 65 | // > 8 66 | {% endhighlight %} 67 | 68 | You may also optionally show code snippets with line numbers. Add `linenos` to the Rouge tags. 69 | 70 | {% highlight js linenos %} 71 | // Example can be run directly in your JavaScript console 72 | 73 | // Create a function that takes two arguments and returns the sum of those arguments 74 | var adder = new Function("a", "b", "return a + b"); 75 | 76 | // Call the function 77 | adder(2, 6); 78 | // > 8 79 | {% endhighlight %} 80 | 81 | By default, the theme uses GitHub-themed syntax highlighting. The specifics are included in the syntax stylesheet, which is automatically generated by `rougify`. 82 | 83 | Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa. 84 | 85 | ### Gists via GitHub Pages 86 | 87 | Vestibulum id ligula porta felis euismod semper. Nullam quis risus eget urna mollis ornare vel eu leo. Donec sed odio dui. 88 | 89 | {% gist 8395a3dbdca0e34d55cfed5d96ea2f14 cvless-example.html %} 90 | 91 | Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec sed odio dui. Vestibulum id ligula porta felis euismod semper. 92 | 93 | ### Lists 94 | 95 | Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. 96 | 97 | - Praesent commodo cursus magna, vel scelerisque nisl consectetur et. 98 | - Donec id elit non mi porta gravida at eget metus. 99 | - Nulla vitae elit libero, a pharetra augue. 100 | 101 | Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. 102 | 103 | 1. Vestibulum id ligula porta felis euismod semper. 104 | 2. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. 105 | 3. Maecenas sed diam eget risus varius blandit sit amet non magna. 106 | 107 | Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. 108 | 109 |
110 |
HyperText Markup Language (HTML)
111 |
The language used to describe and define the content of a Web page
112 | 113 |
Cascading Style Sheets (CSS)
114 |
Used to describe the appearance of Web content
115 | 116 |
JavaScript (JS)
117 |
The programming language used to build advanced Web sites and applications
118 |
119 | 120 | Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Nullam quis risus eget urna mollis ornare vel eu leo. 121 | 122 | ### Images 123 | 124 | Quisque consequat sapien eget quam rhoncus, sit amet laoreet diam tempus. Aliquam aliquam metus erat, a pulvinar turpis suscipit at. 125 | 126 | ![placeholder](https://via.placeholder.com/800x400 "Large example image") 127 | ![placeholder](https://via.placeholder.com/400x200 "Medium example image") 128 | ![placeholder](https://via.placeholder.com/200x200 "Small example image") 129 | 130 | ### Tables 131 | 132 | Aenean lacinia bibendum nulla sed consectetur. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 |
NameUpvotesDownvotes
Totals2123
Alice1011
Bob43
Charlie79
167 | 168 | Nullam id dolor id nibh ultricies vehicula ut id elit. Sed posuere consectetur est at lobortis. Nullam quis risus eget urna mollis ornare vel eu leo. This concludes the post. 169 | 170 | * * * 171 | 172 | Want to see something else added? Open an issue. 173 | 174 | [^fn-sample]: Handy! Now click the return link to go back. 175 | -------------------------------------------------------------------------------- /demo/Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (8.0.2) 5 | base64 6 | benchmark (>= 0.3) 7 | bigdecimal 8 | concurrent-ruby (~> 1.0, >= 1.3.1) 9 | connection_pool (>= 2.2.5) 10 | drb 11 | i18n (>= 1.6, < 2) 12 | logger (>= 1.4.2) 13 | minitest (>= 5.1) 14 | securerandom (>= 0.3) 15 | tzinfo (~> 2.0, >= 2.0.5) 16 | uri (>= 0.13.1) 17 | addressable (2.8.7) 18 | public_suffix (>= 2.0.2, < 7.0) 19 | base64 (0.2.0) 20 | benchmark (0.4.1) 21 | bigdecimal (3.2.2) 22 | cgi (0.5.0) 23 | coffee-script (2.4.1) 24 | coffee-script-source 25 | execjs 26 | coffee-script-source (1.12.2) 27 | colorator (1.1.0) 28 | commonmarker (0.23.11) 29 | concurrent-ruby (1.3.5) 30 | connection_pool (2.5.3) 31 | csv (3.3.5) 32 | cvless (2.7.0) 33 | github-pages (~> 232) 34 | jekyll-paginate-v2 (~> 3.0) 35 | dnsruby (1.72.4) 36 | base64 (~> 0.2.0) 37 | logger (~> 1.6.5) 38 | simpleidn (~> 0.2.1) 39 | drb (2.2.3) 40 | em-websocket (0.5.3) 41 | eventmachine (>= 0.12.9) 42 | http_parser.rb (~> 0) 43 | erb (4.0.4) 44 | cgi (>= 0.3.3) 45 | ethon (0.16.0) 46 | ffi (>= 1.15.0) 47 | eventmachine (1.2.7) 48 | execjs (2.10.0) 49 | faraday (2.13.4) 50 | faraday-net_http (>= 2.0, < 3.5) 51 | json 52 | logger 53 | faraday-net_http (3.4.1) 54 | net-http (>= 0.5.0) 55 | ffi (1.17.2-aarch64-linux-gnu) 56 | ffi (1.17.2-aarch64-linux-musl) 57 | ffi (1.17.2-arm-linux-gnu) 58 | ffi (1.17.2-arm-linux-musl) 59 | ffi (1.17.2-arm64-darwin) 60 | ffi (1.17.2-x86_64-darwin) 61 | ffi (1.17.2-x86_64-linux-gnu) 62 | ffi (1.17.2-x86_64-linux-musl) 63 | forwardable-extended (2.6.0) 64 | gemoji (4.1.0) 65 | github-pages (232) 66 | github-pages-health-check (= 1.18.2) 67 | jekyll (= 3.10.0) 68 | jekyll-avatar (= 0.8.0) 69 | jekyll-coffeescript (= 1.2.2) 70 | jekyll-commonmark-ghpages (= 0.5.1) 71 | jekyll-default-layout (= 0.1.5) 72 | jekyll-feed (= 0.17.0) 73 | jekyll-gist (= 1.5.0) 74 | jekyll-github-metadata (= 2.16.1) 75 | jekyll-include-cache (= 0.2.1) 76 | jekyll-mentions (= 1.6.0) 77 | jekyll-optional-front-matter (= 0.3.2) 78 | jekyll-paginate (= 1.1.0) 79 | jekyll-readme-index (= 0.3.0) 80 | jekyll-redirect-from (= 0.16.0) 81 | jekyll-relative-links (= 0.6.1) 82 | jekyll-remote-theme (= 0.4.3) 83 | jekyll-sass-converter (= 1.5.2) 84 | jekyll-seo-tag (= 2.8.0) 85 | jekyll-sitemap (= 1.4.0) 86 | jekyll-swiss (= 1.0.0) 87 | jekyll-theme-architect (= 0.2.0) 88 | jekyll-theme-cayman (= 0.2.0) 89 | jekyll-theme-dinky (= 0.2.0) 90 | jekyll-theme-hacker (= 0.2.0) 91 | jekyll-theme-leap-day (= 0.2.0) 92 | jekyll-theme-merlot (= 0.2.0) 93 | jekyll-theme-midnight (= 0.2.0) 94 | jekyll-theme-minimal (= 0.2.0) 95 | jekyll-theme-modernist (= 0.2.0) 96 | jekyll-theme-primer (= 0.6.0) 97 | jekyll-theme-slate (= 0.2.0) 98 | jekyll-theme-tactile (= 0.2.0) 99 | jekyll-theme-time-machine (= 0.2.0) 100 | jekyll-titles-from-headings (= 0.5.3) 101 | jemoji (= 0.13.0) 102 | kramdown (= 2.4.0) 103 | kramdown-parser-gfm (= 1.1.0) 104 | liquid (= 4.0.4) 105 | mercenary (~> 0.3) 106 | minima (= 2.5.1) 107 | nokogiri (>= 1.16.2, < 2.0) 108 | rouge (= 3.30.0) 109 | terminal-table (~> 1.4) 110 | webrick (~> 1.8) 111 | github-pages-health-check (1.18.2) 112 | addressable (~> 2.3) 113 | dnsruby (~> 1.60) 114 | octokit (>= 4, < 8) 115 | public_suffix (>= 3.0, < 6.0) 116 | typhoeus (~> 1.3) 117 | html-pipeline (2.14.3) 118 | activesupport (>= 2) 119 | nokogiri (>= 1.4) 120 | http_parser.rb (0.8.0) 121 | i18n (1.14.7) 122 | concurrent-ruby (~> 1.0) 123 | jekyll (3.10.0) 124 | addressable (~> 2.4) 125 | colorator (~> 1.0) 126 | csv (~> 3.0) 127 | em-websocket (~> 0.5) 128 | i18n (>= 0.7, < 2) 129 | jekyll-sass-converter (~> 1.0) 130 | jekyll-watch (~> 2.0) 131 | kramdown (>= 1.17, < 3) 132 | liquid (~> 4.0) 133 | mercenary (~> 0.3.3) 134 | pathutil (~> 0.9) 135 | rouge (>= 1.7, < 4) 136 | safe_yaml (~> 1.0) 137 | webrick (>= 1.0) 138 | jekyll-avatar (0.8.0) 139 | jekyll (>= 3.0, < 5.0) 140 | jekyll-coffeescript (1.2.2) 141 | coffee-script (~> 2.2) 142 | coffee-script-source (~> 1.12) 143 | jekyll-commonmark (1.4.0) 144 | commonmarker (~> 0.22) 145 | jekyll-commonmark-ghpages (0.5.1) 146 | commonmarker (>= 0.23.7, < 1.1.0) 147 | jekyll (>= 3.9, < 4.0) 148 | jekyll-commonmark (~> 1.4.0) 149 | rouge (>= 2.0, < 5.0) 150 | jekyll-default-layout (0.1.5) 151 | jekyll (>= 3.0, < 5.0) 152 | jekyll-feed (0.17.0) 153 | jekyll (>= 3.7, < 5.0) 154 | jekyll-gist (1.5.0) 155 | octokit (~> 4.2) 156 | jekyll-github-metadata (2.16.1) 157 | jekyll (>= 3.4, < 5.0) 158 | octokit (>= 4, < 7, != 4.4.0) 159 | jekyll-include-cache (0.2.1) 160 | jekyll (>= 3.7, < 5.0) 161 | jekyll-mentions (1.6.0) 162 | html-pipeline (~> 2.3) 163 | jekyll (>= 3.7, < 5.0) 164 | jekyll-optional-front-matter (0.3.2) 165 | jekyll (>= 3.0, < 5.0) 166 | jekyll-paginate (1.1.0) 167 | jekyll-paginate-v2 (3.0.0) 168 | jekyll (>= 3.0, < 5.0) 169 | jekyll-readme-index (0.3.0) 170 | jekyll (>= 3.0, < 5.0) 171 | jekyll-redirect-from (0.16.0) 172 | jekyll (>= 3.3, < 5.0) 173 | jekyll-relative-links (0.6.1) 174 | jekyll (>= 3.3, < 5.0) 175 | jekyll-remote-theme (0.4.3) 176 | addressable (~> 2.0) 177 | jekyll (>= 3.5, < 5.0) 178 | jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) 179 | rubyzip (>= 1.3.0, < 3.0) 180 | jekyll-sass-converter (1.5.2) 181 | sass (~> 3.4) 182 | jekyll-seo-tag (2.8.0) 183 | jekyll (>= 3.8, < 5.0) 184 | jekyll-sitemap (1.4.0) 185 | jekyll (>= 3.7, < 5.0) 186 | jekyll-swiss (1.0.0) 187 | jekyll-theme-architect (0.2.0) 188 | jekyll (> 3.5, < 5.0) 189 | jekyll-seo-tag (~> 2.0) 190 | jekyll-theme-cayman (0.2.0) 191 | jekyll (> 3.5, < 5.0) 192 | jekyll-seo-tag (~> 2.0) 193 | jekyll-theme-dinky (0.2.0) 194 | jekyll (> 3.5, < 5.0) 195 | jekyll-seo-tag (~> 2.0) 196 | jekyll-theme-hacker (0.2.0) 197 | jekyll (> 3.5, < 5.0) 198 | jekyll-seo-tag (~> 2.0) 199 | jekyll-theme-leap-day (0.2.0) 200 | jekyll (> 3.5, < 5.0) 201 | jekyll-seo-tag (~> 2.0) 202 | jekyll-theme-merlot (0.2.0) 203 | jekyll (> 3.5, < 5.0) 204 | jekyll-seo-tag (~> 2.0) 205 | jekyll-theme-midnight (0.2.0) 206 | jekyll (> 3.5, < 5.0) 207 | jekyll-seo-tag (~> 2.0) 208 | jekyll-theme-minimal (0.2.0) 209 | jekyll (> 3.5, < 5.0) 210 | jekyll-seo-tag (~> 2.0) 211 | jekyll-theme-modernist (0.2.0) 212 | jekyll (> 3.5, < 5.0) 213 | jekyll-seo-tag (~> 2.0) 214 | jekyll-theme-primer (0.6.0) 215 | jekyll (> 3.5, < 5.0) 216 | jekyll-github-metadata (~> 2.9) 217 | jekyll-seo-tag (~> 2.0) 218 | jekyll-theme-slate (0.2.0) 219 | jekyll (> 3.5, < 5.0) 220 | jekyll-seo-tag (~> 2.0) 221 | jekyll-theme-tactile (0.2.0) 222 | jekyll (> 3.5, < 5.0) 223 | jekyll-seo-tag (~> 2.0) 224 | jekyll-theme-time-machine (0.2.0) 225 | jekyll (> 3.5, < 5.0) 226 | jekyll-seo-tag (~> 2.0) 227 | jekyll-titles-from-headings (0.5.3) 228 | jekyll (>= 3.3, < 5.0) 229 | jekyll-watch (2.2.1) 230 | listen (~> 3.0) 231 | jemoji (0.13.0) 232 | gemoji (>= 3, < 5) 233 | html-pipeline (~> 2.2) 234 | jekyll (>= 3.0, < 5.0) 235 | json (2.13.1) 236 | kramdown (2.4.0) 237 | rexml 238 | kramdown-parser-gfm (1.1.0) 239 | kramdown (~> 2.0) 240 | liquid (4.0.4) 241 | listen (3.9.0) 242 | rb-fsevent (~> 0.10, >= 0.10.3) 243 | rb-inotify (~> 0.9, >= 0.9.10) 244 | logger (1.6.6) 245 | mercenary (0.3.6) 246 | minima (2.5.1) 247 | jekyll (>= 3.5, < 5.0) 248 | jekyll-feed (~> 0.9) 249 | jekyll-seo-tag (~> 2.1) 250 | minitest (5.25.5) 251 | net-http (0.6.0) 252 | uri 253 | nokogiri (1.18.9-aarch64-linux-gnu) 254 | racc (~> 1.4) 255 | nokogiri (1.18.9-aarch64-linux-musl) 256 | racc (~> 1.4) 257 | nokogiri (1.18.9-arm-linux-gnu) 258 | racc (~> 1.4) 259 | nokogiri (1.18.9-arm-linux-musl) 260 | racc (~> 1.4) 261 | nokogiri (1.18.9-arm64-darwin) 262 | racc (~> 1.4) 263 | nokogiri (1.18.9-x86_64-darwin) 264 | racc (~> 1.4) 265 | nokogiri (1.18.9-x86_64-linux-gnu) 266 | racc (~> 1.4) 267 | nokogiri (1.18.9-x86_64-linux-musl) 268 | racc (~> 1.4) 269 | octokit (4.25.1) 270 | faraday (>= 1, < 3) 271 | sawyer (~> 0.9) 272 | pathutil (0.16.2) 273 | forwardable-extended (~> 2.6) 274 | public_suffix (5.1.1) 275 | racc (1.8.1) 276 | rb-fsevent (0.11.2) 277 | rb-inotify (0.11.1) 278 | ffi (~> 1.0) 279 | rexml (3.4.1) 280 | rouge (3.30.0) 281 | rubyzip (2.4.1) 282 | safe_yaml (1.0.5) 283 | sass (3.7.4) 284 | sass-listen (~> 4.0.0) 285 | sass-listen (4.0.0) 286 | rb-fsevent (~> 0.9, >= 0.9.4) 287 | rb-inotify (~> 0.9, >= 0.9.7) 288 | sawyer (0.9.2) 289 | addressable (>= 2.3.5) 290 | faraday (>= 0.17.3, < 3) 291 | securerandom (0.4.1) 292 | simpleidn (0.2.3) 293 | terminal-table (1.8.0) 294 | unicode-display_width (~> 1.1, >= 1.1.1) 295 | typhoeus (1.4.1) 296 | ethon (>= 0.9.0) 297 | tzinfo (2.0.6) 298 | concurrent-ruby (~> 1.0) 299 | unicode-display_width (1.8.0) 300 | uri (1.0.3) 301 | webrick (1.9.1) 302 | 303 | PLATFORMS 304 | aarch64-linux-gnu 305 | aarch64-linux-musl 306 | arm-linux-gnu 307 | arm-linux-musl 308 | arm64-darwin 309 | x86_64-darwin 310 | x86_64-linux-gnu 311 | x86_64-linux-musl 312 | 313 | DEPENDENCIES 314 | cvless (~> 2.7) 315 | erb (~> 4.0, >= 4.0.4) 316 | 317 | BUNDLED WITH 318 | 2.6.0 319 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | cvless 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 |
48 | 49 | 50 | 51 |

cvless

52 |

Jekyll theme for a beautiful online CV

53 |
54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 |
102 |
103 |
104 | 105 | 106 |
107 |
108 | 109 | 110 | 111 |
112 |
113 |
114 |
115 |
116 | 117 |
118 | 119 |
120 |

About

121 | 122 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

123 | 124 |

This is the home page. It can be used for a short introduction. Click here to see the full CV, and here to download a print version. The theme also ships with a blog: click here to scroll posts from the most recent. Finally, click here to see a page that can’t be found.

125 | 126 |

By default, the theme only contains these few pages in order to stay lean and flexible. However, it can be easily extended to accommodate more pages, collections, categories, and tags.

127 | 128 |

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

129 | 130 |

Below is a list of blog posts included for illustrative purposes. Make sure to delete or modify them before deploying your website.

131 | 132 |
133 | 134 |

September 2022

135 |
    136 | 137 |
  • What Jekyll is. A short post to demonstrate the layout.
  • 138 | 139 |
140 | 141 |

August 2022

142 | 149 | 150 |
151 | 152 | 153 |
154 |
155 | © 156 | Place Holder. All rights reserved. 157 |
158 | 159 |
160 | 161 |
162 |
163 |
164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | -------------------------------------------------------------------------------- /docs/assets/css/styles.min.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Piazzolla'; 3 | src: url("../fonts/Piazzolla-Light.woff2") format("woff2"); 4 | font-style: normal; 5 | font-weight: 300; 6 | text-rendering: optimizeLegibility; } 7 | @font-face { 8 | font-family: 'Piazzolla'; 9 | src: url("../fonts/Piazzolla-LightItalic.woff2") format("woff2"); 10 | font-style: italic; 11 | font-weight: 300; 12 | text-rendering: optimizeLegibility; } 13 | @font-face { 14 | font-family: 'Piazzolla'; 15 | src: url("../fonts/Piazzolla-Regular.woff2") format("woff2"); 16 | font-style: normal; 17 | font-weight: 400; 18 | text-rendering: optimizeLegibility; } 19 | @font-face { 20 | font-family: 'Piazzolla'; 21 | src: url("../fonts/Piazzolla-Italic.woff2") format("woff2"); 22 | font-style: italic; 23 | font-weight: 400; 24 | text-rendering: optimizeLegibility; } 25 | @font-face { 26 | font-family: 'Piazzolla'; 27 | src: url("../fonts/Piazzolla-Medium.woff2") format("woff2"); 28 | font-style: normal; 29 | font-weight: 500; 30 | text-rendering: optimizeLegibility; } 31 | @font-face { 32 | font-family: 'Piazzolla'; 33 | src: url("../fonts/Piazzolla-MediumItalic.woff2") format("woff2"); 34 | font-style: italic; 35 | font-weight: 500; 36 | text-rendering: optimizeLegibility; } 37 | @font-face { 38 | font-family: 'Piazzolla'; 39 | src: url("../fonts/Piazzolla-Bold.woff2") format("woff2"); 40 | font-style: normal; 41 | font-weight: 700; 42 | text-rendering: optimizeLegibility; } 43 | @font-face { 44 | font-family: 'Piazzolla'; 45 | src: url("../fonts/Piazzolla-BoldItalic.woff2") format("woff2"); 46 | font-style: italic; 47 | font-weight: 700; 48 | text-rendering: optimizeLegibility; } 49 | @font-face { 50 | font-family: 'Piazzolla SC'; 51 | src: url("../fonts/PiazzollaSC-Light.woff2") format("woff2"); 52 | font-style: normal; 53 | font-weight: 300; 54 | text-rendering: optimizeLegibility; } 55 | @font-face { 56 | font-family: 'Piazzolla SC'; 57 | src: url("../fonts/PiazzollaSC-LightItalic.woff2") format("woff2"); 58 | font-style: italic; 59 | font-weight: 300; 60 | text-rendering: optimizeLegibility; } 61 | @font-face { 62 | font-family: 'Piazzolla SC'; 63 | src: url("../fonts/PiazzollaSC-Regular.woff2") format("woff2"); 64 | font-style: normal; 65 | font-weight: 400; 66 | text-rendering: optimizeLegibility; } 67 | @font-face { 68 | font-family: 'Piazzolla SC'; 69 | src: url("../fonts/PiazzollaSC-Italic.woff2") format("woff2"); 70 | font-style: italic; 71 | font-weight: 400; 72 | text-rendering: optimizeLegibility; } 73 | @font-face { 74 | font-family: 'Piazzolla SC'; 75 | src: url("../fonts/PiazzollaSC-Medium.woff2") format("woff2"); 76 | font-style: normal; 77 | font-weight: 500; 78 | text-rendering: optimizeLegibility; } 79 | @font-face { 80 | font-family: 'Piazzolla SC'; 81 | src: url("../fonts/PiazzollaSC-MediumItalic.woff2") format("woff2"); 82 | font-style: italic; 83 | font-weight: 500; 84 | text-rendering: optimizeLegibility; } 85 | @font-face { 86 | font-family: 'Piazzolla SC'; 87 | src: url("../fonts/PiazzollaSC-Bold.woff2") format("woff2"); 88 | font-style: normal; 89 | font-weight: 700; 90 | text-rendering: optimizeLegibility; } 91 | @font-face { 92 | font-family: 'Piazzolla SC'; 93 | src: url("../fonts/PiazzollaSC-BoldItalic.woff2") format("woff2"); 94 | font-style: italic; 95 | font-weight: 700; 96 | text-rendering: optimizeLegibility; } 97 | @font-face { 98 | font-family: 'Hack'; 99 | src: url("../fonts/hack-regular-subset.woff2") format("woff2"); 100 | font-style: normal; 101 | font-weight: 400; 102 | text-rendering: optimizeLegibility; } 103 | @font-face { 104 | font-family: 'Hack'; 105 | src: url("../fonts/hack-italic-subset.woff2") format("woff2"); 106 | font-style: italic; 107 | font-weight: 400; 108 | text-rendering: optimizeLegibility; } 109 | @font-face { 110 | font-family: 'Hack'; 111 | src: url("../fonts/hack-bold-subset.woff2") format("woff2"); 112 | font-style: normal; 113 | font-weight: 700; 114 | text-rendering: optimizeLegibility; } 115 | @font-face { 116 | font-family: 'Hack'; 117 | src: url("../fonts/hack-bolditalic-subset.woff2") format("woff2"); 118 | font-style: italic; 119 | font-weight: 700; 120 | text-rendering: optimizeLegibility; } 121 | :root { 122 | --type-serif: "Piazzolla", serif; 123 | --type-caps: "Piazzolla SC", serif; 124 | --type-mono: "Hack", monospace; 125 | --type-size: 18px; 126 | --type-weight: 400; 127 | --type-height: 1.4; 128 | --type-numeric: oldstyle-nums proportional-nums; 129 | --color-particles-text: var(--oc-gray-1); 130 | --color-particles-background: var(--oc-gray-9); } 131 | 132 | html, 133 | html[data-theme="light"] { 134 | --color-background: var(--oc-gray-1); 135 | --color-text: var(--oc-gray-8); 136 | --color-heading: var(--oc-gray-8); 137 | --color-link: var(--oc-blue-8); 138 | --color-chunk: var(--oc-gray-8); 139 | --color-mark: var(--oc-yellow-3); 140 | --color-border: var(--oc-gray-4); 141 | --color-button: var(--oc-gray-6); } 142 | 143 | html[data-theme="dark"] { 144 | --color-background: var(--oc-gray-9); 145 | --color-text: var(--oc-gray-3); 146 | --color-heading: var(--oc-gray-3); 147 | --color-link: var(--oc-blue-3); 148 | --color-chunk: var(--oc-gray-8); 149 | --color-mark: var(--oc-gray-8); 150 | --color-border: var(--oc-gray-7); 151 | --color-button: var(--oc-gray-7); } 152 | 153 | body { 154 | font-family: var(--type-serif); 155 | font-size: var(--type-size); 156 | font-weight: var(--type-weight); 157 | line-height: var(--type-height); 158 | font-variant-numeric: var(--type-numeric); 159 | background-color: var(--color-background); 160 | color: var(--color-text); } 161 | 162 | svg circle, 163 | svg path { 164 | stroke: var(--color-text); 165 | stroke-width: 0.075em; } 166 | 167 | a { 168 | text-decoration: none; 169 | color: var(--color-link); } 170 | a:focus, a:hover { 171 | border-bottom: calc(var(--type-size) / 10) dotted var(--color-link); 172 | color: var(--color-link); } 173 | 174 | header { 175 | display: flex; 176 | justify-content: space-between; 177 | margin-top: 1.5em; 178 | margin-bottom: 2em; } 179 | 180 | footer { 181 | margin: 2em 0; } 182 | 183 | small { 184 | font-weight: 300; } 185 | 186 | abbr { 187 | text-transform: lowercase; 188 | font-family: var(--type-caps); } 189 | 190 | blockquote { 191 | padding-left: 1em; 192 | border-left: 0.1em solid var(--color-border); 193 | font-weight: 300; } 194 | 195 | mark { 196 | padding: 0.1em; 197 | border-radius: 0.25em; 198 | background-color: var(--color-mark); 199 | color: var(--color-text); } 200 | 201 | hr { 202 | border-top: 0.1em solid var(--color-text); } 203 | 204 | img { 205 | display: block; 206 | max-width: 100%; 207 | margin: 1em 0; 208 | border-radius: 0.25em; } 209 | 210 | table.table { 211 | color: var(--color-text); } 212 | 213 | pre, code { 214 | font-family: var(--type-mono); } 215 | 216 | .highlight { 217 | padding: 0 1em; 218 | border-radius: 0.25em; 219 | color: var(--color-chunk); } 220 | .highlight pre { 221 | padding: 0; 222 | margin: 0; } 223 | .highlight .highlight { 224 | padding: 0; } 225 | 226 | h1, h2, h3 { 227 | color: var(--color-heading); } 228 | h1 a, h2 a, h3 a { 229 | color: inherit; } 230 | h1 a:focus, h1 a:hover, h2 a:focus, h2 a:hover, h3 a:focus, h3 a:hover { 231 | border-color: inherit; 232 | color: inherit; } 233 | 234 | h1 { 235 | font-size: 1.5em; } 236 | h1.page-title { 237 | margin: 0; } 238 | 239 | #home h1 { 240 | margin-top: 1.5em; } 241 | 242 | h2 { 243 | margin-top: 1.25em; 244 | font-size: 1.25em; } 245 | 246 | h3 { 247 | margin-top: 1em; 248 | font-size: 1em; 249 | text-transform: lowercase; 250 | font-family: var(--type-caps); 251 | font-weight: 500; } 252 | 253 | h2 + h3 { 254 | margin-top: 0; } 255 | 256 | a.site-title { 257 | font-weight: 500; 258 | color: var(--color-heading); } 259 | a.site-title:focus, a.site-title:hover { 260 | border-color: inherit; 261 | color: inherit; } 262 | 263 | .toggle-bar { 264 | display: flex; 265 | justify-content: end; 266 | padding-top: 1.5em; } 267 | 268 | .toggle-icon { 269 | color: var(--color-heading); } 270 | .toggle-icon:focus, .toggle-icon:hover { 271 | cursor: pointer; 272 | border: none; } 273 | .toggle-icon:focus svg circle, 274 | .toggle-icon:focus svg path, .toggle-icon:hover svg circle, 275 | .toggle-icon:hover svg path { 276 | stroke-width: 0.1em; } 277 | 278 | .message { 279 | padding: 0.25em 1em; 280 | border-radius: 0.25em; 281 | background-color: var(--color-mark); 282 | color: var(--color-text); } 283 | 284 | dd { 285 | padding-left: 0.5em; } 286 | 287 | .archive ul, 288 | .contact ul { 289 | list-style-type: none; 290 | padding: 0; } 291 | 292 | .li-icon { 293 | margin-right: 0.25em; } 294 | 295 | a.iconlink svg circle, 296 | a.iconlink svg path { 297 | stroke: var(--color-link); } 298 | a.iconlink:focus, a.iconlink:hover { 299 | border: none; } 300 | a.iconlink:focus svg circle, 301 | a.iconlink:focus svg path, a.iconlink:hover svg circle, 302 | a.iconlink:hover svg path { 303 | stroke-width: 0.1em; } 304 | 305 | .footnotes { 306 | margin-top: 2em; } 307 | .footnotes p { 308 | margin: 0; } 309 | .footnotes::before { 310 | content: "Notes"; } 311 | 312 | a[href^="#fn:"] { 313 | margin-left: 0.1em; 314 | font-weight: 500; } 315 | a[href^="#fn:"]:focus, a[href^="#fn:"]:hover { 316 | font-weight: 700; 317 | border: none; } 318 | 319 | a.reversefootnote { 320 | font-weight: 500; } 321 | a.reversefootnote:focus, a.reversefootnote:hover { 322 | font-weight: 700; 323 | border: none; } 324 | 325 | #particles-js { 326 | width: 100%; 327 | background-repeat: no-repeat; 328 | background-size: cover; 329 | background-attachment: fixed; 330 | background-color: var(--color-particles-background); } 331 | #particles-js .particles-js-canvas-el { 332 | width: 100%; 333 | height: 99.5vh !important; } 334 | #particles-js .jumbotron { 335 | position: absolute; 336 | top: 44%; 337 | left: 50%; 338 | -webkit-transform: translate(-50%, -50%); 339 | transform: translate(-50%, -50%); 340 | pointer-events: none; } 341 | 342 | .fullscreen { 343 | min-height: 100vh; } 344 | .fullscreen h1, 345 | .fullscreen h2 { 346 | color: var(--color-particles-text); } 347 | 348 | .particles-photo { 349 | width: 50%; 350 | border-radius: 50%; 351 | margin: auto; 352 | margin-bottom: 0.5em; } 353 | 354 | .particles-title { 355 | margin: 0; 356 | font-size: 2.5em; 357 | font-weight: 500; 358 | white-space: nowrap; } 359 | 360 | .particles-subtitle { 361 | margin: 0 0 1em 0; 362 | font-size: 1.25em; 363 | font-weight: 400; } 364 | 365 | .nowrap { 366 | white-space: nowrap; } 367 | 368 | .particles-icon { 369 | margin: 0 0.5em; 370 | pointer-events: all; } 371 | .particles-icon svg { 372 | -webkit-transform: scale(1.8); 373 | transform: scale(1.8); } 374 | .particles-icon svg circle, 375 | .particles-icon svg path { 376 | stroke: var(--color-particles-text) !important; 377 | stroke-width: 0.05em; } 378 | .particles-icon:focus, .particles-icon:hover { 379 | border: none; } 380 | .particles-icon:focus svg circle, 381 | .particles-icon:focus svg path, .particles-icon:hover svg circle, 382 | .particles-icon:hover svg path { 383 | stroke-width: 0.075em; } 384 | 385 | .particles-scroll { 386 | position: absolute; 387 | bottom: 5%; 388 | left: 50%; 389 | -webkit-transform: translate(-50%, -50%); 390 | transform: translate(-50%, -50%); } 391 | .particles-scroll .particles-icon { 392 | position: relative; 393 | -webkit-animation: pulse 1s infinite; 394 | animation: pulse 1s infinite; } 395 | .particles-scroll svg { 396 | -webkit-transform: scale(2.7); 397 | transform: scale(2.7); } 398 | 399 | @keyframes pulse { 400 | from { 401 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; 402 | filter: alpha(opacity=40); 403 | opacity: .4; 404 | top: 0; } 405 | 50% { 406 | -ms-filter: none; 407 | filter: none; 408 | opacity: 1; 409 | top: -1rem; } 410 | to { 411 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; 412 | filter: alpha(opacity=40); 413 | opacity: .4; 414 | top: 0; } } 415 | .pagination { 416 | display: flex; 417 | margin-top: 2em; 418 | text-align: center; } 419 | 420 | .pagination-item { 421 | float: left; 422 | width: 50%; 423 | padding: 1em 2em; 424 | border: 0.075em solid var(--color-border); 425 | color: var(--color-button); 426 | -webkit-transition: all 0.1s ease-in-out; 427 | transition: all 0.1s ease-in-out; } 428 | .pagination-item svg circle, 429 | .pagination-item svg path { 430 | stroke: var(--color-button); } 431 | .pagination-item:first-child { 432 | margin-bottom: 0; 433 | border-top-left-radius: var(--border-radius); 434 | border-bottom-left-radius: var(--border-radius); } 435 | .pagination-item:last-child { 436 | margin-left: -1px; 437 | border-top-right-radius: var(--border-radius); 438 | border-bottom-right-radius: var(--border-radius); } 439 | 440 | a.pagination-item { 441 | color: var(--color-text); } 442 | a.pagination-item svg circle, 443 | a.pagination-item svg path { 444 | stroke: var(--color-text); } 445 | a.pagination-item:focus, a.pagination-item:hover { 446 | background-color: var(--color-border); 447 | border: 0.075em solid var(--color-border); } 448 | 449 | @media (prefers-color-scheme: dark) { 450 | html, 451 | html[data-theme="dark"] { 452 | --color-background: var(--oc-gray-9); 453 | --color-text: var(--oc-gray-3); 454 | --color-heading: var(--oc-gray-3); 455 | --color-code: var(--oc-gray-3); 456 | --color-link: var(--oc-blue-3); 457 | --color-mark: var(--oc-gray-8); 458 | --color-border: var(--oc-gray-7); 459 | --color-button: var(--oc-gray-7); } 460 | 461 | html[data-theme="light"] { 462 | --color-background: var(--oc-gray-1); 463 | --color-text: var(--oc-gray-8); 464 | --color-heading: var(--oc-gray-8); 465 | --color-code: var(--oc-gray-8); 466 | --color-link: var(--oc-blue-8); 467 | --color-mark: var(--oc-yellow-3); 468 | --color-border: var(--oc-gray-4); 469 | --color-button: var(--oc-gray-6); } } 470 | @media screen and (min-width: 768px) { 471 | body { 472 | font-size: 1.25em; } 473 | 474 | .particles-title { 475 | font-size: 3.5em; } 476 | 477 | .particles-subtitle { 478 | font-size: 1.75em; } 479 | 480 | .particles-icon { 481 | margin: 0 1em; } 482 | .particles-icon svg { 483 | -webkit-transform: scale(2.4); 484 | transform: scale(2.4); } 485 | 486 | .particles-scroll svg { 487 | -webkit-transform: scale(3.6); 488 | transform: scale(3.6); } } 489 | @media only print { 490 | body { 491 | font-size: 10pt; 492 | background-color: white; 493 | color: black; } 494 | 495 | a { 496 | color: black; } 497 | 498 | dd { 499 | padding-left: 1.5em; } 500 | 501 | .pagination { 502 | display: none; } 503 | 504 | #cv header { 505 | margin: 0; } 506 | #cv .site-title { 507 | font-size: 1.5em; } 508 | #cv small { 509 | display: none; } 510 | #cv .toggle-icon, 511 | #cv .li-icon, 512 | #cv .reversefootnote, 513 | #cv a.iconlink { 514 | display: none; } } 515 | -------------------------------------------------------------------------------- /docs/2022/08/15/example-content/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | cvless · Example content 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
51 |
52 |
53 |
54 |
55 |
56 | cvless 57 | 58 | 59 | Jekyll theme 60 | 61 | 62 |
63 | 64 |
65 | 66 |
67 |

Example content

68 | 69 |

A long post that showcases style elements.

70 |

Howdy! This is an example blog post that shows several types of html content supported in this theme.

71 | 72 | 84 | 85 |

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

86 | 87 |
88 |

Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

89 |
90 | 91 |

Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.

92 | 93 |

Inline HTML elements

94 | 95 |

HTML defines a long list of available inline tags, a complete list of which can be found on the Mozilla Developer Network.

96 | 97 |
    98 |
  • To bold text, use <strong>.
  • 99 |
  • To italicize text, use <em>.
  • 100 |
  • To highlight, use <mark>.
  • 101 |
  • Abbreviations, like HTML, should use <abbr> with an optional title attribute for the full phrase.
  • 102 |
  • Citations, like — Franz Kafka, should use <cite>.
  • 103 |
  • Deleted text should use <del> and inserted text should use <ins>.
  • 104 |
  • Superscript text uses <sup> and subscript text uses <sub>.
  • 105 |
106 | 107 |

Most of these elements are styled by browsers with few modifications in the CSS of this theme.

108 | 109 |

Footnotes

110 | 111 |

Footnotes are supported as part of the Markdown syntax. Here’s one in action. Clicking this number1 will lead you to a footnote. The syntax looks like:

112 | 113 |
Clicking this number[^fn-sample]
114 | 115 |

Each footnote needs the ^fn- prefix and a unique ID to be referenced for the footnoted content. The syntax for that list looks like this:

116 | 117 |
[^fn-sample]: Handy! Now click the return link to go back.
118 | 119 |

You can place the footnoted content wherever you like. Markdown parsers should properly place it at the bottom of the page.

120 | 121 |

Heading

122 | 123 |

This section shows hierarchical headings. Vivamus sagittis lacus vel augue rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

124 | 125 |

Code

126 | 127 |

Inline code is available with the <code> element. Snippets of multiple lines of code are supported through Rouge. Longer lines are displayed through horizontal scrolling. You may also use code fencing (triple backticks) for rendering code.

128 | 129 |
// Example can be run directly in your JavaScript console
130 | 
131 | // Create a function that takes two arguments and returns the sum of those arguments
132 | var adder = new Function("a", "b", "return a + b");
133 | 
134 | // Call the function
135 | adder(2, 6);
136 | // > 8
137 | 138 |

You may also optionally show code snippets with line numbers. Add linenos to the Rouge tags.

139 | 140 |
1
141 | 2
142 | 3
143 | 4
144 | 5
145 | 6
146 | 7
147 | 8
148 | 
// Example can be run directly in your JavaScript console
149 | 
150 | // Create a function that takes two arguments and returns the sum of those arguments
151 | var adder = new Function("a", "b", "return a + b");
152 | 
153 | // Call the function
154 | adder(2, 6);
155 | // > 8
156 | 
157 | 158 |

By default, the theme uses GitHub-themed syntax highlighting. The specifics are included in the syntax stylesheet, which is automatically generated by rougify.

159 | 160 |

Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

161 | 162 |

Gists via GitHub Pages

163 | 164 |

Vestibulum id ligula porta felis euismod semper. Nullam quis risus eget urna mollis ornare vel eu leo. Donec sed odio dui.

165 | 166 | 167 | 168 |

Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec sed odio dui. Vestibulum id ligula porta felis euismod semper.

169 | 170 |

Lists

171 | 172 |

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

173 | 174 |
    175 |
  • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
  • 176 |
  • Donec id elit non mi porta gravida at eget metus.
  • 177 |
  • Nulla vitae elit libero, a pharetra augue.
  • 178 |
179 | 180 |

Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.

181 | 182 |
    183 |
  1. Vestibulum id ligula porta felis euismod semper.
  2. 184 |
  3. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
  4. 185 |
  5. Maecenas sed diam eget risus varius blandit sit amet non magna.
  6. 186 |
187 | 188 |

Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.

189 | 190 |
191 |
HyperText Markup Language (HTML)
192 |
The language used to describe and define the content of a Web page
193 | 194 |
Cascading Style Sheets (CSS)
195 |
Used to describe the appearance of Web content
196 | 197 |
JavaScript (JS)
198 |
The programming language used to build advanced Web sites and applications
199 |
200 | 201 |

Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Nullam quis risus eget urna mollis ornare vel eu leo.

202 | 203 |

Images

204 | 205 |

Quisque consequat sapien eget quam rhoncus, sit amet laoreet diam tempus. Aliquam aliquam metus erat, a pulvinar turpis suscipit at.

206 | 207 |

placeholder 208 | placeholder 209 | placeholder

210 | 211 |

Tables

212 | 213 |

Aenean lacinia bibendum nulla sed consectetur. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 |
NameUpvotesDownvotes
Totals2123
Alice1011
Bob43
Charlie79
248 | 249 |

Nullam id dolor id nibh ultricies vehicula ut id elit. Sed posuere consectetur est at lobortis. Nullam quis risus eget urna mollis ornare vel eu leo. This concludes the post.

250 | 251 |
252 | 253 |

Want to see something else added? Open an issue.

254 | 255 |
256 |
    257 |
  1. 258 |

    Handy! Now click the return link to go back. 

    259 |
  2. 260 |
261 |
262 | 263 |
264 |
265 | © 266 | Place Holder. All rights reserved. 267 |
268 | 269 |
270 | 271 |
272 |
273 |
274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | -------------------------------------------------------------------------------- /assets/js/particles.min.js: -------------------------------------------------------------------------------- 1 | function hexToRgb(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,a,t,i){return a+a+t+t+i+i}));var a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return a?{r:parseInt(a[1],16),g:parseInt(a[2],16),b:parseInt(a[3],16)}:null}function clamp(e,a,t){return Math.min(Math.max(e,a),t)}function isInArray(e,a){return a.indexOf(e)>-1}var pJS=function(e,a){var t=document.querySelector("#"+e+" > .particles-js-canvas-el");this.pJS={canvas:{el:t,w:t.offsetWidth,h:t.offsetHeight},particles:{number:{value:400,density:{enable:!0,value_area:800}},color:{value:"#fff"},shape:{type:"circle",stroke:{width:0,color:"#ff0000"},polygon:{nb_sides:5},image:{src:"",width:100,height:100}},opacity:{value:1,random:!1,anim:{enable:!1,speed:2,opacity_min:0,sync:!1}},size:{value:20,random:!1,anim:{enable:!1,speed:20,size_min:0,sync:!1}},line_linked:{enable:!0,distance:100,color:"#fff",opacity:1,width:1},move:{enable:!0,speed:2,direction:"none",random:!1,straight:!1,out_mode:"out",bounce:!1,attract:{enable:!1,rotateX:3e3,rotateY:3e3}},array:[]},interactivity:{detect_on:"canvas",events:{onhover:{enable:!0,mode:"grab"},onclick:{enable:!0,mode:"push"},resize:!0},modes:{grab:{distance:100,line_linked:{opacity:1}},bubble:{distance:200,size:80,duration:.4},repulse:{distance:200,duration:.4},push:{particles_nb:4},remove:{particles_nb:2}},mouse:{}},retina_detect:!1,fn:{interact:{},modes:{},vendors:{}},tmp:{}};var i=this.pJS;a&&Object.deepExtend(i,a),i.tmp.obj={size_value:i.particles.size.value,size_anim_speed:i.particles.size.anim.speed,move_speed:i.particles.move.speed,line_linked_distance:i.particles.line_linked.distance,line_linked_width:i.particles.line_linked.width,mode_grab_distance:i.interactivity.modes.grab.distance,mode_bubble_distance:i.interactivity.modes.bubble.distance,mode_bubble_size:i.interactivity.modes.bubble.size,mode_repulse_distance:i.interactivity.modes.repulse.distance},i.fn.retinaInit=function(){i.retina_detect&&window.devicePixelRatio>1?(i.canvas.pxratio=window.devicePixelRatio,i.tmp.retina=!0):(i.canvas.pxratio=1,i.tmp.retina=!1),i.canvas.w=i.canvas.el.offsetWidth*i.canvas.pxratio,i.canvas.h=i.canvas.el.offsetHeight*i.canvas.pxratio,i.particles.size.value=i.tmp.obj.size_value*i.canvas.pxratio,i.particles.size.anim.speed=i.tmp.obj.size_anim_speed*i.canvas.pxratio,i.particles.move.speed=i.tmp.obj.move_speed*i.canvas.pxratio,i.particles.line_linked.distance=i.tmp.obj.line_linked_distance*i.canvas.pxratio,i.interactivity.modes.grab.distance=i.tmp.obj.mode_grab_distance*i.canvas.pxratio,i.interactivity.modes.bubble.distance=i.tmp.obj.mode_bubble_distance*i.canvas.pxratio,i.particles.line_linked.width=i.tmp.obj.line_linked_width*i.canvas.pxratio,i.interactivity.modes.bubble.size=i.tmp.obj.mode_bubble_size*i.canvas.pxratio,i.interactivity.modes.repulse.distance=i.tmp.obj.mode_repulse_distance*i.canvas.pxratio},i.fn.canvasInit=function(){i.canvas.ctx=i.canvas.el.getContext("2d")},i.fn.canvasSize=function(){i.canvas.el.width=i.canvas.w,i.canvas.el.height=i.canvas.h,i&&i.interactivity.events.resize&&window.addEventListener("resize",(function(){i.canvas.w=i.canvas.el.offsetWidth,i.canvas.h=i.canvas.el.offsetHeight,i.tmp.retina&&(i.canvas.w*=i.canvas.pxratio,i.canvas.h*=i.canvas.pxratio),i.canvas.el.width=i.canvas.w,i.canvas.el.height=i.canvas.h,i.particles.move.enable||(i.fn.particlesEmpty(),i.fn.particlesCreate(),i.fn.particlesDraw(),i.fn.vendors.densityAutoParticles()),i.fn.vendors.densityAutoParticles()}))},i.fn.canvasPaint=function(){i.canvas.ctx.fillRect(0,0,i.canvas.w,i.canvas.h)},i.fn.canvasClear=function(){i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h)},i.fn.particle=function(e,a,t){if(this.radius=(i.particles.size.random?Math.random():1)*i.particles.size.value,i.particles.size.anim.enable&&(this.size_status=!1,this.vs=i.particles.size.anim.speed/100,i.particles.size.anim.sync||(this.vs=this.vs*Math.random())),this.x=t?t.x:Math.random()*i.canvas.w,this.y=t?t.y:Math.random()*i.canvas.h,this.x>i.canvas.w-2*this.radius?this.x=this.x-this.radius:this.x<2*this.radius&&(this.x=this.x+this.radius),this.y>i.canvas.h-2*this.radius?this.y=this.y-this.radius:this.y<2*this.radius&&(this.y=this.y+this.radius),i.particles.move.bounce&&i.fn.vendors.checkOverlap(this,t),this.color={},"object"==typeof e.value)if(e.value instanceof Array){var n=e.value[Math.floor(Math.random()*i.particles.color.value.length)];this.color.rgb=hexToRgb(n)}else null!=e.value.r&&null!=e.value.g&&null!=e.value.b&&(this.color.rgb={r:e.value.r,g:e.value.g,b:e.value.b}),null!=e.value.h&&null!=e.value.s&&null!=e.value.l&&(this.color.hsl={h:e.value.h,s:e.value.s,l:e.value.l});else"random"==e.value?this.color.rgb={r:Math.floor(256*Math.random())+0,g:Math.floor(256*Math.random())+0,b:Math.floor(256*Math.random())+0}:"string"==typeof e.value&&(this.color=e,this.color.rgb=hexToRgb(this.color.value));this.opacity=(i.particles.opacity.random?Math.random():1)*i.particles.opacity.value,i.particles.opacity.anim.enable&&(this.opacity_status=!1,this.vo=i.particles.opacity.anim.speed/100,i.particles.opacity.anim.sync||(this.vo=this.vo*Math.random()));var s={};switch(i.particles.move.direction){case"top":s={x:0,y:-1};break;case"top-right":s={x:.5,y:-.5};break;case"right":s={x:1,y:-0};break;case"bottom-right":s={x:.5,y:.5};break;case"bottom":s={x:0,y:1};break;case"bottom-left":s={x:-.5,y:1};break;case"left":s={x:-1,y:0};break;case"top-left":s={x:-.5,y:-.5};break;default:s={x:0,y:0}}i.particles.move.straight?(this.vx=s.x,this.vy=s.y,i.particles.move.random&&(this.vx=this.vx*Math.random(),this.vy=this.vy*Math.random())):(this.vx=s.x+Math.random()-.5,this.vy=s.y+Math.random()-.5),this.vx_i=this.vx,this.vy_i=this.vy;var r=i.particles.shape.type;if("object"==typeof r){if(r instanceof Array){var c=r[Math.floor(Math.random()*r.length)];this.shape=c}}else this.shape=r;if("image"==this.shape){var o=i.particles.shape;this.img={src:o.image.src,ratio:o.image.width/o.image.height},this.img.ratio||(this.img.ratio=1),"svg"==i.tmp.img_type&&null!=i.tmp.source_svg&&(i.fn.vendors.createSvgImg(this),i.tmp.pushing&&(this.img.loaded=!1))}},i.fn.particle.prototype.draw=function(){var e=this;if(null!=e.radius_bubble)var a=e.radius_bubble;else a=e.radius;if(null!=e.opacity_bubble)var t=e.opacity_bubble;else t=e.opacity;if(e.color.rgb)var n="rgba("+e.color.rgb.r+","+e.color.rgb.g+","+e.color.rgb.b+","+t+")";else n="hsla("+e.color.hsl.h+","+e.color.hsl.s+"%,"+e.color.hsl.l+"%,"+t+")";switch(i.canvas.ctx.fillStyle=n,i.canvas.ctx.beginPath(),e.shape){case"circle":i.canvas.ctx.arc(e.x,e.y,a,0,2*Math.PI,!1);break;case"edge":i.canvas.ctx.rect(e.x-a,e.y-a,2*a,2*a);break;case"triangle":i.fn.vendors.drawShape(i.canvas.ctx,e.x-a,e.y+a/1.66,2*a,3,2);break;case"polygon":i.fn.vendors.drawShape(i.canvas.ctx,e.x-a/(i.particles.shape.polygon.nb_sides/3.5),e.y-a/.76,2.66*a/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,1);break;case"star":i.fn.vendors.drawShape(i.canvas.ctx,e.x-2*a/(i.particles.shape.polygon.nb_sides/4),e.y-a/1.52,2*a*2.66/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,2);break;case"image":if("svg"==i.tmp.img_type)var s=e.img.obj;else s=i.tmp.img_obj;s&&i.canvas.ctx.drawImage(s,e.x-a,e.y-a,2*a,2*a/e.img.ratio)}i.canvas.ctx.closePath(),i.particles.shape.stroke.width>0&&(i.canvas.ctx.strokeStyle=i.particles.shape.stroke.color,i.canvas.ctx.lineWidth=i.particles.shape.stroke.width,i.canvas.ctx.stroke()),i.canvas.ctx.fill()},i.fn.particlesCreate=function(){for(var e=0;e=i.particles.opacity.value&&(a.opacity_status=!1),a.opacity+=a.vo):(a.opacity<=i.particles.opacity.anim.opacity_min&&(a.opacity_status=!0),a.opacity-=a.vo),a.opacity<0&&(a.opacity=0)),i.particles.size.anim.enable&&(1==a.size_status?(a.radius>=i.particles.size.value&&(a.size_status=!1),a.radius+=a.vs):(a.radius<=i.particles.size.anim.size_min&&(a.size_status=!0),a.radius-=a.vs),a.radius<0&&(a.radius=0)),"bounce"==i.particles.move.out_mode)var n={x_left:a.radius,x_right:i.canvas.w,y_top:a.radius,y_bottom:i.canvas.h};else n={x_left:-a.radius,x_right:i.canvas.w+a.radius,y_top:-a.radius,y_bottom:i.canvas.h+a.radius};switch(a.x-a.radius>i.canvas.w?(a.x=n.x_left,a.y=Math.random()*i.canvas.h):a.x+a.radius<0&&(a.x=n.x_right,a.y=Math.random()*i.canvas.h),a.y-a.radius>i.canvas.h?(a.y=n.y_top,a.x=Math.random()*i.canvas.w):a.y+a.radius<0&&(a.y=n.y_bottom,a.x=Math.random()*i.canvas.w),i.particles.move.out_mode){case"bounce":(a.x+a.radius>i.canvas.w||a.x-a.radius<0)&&(a.vx=-a.vx),(a.y+a.radius>i.canvas.h||a.y-a.radius<0)&&(a.vy=-a.vy)}if(isInArray("grab",i.interactivity.events.onhover.mode)&&i.fn.modes.grabParticle(a),(isInArray("bubble",i.interactivity.events.onhover.mode)||isInArray("bubble",i.interactivity.events.onclick.mode))&&i.fn.modes.bubbleParticle(a),(isInArray("repulse",i.interactivity.events.onhover.mode)||isInArray("repulse",i.interactivity.events.onclick.mode))&&i.fn.modes.repulseParticle(a),i.particles.line_linked.enable||i.particles.move.attract.enable)for(var s=e+1;s0){var c=i.particles.line_linked.color_rgb_line;i.canvas.ctx.strokeStyle="rgba("+c.r+","+c.g+","+c.b+","+r+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(a.x,a.y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()}}},i.fn.interact.attractParticles=function(e,a){var t=e.x-a.x,n=e.y-a.y;if(Math.sqrt(t*t+n*n)<=i.particles.line_linked.distance){var s=t/(1e3*i.particles.move.attract.rotateX),r=n/(1e3*i.particles.move.attract.rotateY);e.vx-=s,e.vy-=r,a.vx+=s,a.vy+=r}},i.fn.interact.bounceParticles=function(e,a){var t=e.x-a.x,i=e.y-a.y,n=Math.sqrt(t*t+i*i);e.radius+a.radius>=n&&(e.vx=-e.vx,e.vy=-e.vy,a.vx=-a.vx,a.vy=-a.vy)},i.fn.modes.pushParticles=function(e,a){i.tmp.pushing=!0;for(var t=0;e>t;t++)i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value,{x:a?a.pos_x:Math.random()*i.canvas.w,y:a?a.pos_y:Math.random()*i.canvas.h})),t==e-1&&(i.particles.move.enable||i.fn.particlesDraw(),i.tmp.pushing=!1)},i.fn.modes.removeParticles=function(e){i.particles.array.splice(0,e),i.particles.move.enable||i.fn.particlesDraw()},i.fn.modes.bubbleParticle=function(e){function a(){e.opacity_bubble=e.opacity,e.radius_bubble=e.radius}function t(a,t,n,s,r){if(a!=t)if(i.tmp.bubble_duration_end)null!=n&&(o=a+(a-(s-p*(s-a)/i.interactivity.modes.bubble.duration)),"size"==r&&(e.radius_bubble=o),"opacity"==r&&(e.opacity_bubble=o));else if(v<=i.interactivity.modes.bubble.distance){if(null!=n)var c=n;else c=s;if(c!=a){var o=s-p*(s-a)/i.interactivity.modes.bubble.duration;"size"==r&&(e.radius_bubble=o),"opacity"==r&&(e.opacity_bubble=o)}}else"size"==r&&(e.radius_bubble=void 0),"opacity"==r&&(e.opacity_bubble=void 0)}if(i.interactivity.events.onhover.enable&&isInArray("bubble",i.interactivity.events.onhover.mode)){var n=e.x-i.interactivity.mouse.pos_x,s=e.y-i.interactivity.mouse.pos_y,r=1-(v=Math.sqrt(n*n+s*s))/i.interactivity.modes.bubble.distance;if(v<=i.interactivity.modes.bubble.distance){if(r>=0&&"mousemove"==i.interactivity.status){if(i.interactivity.modes.bubble.size!=i.particles.size.value)if(i.interactivity.modes.bubble.size>i.particles.size.value)(o=e.radius+i.interactivity.modes.bubble.size*r)>=0&&(e.radius_bubble=o);else{var c=e.radius-i.interactivity.modes.bubble.size,o=e.radius-c*r;e.radius_bubble=o>0?o:0}if(i.interactivity.modes.bubble.opacity!=i.particles.opacity.value)if(i.interactivity.modes.bubble.opacity>i.particles.opacity.value)(l=i.interactivity.modes.bubble.opacity*r)>e.opacity&&l<=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=l);else{var l;(l=e.opacity-(i.particles.opacity.value-i.interactivity.modes.bubble.opacity)*r)=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=l)}}}else a();"mouseleave"==i.interactivity.status&&a()}else if(i.interactivity.events.onclick.enable&&isInArray("bubble",i.interactivity.events.onclick.mode)){if(i.tmp.bubble_clicking){n=e.x-i.interactivity.mouse.click_pos_x,s=e.y-i.interactivity.mouse.click_pos_y;var v=Math.sqrt(n*n+s*s),p=((new Date).getTime()-i.interactivity.mouse.click_time)/1e3;p>i.interactivity.modes.bubble.duration&&(i.tmp.bubble_duration_end=!0),p>2*i.interactivity.modes.bubble.duration&&(i.tmp.bubble_clicking=!1,i.tmp.bubble_duration_end=!1)}i.tmp.bubble_clicking&&(t(i.interactivity.modes.bubble.size,i.particles.size.value,e.radius_bubble,e.radius,"size"),t(i.interactivity.modes.bubble.opacity,i.particles.opacity.value,e.opacity_bubble,e.opacity,"opacity"))}},i.fn.modes.repulseParticle=function(e){if(i.interactivity.events.onhover.enable&&isInArray("repulse",i.interactivity.events.onhover.mode)&&"mousemove"==i.interactivity.status){var a=e.x-i.interactivity.mouse.pos_x,t=e.y-i.interactivity.mouse.pos_y,n=Math.sqrt(a*a+t*t),s={x:a/n,y:t/n},r=clamp(1/(o=i.interactivity.modes.repulse.distance)*(-1*Math.pow(n/o,2)+1)*o*100,0,50),c={x:e.x+s.x*r,y:e.y+s.y*r};"bounce"==i.particles.move.out_mode?(c.x-e.radius>0&&c.x+e.radius0&&c.y+e.radius=p&&function(){var a=Math.atan2(v,l);if(e.vx=d*Math.cos(a),e.vy=d*Math.sin(a),"bounce"==i.particles.move.out_mode){var t={x:e.x+e.vx,y:e.y+e.vy};(t.x+e.radius>i.canvas.w||t.x-e.radius<0)&&(e.vx=-e.vx),(t.y+e.radius>i.canvas.h||t.y-e.radius<0)&&(e.vy=-e.vy)}}()}else 0==i.tmp.repulse_clicking&&(e.vx=e.vx_i,e.vy=e.vy_i)},i.fn.modes.grabParticle=function(e){if(i.interactivity.events.onhover.enable&&"mousemove"==i.interactivity.status){var a=e.x-i.interactivity.mouse.pos_x,t=e.y-i.interactivity.mouse.pos_y,n=Math.sqrt(a*a+t*t);if(n<=i.interactivity.modes.grab.distance){var s=i.interactivity.modes.grab.line_linked.opacity-n/(1/i.interactivity.modes.grab.line_linked.opacity)/i.interactivity.modes.grab.distance;if(s>0){var r=i.particles.line_linked.color_rgb_line;i.canvas.ctx.strokeStyle="rgba("+r.r+","+r.g+","+r.b+","+s+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(i.interactivity.mouse.pos_x,i.interactivity.mouse.pos_y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()}}}},i.fn.vendors.eventsListeners=function(){"window"==i.interactivity.detect_on?i.interactivity.el=window:i.interactivity.el=i.canvas.el,(i.interactivity.events.onhover.enable||i.interactivity.events.onclick.enable)&&(i.interactivity.el.addEventListener("mousemove",(function(e){if(i.interactivity.el==window)var a=e.clientX,t=e.clientY;else a=e.offsetX||e.clientX,t=e.offsetY||e.clientY;i.interactivity.mouse.pos_x=a,i.interactivity.mouse.pos_y=t,i.tmp.retina&&(i.interactivity.mouse.pos_x*=i.canvas.pxratio,i.interactivity.mouse.pos_y*=i.canvas.pxratio),i.interactivity.status="mousemove"})),i.interactivity.el.addEventListener("mouseleave",(function(e){i.interactivity.mouse.pos_x=null,i.interactivity.mouse.pos_y=null,i.interactivity.status="mouseleave"}))),i.interactivity.events.onclick.enable&&i.interactivity.el.addEventListener("click",(function(){if(i.interactivity.mouse.click_pos_x=i.interactivity.mouse.pos_x,i.interactivity.mouse.click_pos_y=i.interactivity.mouse.pos_y,i.interactivity.mouse.click_time=(new Date).getTime(),i.interactivity.events.onclick.enable)switch(i.interactivity.events.onclick.mode){case"push":i.particles.move.enable||1==i.interactivity.modes.push.particles_nb?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):i.interactivity.modes.push.particles_nb>1&&i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb);break;case"remove":i.fn.modes.removeParticles(i.interactivity.modes.remove.particles_nb);break;case"bubble":i.tmp.bubble_clicking=!0;break;case"repulse":i.tmp.repulse_clicking=!0,i.tmp.repulse_count=0,i.tmp.repulse_finish=!1,setTimeout((function(){i.tmp.repulse_clicking=!1}),1e3*i.interactivity.modes.repulse.duration)}}))},i.fn.vendors.densityAutoParticles=function(){if(i.particles.number.density.enable){var e=i.canvas.el.width*i.canvas.el.height/1e3;i.tmp.retina&&(e/=2*i.canvas.pxratio);var a=e*i.particles.number.value/i.particles.number.density.value_area,t=i.particles.array.length-a;0>t?i.fn.modes.pushParticles(Math.abs(t)):i.fn.modes.removeParticles(t)}},i.fn.vendors.checkOverlap=function(e,a){for(var t=0;tv;v++)e.lineTo(i,0),e.translate(i,0),e.rotate(l);e.fill(),e.restore()},i.fn.vendors.exportImg=function(){window.open(i.canvas.el.toDataURL("image/png"),"_blank")},i.fn.vendors.loadImg=function(e){if(i.tmp.img_error=void 0,""!=i.particles.shape.image.src)if("svg"==e){var a=new XMLHttpRequest;a.open("GET",i.particles.shape.image.src),a.onreadystatechange=function(e){4==a.readyState&&(200==a.status?(i.tmp.source_svg=e.currentTarget.response,i.fn.vendors.checkBeforeDraw()):i.tmp.img_error=!0)},a.send()}else{var t=new Image;t.addEventListener("load",(function(){i.tmp.img_obj=t,i.fn.vendors.checkBeforeDraw()})),t.src=i.particles.shape.image.src}else i.tmp.img_error=!0},i.fn.vendors.draw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type?i.tmp.count_svg>=i.particles.number.value?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):null!=i.tmp.img_obj?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame))},i.fn.vendors.checkBeforeDraw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type&&null==i.tmp.source_svg?i.tmp.checkAnimFrame=requestAnimFrame(check):(cancelRequestAnimFrame(i.tmp.checkAnimFrame),i.tmp.img_error||(i.fn.vendors.init(),i.fn.vendors.draw())):(i.fn.vendors.init(),i.fn.vendors.draw())},i.fn.vendors.init=function(){i.fn.retinaInit(),i.fn.canvasInit(),i.fn.canvasSize(),i.fn.canvasPaint(),i.fn.particlesCreate(),i.fn.vendors.densityAutoParticles(),i.particles.line_linked.color_rgb_line=hexToRgb(i.particles.line_linked.color)},i.fn.vendors.start=function(){isInArray("image",i.particles.shape.type)?(i.tmp.img_type=i.particles.shape.image.src.substr(i.particles.shape.image.src.length-3),i.fn.vendors.loadImg(i.tmp.img_type)):i.fn.vendors.checkBeforeDraw()},i.fn.vendors.eventsListeners(),i.fn.vendors.start()};Object.deepExtend=function(e,a){for(var t in a)a[t]&&a[t].constructor&&a[t].constructor===Object?(e[t]=e[t]||{},arguments.callee(e[t],a[t])):e[t]=a[t];return e},window.requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)},window.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout,window.pJSDom=[],window.particlesJS=function(e,a){"string"!=typeof e&&(a=e,e="particles-js"),e||(e="particles-js");var t=document.getElementById(e),i="particles-js-canvas-el",n=t.getElementsByClassName(i);if(n.length)for(;n.length>0;)t.removeChild(n[0]);var s=document.createElement("canvas");s.className=i,s.style.width="100%",s.style.height="100%",null!=document.getElementById(e).appendChild(s)&&pJSDom.push(new pJS(e,a))},window.particlesJS.load=function(e,a,t){var i=new XMLHttpRequest;i.open("GET",a),i.onreadystatechange=function(a){if(4==i.readyState&&200==i.status){var n=JSON.parse(a.currentTarget.response);window.particlesJS(e,n),t&&t()}},i.send()}; --------------------------------------------------------------------------------