diff --git a/.gitignore b/.gitignore index cc35f80..bfd0512 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ .stack-work/ /var/ /dist-newstyle/ -/vendor/ +/dist/ diff --git a/flevum.cabal b/flevum.cabal index 2f9783d..49339c4 100644 --- a/flevum.cabal +++ b/flevum.cabal @@ -4,7 +4,7 @@ name: flevum version: 1.0 author: Eugen Wissner maintainer: belka@caraus.de -copyright: 2018-2024 Eugen Wissner +copyright: 2018-2025 Eugen Wissner build-type: Simple executable flevum @@ -16,7 +16,7 @@ executable flevum base >= 4.14 && < 5, filepath ^>= 1.5.3, hakyll ^>= 4.16.0, - pandoc ^>= 3.7, + pandoc ^>= 3.8, process ^>= 1.6.13, time, time-locale-compat ^>= 0.1.1, diff --git a/henry/.gitignore b/henry/.gitignore deleted file mode 100644 index f40fbd8..0000000 --- a/henry/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -_site -.sass-cache -.jekyll-cache -.jekyll-metadata -vendor diff --git a/henry/404.html b/henry/404.html deleted file mode 100644 index 4cdb618..0000000 --- a/henry/404.html +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: 404 -permalink: /404.html ---- \ No newline at end of file diff --git a/henry/Gemfile b/henry/Gemfile deleted file mode 100644 index 22a1e98..0000000 --- a/henry/Gemfile +++ /dev/null @@ -1,29 +0,0 @@ -source "https://rubygems.org" -# Hello! This is where you manage which Jekyll version is used to run. -# When you want to use a different version, change it below, save the -# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: -# -# bundle exec jekyll serve -# -# This will help ensure the proper Jekyll version is running. -# Happy Jekylling! -gem "jekyll", "~> 4.2.0" -# If you want to use GitHub Pages, remove the "gem "jekyll"" above and -# uncomment the line below. To upgrade, run `bundle update github-pages`. -# gem "github-pages", group: :jekyll_plugins -# If you have any plugins, put them here! -group :jekyll_plugins do - gem "jekyll-feed" - gem "jekyll-paginate" - gem 'jekyll-sitemap' -end - -# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem -# and associated library. -platforms :mingw, :x64_mingw, :mswin, :jruby do - gem "tzinfo", "~> 1.2" - gem "tzinfo-data" -end - -# Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] \ No newline at end of file diff --git a/henry/Gemfile.lock b/henry/Gemfile.lock deleted file mode 100644 index e95cc93..0000000 --- a/henry/Gemfile.lock +++ /dev/null @@ -1,87 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - addressable (2.7.0) - public_suffix (>= 2.0.2, < 5.0) - colorator (1.1.0) - concurrent-ruby (1.1.8) - em-websocket (0.5.2) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - eventmachine (1.2.7-x64-mingw32) - ffi (1.14.2-x64-mingw32) - forwardable-extended (2.6.0) - http_parser.rb (0.6.0) - i18n (1.8.7) - concurrent-ruby (~> 1.0) - jekyll (4.2.0) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (~> 1.0) - jekyll-sass-converter (~> 2.0) - jekyll-watch (~> 2.0) - kramdown (~> 2.3) - kramdown-parser-gfm (~> 1.0) - liquid (~> 4.0) - mercenary (~> 0.4.0) - pathutil (~> 0.9) - rouge (~> 3.0) - safe_yaml (~> 1.0) - terminal-table (~> 2.0) - jekyll-feed (0.15.1) - jekyll (>= 3.7, < 5.0) - jekyll-paginate (1.1.0) - jekyll-sass-converter (2.1.0) - sassc (> 2.0.1, < 3.0) - jekyll-seo-tag (2.7.1) - jekyll (>= 3.8, < 5.0) - jekyll-sitemap (1.4.0) - jekyll (>= 3.7, < 5.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - kramdown (2.3.0) - rexml - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.3) - listen (3.4.1) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.4.0) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (4.0.6) - rb-fsevent (0.10.4) - rb-inotify (0.10.1) - ffi (~> 1.0) - rexml (3.2.4) - rouge (3.26.0) - safe_yaml (1.0.5) - sassc (2.4.0-x64-mingw32) - ffi (~> 1.9) - terminal-table (2.0.0) - unicode-display_width (~> 1.1, >= 1.1.1) - thread_safe (0.3.6) - tzinfo (1.2.9) - thread_safe (~> 0.1) - tzinfo-data (1.2020.6) - tzinfo (>= 1.0.0) - unicode-display_width (1.7.0) - wdm (0.1.1) - -PLATFORMS - x64-mingw32 - -DEPENDENCIES - jekyll (~> 4.2.0) - jekyll-feed - jekyll-paginate - jekyll-seo-tag - jekyll-sitemap - tzinfo (~> 1.2) - tzinfo-data - wdm (~> 0.1.1) - -BUNDLED WITH - 2.1.4 diff --git a/henry/_category/docs.html b/henry/_category/docs.html deleted file mode 100644 index 6a53339..0000000 --- a/henry/_category/docs.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -category: docs ---- \ No newline at end of file diff --git a/henry/_category/jekyll.html b/henry/_category/jekyll.html deleted file mode 100644 index 56ea253..0000000 --- a/henry/_category/jekyll.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -category: jekyll ---- \ No newline at end of file diff --git a/henry/_config.yml b/henry/_config.yml deleted file mode 100644 index 5f72ebf..0000000 --- a/henry/_config.yml +++ /dev/null @@ -1,93 +0,0 @@ -# General -title: Henry -description: 'Simple, yet powerful Jekyll theme' - -# Paths -baseurl: "" -url: "" - -# Options -darkMode: true -showTags: true -showCategories: true -showSearch: true -showSharePost: true -showFavIcon: true -showComments: true -showCookieBanner: false -useExternalContactForm: false -useAnalytics: true - -# Third Party / Social -facebook: 'https://facebook.com/' -twitter: 'https://twitter.com/' -instagram: 'https://instagram.com/' -email: 'your@email.com' -formspree: https://formspree.io/f/xxxxxxxx -googleAnalyticsTrackingCode: UA-XXXXXXX-2 -disqusID: 'disqusID' -twitterHandle: 'twitterHandle' - -# Collections -collections: - projects: - output: true - category: - output: true - tag: - output: true - -defaults: - - scope: - path: "" - type: "posts" - values: - layout: "post" - comments: "true" - - scope: - path: "" - type: "pages" - values: - showInMenu: true - - scope: - path: "" - type: "projects" - values: - layout: "project" - - scope: - path: "" - type: "category" - values: - layout: "category" - - scope: - path: "" - type: "tag" - values: - layout: "tag" - - scope: - path: "" - values: - layout: "default" - -# Permalinks -permalink: /:categories/:year/:month/:day/:title/ - -# Pagination -paginate: 10 -paginate_path: "/blog/page:num/" - -# Includes -include: ["_pages"] - -# Post Separator -excerpt_separator: - -# Assets -sass: - sass_dir: _sass - style: compressed - -# Plugins -plugins: - - jekyll-feed - - jekyll-sitemap \ No newline at end of file diff --git a/henry/_data/authors.yml b/henry/_data/authors.yml deleted file mode 100644 index bc8248b..0000000 --- a/henry/_data/authors.yml +++ /dev/null @@ -1,8 +0,0 @@ -henry: - name: Henry Dawson - title: Ordinary Gentleman - avatar: /assets/images/user1.webp -guest: - name: Guest Star - title: Guest Author - avatar: /assets/images/user2.webp \ No newline at end of file diff --git a/henry/_includes/components/comments.html b/henry/_includes/components/comments.html deleted file mode 100644 index 61e9e54..0000000 --- a/henry/_includes/components/comments.html +++ /dev/null @@ -1,19 +0,0 @@ -
- - \ No newline at end of file diff --git a/henry/_includes/components/contactForm.html b/henry/_includes/components/contactForm.html deleted file mode 100644 index f47bfa0..0000000 --- a/henry/_includes/components/contactForm.html +++ /dev/null @@ -1,23 +0,0 @@ - \ No newline at end of file diff --git a/henry/_includes/components/cookieBanner.html b/henry/_includes/components/cookieBanner.html deleted file mode 100644 index d2d4291..0000000 --- a/henry/_includes/components/cookieBanner.html +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/henry/_includes/components/lightbox.html b/henry/_includes/components/lightbox.html deleted file mode 100644 index d517343..0000000 --- a/henry/_includes/components/lightbox.html +++ /dev/null @@ -1,10 +0,0 @@ -
- - -
\ No newline at end of file diff --git a/henry/_includes/components/pagination.html b/henry/_includes/components/pagination.html deleted file mode 100644 index 81eef9d..0000000 --- a/henry/_includes/components/pagination.html +++ /dev/null @@ -1,17 +0,0 @@ -{% if paginator.total_pages > 1 %} -
- {% if paginator.previous_page %} - - {% else %} -   - {% endif %} - - Page {{paginator.page}} of {{paginator.total_pages}} - - {% if paginator.next_page %} - - {% else %} -   - {% endif %} -
-{% endif %} \ No newline at end of file diff --git a/henry/_includes/components/post.html b/henry/_includes/components/post.html deleted file mode 100644 index 46bea79..0000000 --- a/henry/_includes/components/post.html +++ /dev/null @@ -1,83 +0,0 @@ -
- {% if page.layout != 'post' %} - {% assign post = post %} - {% else %} - {% assign post = page %} - {% endif %} - - {% assign author = site.data.authors[post.author] %} - -

- {% if page.layout != 'post' %} - {{post.title}} - {% else %} - {{post.title}} - {% endif %} -

-
- {% if author %} - {{author.name}} - {% else %} - {% assign author = site.data.authors['noavatar'] %} - - {% endif %} -
- {{author.name}} - {{author.title}} -
- -
- -
- {% if page.layout != 'post' %} - {{post.excerpt}} - {% else %} - {{post.content | markdownify }} - {% endif %} - - {% if page.layout != 'post' %} - {% if post.excerpt != post.content %} -

Continue reading...

- {% endif %} - {% endif %} -
- -
- {% if site.showTags and post.tags %} - - {% endif %} - {% if page.layout == 'post' and site.showSharePost %} -
- Share - - -
- {% endif %} -
- - {% if page.layout == 'post' and post.comments and site.showComments %} -
\ No newline at end of file diff --git a/henry/_includes/components/siteSearch.html b/henry/_includes/components/siteSearch.html deleted file mode 100644 index becd6e4..0000000 --- a/henry/_includes/components/siteSearch.html +++ /dev/null @@ -1,8 +0,0 @@ - \ No newline at end of file diff --git a/henry/_includes/fonts.html b/henry/_includes/fonts.html deleted file mode 100644 index 8e4a6ae..0000000 --- a/henry/_includes/fonts.html +++ /dev/null @@ -1,308 +0,0 @@ - \ No newline at end of file diff --git a/henry/_includes/layout/footer.html b/henry/_includes/layout/footer.html deleted file mode 100644 index eb04794..0000000 --- a/henry/_includes/layout/footer.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/henry/_includes/layout/header.html b/henry/_includes/layout/header.html deleted file mode 100644 index fa9674d..0000000 --- a/henry/_includes/layout/header.html +++ /dev/null @@ -1,9 +0,0 @@ - \ No newline at end of file diff --git a/henry/_includes/layout/navigation.html b/henry/_includes/layout/navigation.html deleted file mode 100644 index cd79d5c..0000000 --- a/henry/_includes/layout/navigation.html +++ /dev/null @@ -1,19 +0,0 @@ - \ No newline at end of file diff --git a/henry/_includes/meta.html b/henry/_includes/meta.html deleted file mode 100644 index 70962ae..0000000 --- a/henry/_includes/meta.html +++ /dev/null @@ -1,40 +0,0 @@ - - -{% if page.title %} - -{% else %} - -{% endif %} - -{% if page.categories %} - {% for category in page.categories limit:1 %} - - {% endfor %} -{% endif %} - -{% if page.tags %} - {% for tag in page.tags limit:1 %} - - {% endfor %} -{% endif %} - -{% if page.title %} - -{% else %} - -{% endif %} - - - - - - - - -{% if page.title %} - -{% else %} - -{% endif %} - - \ No newline at end of file diff --git a/henry/_includes/partials/burgerMenu.html b/henry/_includes/partials/burgerMenu.html deleted file mode 100644 index 5d0bdc2..0000000 --- a/henry/_includes/partials/burgerMenu.html +++ /dev/null @@ -1,4 +0,0 @@ - - \ No newline at end of file diff --git a/henry/_includes/partials/headerSeparator.html b/henry/_includes/partials/headerSeparator.html deleted file mode 100644 index 561de6d..0000000 --- a/henry/_includes/partials/headerSeparator.html +++ /dev/null @@ -1 +0,0 @@ -
\ No newline at end of file diff --git a/henry/_includes/partials/readingProgressBar.html b/henry/_includes/partials/readingProgressBar.html deleted file mode 100644 index 942fd86..0000000 --- a/henry/_includes/partials/readingProgressBar.html +++ /dev/null @@ -1 +0,0 @@ -
\ No newline at end of file diff --git a/henry/_includes/partials/readingTimeCalculator.html b/henry/_includes/partials/readingTimeCalculator.html deleted file mode 100644 index ec6db90..0000000 --- a/henry/_includes/partials/readingTimeCalculator.html +++ /dev/null @@ -1,8 +0,0 @@ - - {% assign words = post.content | number_of_words %} - {% if words < 360 %} - 1 Min - {% else %} - {{words | divided_by:180}} Mins - {% endif %} - \ No newline at end of file diff --git a/henry/_includes/partials/themeChanger.html b/henry/_includes/partials/themeChanger.html deleted file mode 100644 index 83de005..0000000 --- a/henry/_includes/partials/themeChanger.html +++ /dev/null @@ -1,3 +0,0 @@ -
-
-
\ No newline at end of file diff --git a/henry/_includes/scripts.html b/henry/_includes/scripts.html deleted file mode 100644 index 077800d..0000000 --- a/henry/_includes/scripts.html +++ /dev/null @@ -1,39 +0,0 @@ - - - -{% if site.showCookieBanner %} - -{% endif %} - -{% if page.layout == "project" %} - - -{% endif %} - -{% if site.useExternalContactForm %} - -{% endif %} - -{% if page.layout == "post" %} - -{% endif %} - - - -{% if site.useAnalytics %} - - -{% endif %} \ No newline at end of file diff --git a/henry/_layouts/404.html b/henry/_layouts/404.html deleted file mode 100644 index b5d7a5f..0000000 --- a/henry/_layouts/404.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: default ---- - -
- -

