├── .github ├── pull_request_template.md └── workflows │ └── jekyllBuild.yml ├── .gitignore ├── 404.html ├── CODE_OF_CONDUCT.md ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── _config.yml ├── _data ├── achievements.yml ├── education.yml ├── experience.yml ├── footer.yml ├── projects.yml ├── skills.yml └── social-media.yml ├── _includes ├── achievements.html ├── contact.html ├── education.html ├── experience.html ├── footer.html ├── footer_flat.html ├── footer_minimal.html ├── header.html ├── navbar.html ├── profile.html ├── projects.html ├── skills.html ├── social-media-links.html └── template.html ├── _layouts ├── default.html └── page.html ├── _sass ├── all.scss ├── contact.scss ├── footer_flat.scss ├── footer_minimal.scss ├── navbar.scss ├── page.scss ├── profile.scss ├── skills.scss ├── variables.scss └── variables_dark.scss ├── assets ├── css │ └── main.scss ├── img │ ├── .DS_Store │ ├── education │ │ ├── fellowship.svg │ │ └── uob.png │ ├── experience │ │ ├── fellowship.svg │ │ └── mlh.svg │ ├── favicon.ico │ ├── footer_flat.png │ ├── footer_minimal.png │ ├── jekyll.png │ ├── launch.svg │ ├── logo.jpg │ ├── logo.svg │ ├── mlh.jpg │ └── social-link.jpg └── js │ └── darkmode.js ├── blog.html ├── cv └── resume.pdf ├── index.html └── projects ├── Sprint1.md └── Sprint2.md /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Changes 2 | 3 | 4 | ## How Has This Been Tested? 5 | 6 | 7 | 8 | 9 | ## Mentions 10 | 11 | 12 | ## Types of changes 13 | 14 | - [ ] Breaking change (fix or feature that would cause existing functionality to change) 15 | - [ ] New feature and improvements (non-breaking change which adds/improves functionality) 16 | - [ ] Bug fix (non-breaking change which fixes an issue) 17 | - [ ] Code Refactoring (internal change which is not user facing) 18 | - [ ] Documentation 19 | - [ ] Test, CI, or build 20 | 21 | 22 | ## Checklist 23 | 24 | - [ ] Coding style of this project is followed 25 | - [ ] Change in documentation is required 26 | - [ ] Documentation has been updated accordingly 27 | - [ ] Unit tests have been added to cover code change 28 | -------------------------------------------------------------------------------- /.github/workflows/jekyllBuild.yml: -------------------------------------------------------------------------------- 1 | 2 | 3 | name: Build Jekyll 4 | 5 | on: 6 | # Triggers the workflow on push or pull request events but only for the master branch 7 | push: 8 | branches: [ master ] 9 | pull_request: 10 | branches: [ master ] 11 | 12 | # Allows you to run this workflow manually from the Actions tab 13 | workflow_dispatch: 14 | 15 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 16 | jobs: 17 | build: 18 | # The type of runner that the job will run on 19 | runs-on: ubuntu-latest 20 | 21 | steps: 22 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 23 | - uses: actions/checkout@v2 24 | 25 | - name: Set up Ruby 26 | uses: ruby/setup-ruby@v1 27 | with: 28 | ruby-version: 2.6 29 | - name: Install dependencies 30 | run: bundle install 31 | - name: Build Jekyll 32 | run: bundle exec jekyll build 33 | 34 | 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | .jekyll-cache 4 | .jekyll-metadata 5 | vendor 6 | .bundle 7 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /404.html 3 | layout: default 4 | --- 5 | 6 | 19 | 20 |
21 |

404

22 | 23 |

