From a1abb8af6893102134a007e1e5eccc7c065971c2 Mon Sep 17 00:00:00 2001 From: Matthew Grove Date: Mon, 10 Jun 2024 15:31:56 +0100 Subject: [PATCH] Add more modular content for site --- .gitignore | 10 +- 404.html | 25 ++++ Gemfile | 33 +++++ Gemfile.lock | 100 +++++++++++++++ _config.yml | 62 ++++++++++ _data/current-projects.yml | 4 + _data/education.yml | 10 ++ _data/experience.yml | 5 + _data/photos.yml | 30 ++--- _data/portfolio.yml | 5 + _data/profile.yml | 12 ++ _data/skills.yml | 8 ++ _includes/about.md | 9 ++ _includes/head.html | 23 ++++ _includes/navbar.html | 14 +++ _includes/sidebar.html | 93 ++++++++++++++ _subpages/01-about.md | 241 +++++++++++++++++++++++++++++++++++++ _subpages/02-resume.md | 91 ++++++++++++++ _subpages/03-portfolio.md | 76 ++++++++++++ _subpages/04-photos.md | 52 +++++++- 20 files changed, 876 insertions(+), 27 deletions(-) create mode 100644 404.html create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 _config.yml create mode 100644 _data/current-projects.yml create mode 100644 _data/education.yml create mode 100644 _data/experience.yml create mode 100644 _data/portfolio.yml create mode 100644 _data/profile.yml create mode 100644 _data/skills.yml create mode 100644 _includes/about.md create mode 100644 _includes/head.html create mode 100644 _includes/navbar.html create mode 100644 _includes/sidebar.html create mode 100644 _subpages/01-about.md create mode 100644 _subpages/02-resume.md create mode 100644 _subpages/03-portfolio.md diff --git a/.gitignore b/.gitignore index 9c8ca10..f40fbd8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ -_site/ -.sass-cache/ -.jekyll-cache/ +_site +.sass-cache +.jekyll-cache .jekyll-metadata -# Ignore folders generated by Bundler -.bundle/ -vendor/ \ No newline at end of file +vendor diff --git a/404.html b/404.html new file mode 100644 index 0000000..086a5c9 --- /dev/null +++ b/404.html @@ -0,0 +1,25 @@ +--- +permalink: /404.html +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..f01211b --- /dev/null +++ b/Gemfile @@ -0,0 +1,33 @@ +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.3.3" +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.5" +# 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", "~> 0.12" +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", "< 3" + gem "tzinfo-data" +end + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] + +# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem +# do not have a Java counterpart. +gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..3a79ea6 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,100 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + colorator (1.1.0) + concurrent-ruby (1.3.3) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + eventmachine (1.2.7) + ffi (1.17.0) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86_64-darwin) + forwardable-extended (2.6.0) + google-protobuf (3.25.3) + google-protobuf (3.25.3-arm64-darwin) + google-protobuf (3.25.3-x86_64-darwin) + google-protobuf (3.25.3-x86_64-linux) + http_parser.rb (0.8.0) + i18n (1.14.5) + concurrent-ruby (~> 1.0) + jekyll (4.3.3) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (>= 0.3.6, < 0.5) + pathutil (~> 0.9) + rouge (>= 3.0, < 5.0) + safe_yaml (~> 1.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-sass-converter (3.0.0) + sass-embedded (~> 1.54) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (5.0.5) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rexml (3.2.9) + strscan + rouge (4.2.1) + safe_yaml (1.0.5) + sass-embedded (1.69.5) + google-protobuf (~> 3.23) + rake (>= 13.0.0) + sass-embedded (1.69.5-arm64-darwin) + google-protobuf (~> 3.23) + sass-embedded (1.69.5-x86_64-darwin) + google-protobuf (~> 3.23) + strscan (3.1.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.5.0) + webrick (1.8.1) + +PLATFORMS + arm64-darwin + ruby + x86_64-darwin + x86_64-linux + +DEPENDENCIES + http_parser.rb (~> 0.6.0) + jekyll (~> 4.3.3) + jekyll-feed (~> 0.12) + minima (~> 2.5) + tzinfo (>= 1, < 3) + tzinfo-data + wdm (~> 0.1.1) + +BUNDLED WITH + 2.5.11 diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..d426889 --- /dev/null +++ b/_config.yml @@ -0,0 +1,62 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. +# +# If you need help with YAML syntax, here are some quick references for you: +# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml +# https://learnxinyminutes.com/docs/yaml/ +# +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +title: Matthew Grove +description: >- # this means to ignore newlines until "baseurl:" + Write an awesome description for your new site here. You can edit this + line in _config.yml. It will appear in your document head meta (for + Google search results) and in your feed.xml site description. +baseurl: "" # the subpath of your site, e.g. /blog +url: "https://mgrove.uk" # the base hostname & protocol for your site, e.g. http://example.com + +defaults: + - scope: + path: "" + type: subpages + values: + layout: default +collections: + subpages: + output: true + +# Build settings +# theme: minima +# plugins: +# - jekyll-feed + +# Exclude from processing. +# The following items will not be processed, by default. +# Any item listed under the `exclude:` key here will be automatically added to +# the internal "default list". +# +# Excluded items can be processed by explicitly listing the directories or +# their entries' file path in the `include:` list. +# +# exclude: +# - .sass-cache/ +# - .jekyll-cache/ +# - gemfiles/ +# - Gemfile +# - Gemfile.lock +# - node_modules/ +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/_data/current-projects.yml b/_data/current-projects.yml new file mode 100644 index 0000000..a8420dc --- /dev/null +++ b/_data/current-projects.yml @@ -0,0 +1,4 @@ +- title: Web design + icon: /assets/images/icon-design.svg + icon_alt: design icon + description: The most modern and high-quality design made at a professional level. \ No newline at end of file diff --git a/_data/education.yml b/_data/education.yml new file mode 100644 index 0000000..091fe36 --- /dev/null +++ b/_data/education.yml @@ -0,0 +1,10 @@ +- institution: University of Southampton + grade: 1:1, predicted + start_year: 2022 + end_year: Present + description: MEng Computer Science with Cyber Security, with a current focus on Cyber Security and Digital Forensics. +- institution: Reading School + grade: A*A*A*A + start_year: 2020 + end_year: 2022 + description: A Levels in Computer Science, Physics, Mathematics, and Further Mathematics. Cadet Warrant Officer in the school's Combined Cadet Force, and Lord Lieutenant's Cadet. Ran a Robotics Club, competing on the international stage. \ No newline at end of file diff --git a/_data/experience.yml b/_data/experience.yml new file mode 100644 index 0000000..44227b5 --- /dev/null +++ b/_data/experience.yml @@ -0,0 +1,5 @@ +- job_title: Student Ambassador + company: University of Southampton + start_year: 2022 + end_year: Present + description: \ No newline at end of file diff --git a/_data/photos.yml b/_data/photos.yml index e1932fb..9c6bde6 100644 --- a/_data/photos.yml +++ b/_data/photos.yml @@ -1,15 +1,15 @@ -- file: .png - tag: Military - alt: Blog 1 -- file: /assets/images/blog-2.jpg - tag: Activity - alt: Blog 2 -- file: /assets/images/blog-3.jpg - tag: Activity - alt: Blog 3 -- file: /assets/images/avatar-3.png - tag: Military - alt: Blog 3 -- file: /assets/images/avatar-3.png - tag: Test - alt: Blog 3 \ No newline at end of file +- file: DSC_0217.jpg + tag: Portrait + alt: Black and white portrait photo with sunlight shining on one half of the face +- file: Album-Cover.jpg + tag: Portrait + alt: A woman sat on a bench in the dark, with two flourescent lines of light horizontally across the image +- file: 2023-02-05-16-26-31_018.jpg + tag: Portrait + alt: A man stood by a metal fence on the beach, looking at the ocean +- file: DSC_0570.jpg + tag: Portrait + alt: The silhouette of a man in the sunset, holding a necklace around his neck +- file: 2023-02-05-16-11-35_017.jpg + tag: Portrait + alt: A man sat on raised rocks on the beach, in the sun \ No newline at end of file diff --git a/_data/portfolio.yml b/_data/portfolio.yml new file mode 100644 index 0000000..1f6e692 --- /dev/null +++ b/_data/portfolio.yml @@ -0,0 +1,5 @@ +- title: Finance + link: '#' + tag: Web development + image: /assets/images/project-1.jpg + image_alt: finance \ No newline at end of file diff --git a/_data/profile.yml b/_data/profile.yml new file mode 100644 index 0000000..0a0519f --- /dev/null +++ b/_data/profile.yml @@ -0,0 +1,12 @@ +name: Matthew Grove +email: me@mgrove.uk +description: Computer Science student and Cyber Security/Software Engineer +location: Southampton, UK +phone: +github_username: mgrove36 +linkedin_username: mgrove36 +socials: + - link: https://github.com/mgrove36 + icon: github + - link: https://linkedin.com/in/mgrove36 + icon: linkedin \ No newline at end of file diff --git a/_data/skills.yml b/_data/skills.yml new file mode 100644 index 0000000..d2348e5 --- /dev/null +++ b/_data/skills.yml @@ -0,0 +1,8 @@ +- name: Web design + value: 80 +- name: Graphic design + value: 70 +- name: Branding + value: 90 +- name: WordPress + value: 50 \ No newline at end of file diff --git a/_includes/about.md b/_includes/about.md new file mode 100644 index 0000000..2efb128 --- /dev/null +++ b/_includes/about.md @@ -0,0 +1,9 @@ +I'm Creative Director and UI/UX Designer from Sydney, Australia, working in web development and print media. +I enjoy +turning complex problems into simple, beautiful and intuitive designs. + +My job is to build your website so that it is functional and user-friendly but at the same time attractive. +Moreover, I +add personal touch to your product and make sure that is eye-catching and easy to use. My aim is to bring +across your +message and identity in the most creative way. I created web design for many famous brand companies. diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..8792c32 --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,23 @@ + + + + +vCard - Personal Portfolio + + + + + + + + + + + + \ No newline at end of file diff --git a/_includes/navbar.html b/_includes/navbar.html new file mode 100644 index 0000000..0595b62 --- /dev/null +++ b/_includes/navbar.html @@ -0,0 +1,14 @@ + diff --git a/_includes/sidebar.html b/_includes/sidebar.html new file mode 100644 index 0000000..bc453c2 --- /dev/null +++ b/_includes/sidebar.html @@ -0,0 +1,93 @@ + \ No newline at end of file diff --git a/_subpages/01-about.md b/_subpages/01-about.md new file mode 100644 index 0000000..997457d --- /dev/null +++ b/_subpages/01-about.md @@ -0,0 +1,241 @@ +--- +title: About +permalink: / +--- + +
+ {% capture about %}{% include about.md %}{% endcapture %} + {{ about | markdownify }} +
+ + + + +
+ +