Oops! There is nothing here.

-
\ No newline at end of file diff --git a/henry/_layouts/blog.html b/henry/_layouts/blog.html deleted file mode 100644 index beb80b7..0000000 --- a/henry/_layouts/blog.html +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: default ---- - -
- {% for post in paginator.posts %} - {% include components/post.html %} - {% endfor %} -
- -{% include components/pagination.html %} \ No newline at end of file diff --git a/henry/_layouts/category.html b/henry/_layouts/category.html deleted file mode 100644 index a20dd3c..0000000 --- a/henry/_layouts/category.html +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: default ---- - -

Posts From Category: {{page.category}}

- -
- {% for post in site.categories[page.category] %} - {% include components/post.html %} - {% endfor %} -
\ No newline at end of file diff --git a/henry/_layouts/default.html b/henry/_layouts/default.html deleted file mode 100644 index 6301ea6..0000000 --- a/henry/_layouts/default.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - {% if page.description %} - - {% else %} - - {% endif %} - - {% feed_meta %} - - {% include meta.html %} - - {% if page.title %}{{page.title | escape}} |{% endif %} {{site.title | escape}} {% if site.description %}— {{site.description | escape }} {% endif %} - - {% if site.showFavIcon %} - - {% endif %} - - {% include fonts.html %} - - - - - {% if site.darkMode %} - {% include partials/themeChanger.html %} - {% endif %} - - {% include partials/burgerMenu.html %} - - {% include layout/header.html %} - - {% include layout/navigation.html %} - - {% if site.showSearch %} - {% include components/siteSearch.html %} - {% endif %} - - {% include partials/headerSeparator.html %} - -
- {{content}} -
- - {% include layout/footer.html %} - - {% if site.useExternalContactForm %} - {% include components/contactForm.html %} - {% endif %} - - {% if page.layout == 'project' %} - {% include components/lightbox.html %} - {% endif %} - - {% if site.showCookieBanner %} - {% include components/cookieBanner.html %} - {% endif %} - - {% include scripts.html %} - - \ No newline at end of file diff --git a/henry/_layouts/page.html b/henry/_layouts/page.html deleted file mode 100644 index 3b71c8c..0000000 --- a/henry/_layouts/page.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: default ---- - -
-

{{page.title}}

-
- {{content}} -
-
\ No newline at end of file diff --git a/henry/_layouts/post.html b/henry/_layouts/post.html deleted file mode 100644 index bd636d5..0000000 --- a/henry/_layouts/post.html +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: default ---- - -{% include partials/readingProgressBar.html %} -{% include components/post.html %} \ No newline at end of file diff --git a/henry/_layouts/project.html b/henry/_layouts/project.html deleted file mode 100644 index f4fcff2..0000000 --- a/henry/_layouts/project.html +++ /dev/null @@ -1,48 +0,0 @@ ---- -layout: default ---- - -
- -
- Overview -

{{page.name}}

-
{{content}}
-
-
-
-
- Date - -
-
- Client - {{page.client}} -
-
- Role - {{page.role}} -
- View Project -
-
-
\ No newline at end of file diff --git a/henry/_layouts/tag.html b/henry/_layouts/tag.html deleted file mode 100644 index 7e45fda..0000000 --- a/henry/_layouts/tag.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: default ---- - -

Posts With Tag: {{page.tag}}

- -
- {% for post in site.posts %} - {% if post.tags contains page.tag %} - {% include components/post.html %} - {% endif %} - {% endfor %} -
\ No newline at end of file diff --git a/henry/_pages/about.html b/henry/_pages/about.html deleted file mode 100644 index ac9021b..0000000 --- a/henry/_pages/about.html +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: default -title: About -order: 2 -customPage: true -permalink: /about/ ---- - -
-
- {{site.title}} - -
- -

Hello, I'm {{site.title}}!

-

I'm a London-based front-end web developer with over ten years of experience. I design and build beautiful, responsive websites.

- -

Henry is an English male given name and surname derived from Old French Henri/Henry, itself derived from the Middle High German name Heinrich, from Old High German Haimirich (from haim- "home" and rich "ruler"), which was conflated with the name Haginrich (from hagin "enclosure" and rich "ruler").

-

The Old High German name is recorded from the 8th century, in the variants Haimirich, Haimerich, Heimerich, Hemirih. Harry, its English short form, was considered the "spoken form" of Henry in medieval England. Most English kings named Henry were called Harry. The name became so popular in England that the phrase "Tom, Dick, and Harry" began to be used to refer to men in general. The common English feminine forms of the name are Harriet and Henrietta.

-
\ No newline at end of file diff --git a/henry/_pages/work.html b/henry/_pages/work.html deleted file mode 100644 index 03d2142..0000000 --- a/henry/_pages/work.html +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: default -title: Work -order: 1 -customPage: true -permalink: /work/ ---- - -
-
- {% assign sortedProjects = site.projects | sort: 'creationDate' | reverse %} - {% for project in sortedProjects %} -
- {{project.name}} -

{{project.name}}

