├── .all-contributorsrc ├── .github └── workflows │ └── jekyll.yml ├── .gitignore ├── 404.html ├── CNAME ├── Gemfile ├── Gemfile.lock ├── README.md ├── _config.yml ├── _data └── contributions.yml ├── _includes ├── footer.html ├── head.html └── header.html ├── _layouts └── default.html ├── assets ├── clone.png ├── compare-and-pull.png ├── copy-to-clipboard.png ├── fork.png ├── git-status.png └── submit-pull-request.png ├── css └── main.css ├── index.html └── vanilla-tilt.js /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "files": ["README.md"], 3 | "imageSize": 100, 4 | "contributorsPerLine": 7, 5 | "badgeTemplate": "[![All Contributors](https://img.shields.io/badge/all_contributors-<%= contributors.length %>-orange.svg?style=flat-square)](#contributors)", 6 | "contributorTemplate": "<%= avatarBlock %>
<%= contributions %>", 7 | "types": { 8 | "custom": { 9 | "symbol": "🔭", 10 | "description": "A custom contribution type.", 11 | "link": "[<%= symbol %>](<%= url %> \"<%= description %>\")," 12 | } 13 | }, 14 | "skipCi": "true", 15 | "contributors": [] 16 | } 17 | -------------------------------------------------------------------------------- /.github/workflows/jekyll.yml: -------------------------------------------------------------------------------- 1 | name: Jekyll site CI 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | build: 10 | 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v1 15 | - name: Build the site in the jekyll/builder container 16 | run: | 17 | docker run \ 18 | -v ${{ github.workspace }}:/srv/jekyll -v ${{ github.workspace }}/_site:/srv/jekyll/_site \ 19 | jekyll/builder:latest /bin/bash -c "chmod 777 /srv/jekyll && jekyll build --future" 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | .jekyll-cache 4 | .jekyll-metadata 5 | vendor 6 | .DS_Store 7 | .idea 8 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /404.html 3 | layout: default 4 | --- 5 | 6 | 19 | 20 |
21 |

404

22 |

Nonsense. Ain't it?

23 | 24 |