Page not found :(

24 |

The requested page could not be found.

25 |
26 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | **TL;DR.** Be respectful. Harassment and abuse are never tolerated. If you are in a situation that makes you uncomfortable at an MLH Member Event, if the event itself is creating an unsafe or inappropriate environment, or if interacting with a MLH representative or event organizer makes you uncomfortable, please report it using the procedures included in this document. 3 | 4 | Major League Hacking (MLH) stands for inclusivity. We believe that every single person has the right to hack in a safe and welcoming environment. 5 | 6 | Harassment includes but is not limited to offensive verbal or written comments related to gender, age, sexual orientation, disability, physical appearance, body size, race, religion, social class, economic status, veteran status, sexual images, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. If what you’re doing is making someone feel uncomfortable, that counts as harassment and is enough reason to stop doing it. 7 | 8 | Participants asked to stop any harassing behavior are expected to comply immediately. 9 | 10 | Sponsors, judges, mentors, volunteers, organizers, MLH staff, and anyone else at the event are also subject to the anti-harassment policy. In particular, attendees should not use sexualised images, activities, or other material both in their hacks and during the event. Booth staff (including volunteers) should not use sexualised clothing/uniforms/costumes, or otherwise create a sexualised environment. 11 | 12 | If a participant engages in harassing behavior, MLH may take any action it deems appropriate, including warning the offender or expulsion from the event with no eligibility for reimbursement or refund of any type. 13 | 14 | If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact MLH using the reporting procedures defined below. 15 | 16 | MLH representatives will be happy to help participants contact campus security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the event. We value your attendance. 17 | 18 | We expect participants to follow these rules at all hackathon venues, online interactions in relation to the event, hackathon-related social events, and on hackathon supplied transportation. 19 | 20 | ## Reporting Procedures 21 | 22 | If you feel uncomfortable or think there may be a potential violation of the code of conduct, please report it immediately to the MLH Representative that is on-site at the event. All reporters have the right to remain anonymous. 23 | 24 | By sending information to the general reporting line, your report will go to any or all of the MLH representatives listed below. 25 | 26 | - North America General Reporting - +1 409 202 6060, incidents@mlh.io 27 | - Europe General Reporting - +44 800 808 5675, incidents@mlh.io 28 | - Asia-Pacific General Reporting - +91 80004 02492, incidents@mlh.io 29 | 30 | ## Special Incidents 31 | If you are uncomfortable reporting your situation to one or more of these people or need to contact any of them directly in case of emergency, direct contact details are listed below. Incidents emailed to incidents@mlh.io may be addressed after the event. 32 | 33 | - Chi Nguyen - +1 (586) 244-8877, chi@mlh.io 34 | - Jon Gottfried - +1 (212) 851-6746, jon@mlh.io 35 | - Nick Quinlan - +1 (510) 859-8578, nq@mlh.io 36 | - Swift - +1 (347) 220-8667, swift@mlh.io 37 | - Ryan Swift - +1 (347) 868-6698, ryan@mlh.io 38 | 39 | MLH reserves the right to revise, make exceptions to, or otherwise amend these policies in whole or in part. If you have any questions regarding these policies, please contact MLH by e-mail at hi@mlh.io. 40 | 41 | This guide was last updated on: 42 | Oct 16, 2019 43 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | gem "jekyll", "~> 4.1.1" 3 | 4 | platforms :mingw, :x64_mingw, :mswin, :jruby do 5 | gem "tzinfo", "~> 1.2" 6 | gem "tzinfo-data" 7 | end 8 | 9 | gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] 10 | 11 | 12 | gem "webrick", "~> 1.7" 13 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.7.0) 5 | public_suffix (>= 2.0.2, < 5.0) 6 | colorator (1.1.0) 7 | concurrent-ruby (1.1.7) 8 | em-websocket (0.5.2) 9 | eventmachine (>= 0.12.9) 10 | http_parser.rb (~> 0.6.0) 11 | eventmachine (1.2.7) 12 | eventmachine (1.2.7-x64-mingw32) 13 | ffi (1.13.1) 14 | ffi (1.13.1-x64-mingw32) 15 | forwardable-extended (2.6.0) 16 | http_parser.rb (0.6.0) 17 | i18n (1.8.5) 18 | concurrent-ruby (~> 1.0) 19 | jekyll (4.1.1) 20 | addressable (~> 2.4) 21 | colorator (~> 1.0) 22 | em-websocket (~> 0.5) 23 | i18n (~> 1.0) 24 | jekyll-sass-converter (~> 2.0) 25 | jekyll-watch (~> 2.0) 26 | kramdown (~> 2.1) 27 | kramdown-parser-gfm (~> 1.0) 28 | liquid (~> 4.0) 29 | mercenary (~> 0.4.0) 30 | pathutil (~> 0.9) 31 | rouge (~> 3.0) 32 | safe_yaml (~> 1.0) 33 | terminal-table (~> 1.8) 34 | jekyll-sass-converter (2.1.0) 35 | sassc (> 2.0.1, < 3.0) 36 | jekyll-watch (2.2.1) 37 | listen (~> 3.0) 38 | kramdown (2.3.1) 39 | rexml 40 | kramdown-parser-gfm (1.1.0) 41 | kramdown (~> 2.0) 42 | liquid (4.0.3) 43 | listen (3.3.3) 44 | rb-fsevent (~> 0.10, >= 0.10.3) 45 | rb-inotify (~> 0.9, >= 0.9.10) 46 | mercenary (0.4.0) 47 | pathutil (0.16.2) 48 | forwardable-extended (~> 2.6) 49 | public_suffix (4.0.6) 50 | rb-fsevent (0.10.4) 51 | rb-inotify (0.10.1) 52 | ffi (~> 1.0) 53 | rexml (3.2.5) 54 | rouge (3.25.0) 55 | safe_yaml (1.0.5) 56 | sassc (2.4.0) 57 | ffi (~> 1.9) 58 | sassc (2.4.0-x64-mingw32) 59 | ffi (~> 1.9) 60 | terminal-table (1.8.0) 61 | unicode-display_width (~> 1.1, >= 1.1.1) 62 | thread_safe (0.3.6) 63 | tzinfo (1.2.9) 64 | thread_safe (~> 0.1) 65 | tzinfo-data (1.2021.1) 66 | tzinfo (>= 1.0.0) 67 | unicode-display_width (1.7.0) 68 | wdm (0.1.1) 69 | webrick (1.7.0) 70 | 71 | PLATFORMS 72 | ruby 73 | x64-mingw32 74 | 75 | DEPENDENCIES 76 | jekyll (~> 4.1.1) 77 | tzinfo (~> 1.2) 78 | tzinfo-data 79 | wdm (~> 0.1.1) 80 | webrick (~> 1.7) 81 | 82 | BUNDLED WITH 83 | 2.1.4 84 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 MLH Fellowship 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Portfolio Template 2 | 3 | This is a Jekyll website template designed for Explorer Fellows. During the Fellowship, you'll generate a number of projects 4 | 5 | This can also be used for Open Source and Externship Fellows but you might need to make some tweaks. 6 | 7 | ## Make your own! 8 | 9 | 1. Fork this repository or use the Template button. 10 | 2. Update `_config.yml` to contain your information. 11 | 1. Change `url` to be what your Github Pages will be (the name of the repository) 12 | 2. Make sure it has the / 13 | 3. Go to the repository settings and turn on GitHub Pages 14 | 15 | ## Add your portfolio 16 | 17 | Head to `_data` and fill out either `projects.yml`, `experience.yml`, `education.yml` and `achievements.yml`. 18 | 19 | Project example. 20 | ```yaml 21 | - title: Machine Learning Project 22 | event: MLH Fellowship Explorer Sprint 3 - Batch 1 23 | date: Fall 2020 24 | ``` 25 | 26 | Experience example. 27 | ```yaml 28 | - role: Open Source Fellow 29 | company: MLH Fellowship 30 | dates: Summer 2020 31 | logo: fellowship.svg 32 | ``` 33 | 34 | Education example. 35 | ```yaml 36 | - course: Explorer Fellow 37 | institute: MLH Fellowship 38 | dates: Fall 2020 39 | logo: fellowship.svg 40 | ``` 41 | 42 | Achievement example. 43 | ```yaml 44 | - title: Winner at MLH Hackathon 45 | date: Jan 2021 46 | ``` 47 | 48 | ## Add project/blog posts 49 | 50 | 1. Make a new `.md` file inside of `projects`. 51 | 2. Add the header to your markdown file (see below) and change the title to the name of your blog post. 52 | 3. Write your project page! Can be a README from GitHub or your Devpost page. 53 | 4. Add the `page-name` field to your `projects.yml` (see below). 54 | 55 | Top of post markdown file post. 56 | ``` 57 | --- 58 | title: Sprint 1 Project 59 | layout: page 60 | --- 61 | ``` 62 | 63 | `projects.yml` with the `page-name` field. 64 | 65 | ```yaml 66 | - title: Machine Learning Project 67 | event: MLH Fellowship Explorer Sprint 3 - Batch 1 68 | date: Fall 2020 69 | page-name: Sprint1 70 | ``` 71 | ## Add Contact Us form 72 | 73 | 1. Create a formspree account and login with the credentials. | https://formspree.io/register 74 | 2. A verfication mail will be sent to the registered email id. Once the verification is done, you could add new forms. 75 | 3. Click on the new project button and then add new form in formspree profile with a name and a valid email id. 76 | 4. Once form is added successfully, you will be provided with form's endpoint in the `integeration` tab | 77 | Example : https://formspree.io/f/mrgodpnk 78 | 5. Copy the end point and add it to the `form_url` in `_config.yml` file and then you are good to go! :) 79 | Example : `form_url: "https://formspree.io/f/mrgodpnk"` 80 | 6. All the submissions will be visible on the `submissions` tab. :D 81 | 82 | ## Add Google Analytics 83 | 84 | 1. Get your Measurement ID from your Analytics account. | https://support.google.com/analytics/answer/1008080 85 | 2. Copy the end point and add it to the `google_analytics_measurement_id` in `_config.yml` file and then you are good to go! :) 86 | Example : `google_analytics_measurement_id: G-XXXXXXXXXX` 87 | 88 | ## Customizing Page Components 89 | 90 | You can customize the following components by changing their variable values in `_sass/variables.scss`: 91 | 1. `herobackground` : Background colour for the profile area 92 | 2. `font_family` : Font style/family used 93 | 3. `text_color` : Colour of the text used 94 | 4. `link` : Hyperlink colour 95 | 5. `title_color` : Colour used for the title 96 | 6. `body_background` : Background Colour used for the page 97 | 7. `cardnum_big` : Number of cards for a relatively big screen 98 | 8. `cardnum_medium` : Number of cards for a relatively medium-sized screen 99 | 9. `cardnum_small` : Number of cards for a relatively small screen 100 | 10. `card_font_size` : Font size used within the cards 101 | 11. `title_font_size` : Font size for the title 102 | 12. `fontsize_h1` : Font size for h1 headings 103 | 13. `fontsize_h2` : Font size for h2 headings 104 | 14. `fontsize_h1_profile` : Font size for h1 headings in the profile section 105 | 15. `box_shadow` : Option for shadow effect 106 | 107 | ## Choose Footer 108 | 109 | You can choose the footer by changing the value of `- footer_file_name :` in `_data/footer.yml` as 110 | 111 | 1. `footer_flat.html` for 112 | 113 | ![footer_flat](/assets/img/footer_flat.png) 114 | 115 | 2. `footer_minimal.html` for 116 | 117 | ![footer_minimal](/assets/img/footer_minimal.png) 118 | 119 | ## Development 120 | 121 | If you want to test it locally or add some new features, run the below commands. Make sure to have Ruby and Bundler installed. 122 | 123 | ``` 124 | bundle install 125 | bundle exec jekyll serve 126 | ``` 127 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: "Will Russell" 2 | email: fellowship@mlh.io 3 | description: >- # this means to ignore newlines until "baseurl:" 4 | Write an awesome description for your new site here. You can edit this 5 | line in _config.yml. It will appear in your document head meta (for 6 | Google search results) and in your feed.xml site description. 7 | # Root directory for your portfolio. On GitHub Pages, this is the name of your repository. 8 | baseurl: "/portfolio-template" 9 | # Protocol + hostname for your portfolio. On GitHub Pages, this is https://yourusername.github.io 10 | url: "https://mlh-fellowship.github.io" 11 | twitter_username: mlhacks 12 | github_username: mlh-fellowship 13 | form_url: "https://formspree.io/f/xrgodpqo" 14 | social_image: "./assets/img/social-link.jpg" 15 | social_image_alt: # Alt text for the link preview image 16 | google_analytics_measurement_id: # G-XXXXXXXXXX 17 | 18 | sass: 19 | sass_dir: _sass 20 | 21 | icon: ./assets/img/icon.jpg 22 | -------------------------------------------------------------------------------- /_data/achievements.yml: -------------------------------------------------------------------------------- 1 | - title: Winner at MLH Hackathon 2 | date: Jan 2021 3 | 4 | - title: Lorem Ipsum 5 | date: Dec 2020 6 | -------------------------------------------------------------------------------- /_data/education.yml: -------------------------------------------------------------------------------- 1 | - course: BSc Computer Science 2 | institute: University of Birmingham 3 | dates: 2018 - 2021 4 | logo: uob.png 5 | 6 | - course: Explorer Fellow 7 | institute: MLH Fellowship 8 | dates: Fall 2020 9 | logo: fellowship.svg 10 | -------------------------------------------------------------------------------- /_data/experience.yml: -------------------------------------------------------------------------------- 1 | - role: Open Source Fellow 2 | company: MLH Fellowship 3 | dates: Summer 2020 4 | logo: fellowship.svg -------------------------------------------------------------------------------- /_data/footer.yml: -------------------------------------------------------------------------------- 1 | - footer_file_name: footer_flat.html 2 | -------------------------------------------------------------------------------- /_data/projects.yml: -------------------------------------------------------------------------------- 1 | - title: Social Good! 2 | event: MLH Fellowship Explorer Sprint 5 3 | date: Fall 2020 - Batch 1 4 | 5 | - title: Developer Tools! 6 | event: MLH Fellowship Explorer Sprint 4 7 | date: Fall 2020 - Batch 1 8 | 9 | - title: Machine Learning Project 10 | event: MLH Fellowship Explorer Sprint 3 11 | date: Fall 2020 - Batch 1 12 | 13 | - title: Fun Game 14 | event: MLH Fellowship Explorer Sprint 2 15 | date: Fall 2020 - Batch 1 16 | page-name: Sprint2 17 | 18 | - title: Flash Card Generator 19 | event: MLH Fellowship Explorer Sprint 1 20 | date: Fall 2020 - Batch 1 21 | page-name: Sprint1 22 | -------------------------------------------------------------------------------- /_data/skills.yml: -------------------------------------------------------------------------------- 1 | # Get regular icons from fontawesome: https://fontawesome.com/ 2 | # Get dev icons from devicon: https://devicon.dev/ 3 | 4 | # Language Section 5 | - name: Languages 6 | skills: 7 | - skill: Python 8 | profeciency: Intermediate 9 | icon: devicon-python-plain 10 | 11 | - skill: C++ 12 | profeciency: Beginner 13 | icon: devicon-c-plain 14 | 15 | - skill: Java 16 | profeciency: Intermediate 17 | icon: devicon-java-plain 18 | 19 | # frameworks section 20 | - name: Frameworks 21 | skills: 22 | - skill: Flutter 23 | profeciency: Intermediate 24 | icon: devicon-flutter-plain 25 | 26 | - skill: Django 27 | profeciency: Advanced 28 | icon: devicon-django-plain 29 | 30 | - skill: Express.js 31 | profeciency: Beginner 32 | icon: devicon-express-original 33 | 34 | # interpersonal section 35 | - name: Soft Skills 36 | skills: 37 | - skill: Communication Skills 38 | profeciency: Beginner 39 | icon: fas fa-satellite-dish 40 | 41 | - skill: Presentation Skills 42 | profeciency: Intermediate 43 | icon: fas fa-file-powerpoint 44 | 45 | - skill: Team Player 46 | profeciency: Advanced 47 | icon: fas fa-users 48 | -------------------------------------------------------------------------------- /_data/social-media.yml: -------------------------------------------------------------------------------- 1 | email: 2 | id: "your.name@yoursite.com" 3 | href: "mailto:" 4 | title: "Email" 5 | fa-icon: "fa-envelope-square fa-2x" 6 | 7 | github: 8 | id: "your-github-name" 9 | href: "https://github.com/" 10 | title: "GitHub" 11 | fa-icon: "fa-github-square fa-2x" 12 | 13 | linkedin: 14 | id: "your-linkedin-name" 15 | href: "https://linkedin.com/" 16 | title: "Linkedin" 17 | fa-icon: "fa-linkedin-square fa-2x" 18 | 19 | twitter: 20 | id: "your-twitter-name" 21 | href: "https://www.twitter.com/" 22 | title: "Twitter" 23 | fa-icon: "fab fa-twitter fa-2x" 24 | -------------------------------------------------------------------------------- /_includes/achievements.html: -------------------------------------------------------------------------------- 1 |

Achievements

2 |
3 | {% for item in site.data.achievements %} 4 |
5 |
6 |

{{ item.title }}

7 |

{{ item.date }}

8 |
9 |
10 | {% endfor %} 11 |
12 | -------------------------------------------------------------------------------- /_includes/contact.html: -------------------------------------------------------------------------------- 1 |

Contact Us

2 |
3 |
4 | 5 | 12 | 13 | 14 | 21 | 22 | 23 | 30 | 31 |
32 |
33 | -------------------------------------------------------------------------------- /_includes/education.html: -------------------------------------------------------------------------------- 1 |

Education

2 |
3 | {% for item in site.data.education %} 4 |
5 |
6 | 7 |
8 |
9 |

{{ item.course }}

10 |

{{ item.institute }}

11 |

{{ item.dates }}

12 |
13 |
14 | {% endfor %} 15 |
16 | -------------------------------------------------------------------------------- /_includes/experience.html: -------------------------------------------------------------------------------- 1 |

Work Experience

2 |
3 | {% for item in site.data.experience %} 4 |
5 |
6 | 7 |
8 |
9 |

{{ item.role }}

10 |

{{ item.company }}

11 |

{{ item.dates }}

12 |
13 |
14 | {% endfor %} 15 |
16 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | {% for item in site.data.footer %} 2 | {% include {{ item.footer_file_name }} %} 3 | {% endfor %} 4 | -------------------------------------------------------------------------------- /_includes/footer_flat.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/footer_minimal.html: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 | 2 | {% if site.google_analytics_measurement_id %} 3 | 4 | 5 | 12 | {% endif %} 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | {% capture social_image %}{{site.social_image | absolute_url }}{% endcapture %} 23 | {% capture social_image_alt %}{{ site.social_image_alt | default: site.title }}{% endcapture %} 24 | 25 | 26 | 27 | 28 | 29 | {% if social_image and social_image != blank %} 30 | 31 | 32 | {% endif %} 33 | 34 | 35 | 36 | 37 | 38 | 39 | {% if social_image and social_image != blank %} 40 | 41 | 42 | {% endif %} 43 | {% if site.twitter_username and site.twitter_username != blank %} 44 | 45 | 46 | {% endif %} 47 | 48 | 51 | 54 | 57 | 58 | 60 | 61 | 62 | 63 | 64 | 66 | 68 | 69 | 70 | 71 | 72 | 73 | {{ site.title }} 74 | 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /_includes/navbar.html: -------------------------------------------------------------------------------- 1 | 22 | -------------------------------------------------------------------------------- /_includes/profile.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |

{{ site.title }}

6 |
7 | -------------------------------------------------------------------------------- /_includes/projects.html: -------------------------------------------------------------------------------- 1 |

Projects

2 |
3 | {% for item in site.data.projects %} 4 | {% if item.page-name %} 5 | 6 | {% else %} 7 | 8 | {% endif %} 9 |
10 |
11 |

{{ item.title }}

12 |

{{ item.event }}

13 |

{{ item.date }}

14 |
15 |
16 |
17 | {% endfor %} 18 |
19 | -------------------------------------------------------------------------------- /_includes/skills.html: -------------------------------------------------------------------------------- 1 |

Skills

2 |
3 | {% for item in site.data.skills %} 4 |
5 |
6 |

{{ item.name }}

7 | {% for category in item.skills %} 8 |
9 |
10 | 11 |
12 |
13 |

{{ category.skill }}

14 |

{{ category.profeciency }}

15 |
16 |
17 | {% endfor %} 18 |
19 |
20 | {% endfor %} 21 |
22 | -------------------------------------------------------------------------------- /_includes/social-media-links.html: -------------------------------------------------------------------------------- 1 | {% if site.data.social-media %} 2 |
3 | {% assign sm = site.data.social-media %} {% for entry in sm %} {% assign key = entry | first %} {% if sm[key].id %} 4 | {% endif %} {% endfor %} 6 |
7 | {% endif %} 8 | -------------------------------------------------------------------------------- /_includes/template.html: -------------------------------------------------------------------------------- 1 |

{{include.title}}

2 |
3 | {% for item in include.file %} 4 | {% if include.title == "Education" or include.title == "Work Experience" %} 5 |
6 |
7 | 8 |
9 | {% else %} 10 | {% if item.page-name %} 11 | 12 | {% else %} 13 | 14 | {% endif %} 15 |
16 | {% endif %} 17 |
18 |

{% if include.title == "Education" %}{{ item.course }}{% elsif include.title == "Work Experience" %}{{item.role}}{% else %}{{item.title}}{% endif %}

19 |

{% if include.title == "Education" %}{{ item.institute }}{% elsif include.title == "Work Experience" %}{{item.company}}{% else %}{{item.event}}{% endif %}

20 |

{{ item.dates }}

21 |
22 | {% if item.page-name %} 23 | 24 | {% endif %} 25 |
26 | {% if include.title == "Projects" %} 27 |
28 | {% endif %} 29 | {% endfor %} 30 |
31 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | 5 | {% include header.html %} 6 | 7 | 8 | {{ content }} 9 | 10 | 11 | -------------------------------------------------------------------------------- /_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | {% include navbar.html %} 6 | 13 | 14 |
15 | {{ content }} 16 |
17 | 18 | -------------------------------------------------------------------------------- /_sass/all.scss: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); 2 | @import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap'); 3 | @import 'contact'; 4 | @import 'navbar'; 5 | @import 'profile'; 6 | @import 'page'; 7 | @import 'skills'; 8 | @import 'footer_flat'; 9 | @import 'footer_minimal'; 10 | @import 'variables'; 11 | @import 'variables_dark'; 12 | 13 | .card-container { 14 | display: grid; 15 | grid-template-columns: repeat($cardnum_big, 1fr); 16 | font-family: "Open Sans", sans-serif; 17 | } 18 | 19 | @media only screen and (max-width: 1500px) { 20 | .card-container { 21 | grid-template-columns: repeat($cardnum_medium, 1fr); 22 | } 23 | } 24 | 25 | @media only screen and (max-width: 1000px) { 26 | .card-container { 27 | grid-template-columns: repeat($cardnum_small, 1fr); 28 | } 29 | } 30 | 31 | @media only screen and (max-width: 768px) { 32 | .card-container { 33 | grid-template-columns: 1fr; 34 | } 35 | } 36 | 37 | body { 38 | background-color: #f5f5f9; 39 | } 40 | h2 { 41 | margin-bottom: 20px; 42 | margin-top: 20px; 43 | font-weight: 700; 44 | text-align: center; 45 | } 46 | 47 | .shadow { 48 | @if $box_shadow { 49 | box-shadow: 0 5px 10px rgba(154, 160, 185, 0.05), 50 | 0 15px 40px rgba(166, 173, 201, 0.2); 51 | } 52 | @else { 53 | box-shadow: none !important; 54 | } 55 | 56 | } 57 | 58 | .card { 59 | display: flex; 60 | flex-direction: row; 61 | align-items: center; 62 | margin: 20px 30px; 63 | background-color: white; 64 | border-radius: 0.375rem; 65 | padding: 1.5em; 66 | font-size: 1.2em; 67 | font-size: $card_font_size; 68 | position: relative; 69 | 70 | .launch-icon { 71 | position: absolute; 72 | right: 14px; 73 | top: 14px; 74 | pointer-events: none; 75 | } 76 | } 77 | 78 | .link-card:hover { 79 | color: inherit; 80 | text-decoration: none; 81 | } 82 | 83 | .link-card { 84 | .card:hover { 85 | box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px; 86 | } 87 | } 88 | 89 | a { 90 | 91 | color: inherit; 92 | } 93 | 94 | .info { 95 | p { 96 | margin-top: 5px; 97 | margin: 0px; 98 | text-align: left; 99 | } 100 | 101 | .title { 102 | font-size: 500; 103 | font-weight: bold; 104 | } 105 | 106 | .location { 107 | font-size: medium; 108 | font-weight: 400; 109 | } 110 | 111 | .dates { 112 | font-size: small; 113 | color: inherit; 114 | } 115 | 116 | } 117 | 118 | .icon { 119 | width: 70px; 120 | height: 70px; 121 | margin-right: 20px; 122 | padding: 10px; 123 | 124 | img { 125 | width: 100%; 126 | } 127 | } 128 | 129 | 130 | @media only screen and (max-width: 768px) { 131 | .card { 132 | margin: 10px 30px; 133 | } 134 | } 135 | .darkmode { 136 | background: $dark_background !important; 137 | color: $dark_font_color; 138 | } 139 | 140 | .alt-background { 141 | background: $alt_card_background; 142 | } 143 | -------------------------------------------------------------------------------- /_sass/contact.scss: -------------------------------------------------------------------------------- 1 | /* Style inputs */ 2 | input[type="text"], 3 | input[type="email"], 4 | select, 5 | textarea { 6 | width: 100%; 7 | padding: 12px; 8 | border: 1px solid #ccc; 9 | margin-top: 6px; 10 | margin-bottom: 16px; 11 | resize: vertical; 12 | } 13 | 14 | form { 15 | margin-left: auto; 16 | margin-right: auto; 17 | } 18 | 19 | input[type="submit"] { 20 | background-color: #1d539f; 21 | color: white; 22 | padding: 12px 20px; 23 | border: none; 24 | cursor: pointer; 25 | } 26 | 27 | input[type="submit"]:hover { 28 | background-color: #232fdf; 29 | } 30 | 31 | /* Responsive layout - when the screen is less than 600px wide, make the 32 | submit button spread across the width */ 33 | @media screen and (max-width: 600px) { 34 | input[type="submit"] { 35 | width: 100%; 36 | margin-top: 0; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /_sass/footer_flat.scss: -------------------------------------------------------------------------------- 1 | .footer{ 2 | display: flex; 3 | align-items: center; 4 | justify-content: space-between; 5 | flex-direction: row; 6 | background-color: #1C539F; 7 | position: relative; 8 | padding: 6px 12px ; 9 | margin-top: 30px; 10 | font-family: "Open Sans", serif; 11 | font-weight: 500 !important; 12 | color: white; 13 | img{ 14 | max-width:100px; 15 | } 16 | } 17 | .footer .social{ 18 | color: white; 19 | a{ 20 | margin-left: 10px; 21 | font-size: 18px; 22 | } 23 | } 24 | 25 | @media screen and (max-width: 768px) { 26 | .footer{ 27 | font-size: 8px; 28 | img{ 29 | max-width:50px; 30 | } 31 | } 32 | .footer .social{ 33 | a{ 34 | margin-left:3px; 35 | font-size: 8px; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /_sass/footer_minimal.scss: -------------------------------------------------------------------------------- 1 | 2 | // variable for fonts 3 | $font_color:#686b6f; 4 | 5 | #social_icon { 6 | color: $font_color; 7 | } 8 | // property for
for footer 9 | #break_line{ 10 | // background-color: $font_color; 11 | border: none; 12 | width: 80%; 13 | border: 0; 14 | height: 1px; 15 | background: #333; 16 | background-image: linear-gradient(to right, #ccc, #333, #ccc); 17 | } 18 | 19 | // The move up arrow in footer 20 | #arrow_up{ 21 | font-size: 2.5rem; 22 | color: $font_color; 23 | &:hover{ 24 | padding:0px 2px 0px 2px; 25 | background-color: #bbbaba; 26 | color: rgb(240, 240, 240); 27 | transition: background-color .2s; 28 | transition: padding .1s; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /_sass/navbar.scss: -------------------------------------------------------------------------------- 1 | .nav-bar { 2 | width: 100%; 3 | display: inline-block; 4 | background-color: #1C539F; 5 | font-family: "Poppins", serif; 6 | font-weight: 700 !important; 7 | } 8 | 9 | .nav-content .logo-touch-target { 10 | display: inline-flex; 11 | height: 60%; 12 | width: 350px; 13 | } 14 | 15 | .nav-links { 16 | position: absolute; 17 | top: 8px; 18 | right: 8px; 19 | display: flex; 20 | flex-direction: row; 21 | } 22 | 23 | .nav-link { 24 | color: white; 25 | font-weight: 400; 26 | } 27 | 28 | 29 | .nav-toogle { 30 | position: absolute; 31 | color: white; 32 | top: 70px; 33 | right: 10px; 34 | z-index: 999; 35 | margin-right: .5rem; 36 | display: flex; 37 | align-items: center; 38 | } 39 | 40 | .nav-span { 41 | padding-right: 5px; 42 | } 43 | 44 | a{ 45 | 46 | transition: 0.5s; 47 | } 48 | 49 | a:hover, a:focus { 50 | color: #ffcd69; 51 | transition: 0.5s; 52 | } 53 | 54 | .nav-content .nav-logo { 55 | height: 60px; 56 | margin: auto; 57 | } 58 | 59 | .nav-logo { 60 | display: flex; 61 | align-items: center; 62 | justify-content: space-between; 63 | } 64 | 65 | .nav-logo img { 66 | margin-left: 1rem; 67 | width: calc(100px + 6vw); 68 | } 69 | 70 | .nav-content nav { 71 | display: block; 72 | width: 100%; 73 | text-align: right; 74 | padding-top: 0px; 75 | padding-right: 0px; 76 | } 77 | 78 | /* Darkmode toogle bar */ 79 | .switch { 80 | position: relative; 81 | display: inline-block; 82 | width: 60px; 83 | height: 34px; 84 | margin: 0; 85 | } 86 | 87 | .switch input { 88 | opacity: 0; 89 | width: 0; 90 | height: 0; 91 | } 92 | 93 | .slider { 94 | position: absolute; 95 | cursor: pointer; 96 | top: 0; 97 | left: 0; 98 | right: 0; 99 | bottom: 0; 100 | background-color: #ccc; 101 | -webkit-transition: .4s; 102 | transition: .4s; 103 | } 104 | 105 | .slider:before { 106 | position: absolute; 107 | content: ""; 108 | height: 26px; 109 | width: 26px; 110 | left: 4px; 111 | bottom: 4px; 112 | background-color: white; 113 | -webkit-transition: .4s; 114 | transition: .4s; 115 | } 116 | 117 | input:checked + .slider { 118 | background-color: #2196F3; 119 | } 120 | 121 | input:focus + .slider { 122 | box-shadow: 0 0 1px #2196F3; 123 | } 124 | 125 | input:checked + .slider:before { 126 | -webkit-transform: translateX(26px); 127 | -ms-transform: translateX(26px); 128 | transform: translateX(26px); 129 | } 130 | 131 | .slider.round { 132 | border-radius: 34px; 133 | } 134 | 135 | .slider.round:before { 136 | border-radius: 50%; 137 | } 138 | -------------------------------------------------------------------------------- /_sass/page.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | 3 | p, h1, h2, h3, h4, h5, h6, button { 4 | font-family: $font_family; 5 | } 6 | 7 | h2 { 8 | font-size: large; 9 | } 10 | 11 | body { 12 | background-color: $body_background !important; 13 | background-size: cover; 14 | width: auto!important; 15 | overflow-x: hidden!important; 16 | font-family: $font_family; 17 | } 18 | 19 | .banner { 20 | padding: 20px 0px 50px 0px; 21 | height: 150px; 22 | background-color: #1d539f; 23 | } 24 | 25 | .banner .logo { 26 | max-width:180px; 27 | max-height:60px; 28 | width: auto; 29 | height: auto; 30 | } 31 | 32 | .banner .title { 33 | color: $title_color; 34 | font-size: $title_font_size; 35 | font-weight: 700; 36 | } 37 | 38 | .page { 39 | text-align: left; 40 | } 41 | 42 | 43 | .page h1 { 44 | text-align: left !important; 45 | font-weight: 800 !important; 46 | color: $text_color; 47 | font-size: $fontsize_h1; 48 | margin-bottom: 0.7em; 49 | } 50 | 51 | .page h2 { 52 | text-align: left !important; 53 | font-weight: 800 !important; 54 | color: $text_color; 55 | font-size: $fontsize_h2; 56 | margin-bottom: 0.5em; 57 | } 58 | 59 | .page h3 { 60 | font-weight: 600 !important; 61 | text-align: left !important; 62 | color: $text_color; 63 | font-size: 1.3rem; 64 | } 65 | 66 | .page h4 { 67 | font-weight: 600 !important; 68 | text-align: center !important; 69 | color: $text_color; 70 | } 71 | 72 | .page p { 73 | color: $text_color; 74 | font-weight: 500; 75 | } 76 | 77 | .page td { 78 | color: $text_color; 79 | } 80 | 81 | .page th { 82 | color: $text_color; 83 | } 84 | 85 | .page li { 86 | color: $text_color; 87 | } 88 | 89 | .page a { 90 | color: $link; 91 | } 92 | 93 | .page a:hover { 94 | color: $link; 95 | } 96 | 97 | .page code { 98 | color: #17a2b8; 99 | } 100 | 101 | hr { 102 | background-color: black; 103 | padding: 1px; 104 | margin-top: 1em !important; 105 | margin-bottom: 1em !important; 106 | } 107 | 108 | @media screen and (max-width: 768px) { 109 | 110 | .banner { 111 | padding: 20px 0px 20px 0px; 112 | height: 110px; 113 | } 114 | 115 | .banner .logo { 116 | max-width:150px; 117 | max-height:60px; 118 | width: auto; 119 | height: auto; 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /_sass/profile.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | 3 | .profile { 4 | 5 | background-color: $herobackground; 6 | background-image: url(https://image.freepik.com/free-vector/laptop-with-program-code-isometric-icon-software-development-programming-applications-dark-neon_39422-971.jpg); 7 | background-size: cover; 8 | background-position: center; 9 | text-align: center; 10 | height: 320px; 11 | margin-bottom: 50px; 12 | overflow: auto; 13 | position: relative; 14 | 15 | h1 { 16 | font-size: $fontsize_h1_profile; 17 | font-weight: 700; 18 | color: $title_color; 19 | z-index: 1; 20 | position: relative; 21 | 22 | } 23 | 24 | img { 25 | border-radius: 50%; 26 | max-width: 100%; 27 | max-height: 100%; 28 | margin-left: auto; 29 | margin-right: auto; 30 | display: block; 31 | padding: 20px; 32 | z-index: 1; 33 | position: relative; 34 | } 35 | 36 | .profile-picture { 37 | margin-bottom: 30px; 38 | height: 200px; 39 | } 40 | } 41 | 42 | 43 | .profile:after { 44 | -webkit-backdrop-filter: blur(5px); /* Use for Safari 9+, Edge 17+ (not a mistake) and iOS Safari 9.2+ */ 45 | backdrop-filter: blur(5px); /* Supported in Chrome 76 */ 46 | content: ""; 47 | display: block; 48 | position: absolute; 49 | width: 100%; height: 100%; 50 | top: 0; 51 | } -------------------------------------------------------------------------------- /_sass/skills.scss: -------------------------------------------------------------------------------- 1 | .skill-section { 2 | display: grid; 3 | grid-template-columns: repeat(3, 1fr); 4 | font-family: "Open Sans", sans-serif; 5 | margin: 20px 0px; 6 | } 7 | 8 | @media only screen and (max-width: 1500px) { 9 | .skill-section { 10 | grid-template-columns: repeat(3, 1fr); 11 | } 12 | } 13 | 14 | @media only screen and (max-width: 1000px) { 15 | .skill-section { 16 | grid-template-columns: repeat(2, 1fr); 17 | } 18 | } 19 | 20 | @media only screen and (max-width: 768px) { 21 | .skill-section { 22 | grid-template-columns: 1fr; 23 | } 24 | } 25 | 26 | .skill { 27 | display: inline; 28 | text-align: center; 29 | display: flex; 30 | flex-direction: row; 31 | height: max-content; 32 | 33 | .skill-card { 34 | width: 100%; 35 | padding: 20px; 36 | display: inline-block; 37 | font-size: larger; 38 | font-weight: bolder; 39 | margin: 30px; 40 | background-color: white; 41 | border: 1px solid gainsboro; 42 | border-radius: .375rem; 43 | } 44 | 45 | .card { 46 | margin: 20px 10px; 47 | padding: 1em; 48 | } 49 | 50 | .info { 51 | font-size: medium; 52 | font-weight: 500; 53 | } 54 | 55 | .proficient { 56 | font-size: small; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /_sass/variables.scss: -------------------------------------------------------------------------------- 1 | $herobackground: #1d539f; 2 | $font_family: "Open Sans", serif; 3 | $text_color: black; 4 | $link: #0f90fe; 5 | $title_color: white; 6 | $body_background: #f5f5f9; 7 | $cardnum_big: 4; 8 | $cardnum_medium: 3; 9 | $cardnum_small: 2; 10 | $card_font_size: 1.2em; 11 | $title_font_size : calc(25px + 1.5vw); 12 | $fontsize_h1 : calc(1.5rem + 0.5vw); 13 | $fontsize_h2 : calc(1rem + 0.5vw); 14 | $fontsize_h1_profile : calc(1.5vw + 23px); 15 | $box_shadow : true; -------------------------------------------------------------------------------- /_sass/variables_dark.scss: -------------------------------------------------------------------------------- 1 | $dark_background: #181818; 2 | $dark_font_color: white; 3 | $alt_card_background: #C0C0C0; -------------------------------------------------------------------------------- /assets/css/main.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | @import 'all'; 5 | -------------------------------------------------------------------------------- /assets/img/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/assets/img/.DS_Store -------------------------------------------------------------------------------- /assets/img/education/fellowship.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/education/uob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/assets/img/education/uob.png -------------------------------------------------------------------------------- /assets/img/experience/fellowship.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/experience/mlh.svg: -------------------------------------------------------------------------------- 1 | mlh-logo-color-dark -------------------------------------------------------------------------------- /assets/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/assets/img/favicon.ico -------------------------------------------------------------------------------- /assets/img/footer_flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/assets/img/footer_flat.png -------------------------------------------------------------------------------- /assets/img/footer_minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/assets/img/footer_minimal.png -------------------------------------------------------------------------------- /assets/img/jekyll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/assets/img/jekyll.png -------------------------------------------------------------------------------- /assets/img/launch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/assets/img/logo.jpg -------------------------------------------------------------------------------- /assets/img/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/mlh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/assets/img/mlh.jpg -------------------------------------------------------------------------------- /assets/img/social-link.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/assets/img/social-link.jpg -------------------------------------------------------------------------------- /assets/js/darkmode.js: -------------------------------------------------------------------------------- 1 | let imode = localStorage.getItem("isDark"); 2 | 3 | let toogleStatus = document.getElementById('check-mode'); 4 | let bodyElement = document.getElementsByTagName('body')[0]; 5 | let navLogo = document.getElementsByClassName('nav-logo')[0]; 6 | let cards = document.getElementsByClassName('card'); 7 | 8 | if(imode == "true"){ 9 | toogleStatus.checked = true; 10 | darkmode() 11 | } 12 | 13 | function darkmode(){ 14 | if(toogleStatus.checked){ 15 | bodyElement.className += " " + "darkmode"; 16 | navLogo.className += " " + "darkmode"; 17 | for(let i = 0; i < cards.length; i++){ 18 | cards[i].className += " " + "alt-background"; 19 | } 20 | localStorage.setItem("isDark", true); 21 | }else{ 22 | bodyElement.classList.remove('darkmode'); 23 | navLogo.classList.remove('darkmode'); 24 | for(let i = 0; i < cards.length; i++){ 25 | cards[i].classList.remove('alt-background'); 26 | } 27 | localStorage.setItem("isDark", false); 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /blog.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | 6 | {% include navbar.html %} 7 |