- {{project.category}} -
- {% endfor %} - -
\ No newline at end of file diff --git a/henry/_posts/2021-01-13-sample-data.md b/henry/_posts/2021-01-13-sample-data.md deleted file mode 100644 index 0829f95..0000000 --- a/henry/_posts/2021-01-13-sample-data.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: "Sample Data" -categories: docs -tags: jekyll demo documentation ---- - -
- 1917 -
- -Markdown (or Textile), Liquid, HTML & CSS go in. Static sites come out ready for deployment. - -**Headings** - -# Heading 1 - -## Heading 2 - -### Heading 3 - -#### Heading 4 - -##### Heading 5 - -###### Heading 6 - - - -**Blockquote** - -> No more databases, comment moderation, or pesky updates to install—just your content. - -**Unordered List** - -* Jekyll - * Nested Jekyll - * Nested Ruby -* Ruby -* Markdown -* Liquid - -**Ordered List** - -1. Jekyll - 1. Nested Jekyll - 2. Nested Ruby -2. Ruby -3. Markdown -4. Liquid - -**Link** - -This is an example inline link. - -**Paragraph w/ strong, em, etc.** - -These are just a few of the *available* **configuration** options. Many configuration options can either be specified as flags on the command line, or alternatively (and more commonly) they can be specified in a _config.yml file at the root of the source directory. Jekyll will automatically use the options from this file when run. For example, if you place the following lines in your _config.yml file. - -**Image** -
- Dunkirk -
From the movie Dunkirk.
-
- -**Video** - -
- -
- -**Default Code Tag** - -I'm code block. - -**Styled Code Block** - -{% highlight ruby linenos %} -#!/usr/bin/ruby -$LOAD_PATH << '.' -require "support" - -class Decade -include Week - no_of_yrs=10 - def no_of_months - puts Week::FIRST_DAY - number=10*12 - puts number - end -end -d1=Decade.new -puts Week::FIRST_DAY -Week.weeks_in_month -Week.weeks_in_year -d1.no_of_months -{% endhighlight %} - -**Definition Lists** - -
-
Definition Title
-
Definition Description
-
- -**Paragraphs w/ Aligned Images** - -The Jekyll gem makes a jekyll executable available to you in your Terminal window. You can use this command in a number of ways. - -
- Joker -
From the movie Joker.
-
- -This site aims to be a comprehensive guide to Jekyll. We’ll cover topics such as getting your site up and running, creating and managing your content, customizing the way your site works and looks, deploying to various environments, and give you some advice on participating in the future development of Jekyll itself. - -Jekyll is a simple, blog-aware, static site generator. It takes a template directory containing raw text files in various formats, runs it through a converter (like Markdown) and our Liquid renderer, and spits out a complete, ready-to-publish static website suitable for serving with your favorite web server. Jekyll also happens to be the engine behind GitHub Pages, which means you can use Jekyll to host your project’s page, blog, or website from GitHub's servers for free. - -
- Fight Club -
From the movie Fight Club.
-
- -Throughout this guide there are a number of small-but-handy pieces of information that can make using Jekyll easier, more interesting, and less hazardous. Here's what to look out for. - -If you come across anything along the way that we haven’t covered, or if you know of a tip you think others would find handy, please file an issue and we’ll see about including it in this guide. - -The front matter is where Jekyll starts to get really cool. Any file that contains a YAML front matter block will be processed by Jekyll as a special file. The front matter must be the first thing in the file and must take the form of valid YAML set between triple-dashed lines. \ No newline at end of file diff --git a/henry/_posts/2021-01-14-how-to-use-the-theme.md b/henry/_posts/2021-01-14-how-to-use-the-theme.md deleted file mode 100644 index 244c8a2..0000000 --- a/henry/_posts/2021-01-14-how-to-use-the-theme.md +++ /dev/null @@ -1,188 +0,0 @@ ---- -author: guest -title: "How To Use" -categories: docs jekyll -tags: jekyll settings ---- - -
- The Matrix -
- -### Configuration -All configuration options are in the _config.yml file. Let's take a look of the important ones. - -#### General -* **title**: Site name. -* **description**: Site description. - -#### Paths -These options are pretty important, so take a closer look. If you experience any problems with your paths you should check here. - -* **url**: A lot of people have problems when they try to setup their paths. That's why I've decided to keep things as simple as possible. So, usually you'll have to paste here your domain https://mysite.com and then in the baseurl you paste your subdomain (if there is one). The theme is configured to use absolute paths, so you'll have to paste the whole path here — domain + subdomain. For example, if your website is in the root folder, write down https://mysite.com, if there is a subfolder — https://mysite.com/subfolder. In this case you don't need the baseurl anymore. -* **baseurl**: No longer needed due theme configuration. I left it just in case. - -#### Options -* **darkMode**: Enable/disable dark theme for the theme. If enabled you'll see an icon in the upper right corner. -* **showTags**: Enable/disable visibility of post's tags. -* **showCategories**: Enable/disable visibility of post's categories. -* **showSearch**: Enable/disable visibility of global site search. -* **showSharePost**: Enable/disable visibility of post's share options. -* **showFavIcon**: Enable/disable visibility of favicon. -* **showComments**: Enable/disable visibility of post's comments. -* **showCookieBanner**: Enable/disable visibility of the cookie banner. This theme supports Google Analytics (GA), so there have to be some kind of user notification. If you don't use GA or other tracking service, you should disable it. Keep in mind that the banner is pretty basic, so in some cases you may need to customize it or entirely replace it with another third-party cookie service. -* **useExternalContactForm**: Enable/disable usage of [Formspree](https://formspree.io/){:target="_blank"} as default contact form. If this option is disabled, when you click **Contact** link in the main menu you'll be redirected directly to your default mail client. If enabled, a modal box will pop up and you'll be introduced to a more user-friendly contact form. -* **useAnalytics**: Enable/disable usage of Google Analytics. - -#### Third Party / Social -* **facebook**: Link to your facebook page. -* **twitter**: Link to your twitter page. -* **instagram**: Link to your instagram page. -* **email**: Your email address. -* **formspree**: Link to your [Formspree](https://formspree.io/){:target="_blank"} form. If you use Formspree, generate form ID and paste it here. Works only if you activated useExternalContactForm option in the previos section. -* **googleAnalyticsTrackingCode**: Add your Google Analytics Tracking ID. Example ID: *UA-XXXXXXX-2*. -* **disqusID**: Add your website shortname from Disqus. Keep in mind that by default Disqus comments are not configured. If you use this make sure showComments option is set to **true**. -* **twitterHandle**: Add your Twitter handle. - - - -#### Permalinks -There is a default structure of your links. If you want a different one, please check [Jekyll documentation](https://jekyllrb.com/docs/permalinks/){:target="_blank"}. - -#### Pagination -* **paginate**: Number of posts per page. -* **paginate_path**: The default path is /blog/page:num/, so for example if you go to the second page you'll see something like this http://mysite.com/blog/page2/. - -**Important Note:** Due to theme's compatibility with GitHub Pages, pagination is only supported on the default posts/blog page — **Blog**. When you list categories or tags, there is no pagination. - -#### Includes -* **include**: Force the inclusion of the pages directory. - -#### Post Separator -* **excerpt_separator**: By default when you're writing a post, you should add <!--more--> to define the end of the excerpt. If you remove this option your excerpt will show with the default settings and you'll not have control over the content. If you want to keep the custom separator (I strongly suggest) you can leave it as is or change the <!--more--> tag as well. - -#### Assets Settings -* **sass_dir**: Choose the path to your SCSS files. -* **style**: Choose the compression method for the final CSS file. - -If you need extra help, just check out the [official Jekyll documentation](https://jekyllrb.com/docs/home/){:target="_blank"}. - -### How To Add a Post -All you need to do is to add a file to your _posts directory with the following format: YEAR-MONTH-DAY-title.MARKUP. Where YEAR is a four-digit number, MONTH and DAY are both two-digit numbers, and MARKUP is the file extension representing the format used in the file. You can overwrite these in the post's front matter. Take for example the current file. The title is different from the one in the filename. - -In the beginning of the every post you have a so called [front matter](https://jekyllrb.com/docs/frontmatter/){:target="_blank"} block which contains some data about the post. Here is the short description of the options. - -* **layout**: Post's layout. This setting is configured by default. Use only if you want a custom post layout. -* **author**: Post's author. You can see all authors in the authors.yml file in the _data folder. -* **title**: Post's title. Overwrites the one from the filename. -* **date**: Post's date. Overwrites the one from the filename. -* **categories**: This post can be included under one or many categories. List them here. Keep in mind that you have to create a file for every new category. Check out the guide for creating a new category below. -* **tags**: List the specific post tags. Keep in mind that you have to create a file for every new tag. Check out the guide for creating a new category below. -* **description**: Meta description used for better SEO. -* **comments**: By default they are always true, but if you want to turn them off for a specific post just set this to false. - -You can add more or different data in the front matter by yourself. You'll just have to learn how to display it :). - -### How To Add a Page -Adding page is even simpler than adding post. Go go _pages folder and add a file with the following format: page-title.FORMAT. FORMAT is the file extension and it can be .md, .markdown or .html. Pages are also using front matter to add information to your page. Just like posts, pages have default front matter. - -* **layout**: The page's layout. Unlike posts, setting the layout for the page is required. -* **title**: Page's title. -* **permalink**: This is important. If you do not enter the permalink, your URL will be something like this http://example.com/_pages/about. Enter the permalink and get rid of /_pages/ part. Do not forget the trailing slash! -* **showInMenu**: By default every page is shown in the main menu. Set it to false if you don't want it to be visible there. - -There are two "special" or in other words hardcoded pages that are custom for this theme - **About Page** and **Work Page**. They have some additional front matter that I'd like to share with you. -Special pages do not use page layout so they'll need another property to show up in the main menu. - -* **customPage**: If you want a special page to be visible in the menu you'll have to keep this option set to true along with showInMenu. If false or removed the page will not be visible. -* **order**: Custom pages can be ordered. Just place a number here. - -### How To Add a New Project -Go to the _projects folder and create a new file. There is a little bit of front matter that you'll have to fill: - -{% highlight ruby linenos %} ---- -name: App -category: App Design -creationDate: 2021-02-01 -client: Tesla -role: App Deisgner -website: https://project.website.com -cover: http://path.to.cover.image.jpg -gallery: -- http://path.to.image1.jpg -- http://path.to.image2.jpg ---- -{% endhighlight %} - -I think all of the properties are self-explanatory. Keep in mind that demo projects are using webp format for the images and they are hosted on my server to keep the size of the theme as low as possible. If you keep your images in the images folder (as you should be) the path is /assets/images/image.FORMAT. - -### How To Add a New Category -I wanted to keep this theme as light and clean as possible, so the use of external plugins was not an option. Besides, I also wanted to be GitHub Pages compatible. -Adding a category is pretty simple, but some empty file creation is needed. Categories and tags are collections (just like projects) and every collection item require a dedicated file. Here are the steps of new category creation. - -1. Go to _category folder and create new file. For example: documentation.html. -2. Open that file and add category property in the front matter. *Note: Filename and category must be exactly the same.* - -{% highlight ruby linenos %} ---- -category: documentation ---- -{% endhighlight %} - -{:start="3"} -3. *Optional*: Go to a post and add category name to the list. - -### How To Add a New Tag -I wanted to keep this theme as light and clean as possible, so the use of external plugins was not an option. Besides, I also wanted to be GitHub Pages compatible. -Adding a tag is pretty simple, but some file creation is needed. Categories and tags are collections (just like projects) and every collection item require a dedicated file. Here are the steps of new tag creation. - -1. Go to _tag folder and create new file. For example: jekyll.html. -2. Open that file and add tag property in the front matter. *Note: Filename and tag must be exactly the same.* - -{% highlight ruby linenos %} ---- -tag: jekyll ---- -{% endhighlight %} - -{:start="3"} -3. *Optional*: Go to a post and add tag name to the list. - -### How To Add a New Author -1. Go to _data folder and open authors.yml file. Take a look at the examples and add another author. -2. Then go to a specific post and add author's name in the front matter. - -{% highlight ruby linenos %} -henry: - name: Henry Dawson - title: Ordinary Gentleman - avatar: /assets/images/user1.webp -{% endhighlight %} - -Take a look at the example above. henry is the name that you put in the post's front matter and the name is just a display name that is used thereafter. - -### Enable & Configure Disqus Comments -To enable and configure comments you must do the following: - -1. Go to _config.yml and under **Options** enable showComments. -2. Go to _includes/components/comments.html file and edit your PAGE_URL and PAGE_IDENTIFIER variables. [Read about Disqus](https://disqus.com/admin/install/platforms/universalcode){:target="_blank"}. - -### Formspree (Contact Form) -Go to [Formspree](https://formspree.io/){:target="_blank"} and register. Create a new project and then a form. Paste form's endpoint to the _config.yml file, section **Third Party / Social**. Voilà! - -### Site Search -This theme use a third-party search library that is completely JavaScript. In the root folder you'll find the search.json file which is basically the search result's config. If you go to _includes/scripts.html you can also configure the library itself. You can change the settings but make sure you know what you are doing. - -### GitHub Pages -Here is the one of many ways to upload the theme to GitHub Pages. - -1. Go to [GitHub](https://github.com/){:target="_blank"} and create a new repository. It can be private or public for now, just don't forget to make it public when you finish editing. -2. Clone your repo and create a new branch called gh-pages. -3. Go to your Henry theme and open _config.yml file. After url in the **Paths** section write down your full URL. Example: https://githubusername.github.io/repositoryname. Build using bundle exec jekyll build. -4. Copy the contents of _site folder to the newly created GitHub Pages repo. -5. Then define user by executing two commands: git config user.email "Your Email" and git config user.name "Your Name". -6. Use git add . to stage all files, then type git commit -m "Initial commit" to make your first commit and that followed by git push -u origin gh-pages to push the changes. -7. Open https://githubusername.github.io/repositoryname (remember, you'll have to make it public). If you want to push new changes to the website, repeat step 6 and in the end just use git push. - -That's it! Do not hesitate to ask if you have any questions. Happy blogging! \ No newline at end of file diff --git a/henry/_posts/2021-01-15-how-to-install-the-theme.md b/henry/_posts/2021-01-15-how-to-install-the-theme.md deleted file mode 100644 index 0950480..0000000 --- a/henry/_posts/2021-01-15-how-to-install-the-theme.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -author: henry -title: "How To Install" -categories: docs -tags: jekyll ruby bundler documentation ---- - -
- Arrival -
- -I assume that you have already downloaded and installed Ruby. Here's what you need to do next: - -1. Run gem install jekyll bundler. -2. Extract the theme to a desired folder. -3. Go into that folder by executing cd name-of-the-folder. -4. Run bundle install. -5. If you want to access and customize the theme, use bundle exec jekyll serve. This way it will be accessible on http://localhost:4000/ or http://127.0.0.1:4000/. Also, after every change you make the theme will rebuild itself automatically. -6. Run bundle exec jekyll build and upload the content of the compiled _site folder on your host server. \ No newline at end of file diff --git a/henry/_projects/app.html b/henry/_projects/app.html deleted file mode 100644 index 479dbea..0000000 --- a/henry/_projects/app.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: App -category: App Design -creationDate: 2021-02-01 -client: Tesla -role: App Deisgner -website: https://dribbble.com/UpNow_Studio -cover: http://joro.me/demo-assets/jekyll/henry/project6-main.webp -gallery: -- http://joro.me/demo-assets/jekyll/henry/project6-lb1.webp -- http://joro.me/demo-assets/jekyll/henry/project6-lb2.webp ---- -

Henry is an English male given name and surname derived from Old French Henri/Henry, itself derived from the Middle High German name Heinrich, from Old High German Haimirich (from haim- "home" and rich "ruler"), which was conflated with the name Haginrich (from hagin "enclosure" and rich "ruler").

-

Images from Upnow Studio.

\ No newline at end of file diff --git a/henry/_projects/customer-logo.html b/henry/_projects/customer-logo.html deleted file mode 100644 index 1f88606..0000000 --- a/henry/_projects/customer-logo.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Customer Logo -category: Logo Design -creationDate: 2021-02-13 -client: Forbes -role: Deisgner -website: https://dribbble.com/christinescarcelli -cover: http://joro.me/demo-assets/jekyll/henry/project3-main.webp -gallery: -- http://joro.me/demo-assets/jekyll/henry/project3-lb1.webp -- http://joro.me/demo-assets/jekyll/henry/project3-lb2.webp ---- -

Henry is an English male given name and surname derived from Old French Henri/Henry, itself derived from the Middle High German name Heinrich, from Old High German Haimirich (from haim- "home" and rich "ruler"), which was conflated with the name Haginrich (from hagin "enclosure" and rich "ruler").

-

Images from Christine Scarcelli.

\ No newline at end of file diff --git a/henry/_projects/dashboard.html b/henry/_projects/dashboard.html deleted file mode 100644 index c62885d..0000000 --- a/henry/_projects/dashboard.html +++ /dev/null @@ -1,15 +0,0 @@ ---- -name: Dashboard -category: UI/UX -creationDate: 2021-02-20 -client: Amazon -role: Web Developer -website: https://dribbble.com/RikoSapto -cover: http://joro.me/demo-assets/jekyll/henry/project1-main.webp -gallery: -- http://joro.me/demo-assets/jekyll/henry/project1-lb1.webp -- http://joro.me/demo-assets/jekyll/henry/project1-lb2.webp ---- - -

Henry is an English male given name and surname derived from Old French Henri/Henry, itself derived from the Middle High German name Heinrich, from Old High German Haimirich (from haim- "home" and rich "ruler"), which was conflated with the name Haginrich (from hagin "enclosure" and rich "ruler").

-

Images from Riko Sapto Dimo.

\ No newline at end of file diff --git a/henry/_projects/illustration.html b/henry/_projects/illustration.html deleted file mode 100644 index 920db35..0000000 --- a/henry/_projects/illustration.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Illustration -category: Vector Graphics -creationDate: 2021-02-08 -client: FitBit -role: Deisgner -website: https://dribbble.com/mspasova -cover: http://joro.me/demo-assets/jekyll/henry/project4-main.webp -gallery: -- http://joro.me/demo-assets/jekyll/henry/project4-lb1.webp -- http://joro.me/demo-assets/jekyll/henry/project4-lb2.webp ---- -

Henry is an English male given name and surname derived from Old French Henri/Henry, itself derived from the Middle High German name Heinrich, from Old High German Haimirich (from haim- "home" and rich "ruler"), which was conflated with the name Haginrich (from hagin "enclosure" and rich "ruler").

-

Images from Mila Spasova.

\ No newline at end of file diff --git a/henry/_projects/product-page.html b/henry/_projects/product-page.html deleted file mode 100644 index 385d6fc..0000000 --- a/henry/_projects/product-page.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Product Page -category: Web Design -creationDate: 2021-02-16 -client: Nike -role: Front-End Developer -website: https://dribbble.com/OrangePeelStudiosUK -cover: http://joro.me/demo-assets/jekyll/henry/project2-main.webp -gallery: -- http://joro.me/demo-assets/jekyll/henry/project2-lb1.webp -- http://joro.me/demo-assets/jekyll/henry/project2-lb2.webp ---- -

Henry is an English male given name and surname derived from Old French Henri/Henry, itself derived from the Middle High German name Heinrich, from Old High German Haimirich (from haim- "home" and rich "ruler"), which was conflated with the name Haginrich (from hagin "enclosure" and rich "ruler").

-

Images from OrangePeelStudios.