What I'm Doing

+ + + +
+ + + + +
+ +

Testimonials

+ + + +
+ + + + + + + + + +
+ +

Clients

+ + + +
diff --git a/_subpages/02-resume.md b/_subpages/02-resume.md new file mode 100644 index 0000000..2dc7bc2 --- /dev/null +++ b/_subpages/02-resume.md @@ -0,0 +1,91 @@ +--- +title: Resume +permalink: /resume +--- + +
+ +
+
+ +
+ +

Education

+
+ +
    + + {% for education-item in site.data.education %} +
  1. + +

    {{ education-item.institution }}

    + + {{ education-item.start_year }} — {{ education-item.end_year }} ({{ education-item.grade }}) + +

    + {{ education-item.description }} +

    + +
  2. + {% endfor %} + +
+ +
+ +
+ +
+
+ +
+ +

Experience

+
+ +
    + + {% for experience-item in site.data.experience %} +
  1. + +

    {{ experience-item.job_title }}{% if experience-item.company %}, {{ experience-item.company }}{% endif %}

    + + {{ experience-item.start_year }} — {{ experience-item.end_year }} + + {% if experience-item.description %} +

    + {{ experience-item.description }} +

    + {% endif %} + +
  2. + {% endfor %} + +
+ +
+ +
+ +

My skills

+ + + +
diff --git a/_subpages/03-portfolio.md b/_subpages/03-portfolio.md new file mode 100644 index 0000000..9419d8e --- /dev/null +++ b/_subpages/03-portfolio.md @@ -0,0 +1,76 @@ +--- +title: Portfolio +permalink: /portfolio +--- + +
+ + + +
+ + + +
    + +
  • + +
  • + + {% assign tags = site.data.portfolio | map: "tag" | uniq %} + {% for tag in tags %} +
  • + +
  • + {% endfor %} + +
+ +
+ + + +
diff --git a/_subpages/04-photos.md b/_subpages/04-photos.md index 526d131..f62ed5f 100644 --- a/_subpages/04-photos.md +++ b/_subpages/04-photos.md @@ -51,21 +51,21 @@ permalink: /photos + +