BLOG POSTS

8 |
9 | {% for item in site.data.projects %} 10 | {% if item.page-name %} 11 | 12 |
13 |
14 |

{{ item.page-name }}

15 |

{{ item.date }}

16 |
17 | 18 |
19 |
20 | {% endif %} 21 | {% endfor %} 22 | -------------------------------------------------------------------------------- /cv/resume.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLH-Fellowship/explorer-portfolio-batch2/48f7ad87a5181ad99033949c9203fc8bdb281146/cv/resume.pdf -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | {% include navbar.html %} 6 | 7 | {% include profile.html %} 8 | 9 | {% include template.html title="Projects" file=site.data.projects %} 10 | 11 | {% include template.html title="Work Experience" file=site.data.experience %} 12 | 13 | {% include template.html title="Education" file=site.data.education %} 14 | 15 | {% include skills.html %} 16 | 17 | {% include achievements.html %} 18 | 19 | {% include contact.html %} 20 | 21 | {% include footer.html %} 22 | 23 | -------------------------------------------------------------------------------- /projects/Sprint1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sprint 1 Project 3 | layout: page 4 | --- 5 | 6 | ## Inspiration 7 | 8 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 9 | 10 | ## What it does 11 | 12 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 13 | 14 | ## How we built it 15 | 16 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 17 | 18 | ## Challenge we ran into 19 | 20 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -------------------------------------------------------------------------------- /projects/Sprint2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sprint 2 Project 3 | layout: page 4 | --- 5 | 6 | ## Inspiration 7 | 8 | Cat ipsum dolor sit amet, attempt to leap between furniture but woefully miscalibrate and bellyflop onto the floor; what's your problem? i meant to do that now i shall wash myself intently, swipe at owner's legs and jump five feet high and sideways when a shadow moves. Pee in human's bed until he cleans the litter box groom forever, stretch tongue and leave it slightly out, blep yet sit in a box for hours scamper, so do i like standing on litter cuz i sits when i have spaces, my cat buddies have no litter i live in luxury cat life. 9 | 10 | ## What it does 11 | 12 | Cat ipsum dolor sit amet, attempt to leap between furniture but woefully miscalibrate and bellyflop onto the floor; what's your problem? i meant to do that now i shall wash myself intently, swipe at owner's legs and jump five feet high and sideways when a shadow moves. Pee in human's bed until he cleans the litter box groom forever, stretch tongue and leave it slightly out, blep yet sit in a box for hours scamper, so do i like standing on litter cuz i sits when i have spaces, my cat buddies have no litter i live in luxury cat life. 13 | 14 | ## How we built it 15 | 16 | Cat ipsum dolor sit amet, attempt to leap between furniture but woefully miscalibrate and bellyflop onto the floor; what's your problem? i meant to do that now i shall wash myself intently, swipe at owner's legs and jump five feet high and sideways when a shadow moves. Pee in human's bed until he cleans the litter box groom forever, stretch tongue and leave it slightly out, blep yet sit in a box for hours scamper, so do i like standing on litter cuz i sits when i have spaces, my cat buddies have no litter i live in luxury cat life. 17 | 18 | ## Challenge we ran into 19 | 20 | Cat ipsum dolor sit amet, attempt to leap between furniture but woefully miscalibrate and bellyflop onto the floor; what's your problem? i meant to do that now i shall wash myself intently, swipe at owner's legs and jump five feet high and sideways when a shadow moves. Pee in human's bed until he cleans the litter box groom forever, stretch tongue and leave it slightly out, blep yet sit in a box for hours scamper, so do i like standing on litter cuz i sits when i have spaces, my cat buddies have no litter i live in luxury cat life. --------------------------------------------------------------------------------