Page not found :(

25 |

Check your internet connection, and try again>

26 |

The requested page could not be found.

27 |
28 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | first-contributions.devncode.tech -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | # Hello! This is where you manage which Jekyll version is used to run. 3 | # When you want to use a different version, change it below, save the 4 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: 5 | # 6 | # bundle exec jekyll serve 7 | # 8 | # This will help ensure the proper Jekyll version is running. 9 | # Happy Jekylling! 10 | gem "jekyll", "~> 4.0.0" 11 | # This is the default theme for new Jekyll sites. You may change this to anything you like. 12 | gem "minima", "~> 2.5" 13 | # If you want to use GitHub Pages, remove the "gem "jekyll"" above and 14 | # uncomment the line below. To upgrade, run `bundle update github-pages`. 15 | # gem "github-pages", group: :jekyll_plugins 16 | # If you have any plugins, put them here! 17 | group :jekyll_plugins do 18 | gem "jekyll-feed", "~> 0.12" 19 | end 20 | 21 | # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem 22 | # and associated library. 23 | install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do 24 | gem "tzinfo", "~> 1.2" 25 | gem "tzinfo-data" 26 | end 27 | 28 | # Performance-booster for watching directories on Windows 29 | gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform? 30 | 31 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.8.0) 5 | public_suffix (>= 2.0.2, < 5.0) 6 | colorator (1.1.0) 7 | concurrent-ruby (1.1.5) 8 | em-websocket (0.5.1) 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.11.1) 14 | ffi (1.11.1-x64-mingw32) 15 | forwardable-extended (2.6.0) 16 | http_parser.rb (0.6.0) 17 | i18n (1.7.0) 18 | concurrent-ruby (~> 1.0) 19 | jekyll (4.0.0) 20 | addressable (~> 2.4) 21 | colorator (~> 1.0) 22 | em-websocket (~> 0.5) 23 | i18n (>= 0.9.5, < 2) 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.3.3) 30 | pathutil (~> 0.9) 31 | rouge (~> 3.0) 32 | safe_yaml (~> 1.0) 33 | terminal-table (~> 1.8) 34 | jekyll-feed (0.12.1) 35 | jekyll (>= 3.7, < 5.0) 36 | jekyll-sass-converter (2.0.1) 37 | sassc (> 2.0.1, < 3.0) 38 | jekyll-seo-tag (2.6.1) 39 | jekyll (>= 3.3, < 5.0) 40 | jekyll-watch (2.2.1) 41 | listen (~> 3.0) 42 | kramdown (2.3.1) 43 | rexml 44 | kramdown-parser-gfm (1.1.0) 45 | kramdown (~> 2.0) 46 | liquid (4.0.3) 47 | listen (3.2.0) 48 | rb-fsevent (~> 0.10, >= 0.10.3) 49 | rb-inotify (~> 0.9, >= 0.9.10) 50 | mercenary (0.3.6) 51 | minima (2.5.1) 52 | jekyll (>= 3.5, < 5.0) 53 | jekyll-feed (~> 0.9) 54 | jekyll-seo-tag (~> 2.1) 55 | pathutil (0.16.2) 56 | forwardable-extended (~> 2.6) 57 | public_suffix (4.0.6) 58 | rb-fsevent (0.10.3) 59 | rb-inotify (0.10.0) 60 | ffi (~> 1.0) 61 | rexml (3.2.5) 62 | rouge (3.11.1) 63 | safe_yaml (1.0.5) 64 | sassc (2.2.1) 65 | ffi (~> 1.9) 66 | sassc (2.2.1-x64-mingw32) 67 | ffi (~> 1.9) 68 | terminal-table (1.8.0) 69 | unicode-display_width (~> 1.1, >= 1.1.1) 70 | thread_safe (0.3.6) 71 | tzinfo (1.2.5) 72 | thread_safe (~> 0.1) 73 | tzinfo-data (1.2019.3) 74 | tzinfo (>= 1.0.0) 75 | unicode-display_width (1.6.0) 76 | wdm (0.1.1) 77 | 78 | PLATFORMS 79 | ruby 80 | x64-mingw32 81 | 82 | DEPENDENCIES 83 | jekyll (~> 4.0.0) 84 | jekyll-feed (~> 0.12) 85 | minima (~> 2.5) 86 | tzinfo (~> 1.2) 87 | tzinfo-data 88 | wdm (~> 0.1.1) 89 | 90 | BUNDLED WITH 91 | 1.17.2 92 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/) 2 | [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) 3 | [![Pull Request Merged](https://img.shields.io/github/issues-pr-closed/devncode/first-contributions)](https://github.com/devncode/first-contributions/pulls) 4 | 5 |

Just to be clear, pull request in this repo will not count in HacktoberFest

6 | 7 | # First Contribution 8 | 9 | - Thinking about doing an open source contribution? 10 | - Don't know where to start or how to do? 11 | - Looking for a simple repository to help you to get started? 12 | 13 | Then look no further, we have created this repository to help you to get started. 14 | 15 | ## Just for the instruction! 16 | 17 | fork this repository 18 | 19 | If you don't have git installed in your machine, [install it](https://help.github.com/articles/set-up-git/). 20 | 21 | ## Fork this repository 22 | 23 | Fork this repository by clicking on the fork button on the top of this page. 24 | This will create a copy of this repository in your account. 25 | 26 | ## Clone the repository 27 | 28 | clone this repository 29 | 30 | Now clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the clone button and then click the _copy to clipboard_ icon. 31 | 32 | Open a terminal and run the following git command: 33 | 34 | ``` 35 | git clone "URL you just copied" 36 | ``` 37 | 38 | copy URL to clipboard 39 | 40 | For example: 41 | 42 | ``` 43 | git clone https://github.com/this-is-you/first-contributions.git 44 | ``` 45 | 46 | where `this-is-you` is your GitHub username. Here you're copying the contents of the first-contributions repository in GitHub to your computer. 47 | 48 | ## Create a branch 49 | 50 | Change to the repository directory on your computer (if you are not already there): 51 | 52 | ``` 53 | cd first-contributions 54 | ``` 55 | 56 | Now create a branch using the `git checkout` command: 57 | 58 | ``` 59 | git checkout -b 60 | ``` 61 | 62 | For example: 63 | 64 | ``` 65 | git checkout -b add-muhammad 66 | ``` 67 | 68 | (The name of the branch does not need to have the word _add_ in it, but it's a reasonable thing to include because the purpose of this branch is to add your name to a list.) 69 | 70 | ## Make necessary changes and commit those changes 71 | 72 | Now open `contributions.yml` file from `_data` directory in a text editor, add your name with emoji of your country flag, github_account and profile picture URL (avatar) to it. Don't add it at the beginning or end of the file. Put it anywhere in between. Now, save the file. 73 | 74 | git status 75 | 76 | If you go to the project directory and execute the command `git status`, you'll see there are changes. 77 | 78 | Add those changes to the branch you just created using the `git add` command: 79 | 80 | ``` 81 | git add _data/contributions.yml 82 | ``` 83 | 84 | Now commit those changes using the `git commit` command: 85 | 86 | ``` 87 | git commit -m "Add to Contributors list" 88 | ``` 89 | 90 | replace `` with your name. 91 | 92 | ## Push changes to GitHub 93 | 94 | Push your changes using the command `git push`: 95 | 96 | ``` 97 | git push origin 98 | ``` 99 | 100 | replace `` with the name of the branch you created earlier. 101 | 102 | ## Submit your changes for review 103 | 104 | Now if you go to your repository on GitHub, you'll see a `Compare & pull request` button. Click on that button. 105 | 106 | create a pull request 107 | 108 | Now submit the pull request. 109 | 110 | submit pull request 111 | 112 | Soon, I'll be merging all your pull requests into the master branch of this project. You will get a notification email once the changes have been merged. 113 | 114 | ## Contributors 115 | 116 | Thank you to all the contributors who help in making this project better :raised_hands: 117 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Welcome to Jekyll! 2 | # 3 | # This config file is meant for settings that affect your whole blog, values 4 | # which you are expected to set up once and rarely edit after that. If you find 5 | # yourself editing this file very often, consider using Jekyll's data files 6 | # feature for the data you need to update frequently. 7 | # 8 | # For technical reasons, this file is *NOT* reloaded automatically when you use 9 | # 'bundle exec jekyll serve'. If you change this file, please restart the server process. 10 | # 11 | # If you need help with YAML syntax, here are some quick references for you: 12 | # https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml 13 | # https://learnxinyminutes.com/docs/yaml/ 14 | # 15 | # Site settings 16 | # These are used to personalize your new site. If you look in the HTML files, 17 | # you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. 18 | # You can create any custom variable you would like, and they will be accessible 19 | # in the templates via {{ site.myvariable }}. 20 | 21 | title: First Contributions at devncode 22 | description: >- # this means to ignore newlines until "baseurl:" 23 | Make your first open source contribution in 5 minutes 24 | baseurl: "" # the subpath of your site, e.g. /blog 25 | url: "first-contributions.devncode.tech" # the base hostname & protocol for your site, e.g. http://example.com 26 | 27 | social: 28 | - title: "twitter" 29 | url: "https://twitter.com/devncode17" 30 | - title: "facebook" 31 | url: "facebook.com/devncode17" 32 | - title: "youtube" 33 | url: "https://www.youtube.com/channel/UC0_WFaOYjFrZH2zxwI4BZOQ/videos" 34 | - title: "medium" 35 | url: "https://medium.com/devncode" 36 | - title: "github" 37 | url: "https://github.com/smkamranqadri/devncode.tech" 38 | 39 | # Build settings 40 | theme: minima 41 | plugins: 42 | - jekyll-feed 43 | 44 | # Exclude from processing. 45 | # The following items will not be processed, by default. 46 | # Any item listed under the `exclude:` key here will be automatically added to 47 | # the internal "default list". 48 | # 49 | # Excluded items can be processed by explicitly listing the directories or 50 | # their entries' file path in the `include:` list. 51 | # 52 | # exclude: 53 | # - .sass-cache/ 54 | # - .jekyll-cache/ 55 | # - gemfiles/ 56 | # - Gemfile 57 | # - Gemfile.lock 58 | # - node_modules/ 59 | # - vendor/bundle/ 60 | # - vendor/cache/ 61 | # - vendor/gems/ 62 | # - vendor/ruby/ 63 | -------------------------------------------------------------------------------- /_data/contributions.yml: -------------------------------------------------------------------------------- 1 | devs: 2 | - github_url: "https://github.com/suryakantpandey" 3 | name: "Suryakant Pandey" 4 | avatar: "https://avatars2.githubusercontent.com/u/55542625?s=460&u=dc1183aa8494ff9157a495222d1132c3705f48ac&v=4" 5 | - github_url: "https://github.com/sharozraees802" 6 | name: "Sharoz Raees" 7 | avatar: "https://avatars1.githubusercontent.com/u/52934734?s=400&u=77dcdf94dd18f44c36dc4c624de665b5ee2fd38d&v=4" 8 | - github_url: "https://github.com/arhmAli" 9 | name: "Arham Khan" 10 | avatar: "https://avatars.githubusercontent.com/u/110810048?s=400&u=0d08097f7f29b489494aca867992d9d0dd99c1d7&v=4" 11 | - github_url: "https://github.com/todikun" 12 | name: "Todi Rahmat" 13 | avatar: "https://avatars.githubusercontent.com/u/87259341?v=4" 14 | - github_url: "https://github.com/jasbirajrana" 15 | name: "jasbirrajrana" 16 | avatar: "https://avatars.githubusercontent.com/u/68157847?s=400&u=a2954a3b1109d6f1228bf3c86b9ecdeed4de799d&v=4" 17 | - github_url: "https://github.com/Golden-Hunter" 18 | name: "Chinmay Lohani" 19 | avatar: "https://avatars.githubusercontent.com/Golden-Hunter" 20 | - github_url: "https://github.com/rahulchaurasiazx55" 21 | name: "Rahul chaurasia 😀 🇮🇳" 22 | avatar: "https://avatars1.githubusercontent.com/u/60797790?s=400&u=5e62845780879773af3e86fcc746570df67c55f0&v=4" 23 | - github_url: "https://github.com/hmadhsan" 24 | name: "Hammad Hassan" 25 | avatar: "https://avatars3.githubusercontent.com/u/20043390?s=460&v=4" 26 | - github_url: "https://github.com/Saptarshisamata/" 27 | name: "Saptarshi Samanta" 28 | avatar: "https://avatars.githubusercontent.com/u/36296989?v=4" 29 | - github_url: "https://github.com/dilipkn007/" 30 | name: "Dilip K N" 31 | avatar: "https://avatars3.githubusercontent.com/u/64477187?s=400&v=4" 32 | - github_url: "https://github.com/swapniltri" 33 | name: "Swapnil Tripathi" 34 | avatar: "https://avatars3.githubusercontent.com/u/65762022?s=400&v=4" 35 | - github_url: "https://github.com/saket1999" 36 | name: "Saket Kumar 🇮🇳" 37 | avatar: "https://avatars2.githubusercontent.com/u/37291252?s=460&v=4" 38 | - github_url: "https://github.com/ZeeshanRaza25" 39 | name: "Zeeshan Raza 🇵🇰" 40 | avatar: "https://avatars0.githubusercontent.com/u/42145844?s=60&v=4" 41 | - github_url: "https://github.com/imsanjaysoni" 42 | name: "Sanjay Soni 👨‍💻" 43 | avatar: "https://avatars3.githubusercontent.com/u/20748185?s=400&u=3b4fbd50461e0381978ca48154bb24419a74d750&v=4" 44 | - github_url: "https://github.com/emjwivell" 45 | name: "Emily" 46 | avatar: "https://avatars2.githubusercontent.com/u/16910302?s=460&v=4" 47 | - github_url: "https://github.com/BabarKhann" 48 | name: "Babar Khan" 49 | avatar: "https://avatars.githubusercontent.com/u/15844043?v=4" 50 | - github_url: "https://github.com/safi-alt" 51 | name: "Safi Sohail Azim 🇵🇰" 52 | avatar: "https://avatars0.githubusercontent.com/u/58626565?s=60&v=4" 53 | - github_url: "https://github.com/FernandoMaia97" 54 | name: "Fernando Maia" 55 | avatar: "https://avatars0.githubusercontent.com/u/44096259?s=400&v=4" 56 | - github_url: "https://github.com/anishLearnsToCode" 57 | name: "Anish Sachdeva 🐱‍💻" 58 | avatar: "https://avatars.githubusercontent.com/anishLearnsToCode" 59 | - github_url: "https://github.com/shahzad6077" 60 | name: "Muhammad Shahzad Ali 🇵🇰" 61 | avatar: "https://avatars.githubusercontent.com/u/44517352?v=4" 62 | - github_url: "https://github.com/HassanRazaMuhammadTufail" 63 | name: "Hassan Raza" 64 | avatar: "https://avatars1.githubusercontent.com/u/31008946?s=460&u=5574966c953b591ff6e3a19dff8d0d706b724270&v=4" 65 | - github_url: "https://github.com/abhisheksingh525" 66 | name: "Abhishek Singh" 67 | avatar: "https://avatars1.githubusercontent.com/u/24851088?s=460&v=4" 68 | - github_url: "https://github.com/Monkeymax802" 69 | name: "Max Gerber" 70 | avatar: "https://avatars2.githubusercontent.com/u/31861652?s=400&u=5bf788f655a178b0e9bbece8291921ecbfae3d1c&v=4" 71 | - github_url: "https://github.com/hardik302001" 72 | name: "Hardik Sharma" 73 | - github_url: "https://github.com/farhadmpr" 74 | name: "Farhad" 75 | avatar: "https://avatars2.githubusercontent.com/u/24851088?s=460&v=4" 76 | - github_url: "https://github.com/hjavadish" 77 | name: "Hamzeh Javadi" 78 | avatar: "https://avatars1.githubusercontent.com/u/8628797?s=400&u=466a1beefef566f7a788b9f89e06697753eb9536&v=4" 79 | - github_url: "https://github.com/GhulamMustufa" 80 | name: "Ghulam Mustafa" 81 | - github_url: "https://github.com/MianJawadAhmad" 82 | name: "Mian Jawad Ahmad" 83 | avatar: "https://avatars1.githubusercontent.com/u/39160224?s=460&v=4" 84 | - github_url: "https://github.com/adenashameem" 85 | name: "Adena Shameem" 86 | avatar: "https://avatars3.githubusercontent.com/u/68916586?s=400&u=9397c104e7ca04b15aee9ba0c570578c0c933a45&v=4" 87 | - github_url: "https://github.com/murakiki" 88 | name: "Murakiki" 89 | avatar: "https://avatars.githubusercontent.com/murakiki" 90 | - github_url: "https://github.com/suchoudh" 91 | name: "Sunil Choudhary" 92 | - github_url: "https://github.com/mackdroid" 93 | name: "Hemanth" 94 | avatar: "https://avatars1.githubusercontent.com/u/21340531?s=460&v=4" 95 | github_url: "https://github.com/sunairaa" 96 | name: "Sunairaa" 97 | avatar: "https://avatars2.githubusercontent.com/sunairaa" 98 | - github_url: "https://github.com/Shivangi-ch" 99 | name: "Shivangi Choudhary" 100 | avtatar: "https://avatars3.githubusercontent.com/u/57783826?s=460&v=4" 101 | - github_url: "https://github.com/kazmiali/" 102 | name: "Muhammad Ali Kazmi" 103 | avatar: "https://avatars3.githubusercontent.com/u/39811688?s=460&v=4" 104 | - github_url: "https://github.com/Usama4745" 105 | name: "Usama Ahmed" 106 | avatar: "https://pbs.twimg.com/profile_images/1240668254814822403/tZbrGnUp_400x400.jpg" 107 | - github_url: "https://github.com/AliTechGeek52" 108 | name: "Ali Raza" 109 | avatar: "https://avatars3.githubusercontent.com/u/32015381?s=460&v=4" 110 | - github_url: "https://github.com/youssefkhaled08" 111 | name: "Youssef Khaled" 112 | avatar: "https://avatars1.githubusercontent.com/u/57327687?s=460&u=c4a5b61f361ac17a93f63a068aad8326bca033b1&v=4" 113 | - github_url: "https://github.com/thegodland" 114 | name: "Xiang Liu" 115 | avatar: "https://avatars2.githubusercontent.com/u/23414237?s=400&v=4" 116 | - github_url: "https://github.com/smkamranqadri" 117 | name: "Kamran Qadri" 118 | avatar: "https://scontent.fkhi2-1.fna.fbcdn.net/v/t1.0-9/52889957_2122816884470203_6458550259541868544_n.jpg?_nc_cat=100&_nc_oc=AQll4PyvdP1itwOeQNKlmhXqMYeI2nCzoO7EU5gquyVd09cjNaGP8YSpDLHayoYNOA8&_nc_ht=scontent.fkhi2-1.fna&oh=fa3ac9d98eee70b61a70722ead028aaf&oe=5E3D1B63" 119 | - github_url: "https://github.com/aminshoukat" 120 | name: "Amin Shoukat" 121 | avatar: "https://avatars0.githubusercontent.com/u/47177827?s=460&v=4" 122 | - github_url: "https://github.com/ZakHuss" 123 | name: "Zakir Hussain" 124 | avatar: "https://avatars0.githubusercontent.com/u/17421893?s=460&v=4" 125 | - github_url: "https://github.com/anirudhganwal06" 126 | name: "Anirudh Ganwal 🇮🇳" 127 | avatar: "https://avatars2.githubusercontent.com/u/46159714?s=460&v=4" 128 | - github_url: "https://github.com/ghousshah" 129 | name: "Ghous Ahmed 🇵🇰" 130 | avatar: "https://avatars3.githubusercontent.com/u/25761034?s=460&v=4" 131 | github_url: "https://github.com/AhsanSoomro" 132 | name: "Ahsan Soomro 🇵🇰" 133 | avatar: "https://avatars1.githubusercontent.com/u/56722977?s=400&u=1e7bee164970a499bafe7d14a254e0140651e66c&v=4" 134 | - github_url: "https://github.com/ArifSanaullah" 135 | name: "Arif Sanaullah 🇵🇰" 136 | avatar: "https://avatars3.githubusercontent.com/u/38174227?s=400&u=663fec474541f94902ef0db86d13df7f7455be93&v=4" 137 | - github_url: "https://github.com/Shahid0343" 138 | name: "Muhammad Shahid-🇵🇰" 139 | avatar: "https://avatars2.githubusercontent.com/u/26340344?s=460&v=4" 140 | - github_url: "https://github.com/YashAgrawal048" 141 | name: "yash" 142 | avatar: "https://avatars3.githubusercontent.com/u/56798789?s=460&v=4" 143 | - github_url: "https://github.com/slowback1" 144 | name: "Andrew Wobeck 🇺🇸" 145 | avatar: "https://avatars1.githubusercontent.com/u/14140073?s=460&v=4" 146 | - github_url: "https://github.com/rehan-sattar" 147 | name: "Rehan Sattar" 148 | avatar: "https://avatars1.githubusercontent.com/u/26999472?s=460&v=4" 149 | - github_url: "https://github.com/Mihajlo023" 150 | name: "Mihajlo Radmilovic" 151 | avatar: "https://avatars2.githubusercontent.com/u/23667084?s=460&v=4" 152 | - github_url: "https://github.com/Hamzakhann" 153 | name: "M Hamza Khan" 154 | avatar: "https://avatars1.githubusercontent.com/u/32258466?s=460&v=4" 155 | - github_url: "https://github.com/sharjeelyunus" 156 | name: "Sharjeel Yunus 🇵🇰" 157 | avatar: "https://avatars.githubusercontent.com/sharjeelyunus" 158 | - github_url: "https://github.com/dudec2004" 159 | name: "Mike Honcho" 160 | avatar: "https://avatars0.githubusercontent.com/u/20385354?s=460&v=4" 161 | - github_url: "https://github.com/imrizwan" 162 | name: "Muhammad Rizwan" 163 | avatar: "https://avatars0.githubusercontent.com/u/17934962?s=460&v=4" 164 | - github_url: "https://github.com/TaimoorSaeed" 165 | name: "Taimoor Saeed" 166 | avatar: "https://avatars2.githubusercontent.com/u/4158494?s=460&v=4" 167 | - github_url: "https://github.com/dibyanshuanand/" 168 | name: "Dibyanshu Anand" 169 | avatar: "https://avatars2.githubusercontent.com/u/40954091?s=460&v=4" 170 | - github_url: "https://github.com/Ishita1608" 171 | name: "keshawani ishita" 172 | avatar: "https://avatars2.githubusercontent.com/u/50510726?s=460&v=4" 173 | - github_url: "https://github.com/iqbaltrainer" 174 | name: "magobacu" 175 | avatar: "https://avatars3.githubusercontent.com/u/56999302?s=400&v=4" 176 | - github_url: "https://github.com/magobacu" 177 | name: "M Iqbal Trainer (Digital Molvi)" 178 | avatar: "https://avatars3.githubusercontent.com/u/23273311?s=460&v=4" 179 | - github_url: "https://github.com/waqaramjad" 180 | name: "Waqar Amjad" 181 | avatar: "https://avatars3.githubusercontent.com/u/25389269?s=460&v=4" 182 | - github_url: "https://github.com/talhanousher" 183 | name: "Talha Nousher Ali" 184 | avatar: "https://avatars3.githubusercontent.com/u/26342112?s=460&v=4" 185 | - github_url: "https://github.com/nomanaadma" 186 | name: "Noman Shoukat" 187 | avatar: "https://avatars0.githubusercontent.com/u/47977013?s=460&v=4" 188 | - github_url: "https://github.com/aliraza-chandio" 189 | name: "Ali Raza" 190 | avatar: "https://avatars0.githubusercontent.com/u/47858610?s=460&v=4" 191 | - github_url: "https://github.com/Camiila23" 192 | name: "Anabel Mayta" 193 | avatar: "https://avatars.githubusercontent.com/konoha19" 194 | - github_url: "https://github.com/konoha19" 195 | name: "Ravi Sable" 196 | avatar: "https://avatars1.githubusercontent.com/u/55859975?s=400&u=67758c83789b056b1a69aad7b2baa35c0e760121&v=4" 197 | - github_url: "https://github.com/NomanGul" 198 | name: "Noman Gul 🇵🇰" 199 | avatar: "https://avatars1.githubusercontent.com/u/39244918?s=460&v=4" 200 | - github_url: "https://github.com/mateohoxha" 201 | name: "Mateo Hoxha" 202 | avatar: "https://avatars1.githubusercontent.com/u/31570771?s=460&v=4" 203 | - gitub_url: "https://github.com/bilal-rao" 204 | name: "Bilal Rao" 205 | avatar: "https://avatars0.githubusercontent.com/u/16866697?s=400&u=4d931161f76357bcfb11566c1a1b4a40c956c9d5&v=4" 206 | - gitub_url: "https://github.com/hxnain619" 207 | name: "Husnain Tariq" 208 | avatar: "https://avatars2.githubusercontent.com/u/34330363?s=460&v=4" 209 | - github_url: "https://github.com/zuhairnaqi/" 210 | name: "Zuhair Naqi" 211 | avatar: "https://avatars2.githubusercontent.com/u/38198958?s=460&v=4" 212 | - github_url: "https://github.com/IamAhsanMani/" 213 | name: "Ahsan Ullah" 214 | avatar: "https://avatars2.githubusercontent.com/u/39671392?s=460&v=4" 215 | - github_url: "https://github.com/Tauqeer1" 216 | name: "Tauqeer Ahmed Shakir" 217 | avatar: "https://avatars2.githubusercontent.com/u/4275703?s=460&v=4" 218 | - github_url: "https://github.com/Shahid0343" 219 | name: "Muhammad Shahid" 220 | avatar: "https://avatars2.githubusercontent.com/u/26340344?s=460&v=4" 221 | - github_url: "https://github.com/GhalyahF" 222 | name: "Ghalyah Al-Ansari" 223 | avatar: "https://avatars2.githubusercontent.com/u/10036755?s=400&v=4" 224 | - github_url: "https://github.com/anasshamsi97" 225 | name: "Muhammad Anas Shamsi" 226 | avatar: "https://avatars1.githubusercontent.com/u/35067260?s=400&u=21c1e06240c64045b511144549402b5d065b8180&v=4" 227 | - github_url: "https://github.com/husnainfareed" 228 | name: "Hussnain Fareed" 229 | avatar: "https://avatars1.githubusercontent.com/u/14870938?s=460&v=4" 230 | - github_url: "https://github.com/seemagawaradi" 231 | name: "Seema G 🇮🇳" 232 | avatar: "https://avatars1.githubusercontent.com/u/50241543?s=400&u=137a5769c5c687c2850f6786efa72f1a82c0556e&v=4" 233 | - github_url: "https://github.com/soha-moosa" 234 | name: "Soha Moosa" 235 | avatar: "https://avatars1.githubusercontent.com/u/40213521?s=460&v=4" 236 | - github_url: "https://github.com/Saman-Sami" 237 | name: "Saman Sami" 238 | avatar: "https://avatars1.githubusercontent.com/u/34859864?s=460&v=4" 239 | - github_url: "https://github.com/Usamaliaquat123" 240 | name: "Usama liaquat" 241 | avatar: "https://avatars1.githubusercontent.com/u/33973828?s=460&v=4" 242 | - github_url: "https://github.com/agungjsp" 243 | name: "Prasetiyo" 244 | avatar: "https://avatars0.githubusercontent.com/u/30463526?s=460&v=4" 245 | - github_url: "https://github.com/mathcale" 246 | name: "Matheus Calegaro" 247 | avatar: "https://upload.wikimedia.org/wikipedia/en/5/5f/Original_Doge_meme.jpg" 248 | - github_url: "https://github.com/leonwehrhan" 249 | name: "Leon Wehrhan" 250 | avatar: "https://avatars.githubusercontent.com/leonwehrhan" 251 | - github_url: "https://github.com/kamranferoz" 252 | name: "Kamran Feroz" 253 | avatar: "https://avatars3.githubusercontent.com/u/34434270?s=460&v=4" 254 | - github_url: "https://github.com/HalfStackZay" 255 | name: "Isaiah Miller" 256 | avatar: "https://avatars2.githubusercontent.com/u/36610810?s=400&u=08c92315d6eb7f03109d1bc7faa3c8c6d6929c9b&v=4" 257 | - github_url: "https://github.com/Mohammad-Quanit" 258 | name: "Mohammad Quanit 💻 " 259 | avatar: "https://avatars1.githubusercontent.com/u/32056694?s=460&v=4" 260 | - github_url: "https://github.com/MauricioGR15" 261 | name: "Mauricio Garcia 💻" 262 | avatar: "https://avatars.githubusercontent.com/MauricioGR15" 263 | - github_url: "https://github.com/paidegua" 264 | name: "paidegua" 265 | avatar: "https://avatars.githubusercontent.com/paidegua" 266 | - github_url: "https://github.com/sbappoo" 267 | name: "sbappoo" 268 | avatar: "https://avatars3.githubusercontent.com/u/39064501?s=400&v=4" 269 | - github_url: "https://github.com/tturner13" 270 | name: "Tim Turner" 271 | avatar: "https://avatars.githubusercontent.com/tturner13" 272 | - github_url: "https://github.com/muhammadahad96" 273 | name: "Muhammad Ahad" 274 | avatar: "https://avatars3.githubusercontent.com/u/47399266?s=460&v=4" 275 | - github_url: "https://github.com/dennisrufigill" 276 | name: "Dennis Rufi" 277 | avatar: "https://avatars1.githubusercontent.com/u/25078791?s=460&v=4" 278 | - github_url: "https://github.com/YousufQadri" 279 | name: "Syed Yousuf Qadri" 280 | avatar: "https://avatars1.githubusercontent.com/u/49168237?s=460&v=4" 281 | - github_url: "https://github.com/drichards-dev" 282 | name: "Duane Richards" 283 | avatar: "https://avatars3.githubusercontent.com/u/58445383?s=400&v=4" 284 | - github_url: "https://github.com/dipakchandranp" 285 | name: "Dipak Chandran" 286 | avatar: "https://avatars0.githubusercontent.com/u/5057513" 287 | - github_url: "https://github.com/howar6hill" 288 | name: "howar6hill" 289 | avatar: "https://hc8fm03jtw-flywheel.netdna-ssl.com/wp-content/uploads/2016/06/Pakistan-Web-Cat-2016.jpg" 290 | - github_url: "https://github.com/Huzaifaahmed20" 291 | name: "Huzaifa Ahmed 💻 " 292 | avatar: "https://avatars2.githubusercontent.com/u/26674425?s=460&v=4" 293 | - github_url: "https://github.com/st900278" 294 | name: "oberon" 295 | avatar: "https://i.imgur.com/p7rHxpR.jpg" 296 | - github_url: "https://github.com/radharay" 297 | name: "Rayane Pimentel" 298 | avatar: "https://avatars.githubusercontent.com/radharay" 299 | - github_url: "https://github.com/bvamsik25" 300 | name: "vamsi" 301 | avatar: "https://avatars3.githubusercontent.com/u/28943402?s=400&u=212770a7f316dda95a3c7b31fb75ae0efa5fc4db&v=4" 302 | - github_url: "https://github.com/AbdullahChauhan" 303 | name: "Abdullah Chauhan 🇵🇰" 304 | avatar: "https://avatars.githubusercontent.com/AbdullahChauhan" 305 | - github_url: "https://github.com/mshahzaib101" 306 | name: "Muhammad Shahzaib Shoaib 🇵🇰" 307 | avatar: "https://avatars.githubusercontent.com/mshahzaib101" 308 | - github_url: "https://github.com/Rangkynsai" 309 | name: "Rangkynsai" 310 | avatar: "https://avatars1.githubusercontent.com/u/47221516?s=400&u=dac95fe8815aab1ae465ad34bdfbb681bde85838&v=4" 311 | - github_url: "https://github.com/LalitKushwah" 312 | name: "Lalit Kushwah" 313 | avatar: "https://avatars3.githubusercontent.com/u/15167290?s=460&v=4" 314 | - github_url: "https://github.com/shrek-7" 315 | name: "Shreyas Kumar" 316 | avatar: "https://avatars0.githubusercontent.com/u/30767682?s=460&v=4" 317 | - github_url: "https://github.com/nathkundan" 318 | name: "Kundan Nath " 319 | avatar: "https://avatars3.githubusercontent.com/u/11026533?s=400&u=8cfc861ad25b26c2b1cd6b40f31030fa5f758dd3&v=4" 320 | - github_url: "https://github.com/PaulaAsto" 321 | name: "Paula Asto" 322 | avatar: "https://avatars2.githubusercontent.com/u/14001107?s=400&u=7d5d37c1fec7102acf97dcf2202c1228687aabef&v=4" 323 | - github_url: "https://github.com/justtaldevelops" 324 | name: "Talha Azeem" 325 | avatar: "https://avatars0.githubusercontent.com/u/39247615?s=460&v=4" 326 | - github_url: "https://github.com/128bhakti" 327 | name: "Bhakti Kantariya" 328 | avatar: "https://github.com/128bhakti" 329 | - github_url: "https://github.com/AleeSeydoux" 330 | name: "Ale Seydoux" 331 | avatar: "https://avatars1.githubusercontent.com/u/36896034?s=460&v=4" 332 | - github_url: "https://github.com/anirudhganwal06" 333 | name: "Anirudh Ganwal" 334 | avatar: "https://avatars2.githubusercontent.com/u/46159714?s=460&v=4" 335 | - github_url: "https://github.com/aliasgharkarani" 336 | name: "Ali Asghar Karani" 337 | avatar: "https://drive.google.com/open?id=1hA5TCbHLM9wXAfY36D41ZOQ87cWFc1xR" 338 | - github_url: "https://github.com/kudoabhijeet" 339 | name: "Abhijeet Prasad" 340 | avatar: "https://avatars1.githubusercontent.com/u/35054601?s=400&u=40d0cfa057f2343d769e5c10f258b1245d09a740&v=4" 341 | - github_url: "https://github.com/hasanabid992" 342 | name: "Syed Hasan Abid" 343 | avatar: "https://avatars1.githubusercontent.com/u/30974828?s=460&v=4" 344 | - github_url: "https://github.com/KhwajaTahaHasanAnsari" 345 | name: "TAHA" 346 | avatar: "https://avatars3.githubusercontent.com/u/8534147?s=460&v=4" 347 | - github_url: "https://github.com/mehakg867" 348 | name: "Mehak Goyal" 349 | avatar: "https://avatars3.githubusercontent.com/u/47946110?s=460&v=4" 350 | - github_url: "https://github.com/valdemirfilho" 351 | name: "Valdemir Filho" 352 | avatar: "https://avatars2.githubusercontent.com/u/6961638?s=460&v=4" 353 | - github_url: "https://github.com/MRummanHasan" 354 | name: "Rumman Khan" 355 | avatar: "https://avatars1.githubusercontent.com/u/20889660?s=400" 356 | - github_url: "https://github.com/mariapujirahayu" 357 | name: "Maria Puji Rahayu" 358 | avatar: "https://avatars2.githubusercontent.com/u/42793603?s=400&v=4" 359 | - github_url: "https://github.com/wajeehmisbahkhan" 360 | name: "Wajeeh Misbah Khan" 361 | avatar: "https://avatars0.githubusercontent.com/u/37481915" 362 | - github_url: "https://github.com/uzairkorai" 363 | name: "Uzair Korai" 364 | avatar: "https://avatars2.githubusercontent.com/u/38845776?s=400&u=d8a609705c52f80580a62dde6ae242ae6cd58e1a&v=4" 365 | - github_url: "https://github.com/Johan-Ng" 366 | name: "Johan Ng" 367 | avatar: "https://i.ytimg.com/vi/Pnz-WCNmX8k/hqdefault.jpg" 368 | - github_url: "https://github.com/donycisneros" 369 | name: "Dony Cisneros" 370 | avatar: "https://avatars3.githubusercontent.com/u/20516943?s=400&v=4" 371 | - github_url: "https://github.com/waahab" 372 | name: "Abdul Wahab" 373 | avatar: "https://avatars3.githubusercontent.com/u/31372061?s=460&v=4" 374 | - github_url: "https://github.com/pataar" 375 | name: "Pieter" 376 | avatar: "https://avatars3.githubusercontent.com/u/3403851?s=400&v=4" 377 | - github_url: "https://github.com/Valeyard1" 378 | name: "Valeyard1" 379 | avatar: "https://avatars3.githubusercontent.com/u/20516943?s=400&v=4" 380 | - github_url: "https://github.com/kimberleejohnson" 381 | name: "Kimberlee Johnson" 382 | avatar: "https://avatars3.githubusercontent.com/u/28582074?s=460&v=4" 383 | - github_url: "https://github.com/swt02026" 384 | name: "swt02026" 385 | avatar: "https://avatars2.githubusercontent.com/u/5100749?s=400&u=33bc8d176acb0870587f73659f3236a684cc8c6e&v=4" 386 | - github_url: "https://github.com/sawatdee/" 387 | name: "Supp K" 388 | avatar: "https://avatars0.githubusercontent.com/u/40620379?s=460&v=4" 389 | - github_url: "https://github.com/umershaikh97/" 390 | name: "Umer Shaikh" 391 | avatar: "https://avatars.githubusercontent.com/umershaikh97" 392 | - github_url: "https://github.com/uzairarif/" 393 | name: "Muhammad Uzair" 394 | avatar: "https://avatars3.githubusercontent.com/u/23105871?s=400&v=4" 395 | - github_url: "https://github.com/nabeel-shakeel" 396 | name: "Nabeel Shakeel" 397 | avatar: "https://avatars0.githubusercontent.com/u/39087083?s=400&u=3167d7c9a037ba7fc83c7a2dd2e228726736c8fc&v=4" 398 | - github_url: "https://github.com/hamsahmedansari" 399 | name: "Hams Ahmed Ansari" 400 | avatar: "https://avatars1.githubusercontent.com/u/35776235?s=460&v=4" 401 | - github_url: "https://github.com/kuroyza" 402 | name: "Kuroyza" 403 | avatar: "https://avatars.githubusercontent.com/kuroyza" 404 | - github_url: "https://github.com/muhammadbinnaeem" 405 | name: "Muhammad Bin Naeem" 406 | avatar: "https://avatars3.githubusercontent.com/u/13447597?s=400&u=6369159187568cd9cff0ddc9ae1f744dbc7f24e9&v=4" 407 | - github_url: "https://github.com/aaghawaheed" 408 | name: "Aagha Abdul Waheed" 409 | avatar: "https://avatars.githubusercontent.com/aaghawaheed" 410 | - github_url: "https://github.com/shamir456" 411 | name: "Shameer Ahmad" 412 | avatar: "https://avatars2.githubusercontent.com/u/24803753?s=460&v=4" 413 | - github_url: "https://github.com/Parmod611" 414 | name: "Parmod" 415 | avatar: "https://avatars0.githubusercontent.com/u/56019195?s=400&u=4698901871d61a334978c84808402721006702b4&v=4" 416 | - github_url: "https://github.com/tomkennedycode" 417 | name: "Tom Kennedy" 418 | avatar: "https://avatars.githubusercontent.com/tomkennedycode" 419 | - github_url: "https://github.com/bilal112" 420 | name: "Bilal Irfan" 421 | avatar: "https://avatars2.githubusercontent.com/u/23139110?s=460&v=4" 422 | - github_url: "https://github.com/ahmedgmurtaza" 423 | name: "Ahmed Murtaza" 424 | avatar: "https://avatars2.githubusercontent.com/u/2337996?s=460&v=4" 425 | - github_url: "https://https://github.com/stevencharleshuang" 426 | name: "Steven Charles Huang" 427 | avatar: "https://avatars2.githubusercontent.com/u/36724639?s=460&v=4" 428 | - github_url: "https://github.com/sohilladhani" 429 | name: "Sohil Ladhani" 430 | avatar: "https://avatars.githubusercontent.com/sohilladhani" 431 | - github_url: "https://github.com/zafar-hussain" 432 | name: "Zafar Hussain" 433 | avatar: "https://avatars1.githubusercontent.com/u/7498674?s=460&v=4" 434 | - github_url: "https://github.com/Muhammad-Adil" 435 | name: "Muhammad Adil" 436 | avatar: "https://avatars3.githubusercontent.com/u/14922669?s=460&v=4" 437 | - github_url: "https://github.com/mrazam110" 438 | name: "Muhammad Raza Master" 439 | avatar: "https://avatars3.githubusercontent.com/u/5674070?s=460&v=4" 440 | - github_url: "https://github.com/lunzhang" 441 | name: "Lun Zhang" 442 | avatar: "https://avatars.githubusercontent.com/lunzhang" 443 | - github_url: "https://github.com/jonkaravan" 444 | name: "Jon Karavan" 445 | avatar: "https://avatars.githubusercontent.com/jonkaravan" 446 | - github_url: "https://github.com/anku580" 447 | name: "Anku Garg" 448 | avatar: "https://avatars.githubusercontent.com/anku580" 449 | - github_url: "https://github.com/naumanmoazzam" 450 | name: "Nauman Moazzam" 451 | avatar: "https://avatars.githubusercontent.com/naumanmoazzam" 452 | - github_url: "https://github.com/vinitatandulkar" 453 | name: "Vinita Tandulkar" 454 | avatar: "https://avatars0.githubusercontent.com/u/41898676?s=400&v=4" 455 | - github_url: "https://github.com/nicoleyson" 456 | name: "Nicole 🇺🇸" 457 | avatar: "https://avatars1.githubusercontent.com/u/14220781?s=460&v=4" 458 | - github_url: "https://github.com/ga-sr" 459 | name: "Gabriel Rocha 🇧🇷 " 460 | avatar: "https://avatars0.githubusercontent.com/u/39207023?s=400&v=4" 461 | - github_url: "https://github.com/Smalloow" 462 | name: "Smalloow" 463 | avatar: "https://avatars0.githubusercontent.com/u/19327373?s=460&v=4" 464 | - github_url: "https://github.com/milindchawre" 465 | name: "Milind Chawre" 466 | avatar: "https://avatars.githubusercontent.com/milindchawre" 467 | - github_url: "https://github.com/hoikhong" 468 | name: "hoikhong" 469 | avatar: "https://avatars.githubusercontent.com/hoikhong" 470 | - github_url: "https://github.com/T-Owens42" 471 | name: "Tommy Owens" 472 | avatar: "https://avatars3.githubusercontent.com/u/56510779?v=4" 473 | - github_url: "https://github.com/maytuii" 474 | name: "May Chompunut" 475 | avatar: "https://avatars0.githubusercontent.com/u/55802764?s=460&v=4" 476 | - github_url: "https://github.com/Mohit0625" 477 | name: "Mohit Aneja" 478 | avatar: "https://avatars0.githubusercontent.com/u/56757834?s=400&u=6e4659a24ede5a8ed716729e47b9b506752be407&v=4" 479 | - github_url: "https://github.com/eppu" 480 | name: "Eetu Eskelinen" 481 | avatar: "https://avatars1.githubusercontent.com/u/12832880?s=460&v=4" 482 | - github_url: "https://github.com/forgottenEarth" 483 | name: "forgottenEarth" 484 | avatar: "https://avatars0.githubusercontent.com/u/56938521?s=400&v=4" 485 | - github_url: "https://github.com/Grigory57" 486 | name: "Grigory57" 487 | avatar: "https://avatars2.githubusercontent.com/u/13119986?s=460&v=4" 488 | - github_url: "https://github.com/mas-designs" 489 | name: "mas-vienna" 490 | avatar: "https://avatars3.githubusercontent.com/u/24718174?s=460&u=9f0d36f54d16150f4d72b818ee8fea88a070f45a&v=4" 491 | - github_url: "https://github.com/Mayank-Khurmai" 492 | name: "Mayank-Khurmai" 493 | avatar: "https://avatars0.githubusercontent.com/u/44177000?s=460&u=f4b8d55c7e97927800bfdb0a954a2221f871445d&v=4" 494 | - github_url: "https://github.com/MReis89" 495 | name: "MReis89" 496 | avatar: "https://avatars3.githubusercontent.com/u/19781337?s=96&v=4" 497 | - github_url: "https://github.com/LeeWarnock" 498 | name: "LeeWarnock" 499 | avatar: "https://avatars3.githubusercontent.com/u/10902904?s=460&v=4" 500 | - github_url: "https://github.com/adnanirfan" 501 | name: "Adnan Irfan 🇵🇰" 502 | avatar: "https://avatars0.githubusercontent.com/u/9200214?s=460&v=4" 503 | - github_url: "https://github.com/mqpasta/" 504 | name: "Muhammad Qasim Pasta 🇵🇰" 505 | avatar: "https://avatars2.githubusercontent.com/u/3919093?s=460&v=4" 506 | - github_url: "https://github.com/PostNZT" 507 | name: "Jhune Carlo Trogelio" 508 | avatar: "https://avatars3.githubusercontent.com/u/34854542?s=460&v=4" 509 | - github_url: "https://github.com/Shikamaru-Nara1729" 510 | name: "Apoorva Dinesh Singh" 511 | avatar: "https://avatars1.githubusercontent.com/u/34515315?v=4" 512 | - github_url: "https://github.com/Jahnavi00" 513 | name: "Jahnavi Majji" 514 | avatar: "https://avatars0.githubusercontent.com/u/19327373?s=460&v=4" 515 | - github_url: "https://github.com/stinkymonkeyph" 516 | name: "stinkymonkeyph" 517 | avatar: "https://avatars0.githubusercontent.com/u/20766001?s=400&v=4" 518 | - github_url: "https://github.com/umairx97" 519 | name: "Umair Ahmed Bajwa" 520 | avatar: "https://avatars2.githubusercontent.com/u/43206820?s=460&v=4" 521 | - github_url: "https://github.com/ArjunGTX" 522 | name: "Arjun VC" 523 | avatar: "https://github.com/ArjunGTX.png?size=400" 524 | - github_url: "https://github.com/asadikhlas" 525 | name: "Asad Ikhlas 🇵🇰" 526 | avatar: "https://avatars3.githubusercontent.com/u/33983874?s=400&u=8a20d03757bbbe74ce75868da227668faca3b179&v=4" 527 | - github_url: "https://github.com/Aqsa48" 528 | name: "Aqsa" 529 | avatar: "https://avatars0.githubusercontent.com/u/21342218?s=400&u=6139f7709b7d28a664a8078ae8b00af0f4fcdef8&v=4" 530 | - github_url: "https://github.com/owais4321" 531 | name: "Owais" 532 | avatar: "https://avatars3.githubusercontent.com/u/39921596?s=460&u=49d6f0b56fcbaeb1a28add319a295231099f0766&v=4" 533 | github_url: "https://github.com/Adnan-Khanx" 534 | name: "Adnan Khan 🇵🇰" 535 | avatar: "https://avatars0.githubusercontent.com/u/51769729?s=460&u=5efe1817faab68b1a663d7f443254bcf175ffc07&v=4" 536 | - github_url: "https://github.com/aaizkhan" 537 | name: "Aizaz Ahmad PK" 538 | avatar: "https://avatars3.githubusercontent.com/u/45678226?s=460&u=ad17617761ab7cd6a534bdaf50437a84d171ff5a&v=4" 539 | - github_url: "https://github.com/RR190701" 540 | name: "Rashika" 541 | avatar: "https://avatars3.githubusercontent.com/u/56692397?v=4" 542 | - github_url: "https://github.com/pedroalecrim" 543 | name: "Pedro Alecrim" 544 | avatar: "https://avatars1.githubusercontent.com/u/70032410?s=460&u=aa1f4c734ff0524d8c6e438b77fc9feba9fd2e4e&v=4" 545 | - github_url: "https://github.com/aaditkamat" 546 | name: "Aadit Rahul Kamat 🇸🇬" 547 | avatar: "https://avatars0.githubusercontent.com/u/30969577?s=460&u=580f7a7628a098e3b3b04244868fd5f0885f5ab1&v=4" 548 | - github_url: "https://github.com/SantanuxD" 549 | name: "Santanu Biswas" 550 | avatar: "https://avatars.githubusercontent.com/SantanuxD" 551 | github_url: "https://github.com/rahulgupta1999" 552 | name: "Rahul gupta" 553 | avatar: "https://avatars0.githubusercontent.com/u/42772012?s=400&u=301d0c8c1e5c7b48db95e31a499627553d7f864d&v=4" 554 | - github_url: "https://github.com/EyeOfCode" 555 | name: "EyeOfCode 🇹🇭" 556 | avatar: "https://avatars2.githubusercontent.com/u/13258904?s=460&v=4" 557 | - github_url: "https://github.com/LukeZekes" 558 | name: "LukeZekes 🇺🇸" 559 | avatar: "https://avatars.githubusercontent.com/u/41444778?s=60&v=4" 560 | - github_url: "https://github.com/britzky" 561 | name: "John us" 562 | avatar: "https://avatars.githubusercontent.com/u/59069860?s=400&u=3a326cd42bf62e3b9c18cbbd224e4396f54c2db3&v=4" 563 | - github_url: "https://github.com/ahsan-khan1999" 564 | name: "Ahsan Khan 🇵🇰" 565 | avatar: "https://avatars.githubusercontent.com/ahsan-khan1999" 566 | - github_url: "https://github.com/kutuzov13" 567 | name: 'Yegor Kutuzov' 568 | avatar: 'https://avatars.githubusercontent.com/u/66310643?v=4' 569 | - github_url: "https://github.com/ruzlicali16" 570 | name: 'ruzlicali16' 571 | avatar: 'https://avatars.githubusercontent.com/u/44608860?v=4' 572 | - github_url: "https://github.com/devshree-bhati" 573 | name: "Devshree Bhati" 574 | avatar: "https://avatars.githubusercontent.com/u/147095250?v=4" -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 |
2 | 17 |
-------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 7 | 8 | 9 | 13 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 |
2 |

{{ site.title }}

3 |
-------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% include head.html %} 4 | 5 | 6 | {% include header.html %} 7 |
8 |
9 | {{ content }} 10 |
11 |
12 | {% include footer.html %} 13 | 14 | -------------------------------------------------------------------------------- /assets/clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devncode/first-contributions/effeb2535674b39186f31986a3475b972e4c8543/assets/clone.png -------------------------------------------------------------------------------- /assets/compare-and-pull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devncode/first-contributions/effeb2535674b39186f31986a3475b972e4c8543/assets/compare-and-pull.png -------------------------------------------------------------------------------- /assets/copy-to-clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devncode/first-contributions/effeb2535674b39186f31986a3475b972e4c8543/assets/copy-to-clipboard.png -------------------------------------------------------------------------------- /assets/fork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devncode/first-contributions/effeb2535674b39186f31986a3475b972e4c8543/assets/fork.png -------------------------------------------------------------------------------- /assets/git-status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devncode/first-contributions/effeb2535674b39186f31986a3475b972e4c8543/assets/git-status.png -------------------------------------------------------------------------------- /assets/submit-pull-request.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devncode/first-contributions/effeb2535674b39186f31986a3475b972e4c8543/assets/submit-pull-request.png -------------------------------------------------------------------------------- /css/main.css: -------------------------------------------------------------------------------- 1 | a { 2 | color: #f79320 !important; 3 | } 4 | 5 | header.jumbotron { 6 | background-color: #f79320; 7 | } 8 | 9 | header.jumbotron > h1 > a { 10 | color: white !important; 11 | } 12 | 13 | a { 14 | transition: .3s ease; 15 | } 16 | 17 | header.jumbotron > h1 > a:hover, 18 | a:hover { 19 | color: #2c3e50 !important; 20 | } 21 | 22 | .text-orange { 23 | color: #f79320 !important; 24 | } 25 | 26 | footer { 27 | padding: 2em 0; 28 | margin: 3em 0; 29 | border-top: 1px solid #ddd; 30 | color: #999; 31 | text-align: center; 32 | } 33 | 34 | .developer-name { 35 | color: #2c3e50; 36 | } 37 | 38 | .links-hover:hover{ 39 | color: #2c3e50!important; 40 | } -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | --- 2 | # Feel free to add content and custom Front Matter to this file 3 | # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults 4 | 5 | layout: default 6 | --- 7 | 8 | 9 | 10 | 11 | 12 | 13 | Dglassmorphism card design 14 | 15 | 16 | 17 | 18 |
19 |
20 |
21 | 🎉 {{ site.data.contributions.devs | size }} developers who contributed to this open source project for the first time 🎉 22 |
23 |
24 |
25 |
26 |
27 | {% for dev in site.data.contributions.devs %} 28 |
29 |
30 | 31 |
32 |
33 |

{{ dev.name }}

34 |
35 |

36 | 37 |

38 |
39 |
40 |
41 | {% endfor %} 42 |
43 |
44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /vanilla-tilt.js: -------------------------------------------------------------------------------- 1 | var VanillaTilt = (function () { 2 | 'use strict'; 3 | 4 | /** 5 | * Created by Sergiu Șandor (micku7zu) on 1/27/2017. 6 | * Original idea: https://github.com/gijsroge/tilt.js 7 | * MIT License. 8 | * Version 1.7.2 9 | */ 10 | 11 | class VanillaTilt { 12 | constructor(element, settings = {}) { 13 | if (!(element instanceof Node)) { 14 | throw ("Can't initialize VanillaTilt because " + element + " is not a Node."); 15 | } 16 | 17 | this.width = null; 18 | this.height = null; 19 | this.clientWidth = null; 20 | this.clientHeight = null; 21 | this.left = null; 22 | this.top = null; 23 | 24 | // for Gyroscope sampling 25 | this.gammazero = null; 26 | this.betazero = null; 27 | this.lastgammazero = null; 28 | this.lastbetazero = null; 29 | 30 | this.transitionTimeout = null; 31 | this.updateCall = null; 32 | this.event = null; 33 | 34 | this.updateBind = this.update.bind(this); 35 | this.resetBind = this.reset.bind(this); 36 | 37 | this.element = element; 38 | this.settings = this.extendSettings(settings); 39 | 40 | this.reverse = this.settings.reverse ? -1 : 1; 41 | this.glare = VanillaTilt.isSettingTrue(this.settings.glare); 42 | this.glarePrerender = VanillaTilt.isSettingTrue(this.settings["glare-prerender"]); 43 | this.fullPageListening = VanillaTilt.isSettingTrue(this.settings["full-page-listening"]); 44 | this.gyroscope = VanillaTilt.isSettingTrue(this.settings.gyroscope); 45 | this.gyroscopeSamples = this.settings.gyroscopeSamples; 46 | 47 | this.elementListener = this.getElementListener(); 48 | 49 | if (this.glare) { 50 | this.prepareGlare(); 51 | } 52 | 53 | if (this.fullPageListening) { 54 | this.updateClientSize(); 55 | } 56 | 57 | this.addEventListeners(); 58 | this.reset(); 59 | this.updateInitialPosition(); 60 | } 61 | 62 | static isSettingTrue(setting) { 63 | return setting === "" || setting === true || setting === 1; 64 | } 65 | 66 | /** 67 | * Method returns element what will be listen mouse events 68 | * @return {Node} 69 | */ 70 | getElementListener() { 71 | if (this.fullPageListening) { 72 | return window.document; 73 | } 74 | 75 | if (typeof this.settings["mouse-event-element"] === "string") { 76 | const mouseEventElement = document.querySelector(this.settings["mouse-event-element"]); 77 | 78 | if (mouseEventElement) { 79 | return mouseEventElement; 80 | } 81 | } 82 | 83 | if (this.settings["mouse-event-element"] instanceof Node) { 84 | return this.settings["mouse-event-element"]; 85 | } 86 | 87 | return this.element; 88 | } 89 | 90 | /** 91 | * Method set listen methods for this.elementListener 92 | * @return {Node} 93 | */ 94 | addEventListeners() { 95 | this.onMouseEnterBind = this.onMouseEnter.bind(this); 96 | this.onMouseMoveBind = this.onMouseMove.bind(this); 97 | this.onMouseLeaveBind = this.onMouseLeave.bind(this); 98 | this.onWindowResizeBind = this.onWindowResize.bind(this); 99 | this.onDeviceOrientationBind = this.onDeviceOrientation.bind(this); 100 | 101 | this.elementListener.addEventListener("mouseenter", this.onMouseEnterBind); 102 | this.elementListener.addEventListener("mouseleave", this.onMouseLeaveBind); 103 | this.elementListener.addEventListener("mousemove", this.onMouseMoveBind); 104 | 105 | if (this.glare || this.fullPageListening) { 106 | window.addEventListener("resize", this.onWindowResizeBind); 107 | } 108 | 109 | if (this.gyroscope) { 110 | window.addEventListener("deviceorientation", this.onDeviceOrientationBind); 111 | } 112 | } 113 | 114 | /** 115 | * Method remove event listeners from current this.elementListener 116 | */ 117 | removeEventListeners() { 118 | this.elementListener.removeEventListener("mouseenter", this.onMouseEnterBind); 119 | this.elementListener.removeEventListener("mouseleave", this.onMouseLeaveBind); 120 | this.elementListener.removeEventListener("mousemove", this.onMouseMoveBind); 121 | 122 | if (this.gyroscope) { 123 | window.removeEventListener("deviceorientation", this.onDeviceOrientationBind); 124 | } 125 | 126 | if (this.glare || this.fullPageListening) { 127 | window.removeEventListener("resize", this.onWindowResizeBind); 128 | } 129 | } 130 | 131 | destroy() { 132 | clearTimeout(this.transitionTimeout); 133 | if (this.updateCall !== null) { 134 | cancelAnimationFrame(this.updateCall); 135 | } 136 | 137 | this.reset(); 138 | 139 | this.removeEventListeners(); 140 | this.element.vanillaTilt = null; 141 | delete this.element.vanillaTilt; 142 | 143 | this.element = null; 144 | } 145 | 146 | onDeviceOrientation(event) { 147 | if (event.gamma === null || event.beta === null) { 148 | return; 149 | } 150 | 151 | this.updateElementPosition(); 152 | 153 | if (this.gyroscopeSamples > 0) { 154 | this.lastgammazero = this.gammazero; 155 | this.lastbetazero = this.betazero; 156 | 157 | if (this.gammazero === null) { 158 | this.gammazero = event.gamma; 159 | this.betazero = event.beta; 160 | } else { 161 | this.gammazero = (event.gamma + this.lastgammazero) / 2; 162 | this.betazero = (event.beta + this.lastbetazero) / 2; 163 | } 164 | 165 | this.gyroscopeSamples -= 1; 166 | } 167 | 168 | const totalAngleX = this.settings.gyroscopeMaxAngleX - this.settings.gyroscopeMinAngleX; 169 | const totalAngleY = this.settings.gyroscopeMaxAngleY - this.settings.gyroscopeMinAngleY; 170 | 171 | const degreesPerPixelX = totalAngleX / this.width; 172 | const degreesPerPixelY = totalAngleY / this.height; 173 | 174 | const angleX = event.gamma - (this.settings.gyroscopeMinAngleX + this.gammazero); 175 | const angleY = event.beta - (this.settings.gyroscopeMinAngleY + this.betazero); 176 | 177 | const posX = angleX / degreesPerPixelX; 178 | const posY = angleY / degreesPerPixelY; 179 | 180 | if (this.updateCall !== null) { 181 | cancelAnimationFrame(this.updateCall); 182 | } 183 | 184 | this.event = { 185 | clientX: posX + this.left, 186 | clientY: posY + this.top, 187 | }; 188 | 189 | this.updateCall = requestAnimationFrame(this.updateBind); 190 | } 191 | 192 | onMouseEnter() { 193 | this.updateElementPosition(); 194 | this.element.style.willChange = "transform"; 195 | this.setTransition(); 196 | } 197 | 198 | onMouseMove(event) { 199 | if (this.updateCall !== null) { 200 | cancelAnimationFrame(this.updateCall); 201 | } 202 | 203 | this.event = event; 204 | this.updateCall = requestAnimationFrame(this.updateBind); 205 | } 206 | 207 | onMouseLeave() { 208 | this.setTransition(); 209 | 210 | if (this.settings.reset) { 211 | requestAnimationFrame(this.resetBind); 212 | } 213 | } 214 | 215 | reset() { 216 | this.event = { 217 | clientX: this.left + this.width / 2, 218 | clientY: this.top + this.height / 2 219 | }; 220 | 221 | if (this.element && this.element.style) { 222 | this.element.style.transform = `perspective(${this.settings.perspective}px) ` + 223 | `rotateX(0deg) ` + 224 | `rotateY(0deg) ` + 225 | `scale3d(1, 1, 1)`; 226 | } 227 | 228 | this.resetGlare(); 229 | } 230 | 231 | resetGlare() { 232 | if (this.glare) { 233 | this.glareElement.style.transform = "rotate(180deg) translate(-50%, -50%)"; 234 | this.glareElement.style.opacity = "0"; 235 | } 236 | } 237 | 238 | updateInitialPosition() { 239 | if (this.settings.startX === 0 && this.settings.startY === 0) { 240 | return; 241 | } 242 | 243 | this.onMouseEnter(); 244 | 245 | if (this.fullPageListening) { 246 | this.event = { 247 | clientX: (this.settings.startX + this.settings.max) / (2 * this.settings.max) * this.clientWidth, 248 | clientY: (this.settings.startY + this.settings.max) / (2 * this.settings.max) * this.clientHeight 249 | }; 250 | } else { 251 | this.event = { 252 | clientX: this.left + ((this.settings.startX + this.settings.max) / (2 * this.settings.max) * this.width), 253 | clientY: this.top + ((this.settings.startY + this.settings.max) / (2 * this.settings.max) * this.height) 254 | }; 255 | } 256 | 257 | 258 | let backupScale = this.settings.scale; 259 | this.settings.scale = 1; 260 | this.update(); 261 | this.settings.scale = backupScale; 262 | this.resetGlare(); 263 | } 264 | 265 | getValues() { 266 | let x, y; 267 | 268 | if (this.fullPageListening) { 269 | x = this.event.clientX / this.clientWidth; 270 | y = this.event.clientY / this.clientHeight; 271 | } else { 272 | x = (this.event.clientX - this.left) / this.width; 273 | y = (this.event.clientY - this.top) / this.height; 274 | } 275 | 276 | x = Math.min(Math.max(x, 0), 1); 277 | y = Math.min(Math.max(y, 0), 1); 278 | 279 | let tiltX = (this.reverse * (this.settings.max - x * this.settings.max * 2)).toFixed(2); 280 | let tiltY = (this.reverse * (y * this.settings.max * 2 - this.settings.max)).toFixed(2); 281 | let angle = Math.atan2(this.event.clientX - (this.left + this.width / 2), -(this.event.clientY - (this.top + this.height / 2))) * (180 / Math.PI); 282 | 283 | return { 284 | tiltX: tiltX, 285 | tiltY: tiltY, 286 | percentageX: x * 100, 287 | percentageY: y * 100, 288 | angle: angle 289 | }; 290 | } 291 | 292 | updateElementPosition() { 293 | let rect = this.element.getBoundingClientRect(); 294 | 295 | this.width = this.element.offsetWidth; 296 | this.height = this.element.offsetHeight; 297 | this.left = rect.left; 298 | this.top = rect.top; 299 | } 300 | 301 | update() { 302 | let values = this.getValues(); 303 | 304 | this.element.style.transform = "perspective(" + this.settings.perspective + "px) " + 305 | "rotateX(" + (this.settings.axis === "x" ? 0 : values.tiltY) + "deg) " + 306 | "rotateY(" + (this.settings.axis === "y" ? 0 : values.tiltX) + "deg) " + 307 | "scale3d(" + this.settings.scale + ", " + this.settings.scale + ", " + this.settings.scale + ")"; 308 | 309 | if (this.glare) { 310 | this.glareElement.style.transform = `rotate(${values.angle}deg) translate(-50%, -50%)`; 311 | this.glareElement.style.opacity = `${values.percentageY * this.settings["max-glare"] / 100}`; 312 | } 313 | 314 | this.element.dispatchEvent(new CustomEvent("tiltChange", { 315 | "detail": values 316 | })); 317 | 318 | this.updateCall = null; 319 | } 320 | 321 | /** 322 | * Appends the glare element (if glarePrerender equals false) 323 | * and sets the default style 324 | */ 325 | prepareGlare() { 326 | // If option pre-render is enabled we assume all html/css is present for an optimal glare effect. 327 | if (!this.glarePrerender) { 328 | // Create glare element 329 | const jsTiltGlare = document.createElement("div"); 330 | jsTiltGlare.classList.add("js-tilt-glare"); 331 | 332 | const jsTiltGlareInner = document.createElement("div"); 333 | jsTiltGlareInner.classList.add("js-tilt-glare-inner"); 334 | 335 | jsTiltGlare.appendChild(jsTiltGlareInner); 336 | this.element.appendChild(jsTiltGlare); 337 | } 338 | 339 | this.glareElementWrapper = this.element.querySelector(".js-tilt-glare"); 340 | this.glareElement = this.element.querySelector(".js-tilt-glare-inner"); 341 | 342 | if (this.glarePrerender) { 343 | return; 344 | } 345 | 346 | Object.assign(this.glareElementWrapper.style, { 347 | "position": "absolute", 348 | "top": "0", 349 | "left": "0", 350 | "width": "100%", 351 | "height": "100%", 352 | "overflow": "hidden", 353 | "pointer-events": "none" 354 | }); 355 | 356 | Object.assign(this.glareElement.style, { 357 | "position": "absolute", 358 | "top": "50%", 359 | "left": "50%", 360 | "pointer-events": "none", 361 | "background-image": `linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)`, 362 | "transform": "rotate(180deg) translate(-50%, -50%)", 363 | "transform-origin": "0% 0%", 364 | "opacity": "0", 365 | }); 366 | 367 | this.updateGlareSize(); 368 | } 369 | 370 | updateGlareSize() { 371 | if (this.glare) { 372 | const glareSize = (this.element.offsetWidth > this.element.offsetHeight ? this.element.offsetWidth : this.element.offsetHeight) * 2; 373 | 374 | Object.assign(this.glareElement.style, { 375 | "width": `${glareSize}px`, 376 | "height": `${glareSize}px`, 377 | }); 378 | } 379 | } 380 | 381 | updateClientSize() { 382 | this.clientWidth = window.innerWidth 383 | || document.documentElement.clientWidth 384 | || document.body.clientWidth; 385 | 386 | this.clientHeight = window.innerHeight 387 | || document.documentElement.clientHeight 388 | || document.body.clientHeight; 389 | } 390 | 391 | onWindowResize() { 392 | this.updateGlareSize(); 393 | this.updateClientSize(); 394 | } 395 | 396 | setTransition() { 397 | clearTimeout(this.transitionTimeout); 398 | this.element.style.transition = this.settings.speed + "ms " + this.settings.easing; 399 | if (this.glare) this.glareElement.style.transition = `opacity ${this.settings.speed}ms ${this.settings.easing}`; 400 | 401 | this.transitionTimeout = setTimeout(() => { 402 | this.element.style.transition = ""; 403 | if (this.glare) { 404 | this.glareElement.style.transition = ""; 405 | } 406 | }, this.settings.speed); 407 | 408 | } 409 | 410 | /** 411 | * Method return patched settings of instance 412 | * @param {boolean} settings.reverse - reverse the tilt direction 413 | * @param {number} settings.max - max tilt rotation (degrees) 414 | * @param {startX} settings.startX - the starting tilt on the X axis, in degrees. Default: 0 415 | * @param {startY} settings.startY - the starting tilt on the Y axis, in degrees. Default: 0 416 | * @param {number} settings.perspective - Transform perspective, the lower the more extreme the tilt gets 417 | * @param {string} settings.easing - Easing on enter/exit 418 | * @param {number} settings.scale - 2 = 200%, 1.5 = 150%, etc.. 419 | * @param {number} settings.speed - Speed of the enter/exit transition 420 | * @param {boolean} settings.transition - Set a transition on enter/exit 421 | * @param {string|null} settings.axis - What axis should be disabled. Can be X or Y 422 | * @param {boolean} settings.glare - What axis should be disabled. Can be X or Y 423 | * @param {number} settings.max-glare - the maximum "glare" opacity (1 = 100%, 0.5 = 50%) 424 | * @param {boolean} settings.glare-prerender - false = VanillaTilt creates the glare elements for you, otherwise 425 | * @param {boolean} settings.full-page-listening - If true, parallax effect will listen to mouse move events on the whole document, not only the selected element 426 | * @param {string|object} settings.mouse-event-element - String selector or link to HTML-element what will be listen mouse events 427 | * @param {boolean} settings.reset - false = If the tilt effect has to be reset on exit 428 | * @param {gyroscope} settings.gyroscope - Enable tilting by deviceorientation events 429 | * @param {gyroscopeSensitivity} settings.gyroscopeSensitivity - Between 0 and 1 - The angle at which max tilt position is reached. 1 = 90deg, 0.5 = 45deg, etc.. 430 | * @param {gyroscopeSamples} settings.gyroscopeSamples - How many gyroscope moves to decide the starting position. 431 | */ 432 | extendSettings(settings) { 433 | let defaultSettings = { 434 | reverse: false, 435 | max: 15, 436 | startX: 0, 437 | startY: 0, 438 | perspective: 1000, 439 | easing: "cubic-bezier(.03,.98,.52,.99)", 440 | scale: 1, 441 | speed: 300, 442 | transition: true, 443 | axis: null, 444 | glare: false, 445 | "max-glare": 1, 446 | "glare-prerender": false, 447 | "full-page-listening": false, 448 | "mouse-event-element": null, 449 | reset: true, 450 | gyroscope: true, 451 | gyroscopeMinAngleX: -45, 452 | gyroscopeMaxAngleX: 45, 453 | gyroscopeMinAngleY: -45, 454 | gyroscopeMaxAngleY: 45, 455 | gyroscopeSamples: 10 456 | }; 457 | 458 | let newSettings = {}; 459 | for (var property in defaultSettings) { 460 | if (property in settings) { 461 | newSettings[property] = settings[property]; 462 | } else if (this.element.hasAttribute("data-tilt-" + property)) { 463 | let attribute = this.element.getAttribute("data-tilt-" + property); 464 | try { 465 | newSettings[property] = JSON.parse(attribute); 466 | } catch (e) { 467 | newSettings[property] = attribute; 468 | } 469 | 470 | } else { 471 | newSettings[property] = defaultSettings[property]; 472 | } 473 | } 474 | 475 | return newSettings; 476 | } 477 | 478 | static init(elements, settings) { 479 | if (elements instanceof Node) { 480 | elements = [elements]; 481 | } 482 | 483 | if (elements instanceof NodeList) { 484 | elements = [].slice.call(elements); 485 | } 486 | 487 | if (!(elements instanceof Array)) { 488 | return; 489 | } 490 | 491 | elements.forEach((element) => { 492 | if (!("vanillaTilt" in element)) { 493 | element.vanillaTilt = new VanillaTilt(element, settings); 494 | } 495 | }); 496 | } 497 | } 498 | 499 | if (typeof document !== "undefined") { 500 | /* expose the class to window */ 501 | window.VanillaTilt = VanillaTilt; 502 | 503 | /** 504 | * Auto load 505 | */ 506 | VanillaTilt.init(document.querySelectorAll("[data-tilt]")); 507 | } 508 | 509 | return VanillaTilt; 510 | 511 | }()); 512 | --------------------------------------------------------------------------------