\ No newline at end of file diff --git a/henry/_projects/website.html b/henry/_projects/website.html deleted file mode 100644 index 39083ff..0000000 --- a/henry/_projects/website.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Website -category: Web Design -creationDate: 2021-02-03 -client: Time Magazine -role: Web Deisgner -website: https://dribbble.com/sauqidesign -cover: http://joro.me/demo-assets/jekyll/henry/project5-main.webp -gallery: -- http://joro.me/demo-assets/jekyll/henry/project5-lb1.webp -- http://joro.me/demo-assets/jekyll/henry/project5-lb2.webp ---- -

Henry is an English male given name and surname derived from Old French Henri/Henry, itself derived from the Middle High German name Heinrich, from Old High German Haimirich (from haim- "home" and rich "ruler"), which was conflated with the name Haginrich (from hagin "enclosure" and rich "ruler").

-

Images from Sauqi Arif.

\ No newline at end of file diff --git a/henry/_sass/base/_animations.scss b/henry/_sass/base/_animations.scss deleted file mode 100644 index 15d8a3b..0000000 --- a/henry/_sass/base/_animations.scss +++ /dev/null @@ -1,24 +0,0 @@ -@keyframes headerShine { - 100% { left: 150%; } -} - -@keyframes fadeIn { - from { opacity: 0; } - to { opacity: 1; } -} - -@keyframes fadeOut { - from { opacity: 1; } - to { opacity: 0; } -} - -@keyframes zoomIn { - from { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); } - to { opacity: 1; } -} - -@keyframes zoomOut { - from { opacity: 1; } - 50% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); } - to { opacity: 0; } -} \ No newline at end of file diff --git a/henry/_sass/base/_helpers.scss b/henry/_sass/base/_helpers.scss deleted file mode 100644 index 3edda75..0000000 --- a/henry/_sass/base/_helpers.scss +++ /dev/null @@ -1 +0,0 @@ -.hidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } \ No newline at end of file diff --git a/henry/_sass/base/_mixins.scss b/henry/_sass/base/_mixins.scss deleted file mode 100644 index f4d7aba..0000000 --- a/henry/_sass/base/_mixins.scss +++ /dev/null @@ -1,95 +0,0 @@ -@mixin transition($transitions...) { - transition: $transitions; - -moz-transition: $transitions; - -webkit-transition: $transitions; - -o-transition: $transitions; -} - -@mixin no-select { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -@mixin placeholder { - &.placeholder { @content } - &:-ms-input-placeholder { @content } - &:-moz-placeholder { @content } - &::-moz-placeholder { @content } - &::-webkit-input-placeholder { @content } -} - -@mixin translate($val1, $val2) { - -webkit-transform: translate(#{$val1}, #{$val2}); - -moz-transform: translate(#{$val1}, #{$val2}); - -ms-transform: translate(#{$val1}, #{$val2}); - -o-transform: translate(#{$val1}, #{$val2}); - transform: translate(#{$val1}, #{$val2}); -} - -@mixin skew($x, $y) { - -webkit-transform: skew(#{$x}, #{$y}); - -moz-transform: skew(#{$x}, #{$y}); - -ms-transform: skew(#{$x}, #{$y}); - -o-transform: skew(#{$x}, #{$y}); - transform: skew(#{$x}, #{$y}); -} - -@mixin scale($val) { - -webkit-transform: scale(#{$val}); - -moz-transform: scale(#{$val}); - -ms-transform: scale(#{$val}); - -o-transform: scale(#{$val}); - transform: scale(#{$val}); -} - -@mixin rotate($deg) { - -webkit-transform: rotate(#{$deg}); - -moz-transform: rotate(#{$deg}); - -ms-transform: rotate(#{$deg}); - -o-transform: rotate(#{$deg}); - transform: rotate(#{$deg}); -} - -@mixin flexbox() { - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} - -@mixin inline-flex() { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -moz-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; -} - -@mixin flex($grow: 1, $shrink: 1, $basis: auto) { - -webkit-flex: $grow $shrink $basis; - -moz-flex: $grow $shrink $basis; - -ms-flex: $grow $shrink $basis; - flex: $grow $shrink $basis; -} - -@mixin flex-flow($values: (row wrap)) { - -webkit-flex-flow: $values; - -moz-flex-flow: $values; - -ms-flex-flow: $values; - flex-flow: $values; -} - -@mixin justify-content($pos: center) { - -webkit-justify-content: $pos; - justify-content: $pos; -} - -@mixin align-items($align: center) { - -webkit-align-items: $align; - align-items: $align; -} \ No newline at end of file diff --git a/henry/_sass/base/_reset.scss b/henry/_sass/base/_reset.scss deleted file mode 100644 index 19a8470..0000000 --- a/henry/_sass/base/_reset.scss +++ /dev/null @@ -1,7 +0,0 @@ -* { box-sizing: border-box; -moz-box-sizing: border-box; } -body { margin: 0; padding: 0; font-family: 'PT Serif', serif; font-size: 18px; line-height: 30px; color: var(--grey-555); background: var(--body-bg); } -header, nav, section, main, article, aside, figure, footer, iframe, object, svg { display: block; margin: 0; } - -@media screen and (max-width: 800px) { - body { padding: 80px 0 0; } -} \ No newline at end of file diff --git a/henry/_sass/base/_syntax.scss b/henry/_sass/base/_syntax.scss deleted file mode 100644 index fc99edd..0000000 --- a/henry/_sass/base/_syntax.scss +++ /dev/null @@ -1,62 +0,0 @@ -.highlight { background: var(--grey-fa); border: 1px solid var(--grey-ccc); padding: 30px; - .lineno { padding: 0 15px 0 0; } - .c { color: #998; font-style: italic } // Comment - .err { color: #a61717; background-color: #e3d2d2 } // Error - .k { font-weight: bold } // Keyword - .o { font-weight: bold } // Operator - .cm { color: #998; font-style: italic } // Comment.Multiline - .cp { color: #999; font-weight: bold } // Comment.Preproc - .c1 { color: #998; font-style: italic } // Comment.Single - .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special - .gd { color: #000; background-color: #fdd } // Generic.Deleted - .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific - .ge { font-style: italic } // Generic.Emph - .gr { color: #a00 } // Generic.Error - .gh { color: #999 } // Generic.Heading - .gi { color: #000; background-color: #dfd } // Generic.Inserted - .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific - .go { color: #888 } // Generic.Output - .gp { color: #555 } // Generic.Prompt - .gs { font-weight: bold } // Generic.Strong - .gu { color: #aaa } // Generic.Subheading - .gt { color: #a00 } // Generic.Traceback - .kc { font-weight: bold } // Keyword.Constant - .kd { font-weight: bold } // Keyword.Declaration - .kp { font-weight: bold } // Keyword.Pseudo - .kr { font-weight: bold } // Keyword.Reserved - .kt { color: #458; font-weight: bold } // Keyword.Type - .m { color: #099 } // Literal.Number - .s { color: #d14 } // Literal.String - .na { color: #008080 } // Name.Attribute - .nb { color: #0086B3 } // Name.Builtin - .nc { color: #458; font-weight: bold } // Name.Class - .no { color: #008080 } // Name.Constant - .ni { color: #800080 } // Name.Entity - .ne { color: #900; font-weight: bold } // Name.Exception - .nf { color: #900; font-weight: bold } // Name.Function - .nn { color: #555 } // Name.Namespace - .nt { color: #000080 } // Name.Tag - .nv { color: #008080 } // Name.Variable - .ow { font-weight: bold } // Operator.Word - .w { color: #bbb } // Text.Whitespace - .mf { color: #099 } // Literal.Number.Float - .mh { color: #099 } // Literal.Number.Hex - .mi { color: #099 } // Literal.Number.Integer - .mo { color: #099 } // Literal.Number.Oct - .sb { color: #d14 } // Literal.String.Backtick - .sc { color: #d14 } // Literal.String.Char - .sd { color: #d14 } // Literal.String.Doc - .s2 { color: #d14 } // Literal.String.Double - .se { color: #d14 } // Literal.String.Escape - .sh { color: #d14 } // Literal.String.Heredoc - .si { color: #d14 } // Literal.String.Interpol - .sx { color: #d14 } // Literal.String.Other - .sr { color: #009926 } // Literal.String.Regex - .s1 { color: #d14 } // Literal.String.Single - .ss { color: #990073 } // Literal.String.Symbol - .bp { color: #999 } // Name.Builtin.Pseudo - .vc { color: #008080 } // Name.Variable.Class - .vg { color: #008080 } // Name.Variable.Global - .vi { color: #008080 } // Name.Variable.Instance - .il { color: #099 } // Literal.Number.Integer.Long -} \ No newline at end of file diff --git a/henry/_sass/base/_vars.scss b/henry/_sass/base/_vars.scss deleted file mode 100644 index ba2f19d..0000000 --- a/henry/_sass/base/_vars.scss +++ /dev/null @@ -1,41 +0,0 @@ -:root, [data-theme="light"] { - --body-bg: #fafafa; - - --main-color: #639f93; - --main-color-hover: #5b9287; - - --form-success-bg: #d0f1cc; - --form-success-text: #597755; - --form-error-bg: #f1cccc; - --form-error-text: #775555; - - --grey-222: #222; - --grey-555: #555; - --grey-aaa: #aaa; - --grey-ccc: #ccc; - --grey-ddd: #ddd; - --grey-eee: #eee; - --grey-fc: #fcfcfc; - --grey-fa: #fafafa; -} - -[data-theme="dark"] { - --body-bg: #050505; - - --main-color: #639f93; - --main-color-hover: #5b9287; - - --form-success-bg: #d0f1cc; - --form-success-text: #597755; - --form-error-bg: #f1cccc; - --form-error-text: #775555; - - --grey-222: #ddd; - --grey-555: #ddd; - --grey-aaa: #777; - --grey-ccc: #666; - --grey-ddd: #666; - --grey-eee: #222; - --grey-fc: #fcfcfc; - --grey-fa: #151515; -} \ No newline at end of file diff --git a/henry/_sass/components/_contact-form.scss b/henry/_sass/components/_contact-form.scss deleted file mode 100644 index 8d9a0cd..0000000 --- a/henry/_sass/components/_contact-form.scss +++ /dev/null @@ -1,29 +0,0 @@ -.modal-container { @include flexbox(); @include align-items(); @include justify-content(); position: fixed; width: 100%; height: 100%; bottom: 0; right: 0; background: rgba(0,0,0,.7); opacity: 0; pointer-events: none; z-index: 9999; - .modal { @include flexbox(); @include flex-flow(column wrap); width: 100%; max-width: 450px; margin: 0 20px; background: var(--grey-fa); border-radius: 5px; - &.zoomIn { animation-name: zoomIn; animation-duration: .4s; animation-fill-mode: both; } - &.zoomOut { animation-name: zoomOut; animation-duration: .4s; animation-fill-mode: both; } - - .modal-header { @include flexbox(); @include align-items(); @include justify-content(space-between); background: var(--main-color); padding: 18px 20px; border-radius: 5px 5px 0 0; font-family: 'PT Sans', sans-serif; font-size: 20px; font-weight: 700; color: var(--grey-fc); - svg { width: 16px; height: 16px; @include transition(all .1s ease); fill: currentColor; opacity: .5; cursor: pointer; @include transition(opacity .15s ease); - &:hover { opacity: 1; } - } - } - .modal-body { padding: 20px; - .form-message { display: none; margin-top: 0; text-align: center; padding: 10px 15px; - &.success { display: block; background: var(--form-success-bg); color: var(--form-success-text); } - &.error { display: block; background: var(--form-error-bg); color: var(--form-error-text); } - } - form { @include flexbox(); @include align-items(); @include flex-flow(column wrap); gap: 10px; - label { display: block; width: 100%; } - .input, .textarea { width: 100%; height: 40px; padding: 10px; background: transparent; border: 1px solid var(--grey-ddd); border-radius: 5px; font-family: 'PT Sans', sans-serif; font-size: 16px; color: var(--grey-555); @include placeholder() { color: var(--grey-ccc); font-family: 'PT Sans', serif; font-size: 16px; } outline: none; } - .textarea { height: auto; min-height: 200px; } - .button { display: inline-block; background: var(--main-color); padding: 14px 30px; text-transform: uppercase; color: var(--grey-fc); border-radius: 5px; font-family: 'PT Sans', sans-serif; font-size: 14px; font-weight: 700; border: none; cursor: pointer; @include transition(background .1s ease); - &:hover { background: var(--main-color-hover); } - &:active, &:focus { outline: none; } - } - } - } - } - &.fadeIn { pointer-events: auto; animation-name: fadeIn; animation-duration: .4s; animation-fill-mode: both; } - &.fadeOut { animation-name: fadeOut; animation-duration: .4s; animation-fill-mode: both; } -} \ No newline at end of file diff --git a/henry/_sass/components/_cookie-banner.scss b/henry/_sass/components/_cookie-banner.scss deleted file mode 100644 index da85ed4..0000000 --- a/henry/_sass/components/_cookie-banner.scss +++ /dev/null @@ -1,19 +0,0 @@ -.cookie-banner { display: none; position: fixed; width: 100%; max-width: 1200px; left: 50%; bottom: 15px; padding: 20px 30px; @include translate(-50%, 0); @include align-items(); @include justify-content(space-between); background: var(--grey-fa); box-shadow: 0 0 100px rgba(0, 0, 0, .2); border-radius: 10px; - &.active { @include flexbox(); } - div { @include flexbox(); @include align-items(); - svg { fill: currentColor; color: var(--grey-666); @include flex(1, 0, auto); } - p { max-width: 980px; padding: 0 30px; } - } - .button { display: inline-block; background: var(--main-color); padding: 10px 30px; text-transform: uppercase; color: var(--grey-fc); border-radius: 5px; font-family: 'PT Sans', sans-serif; font-size: 14px; font-weight: 700; border: none; cursor: pointer; @include transition(background .1s ease); text-decoration: none; text-align: center; - &:hover { background: var(--main-color-hover); } - &:active, &:focus { outline: none; } - } -} - -@media screen and (max-width: 640px) { - .cookie-banner { @include flex-flow(column nowrap); } -} - -@media screen and (max-width: 468px) { - .cookie-banner div { @include flex-flow(column nowrap); } -} \ No newline at end of file diff --git a/henry/_sass/components/_lightbox.scss b/henry/_sass/components/_lightbox.scss deleted file mode 100644 index af3cd23..0000000 --- a/henry/_sass/components/_lightbox.scss +++ /dev/null @@ -1,25 +0,0 @@ -.custom-lightbox { position: fixed; visibility: hidden; opacity: 0; @include transition(opacity .2s ease); @include flexbox(); top: 0; left: 0; bottom: 0; right: 0; background: rgba(0,0,0, .7); z-index: 9000; - &.active { visibility: visible; opacity: 1; } - - .lightbox-content { position: relative; display: grid; grid-template-columns: 1fr 8fr 1fr; gap: 40px; @include align-items(); justify-items: center; width: 100%; @include no-select(); } - .prev-image, .next-image, .lightbox-close { cursor: pointer; opacity: .5; @include transition(opacity .1s ease); color: var(--grey-fa); - &:hover { opacity: .9; } - svg { width: 32px; height: 32px; fill: currentColor; } - } - .prev-image svg { @include rotate(180deg); } - .current-image { - img { width: 100%; max-width: 100%; height: auto; } - } - - .lightbox-close { position: fixed; top: 30px; right: 30px; width: 24px; height: 24px; padding: 0; background: none; border: 0; outline: none; } -} - -@media screen and (max-width: 960px) { - .custom-lightbox .lightbox-content { grid-template-columns: 1fr; - .prev-image, .next-image { position: absolute; opacity: .8; - svg { width: 40px; height: 40px; } - } - .prev-image { left: 20px; } - .next-image { right: 20px; } - } -} \ No newline at end of file diff --git a/henry/_sass/components/_page.scss b/henry/_sass/components/_page.scss deleted file mode 100644 index 630cf7b..0000000 --- a/henry/_sass/components/_page.scss +++ /dev/null @@ -1,55 +0,0 @@ -.page { - .page-title { margin: 0 0 25px; font-family: 'PT Sans', sans-serif; font-size: 32px; line-height: 42px; font-weight: 700; color: var(--grey-222); } - .page-content { - abbr { border-bottom: 1px dotted var(--grey-555); text-decoration: none; cursor: help; } - code, kbd, pre { margin: 0; font-family: monospace; word-wrap: break-word; word-break: break-word; white-space: pre-wrap; } - address, cite, var { font-style: italic; } - blockquote { margin: 40px 0; padding: 0 0 0 20px; border-left: 3px solid var(--grey-555); color: var(--grey-222); font-weight: 700; } - em, strong { color: var(--grey-222); } - - h1, h2, h3, h4, h5, h6 { font-family: 'PT Sans', sans-serif; margin: 40px 0 25px 0; color: var(--grey-222); } - h4, h5, h6 { margin: 25px 0; } - h1 { font-size: 28px; } - h2 { font-size: 26px; } - h3 { font-size: 22px; } - h4 { font-size: 20px; } - h5 { font-size: 18px; } - h6 { font-size: 16px; } - - a { color: var(--main-color); - &:hover { text-decoration: none; } - } - - img { display: block; max-width: 100%; height: auto; } - - ul { list-style-type: disc; list-style-position: inside; } - - ul, ol { margin: 15px 0; padding: 0 0 0 20px; - ul, ol { padding: 0 0 0 20px; } - li { margin: 5px 0; - & > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } - } - } - - dl { margin: 40px 0; - dt { margin: 10px 0 0; font-weight: 700; } - dd { margin: 5px 0; - & > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } - } - } - - p { margin: 15px 0; - & > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } - } - - .alignleft { float: left; margin: 20px 30px 10px 0; } - .alignright { float: right; margin: 20px 0 10px 20px; } - .aligncenter { clear: both; margin: 0 auto 20px; } - - figcaption { font-size: 13px; font-style: italic; padding-top: 10px; } - - .iframe-wrapper { position: relative; padding-top: 56.25%; - & > iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - } - } -} \ No newline at end of file diff --git a/henry/_sass/components/_pagination.scss b/henry/_sass/components/_pagination.scss deleted file mode 100644 index b3a902c..0000000 --- a/henry/_sass/components/_pagination.scss +++ /dev/null @@ -1,6 +0,0 @@ -.pagination { display: grid; grid-template-columns: 100px 1fr 100px; margin: 50px 0 0; font-size: 16px; - .previous, .next { text-decoration: none; color: var(--grey-555); - &:hover { text-decoration: underline; } - } - .page_number { text-align: center; color: var(--grey-ccc); } -} \ No newline at end of file diff --git a/henry/_sass/components/_post.scss b/henry/_sass/components/_post.scss deleted file mode 100644 index aa28eae..0000000 --- a/henry/_sass/components/_post.scss +++ /dev/null @@ -1,135 +0,0 @@ -.post-lists-title { font-family: 'PT Sans', sans-serif; font-size: 24px; line-height: 42px; font-weight: 700; color: var(--grey-aaa); margin: 0 0 40px; text-align: center; - span { color: var(--grey-222); } -} - -.post-list { display: grid; gap: 100px 0; } - -.post { position: relative; - .post-title { margin: 0 0 25px; font-family: 'PT Sans', sans-serif; font-size: 32px; line-height: 42px; font-weight: 700; color: var(--grey-222); - a { color: var(--grey-222); text-decoration: none; - &:hover { text-decoration: underline; } - } - } - .post-author { position: absolute; top: 10px; left: -200px; width: 150px; text-align: right; - .author-avatar { display: inline-block; width: 50px; height: 50px; border-radius: 50%; fill: currentColor; color: var(--grey-ddd); } - .author-info { - .author-name { display: block; margin: 10px 0 4px; font-family: 'PT Sans', sans-serif; font-size: 16px; line-height: 20px; font-weight: 700; color: var(--grey-222); text-transform: uppercase; } - .author-title { display: block; font-size: 12px; line-height: 16px; font-style: italic; color: var(--grey-aaa); } - } - - .post-meta { position: relative; margin: 15px 0 0; padding: 15px 0 0; line-height: 20px; font-size: 14px; color: var(--grey-aaa); - &:before { position: absolute; top: 0; right: 0; width: 30px; height: 1px; background: var(--grey-ddd); content: ""; } - - .post-date { position: relative; margin: 0 5px 0 0; padding: 0 10px 0 0; - &:after { position: absolute; top: 50%; right: 0; width: 3px; height: 3px; border-radius: 50%; background: var(--grey-ccc); content: ""; } - } - .post-categories { position: relative; @include flexbox(); @include justify-content(flex-end); gap: 5px; margin: 8px 0 0; - a { color: var(--main-color); text-decoration: none; - &:hover { text-decoration: underline; } - } - } - } - } - .post-content { - abbr { border-bottom: 1px dotted var(--grey-555); text-decoration: none; cursor: help; } - code, kbd, pre { margin: 0; font-family: monospace; word-wrap: break-word; word-break: break-word; white-space: pre-wrap; } - address, cite, var { font-style: italic; } - blockquote { margin: 40px 0; padding: 0 0 0 20px; border-left: 3px solid var(--grey-555); color: var(--grey-222); font-weight: 700; } - em, strong { color: var(--grey-222); } - - h1, h2, h3, h4, h5, h6 { font-family: 'PT Sans', sans-serif; margin: 40px 0 25px 0; color: var(--grey-222); } - h4, h5, h6 { margin: 25px 0; } - h1 { font-size: 28px; } - h2 { font-size: 26px; } - h3 { font-size: 22px; } - h4 { font-size: 20px; } - h5 { font-size: 18px; } - h6 { font-size: 16px; } - - a { color: var(--main-color); - &:hover { text-decoration: none; } - } - - img { display: block; max-width: 100%; height: auto; } - - ul { list-style-type: disc; list-style-position: inside; } - - ul, ol { margin: 15px 0; padding: 0 0 0 20px; - ul, ol { padding: 0 0 0 20px; } - li { margin: 5px 0; - & > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } - } - } - - dl { margin: 40px 0; - dt { margin: 10px 0 0; font-weight: 700; } - dd { margin: 5px 0; - & > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } - } - } - - p { margin: 15px 0; - & > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } - } - - .alignleft { float: left; margin: 20px 30px 10px 0; } - .alignright { float: right; margin: 20px 0 10px 20px; } - .aligncenter { clear: both; margin: 0 auto 20px; } - - figcaption { font-size: 13px; font-style: italic; padding-top: 10px; } - - .iframe-wrapper { position: relative; padding-top: 56.25%; - & > iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - } - - .read-more-button { font-size: 16px; color: var(--grey-555); } - } - - .post-footer { @include flexbox(); @include justify-content(space-between); @include align-items(flex-start); gap: 0 20px; margin: 50px 0 0; - .post-tags { @include flexbox(); @include flex-flow(row wrap); @include flex(9, 1, auto); gap: 0 20px; list-style: none; margin: 0; padding: 0; - li { - a { font-size: 14px; font-family: 'PT Sans', sans-serif; color: var(--grey-ccc); text-decoration: none; @include transition(all .15s ease); - &:hover { color: var(--grey-555); } - } - } - } - .post-share { position: relative; @include flex(0, 0, auto); border: 1px solid var(--grey-ddd); overflow: hidden; - &:hover { - & > span { margin-left: -100%; } - & > ul { left: 0; } - } - span { display: block; width: 100%; padding: 0 15px; font-family: 'PT Sans', sans-serif; font-size: 12px; text-transform: uppercase; text-align: center; letter-spacing: .1em; color: var(--grey-aaa); cursor: pointer; @include transition(margin .2s ease); } - ul { position: absolute; top: 0; left: 100%; width: 100%; height: 100%; @include flexbox(); list-style: none; margin: 0; padding: 0; @include transition(left .2s ease); - li { @include flex(1, 0, auto); cursor: pointer; - &:last-child { border-left: 1px solid var(--grey-ddd); } - a { @include flexbox(); @include align-items(); @include justify-content(); height: 100%; color: var(--grey-ccc); - &:hover { background: var(--grey-eee); } - svg { fill: currentColor; } - } - } - } - } - } - - .post-comments { position: relative; margin: 40px 0 0; padding: 20px 0 0; border-top: 1px solid var(--grey-ddd); } -} - - -@media screen and (max-width: 960px) { - .post { - .post-title { margin: 0 0 15px; } - .post-author { @include flexbox(); @include align-items(); @include flex-flow(row wrap); gap: 15px; position: static; width: 100%; margin: 0 0 20px; text-align: left; - .author-avatar { width: 36px; height: 36px; } - .author-info { - .author-name { margin: 0; color: var(--grey-555); text-transform: initial; } - .author-title { display: none; } - } - .post-meta { @include flexbox(); @include flex-flow(row wrap); margin: 0; margin-left: auto; padding: 0; - &:before { content: none; } - .post-categories { margin: 0 0 0 5px; padding: 0 0 0 10px; - &:before { position: absolute; top: 50%; left: 0; width: 3px; height: 3px; border-radius: 50%; background: var(--grey-ccc); content: ""; } - } - } - } - } -} \ No newline at end of file diff --git a/henry/_sass/components/_site-search.scss b/henry/_sass/components/_site-search.scss deleted file mode 100644 index 6daaf80..0000000 --- a/henry/_sass/components/_site-search.scss +++ /dev/null @@ -1,19 +0,0 @@ -.site-search { position: relative; @include flexbox(); @include align-items(); @include flex-flow(column wrap); max-width: 600px; margin: 30px auto 0; padding: 0 20px; - & > div { display: inline-grid; max-width: 400px; - &:after { content: attr(data-value); visibility: hidden; white-space: pre-wrap; height: 0; } - #site-search-input { max-width: 400px; height: 30px; font-family: 'PT Serif', serif; font-style: italic; color: var(--grey-222); font-size: 18px; background: transparent; border: none; outline: none; @include placeholder() { color: var(--grey-ccc); font-family: 'PT Serif', serif; font-style: italic; font-size: 18px; } } - } - #site-search-results-container { position: absolute; width: 90%; background: var(--grey-fa); top: 40px; margin: 0; padding: 0; list-style: none; box-shadow: 0 10px 200px rgba(0,0,0,.15); z-index: 1; border-radius: 5px; - &:empty { display: none; } - .no-results { padding: 10px 15px; text-align: center; } - li { border-top: 1px solid var(--grey-ddd); - &:first-of-type { border-top: none; - a { border-radius: 5px 5px 0 0; } - } - &:last-of-type a { border-radius: 0 0 5px 5px; } - a { display: block; padding: 10px 15px; text-decoration: none; color: var(--grey-555); background: transparent; @include transition(background .1s ease); - &:hover { background: var(--grey-eee); } - } - } - } -} \ No newline at end of file diff --git a/henry/_sass/layout/_footer.scss b/henry/_sass/layout/_footer.scss deleted file mode 100644 index 1825d41..0000000 --- a/henry/_sass/layout/_footer.scss +++ /dev/null @@ -1 +0,0 @@ -.site-footer { max-width: 800px; margin: 0 auto; padding: 40px 20px; font-size: 14px; line-height: 22px; color: var(--grey-ccc); text-align: center; } \ No newline at end of file diff --git a/henry/_sass/layout/_general.scss b/henry/_sass/layout/_general.scss deleted file mode 100644 index c8e8a9d..0000000 --- a/henry/_sass/layout/_general.scss +++ /dev/null @@ -1,3 +0,0 @@ -.wrapper { max-width: 600px; margin: 0 auto; padding: 0 20px 35px; border-bottom: 1px solid var(--grey-eee); - &.long { max-width: 800px; } -} \ No newline at end of file diff --git a/henry/_sass/layout/_header.scss b/henry/_sass/layout/_header.scss deleted file mode 100644 index c28c84c..0000000 --- a/henry/_sass/layout/_header.scss +++ /dev/null @@ -1,27 +0,0 @@ -.site-header { display: grid; @include justify-content(); padding: 0 20px; text-align: center; - .site-header-wrapper { position: relative; overflow: hidden; background: var(--main-color); padding: 10px 25px 20px 25px; border-radius: 0 0 5px 5px; text-decoration: none; @include transition(background .2s ease); - &:before { position: absolute; top: 0; left: -150%; content: ""; width: 50%; height: 100%; - background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%); - background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%); - @include skew(-45deg, 0); - } - &:hover { background: var(--main-color-hover); - &:before { animation: headerShine .35s; } - } - .site-logo { display: block; margin: 0 0 10px; - img { display: block; } - } - .site-subtitle { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 11px; line-height: 14px; color: var(--grey-fc); } - .site-title { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 26px; line-height: 28px; color: var(--grey-fc); } - } -} - -@media screen and (max-width: 800px) { - .site-header { position: fixed; left: 0; top: 0; width: 100%; z-index: 9; background: var(--body-bg); box-shadow: 0 2px 5px rgba(0, 0, 0, .1); - .site-header-wrapper { @include flexbox(); @include align-items(); @include justify-content(); @include flex-flow(row wrap); gap: 0 15px; border-radius: 0; padding: 20px; background: transparent; - &:hover { background: transparent; } - .site-logo, .site-subtitle { display: none; } - .site-title { font-size: 32px; line-height: 36px; color: var(--main-color); } - } - } -} \ No newline at end of file diff --git a/henry/_sass/layout/_navigation.scss b/henry/_sass/layout/_navigation.scss deleted file mode 100644 index f229aed..0000000 --- a/henry/_sass/layout/_navigation.scss +++ /dev/null @@ -1,14 +0,0 @@ -.site-navigation { @include flexbox(); @include justify-content(); @include align-items(); @include flex-flow(row wrap); gap: 10px 40px; max-width: 800px; margin: 30px auto 0; padding: 0 20px; text-align: center; - a, span { position: relative; text-decoration: none; color: var(--grey-555); padding: 0 0 2px; @include transition(color .2s ease); cursor: pointer; - &:before { position: absolute; opacity: 0; left: 0; bottom: 0; width: 0%; border-bottom: 2px solid var(--grey-222); @include transition(width .18s ease, opacity .18s ease); content: ""; } - &:hover, &.active { color: var(--grey-222); - &:before { width: 100%; opacity: 1; } - } - } -} - -@media screen and (max-width: 800px) { - .site-navigation { position: fixed; bottom: 0; left: 0; width: 100%; height: 100%; @include justify-content(flex-start); @include flex-flow(column nowrap); gap: 20px 0; @include translate(0, -100%); @include transition(transform .25s ease-in-out); padding: 100px 20px 0; background: rgba(255, 255, 255, .9); z-index: 10; - a, span { color: var(--grey-222); font-size: 30px; line-height: 40px; } - } -} \ No newline at end of file diff --git a/henry/_sass/main.scss b/henry/_sass/main.scss deleted file mode 100644 index 1155cc1..0000000 --- a/henry/_sass/main.scss +++ /dev/null @@ -1,32 +0,0 @@ -@import 'base/vars'; -@import 'base/mixins'; -@import 'base/reset'; -@import 'base/syntax'; -@import 'base/animations'; -@import 'base/helpers'; - -//Layout -@import 'layout/general'; -@import 'layout/header'; -@import 'layout/navigation'; -@import 'layout/footer'; - -//Pages -@import 'pages/work'; -@import 'pages/about'; -@import 'pages/fourofour'; - -//Components -@import 'components/post'; -@import 'components/page'; -@import 'components/site-search'; -@import 'components/pagination'; -@import 'components/contact-form'; -@import 'components/lightbox'; -@import 'components/cookie-banner'; - -//Partials -@import 'partials/reading-progress-bar'; -@import 'partials/theme-changer'; -@import 'partials/header-separator'; -@import 'partials/burger-menu'; \ No newline at end of file diff --git a/henry/_sass/pages/_about.scss b/henry/_sass/pages/_about.scss deleted file mode 100644 index 63b745f..0000000 --- a/henry/_sass/pages/_about.scss +++ /dev/null @@ -1,22 +0,0 @@ -.page-about { - .profile { float: right; margin: 20px 20px 20px 50px; - img { display: block; max-width: 100%; height: auto; } - ul { @include flexbox(); @include flex-flow(row wrap); list-style: none; margin: 20px 0 0; padding: 0; border-right: 1px solid var(--grey-ddd); border-bottom: 1px solid var(--grey-ddd); - li { flex: 1; - a { @include flexbox(); @include align-items(); @include justify-content(); padding: 15px; border-left: 1px solid var(--grey-ddd); border-top: 1px solid var(--grey-ddd); @include transition(background .15s ease); color: var(--grey-aaa); - &:hover { background: var(--main-color); - svg { fill: var(--grey-fc); } - } - svg { fill: currentColor; } - } - } - } - } - - h1 { font-size: 48px; line-height: 52px; color: var(--grey-222); margin: 0 0 30px; } - .intro-paragraph { font-size: 20px; line-height: 32px; color: var(--grey-222); } -} - -@media screen and (max-width: 640px) { - .page-about .profile { @include flexbox(); @include align-items(); @include flex-flow(column nowrap); float: none; margin: 0 0 30px; } -} \ No newline at end of file diff --git a/henry/_sass/pages/_fourofour.scss b/henry/_sass/pages/_fourofour.scss deleted file mode 100644 index a0cc85e..0000000 --- a/henry/_sass/pages/_fourofour.scss +++ /dev/null @@ -1,3 +0,0 @@ -.page-not-found { text-align: center; - svg { fill: currentColor; color: var(--grey-ddd); margin: 0 auto; } -} \ No newline at end of file diff --git a/henry/_sass/pages/_work.scss b/henry/_sass/pages/_work.scss deleted file mode 100644 index ea80fbe..0000000 --- a/henry/_sass/pages/_work.scss +++ /dev/null @@ -1,78 +0,0 @@ -.page-work { - .projects-list { display: grid; gap: 40px 20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); - .project { text-align: center; - .project-cover { display: block; margin: 0 0 15px; @include transition(transform .2s ease); - &:hover { @include scale(1.08); } - img { display: block; width: 100%; height: auto; } - } - .project-title { font-size: 18px; margin: 0 0 5px; - a { color: var(--grey-222); text-decoration: none; - &:hover { text-decoration: underline; } - } - } - .project-category { display: block; font-family: 'PT Sans', sans-serif; font-size: 12px; line-height: 16px; color: var(--grey-aaa); text-transform: uppercase; letter-spacing: .1em; } - } - } -} - -.page-project { display: grid; gap: 50px; grid-template-columns: 7fr 3fr; grid-template-rows: auto; grid-template-areas: "carousel carousel" "content sidebar"; - .section-title { display: block; font-family: 'PT Sans', sans-serif; font-size: 13px; color: var(--grey-222); text-transform: uppercase; letter-spacing: .1em; } - .project-gallery { grid-area: carousel; position: relative; overflow: hidden; - .slides { @include flexbox(); @include transition(transform .5s ease); - .slide { position: relative; width: 100%; @include flexbox(); @include flex(1, 0, auto); padding: 50% 0 0; - figure a { display: block; - img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } - } - } - } - .gallery-nav { display: grid; gap: 0 5px; grid-auto-flow: column; position: absolute; bottom: 20px; right: 20px; z-index: 1; - label { width: 12px; height: 12px; background: transparent; border: 2px solid var(--grey-222); display: block; border-radius: 50%; @include transition(background .1s ease); cursor: pointer; - &.active, &:hover { background: var(--grey-222); } - } - } - } - .project-overview { grid-area: content; - .project-title { margin: 0 0 20px; font-size: 40px; line-height: 44px; color: var(--grey-222); } - a { color: var(--main-color); - &:hover { text-decoration: none; } - } - abbr { border-bottom: 1px dotted var(--grey-555); text-decoration: none; cursor: help; } - code, kbd, pre { margin: 0; font-family: monospace; word-wrap: break-word; word-break: break-word; white-space: pre-wrap; } - address, cite, var { font-style: italic; } - blockquote { margin: 40px 0; padding: 0 0 0 20px; border-left: 3px solid var(--grey-555); color: var(--grey-222); font-weight: 700; } - em, strong { color: var(--grey-222); } - - p { margin: 15px 0; - & > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } - } - - img { display: block; max-width: 100%; height: auto; } - - ul { list-style-type: disc; list-style-position: inside; } - - ul, ol { margin: 15px 0; padding: 0 0 0 20px; - ul, ol { padding: 0 0 0 20px; } - li { margin: 5px 0; - & > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } - } - } - } - .project-meta { grid-area: sidebar; - & > div { position: sticky; top: 0; display: grid; gap: 30px; justify-items: start; align-items: start; align-content: start; font-size: 16px; - .button { display: inline-block; background: var(--main-color); padding: 10px 30px; text-transform: uppercase; color: var(--grey-fc); border-radius: 5px; font-family: 'PT Sans', sans-serif; font-size: 14px; font-weight: 700; border: none; cursor: pointer; @include transition(background .1s ease); text-decoration: none; text-align: center; - &:hover { background: var(--main-color-hover); } - &:active, &:focus { outline: none; } - } - } - } -} - -@media screen and (max-width: 640px) { - .page-project { grid-template-areas: "carousel carousel" "content content" "sidebar sidebar"; grid-template-columns: 1fr 1fr; - .project-meta { - & > div { position: static; @include flexbox(); @include flex-flow(row wrap); - & > div { @include flex(1, 0, auto); } - } - } - } -} \ No newline at end of file diff --git a/henry/_sass/partials/_burger-menu.scss b/henry/_sass/partials/_burger-menu.scss deleted file mode 100644 index 0a88d31..0000000 --- a/henry/_sass/partials/_burger-menu.scss +++ /dev/null @@ -1,23 +0,0 @@ -.toggleBurger { display: none; - &:checked { - & ~ .site-navigation { @include translate(0, 0); } - & ~ .toggleBurgerWrapper { - span { background: transparent; - &:before { top: 0; @include rotate(135deg); } - &:after { top: 0; @include rotate(-135deg); } - } - } - } -} - -.toggleBurgerWrapper { display: none; position: fixed; top: 20px; left: 20px; width: 25px; height: 30px; cursor: pointer; z-index: 100; @include no-select(); - span { position: absolute; top: 50%; height: 2px; width: 100%; background: var(--grey-222); @include transition(all .3s ease); @include translate(0, -50%); - &:before, &:after { position: absolute; height: 2px; width: 100%; background: var(--grey-222); content: ""; @include transition(all .3s ease); } - &:before { top: -6px; } - &:after { top: 6px; } - } -} - -@media screen and (max-width: 800px) { - .toggleBurgerWrapper { display: block; } -} \ No newline at end of file diff --git a/henry/_sass/partials/_header-separator.scss b/henry/_sass/partials/_header-separator.scss deleted file mode 100644 index e04f269..0000000 --- a/henry/_sass/partials/_header-separator.scss +++ /dev/null @@ -1,4 +0,0 @@ -.header-content-separator { position: relative; margin: 40px auto; width: 4px; height: 4px; border-radius: 50%; background: var(--grey-ccc); - &:before { position: absolute; left: -8px; width: 4px; height: 4px; border-radius: 50%; background: var(--grey-ccc); content: ""; } - &:after { position: absolute; left: 8px; width: 4px; height: 4px; border-radius: 50%; background: var(--grey-ccc); content: ""; } -} \ No newline at end of file diff --git a/henry/_sass/partials/_reading-progress-bar.scss b/henry/_sass/partials/_reading-progress-bar.scss deleted file mode 100644 index a74aeb6..0000000 --- a/henry/_sass/partials/_reading-progress-bar.scss +++ /dev/null @@ -1,3 +0,0 @@ -.reading-progress-bar { position: fixed; top: 0; left: 0; min-width: 100%; height: 5px; z-index: 9; @include transition(width .05s ease); - &:before { position: absolute; top: 0; left: 0; content: ""; height: 5px; background: var(--main-color); width: inherit; } -} \ No newline at end of file diff --git a/henry/_sass/partials/_theme-changer.scss b/henry/_sass/partials/_theme-changer.scss deleted file mode 100644 index 822c685..0000000 --- a/henry/_sass/partials/_theme-changer.scss +++ /dev/null @@ -1,16 +0,0 @@ -.changeTheme { position: fixed; top: 20px; right: 20px; overflow: hidden; @include flexbox(); @include justify-content(); @include align-items(); background: transparent; width: 25px; height: 30px; cursor: pointer; z-index: 10; - .modeIcon { position: relative; width: 20px; height: 20px; border-radius: 50%; background: var(--grey-ccc); @include transition(transform .35s ease); - &:before { position: absolute; width: 6px; height: 6px; top: 50%; left: 50%; @include translate(-50%, -50%); @include transition(box-shadow .3s ease); border-radius: 50%; opacity: 0; content: ""; } - &:after { position: absolute; width: 100%; height: 100%; top: -30%; left: 30%; @include transition(transform .35s ease); border-radius: 50%; background: var(--body-bg); content: ""; } - } -} - -[data-theme="dark"] .changeTheme .modeIcon { background: var(--grey-fc); @include scale(0.5); - &:before { opacity: 1; - box-shadow: 0 -20px 0 0 var(--grey-fc), 0 20px 0 0 var(--grey-fc), -20px 0 0 0 var(--grey-fc), - 20px 0 0 0 var(--grey-fc), 15px 15px 0 0 var(--grey-fc), 15px -15px 0 0 var(--grey-fc), - -15px 15px 0 0 var(--grey-fc), -15px -15px 0 0 var(--grey-fc); - } - - &:after { opacity: 0; @include translate(50%, -50%); } -} \ No newline at end of file diff --git a/henry/_tag/bundler.html b/henry/_tag/bundler.html deleted file mode 100644 index 68dc39d..0000000 --- a/henry/_tag/bundler.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -tag: bundler ---- \ No newline at end of file diff --git a/henry/_tag/demo.html b/henry/_tag/demo.html deleted file mode 100644 index b781a3f..0000000 --- a/henry/_tag/demo.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -tag: demo ---- \ No newline at end of file diff --git a/henry/_tag/documentation.html b/henry/_tag/documentation.html deleted file mode 100644 index 24b8d8b..0000000 --- a/henry/_tag/documentation.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -tag: documentation ---- \ No newline at end of file diff --git a/henry/_tag/jekyll.html b/henry/_tag/jekyll.html deleted file mode 100644 index 94a66e9..0000000 --- a/henry/_tag/jekyll.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -tag: jekyll ---- \ No newline at end of file diff --git a/henry/_tag/ruby.html b/henry/_tag/ruby.html deleted file mode 100644 index ae77561..0000000 --- a/henry/_tag/ruby.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -tag: ruby ---- \ No newline at end of file diff --git a/henry/_tag/settings.html b/henry/_tag/settings.html deleted file mode 100644 index fde3e36..0000000 --- a/henry/_tag/settings.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -tag: settings ---- \ No newline at end of file diff --git a/henry/assets/css/styles.scss b/henry/assets/css/styles.scss deleted file mode 100644 index c1b9716..0000000 --- a/henry/assets/css/styles.scss +++ /dev/null @@ -1,3 +0,0 @@ ---- ---- -@import "main"; \ No newline at end of file diff --git a/henry/assets/images/favicon.svg b/henry/assets/images/favicon.svg deleted file mode 100644 index 5b40c59..0000000 --- a/henry/assets/images/favicon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/henry/assets/images/henry.webp b/henry/assets/images/henry.webp deleted file mode 100644 index 5577405..0000000 Binary files a/henry/assets/images/henry.webp and /dev/null differ diff --git a/henry/assets/images/logo.svg b/henry/assets/images/logo.svg deleted file mode 100644 index 5b6fd5b..0000000 --- a/henry/assets/images/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/henry/assets/images/other-icons.svg b/henry/assets/images/other-icons.svg deleted file mode 100644 index 050a3f0..0000000 --- a/henry/assets/images/other-icons.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/henry/assets/images/social-icons.svg b/henry/assets/images/social-icons.svg deleted file mode 100644 index e0d2c90..0000000 --- a/henry/assets/images/social-icons.svg +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/henry/assets/images/user1.webp b/henry/assets/images/user1.webp deleted file mode 100644 index f870eb3..0000000 Binary files a/henry/assets/images/user1.webp and /dev/null differ diff --git a/henry/assets/images/user2.webp b/henry/assets/images/user2.webp deleted file mode 100644 index 5da048a..0000000 Binary files a/henry/assets/images/user2.webp and /dev/null differ diff --git a/henry/assets/js/carousel.js b/henry/assets/js/carousel.js deleted file mode 100644 index 0fb463a..0000000 --- a/henry/assets/js/carousel.js +++ /dev/null @@ -1,12 +0,0 @@ -const slides = document.querySelector('.slides'); - -const checkCurrentSlide = (e) => { - [...e.parentElement.children].forEach(sibling => sibling.classList.remove('active')); - e.classList.add('active'); -} - -const moveToSlide = (index, e) => { - const percentage = index * 100; - slides.style.transform = `translateX(-${percentage}%)`; - checkCurrentSlide(e); -} \ No newline at end of file diff --git a/henry/assets/js/contact-form.js b/henry/assets/js/contact-form.js deleted file mode 100644 index 9dd246b..0000000 --- a/henry/assets/js/contact-form.js +++ /dev/null @@ -1,68 +0,0 @@ -//Modal -const contactButton = document.querySelector('.open-contact'); -const closeModal = document.querySelector('.close-modal'); -const modalContainer = document.querySelector('.modal-container'); -const modal = document.querySelector('.modal'); - -const form = document.querySelector('#contact-form'); -const button = document.querySelector('#submit-contact-form'); -const message = document.querySelector('#contact-form-message'); - -const addClass = () => { - button.style = "display: block;"; - modalContainer.classList.remove('fadeOut'); - modal.classList.remove('zoomOut'); - modalContainer.classList.add('fadeIn'); - modal.classList.add('zoomIn'); -} -const addOutClass = () => { - message.style = "display: none;"; - modalContainer.classList.remove("fadeIn"); - modal.classList.remove("zoomIn"); - modalContainer.classList.add("fadeOut"); - modal.classList.add("zoomOut"); -} - -contactButton.addEventListener('click', addClass, false); -closeModal.addEventListener('click', addOutClass, false); -modal.addEventListener('click', (e) => { e.stopPropagation() }, false); - -//Form -window.addEventListener("DOMContentLoaded", function() { - const success = () => { - form.reset(); - button.style = "display: none;"; - message.classList.add('success'); - message.innerHTML = "Message successfully submited!"; - } - - const error = () => { - message.classList.add('error'); - message.innerHTML = "Oops! There was a problem."; - } - - form.addEventListener("submit", function(e) { - e.preventDefault(); - message.style = "display: block;"; - const data = new FormData(form); - ajax(form.method, form.action, data, success, error); - }); -}); - -const ajax = (method, url, data, success, error) => { - const xhr = new XMLHttpRequest(); - xhr.open(method, url); - xhr.setRequestHeader("Accept", "application/json"); - xhr.onreadystatechange = function() { - if (xhr.readyState !== XMLHttpRequest.DONE) { - return; - } - if (xhr.status === 200) { - success(xhr.response, xhr.responseType); - } - else { - error(xhr.status, xhr.response, xhr.responseType); - } - }; - xhr.send(data); -} \ No newline at end of file diff --git a/henry/assets/js/cookie-banner.js b/henry/assets/js/cookie-banner.js deleted file mode 100644 index 17a4eed..0000000 --- a/henry/assets/js/cookie-banner.js +++ /dev/null @@ -1,14 +0,0 @@ -const cookiesBanner = document.querySelector('.cookie-banner'); -const acceptCookiesButton = document.querySelector('#acceptCookiesButton'); -const cookiesAccepted = localStorage.getItem('jekyll-henry-cookies') ? localStorage.getItem('jekyll-henry-cookies') : null; - -if (!cookiesAccepted) { - cookiesBanner.classList.add('active'); -} - -const acceptCookies = () => { - localStorage.setItem('jekyll-henry-cookies', true); - cookiesBanner.classList.remove('active'); -} - -acceptCookiesButton.addEventListener('click', acceptCookies, false); \ No newline at end of file diff --git a/henry/assets/js/lightbox.js b/henry/assets/js/lightbox.js deleted file mode 100644 index 391b226..0000000 --- a/henry/assets/js/lightbox.js +++ /dev/null @@ -1,51 +0,0 @@ -const allImages = Array.from(document.querySelectorAll('[ref="lightbox"]')); -const lightbox = document.getElementById('custom-lightbox'); -const currentImage = document.getElementById('current-image'); - -let index = 0; -let isOpen = false; - -const openLightbox = () => { - lightbox.classList.add('active'); - currentImage.src = allImages[index]; - isOpen = true; -} - -const closeLightbox = () => { - lightbox.classList.remove('active'); - isOpen = false; -} - -const nextImage = () => { - index = index === allImages.length - 1 ? 0 : index + 1; - currentImage.src = allImages[index]; -} - -const prevImage = () => { - index = index === 0 ? allImages.length - 1 : index - 1; - currentImage.src = allImages[index]; -} - -const findImageIndex = (item) => { - return allImages.indexOf(item); -} - -allImages.forEach(item => { - item.addEventListener('click', event => { - event.preventDefault(); - index = findImageIndex(item); - openLightbox(); - }); -}); - -window.addEventListener('keydown', event => { - if (!isOpen) { - return; - } else if (event.keyCode === 27) { - closeLightbox(); - } else if (event.keyCode === 37) { - prevImage(); - } else if (event.keyCode === 39) { - nextImage(); - } -}); \ No newline at end of file diff --git a/henry/assets/js/reading-progress-bar.js b/henry/assets/js/reading-progress-bar.js deleted file mode 100644 index 5bedb0f..0000000 --- a/henry/assets/js/reading-progress-bar.js +++ /dev/null @@ -1,25 +0,0 @@ -const articleContainer = document.querySelector('.wrapper'); -const footerContainer = document.querySelector('.site-footer'); -const readingTimeProgress = document.querySelector('.reading-progress-bar'); - -const updateScrollProgressBar = () => { - const articleTop = articleContainer.offsetTop; - const articleHeight = articleContainer.offsetHeight; - const footerHeight = footerContainer.offsetHeight; - - const windowScroll = document.documentElement.scrollTop - articleTop; - const documentVisibleHeight = document.documentElement.clientHeight; - - if (windowScroll >= 0) { - const scrollPercentage = (windowScroll / (articleHeight - documentVisibleHeight + footerHeight)) * 100; - readingTimeProgress.style.width = scrollPercentage + "%"; - } - else { - readingTimeProgress.style.width = 0 + "%"; - } -} - -updateScrollProgressBar(); - -document.addEventListener('scroll', updateScrollProgressBar); -document.addEventListener('load', updateScrollProgressBar); \ No newline at end of file diff --git a/henry/assets/js/simple-jekyll-search.min.js b/henry/assets/js/simple-jekyll-search.min.js deleted file mode 100644 index 81df5d5..0000000 --- a/henry/assets/js/simple-jekyll-search.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Simple-Jekyll-Search - * Copyright 2015-2020, Christian Fei - * Licensed under the MIT License. - */ -!function(){"use strict";var f={compile:function(r){return i.template.replace(i.pattern,function(t,e){var n=i.middleware(e,r[e],i.template);return void 0!==n?n:r[e]||t})},setOptions:function(t){i.pattern=t.pattern||i.pattern,i.template=t.template||i.template,"function"==typeof t.middleware&&(i.middleware=t.middleware)}};const i={pattern:/\{(.*?)\}/g,template:"",middleware:function(){}};var n=function(t,e){var n=e.length,r=t.length;if(n{title}',templateMiddleware:Function.prototype,sortMiddleware:function(){return 0},noResultsText:"No results found",limit:10,fuzzy:!1,debounceTime:null,exclude:[]},n;const e=function(t,e){e?(clearTimeout(n),n=setTimeout(t,e)):t.call()};var r=["searchInput","resultsContainer","json"];const o=m({required:r});function u(t){d.put(t),i.searchInput.addEventListener("input",function(t){-1===[13,16,20,37,38,39,40,91].indexOf(t.which)&&(c(),e(function(){l(t.target.value)},i.debounceTime))})}function c(){i.resultsContainer.innerHTML=""}function s(t){i.resultsContainer.innerHTML+=t}function l(t){var e;(e=t)&&0 { - const currentMode = document.documentElement.getAttribute('data-theme'); - if (currentMode === 'light') { - document.documentElement.setAttribute('data-theme', 'dark'); - localStorage.setItem('jekyll-henry-theme', 'dark'); - } - else { - document.documentElement.setAttribute('data-theme', 'light'); - localStorage.setItem('jekyll-henry-theme', 'light'); - } -} -toggleSwitch.addEventListener('click', switchTheme, false); \ No newline at end of file diff --git a/henry/docs/documentation.htm b/henry/docs/documentation.htm deleted file mode 100644 index 42914a6..0000000 --- a/henry/docs/documentation.htm +++ /dev/null @@ -1,234 +0,0 @@ - - - - -Henry - Simple, yet powerful Jekyll theme - - - - -
-

Henry

-

Simple, yet powerful Jekyll theme.

- - -

Installation

-

I assume that you have already downloaded and installed Ruby. Here's what you need to do next:

-
    -
  1. Run gem install jekyll bundler.
  2. -
  3. Extract the theme to a desired folder.
  4. -
  5. o into that folder by executing cd name-of-the-folder.
  6. -
  7. Run bundle install.
  8. -
  9. If you want to access and customize the theme, use bundle exec jekyll serve. This way it will be accessible on http://localhost:4000/ or http://127.0.0.1:4000/. Also, after every change you make the theme will rebuild itself automatically.
  10. -
  11. Run bundle exec jekyll build and upload the content of the compiled _site folder on your host server.
  12. -
- - -

Configuration

-

All configuration options are in the _config.yml file. Let's take a look of the important ones.

-

General

-
    -
  • title: Site name.
  • -
  • description: Site description.
  • -
-

Paths

-

These options are pretty important, so take a closer look. If you experience any problems with your paths you should check here.

-
    -
  • url: A lot of people have problems when they try to setup their paths. That's why I've decided to keep things as simple as possible. So, usually you'll have to paste here your domain https://mysite.com and then in the baseurl you paste your subdomain (if there is one). The theme is configured to use absolute paths, so you'll have to paste the whole path here — domain + subdomain. For example, if your website is in the root folder, write down https://mysite.com, if there is a subfolder — https://mysite.com/subfolder. In this case you don't need the baseurl anymore.
  • -
  • baseurl: No longer needed due theme configuration. I left it just in case.
  • -
-

Options

-
    -
  • darkMode: Enable/disable dark theme for the theme. If enabled you'll see an icon in the upper right corner.
  • -
  • showTags: Enable/disable visibility of post's tags.
  • -
  • showCategories: Enable/disable visibility of post's categories.
  • -
  • showSearch: Enable/disable visibility of global site search.
  • -
  • showSharePost: Enable/disable visibility of post's share options.
  • -
  • showFavIcon: Enable/disable visibility of favicon.
  • -
  • showComments: Enable/disable visibility of post's comments.
  • -
  • showCookieBanner: Enable/disable visibility of the cookie banner. This theme supports Google Analytics (GA), so there have to be some kind of user notification. If you don't use GA or other tracking service, you should disable it. Keep in mind that the banner is pretty basic, so in some cases you may need to customize it or entirely replace it with another third-party cookie service.
  • -
  • useExternalContactForm: Enable/disable usage of Formspree as default contact form. If this option is disabled, when you click Contact link in the main menu you'll be redirected directly to your default mail client. If enabled, a modal box will pop up and you'll be introduced to a more user-friendly contact form.
  • -
  • useAnalytics: Enable/disable usage of Google Analytics.
  • -
-

Third Party / Social

-
    -
  • facebook: Link to your facebook page.
  • -
  • twitter: Link to your twitter page.
  • -
  • instagram: Link to your instagram page.
  • -
  • email: Your email address.
  • -
  • formspree: Link to your Formspree form. If you use Formspree, generate form ID and paste it here. Works only if you activated useExternalContactForm option in the previos section.
  • -
  • googleAnalyticsTrackingCode: Add your Google Analytics Tracking ID. Example ID: UA-XXXXXXX-2.
  • -
  • disqusID: Add your website shortname from Disqus. Keep in mind that by default Disqus comments are not configured. If you use this make sure showComments option is set to true.
  • -
  • twitterHandle: Add your Twitter handle.
  • -
-

Permalinks

-

There is a default structure of your links. If you want a different one, please check Jekyll documentation.

-

Pagination

-
    -
  • paginate: Number of posts per page.
  • -
  • paginate_path: The default path is /blog/page:num/, so for example if you go to the second page you'll see something like this http://mysite.com/blog/page2/.
  • -
-

Important Note: Due to theme's compatibility with GitHub Pages, pagination is only supported on the default posts/blog page — Blog. When you list categories or tags, there is no pagination.

-

Includes

-
    -
  • include: Force the inclusion of the pages directory.
  • -
-

Post Separator

-
    -
  • excerpt_separator: By default when you're writing a post, you should add <!--more--> to define the end of the excerpt. If you remove this option your excerpt will show with the default settings and you'll not have control over the content. If you want to keep the custom separator (I strongly suggest) you can leave it as is or change the <!--more--> tag as well.
  • -
-

Assets Settings

-
    -
  • sass_dir: Choose the path to your SCSS files.
  • -
  • style: Choose the compression method for the final CSS file.
  • -
-

If you need extra help, just check out the official Jekyll documentation.

- - -

How To Add a Post

-

All you need to do is to add a file to your _posts directory with the following format: YEAR-MONTH-DAY-title.MARKUP. Where YEAR is a four-digit number, MONTH and DAY are both two-digit numbers, and MARKUP is the file extension representing the format used in the file. You can overwrite these in the post's front matter. Take for example the current file. The title is different from the one in the filename.

-

In the beginning of the every post you have a so called front matter block which contains some data about the post. Here is the short description of the options.

-
    -
  • layout: Post's layout. This setting is configured by default. Use only if you want a custom post layout.
  • -
  • author: Post's author. You can see all authors in the authors.yml file in the _data folder.
  • -
  • title: Post's title. Overwrites the one from the filename.
  • -
  • date: Post's date. Overwrites the one from the filename.
  • -
  • categories: This post can be included under one or many categories. List them here. Keep in mind that you have to create a file for every new category. Check out the guide for creating a new category below.
  • -
  • tags: List the specific post tags. Keep in mind that you have to create a file for every new tag. Check out the guide for creating a new category below.
  • -
  • description: Meta description used for better SEO.
  • -
  • comments: By default they are always true, but if you want to turn them off for a specific post just set this to false.
  • -
-

You can add more or different data in the front matter by yourself. You'll just have to learn how to display it :).

- - -

How To Add a Page

-

Adding page is even simpler than adding post. Go go _pages folder and add a file with the following format: page-title.FORMAT. FORMAT is the file extension and it can be .md, .markdown or .html. Pages are also using front matter to add information to your page. Just like posts, pages have default front matter.

-
    -
  • layout: The page's layout. Unlike posts, setting the layout for the page is required.
  • -
  • title: Page's title.
  • -
  • permalink: This is important. If you do not enter the permalink, your URL will be something like this http://example.com/_pages/about. Enter the permalink and get rid of /_pages/ part. Do not forget the trailing slash!
  • -
  • showInMenu: By default every page is shown in the main menu. Set it to false if you don't want it to be visible there.
  • -
-

There are two "special" or in other words hardcoded pages that are custom for this theme - About Page and Work Page. They have some additional front matter that I'd like to share with you.

-

Special pages do not use page layout so they'll need another property to show up in the main menu.

-
    -
  • customPage: If you want a special page to be visible in the menu you'll have to keep this option set to true along with showInMenu. If false or removed the page will not be visible.
  • -
  • order: Custom pages can be ordered. Just place a number here.
  • -
- - -

How To Add a New Project

-

Go to the _projects folder and create a new file. There is a little bit of front matter that you'll have to fill:

-
----
-name: App
-category: App Design
-creationDate: 2021-02-01
-client: Tesla
-role: App Deisgner
-website: https://project.website.com
-cover: http://path.to.cover.image.jpg
-gallery:
-- http://path.to.image1.jpg
-- http://path.to.image2.jpg
----
-
-

I think all of the properties are self-explanatory. Keep in mind that demo projects are using webp format for the images and they are hosted on my server to keep the size of the theme as low as possible. If you keep your images in the images folder (as you should be) the path is /assets/images/image.FORMAT.

- - -

How To Add a New Category

-

I wanted to keep this theme as light and clean as possible, so the use of external plugins was not an option. Besides, I also wanted to be GitHub Pages compatible.

-

Adding a category is pretty simple, but some empty file creation is needed. Categories and tags are collections (just like projects) and every collection item require a dedicated file. Here are the steps of new category creation.

-
    -
  1. Go to _category folder and create new file. For example: documentation.html.
  2. -
  3. Open that file and add category property in the front matter. Note: Filename and category must be exactly the same.
  4. -
-
----
-category: documentation
----       
-
-
    -
  1. Optional: Go to a post and add category name to the list.
  2. -
- - -

How To Add a New Tag

-

I wanted to keep this theme as light and clean as possible, so the use of external plugins was not an option. Besides, I also wanted to be GitHub Pages compatible.

-

Adding a tag is pretty simple, but some file creation is needed. Categories and tags are collections (just like projects) and every collection item require a dedicated file. Here are the steps of new tag creation.

-
    -
  1. Go to _tag folder and create new file. For example: jekyll.html.
  2. -
  3. Open that file and add tag property in the front matter. Note: Filename and tag must be exactly the same.
  4. -
-
----
-tag: jekyll
----    
-
-
    -
  1. Optional: Go to a post and add tag name to the list.
  2. -
- - -

How To Add a New Author

-
    -
  1. Go to _data folder and open authors.yml file. Take a look at the examples and add another author.
  2. -
  3. Then go to a specific post and add author's name in the front matter.
  4. -
-
-henry:
-    name: Henry Dawson
-    title: Ordinary Gentleman
-    avatar: /assets/images/user1.webp
-
-

Take a look at the example above. henry is the name that you put in the post's front matter and the name is just a display name that is used thereafter.

- - -

Enable & Configure Disqus Comments

-

To enable and configure comments you must do the following:

-
    -
  1. Go to _config.yml and under Options enable showComments.
  2. -
  3. Go to _includes/components/comments.html file and edit your PAGE_URL and PAGE_IDENTIFIER variables. Read about Disqus.
  4. -
- - -

Formspree (Contact Form)

-

Go to Formspree and register. Create a new project and then a form. Paste form's endpoint to the _config.yml file, section Third Party / Social. Voilà!

- - -

Site Search

-

This theme use a third-party search library that is completely JavaScript. In the root folder you'll find the search.json file which is basically the search result's config. If you go to _includes/scripts.html you can also configure the library itself. You can change the settings but make sure you know what you are doing.

- - -

GitHub Pages

-

Here is the one of many ways to upload the theme to GitHub Pages.

-
    -
  1. Go to GitHub and create a new repository. It can be private or public for now, just don't forget to make it public when you finish editing.
  2. -
  3. Clone your repo and create a new branch called gh-pages.
  4. -
  5. Go to your Henry theme and open _config.yml file. After url in the Paths section write down your full URL. Example: https://githubusername.github.io/repositoryname. Build using bundle exec jekyll build.
  6. -
  7. Copy the contents of _site folder to the newly created GitHub Pages repo.
  8. -
  9. Then define user by executing two commands: git config user.email "Your Email" and git config user.name "Your Name".
  10. -
  11. Use git add . to stage all files, then type git commit -m "Initial commit" to make your first commit and that followed by git push -u origin gh-pages to push the changes.
  12. -
  13. Open https://githubusername.github.io/repositoryname (remember, you'll have to make it public). If you want to push new changes to the website, repeat step 6 and in the end just use git push.
  14. -
- -

That's it! Do not hesitate to ask if you have any questions. Happy blogging!

-
- - \ No newline at end of file diff --git a/henry/index.html b/henry/index.html deleted file mode 100644 index b1c345f..0000000 --- a/henry/index.html +++ /dev/null @@ -1,3 +0,0 @@ ---- -layout: blog ---- \ No newline at end of file diff --git a/henry/psd/Henry.psd b/henry/psd/Henry.psd deleted file mode 100644 index f0f5f20..0000000 Binary files a/henry/psd/Henry.psd and /dev/null differ diff --git a/henry/search.json b/henry/search.json deleted file mode 100644 index b3b88ab..0000000 --- a/henry/search.json +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: none ---- -[ - {% for post in site.posts %} - { - "title" : "{{post.title | escape}}", - "category" : "{{post.category}}", - "tags" : "{{post.tags | join: ', '}}", - "url" : "{{post.url | absolute_url}}", - "date" : "{{post.date}}" - } {% unless forloop.last %},{% endunless %} - {% endfor %} -] \ No newline at end of file