├── .dockerignore ├── .github └── workflows │ ├── sample-site.yaml │ └── shellcheck.yaml ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── action.yaml ├── entrypoint.sh └── sample-site ├── CONTRIBUTING.md ├── README.md ├── components ├── chart.js ├── contactCard.js ├── contacts.js ├── electionCard.js ├── footer.js ├── imageModal.js ├── layout.js ├── navbar.js └── societyCard.js ├── lib └── societies.js ├── next.config.js ├── package.json ├── pages ├── _app.js ├── about.js ├── achievements.js ├── api │ └── hello.js ├── committees.js ├── contacts.js ├── elections.js ├── gc.js ├── gcResults.js ├── index.js ├── interIIT.js ├── interIITResults.js ├── pastOfficeBearers.js ├── societies.js ├── societies │ └── [id].js ├── staff.js └── tsgAwards.js ├── public ├── Gymkhana_Constitution.pdf ├── IIT_Kharagpur_Logo.svg ├── TSG.svg ├── all_office_bearers.pdf ├── awards │ └── person-placeholder.png ├── awardsData.json ├── bg-svg.svg ├── contacts │ ├── 17IM30030.png │ ├── 18AE30017.png │ ├── 18AG3EP11.png │ ├── 18CE10040.png │ ├── 18CH30028.png │ ├── 18CS10033.png │ ├── 18CY20020.png │ ├── 18EE10004.png │ ├── 18EX20002.png │ ├── 18HS20022.png │ ├── 18ME10081.png │ ├── 18MT10012.png │ ├── 18PH20022.jpg │ ├── 18PH20022.png │ └── President.png ├── contactsData.js ├── electionsData.js ├── facilities.js ├── facilities │ ├── AAD_0049.jpg │ ├── IMG_6002.JPG │ ├── InterIIT_GC.jpg │ ├── Manav_HJ.jpg │ ├── Socult_Contingent_2018.jpg │ ├── court.jpeg │ ├── illu.png │ ├── lakeside.jpeg │ ├── nss.png │ ├── pool.jpeg │ ├── running.jpg │ ├── stadium.jpeg │ ├── toat.jpg │ ├── tsg.svg │ └── waterball.png ├── favicon.ico ├── festData.js ├── pointsData.js ├── preview.png ├── senateData.json ├── societies │ ├── bclub.png │ ├── chess.png │ ├── communique.png │ ├── debsoc.png │ ├── druheen.png │ ├── encore.png │ ├── etms.png │ ├── iwg.png │ ├── ktj.png │ ├── prasthanam.png │ ├── pravah.png │ ├── quiz.png │ ├── sf.png │ ├── spectra.png │ ├── swg.png │ ├── tads.png │ ├── tcas.png │ ├── tds.png │ ├── tfps.png │ ├── tls.png │ ├── trs.png │ └── wtms.png ├── societiesData.js ├── staff │ ├── adrib.png │ ├── amaresh.png │ ├── amit.png │ ├── ardhendu.png │ ├── ashok.png │ ├── ashwani.png │ ├── chand.png │ ├── gyan.png │ ├── hati.png │ ├── hitesh.png │ ├── ishaan.png │ ├── mandi.png │ ├── manish.png │ ├── panda.png │ ├── pranab.png │ ├── priyanka.png │ ├── samba.png │ ├── shyamal.png │ ├── soumen.png │ └── sudhir.png ├── staffData.js └── upcomingEvents │ ├── case_study.jpg │ ├── swg.png │ └── tls.jpg ├── societies └── demo.md ├── styles ├── _about.scss ├── _animations.scss ├── _awards.scss ├── _contacts.scss ├── _footer.scss ├── _imageModal.scss ├── _layout.scss ├── _main.scss ├── _mixins.scss ├── _navbar.scss ├── _office.scss ├── _slider.scss ├── _soc-detailes.scss ├── _societies.scss ├── _typography.scss ├── _variables.scss └── site.scss └── yarn.lock /.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | .dockerignore 3 | node_modules 4 | npm-debug.log 5 | README.md 6 | .next -------------------------------------------------------------------------------- /.github/workflows/sample-site.yaml: -------------------------------------------------------------------------------- 1 | # Trigger the workflow on push or pull request 2 | on: [push, pull_request] 3 | 4 | name: Build 5 | jobs: 6 | build-and-export: 7 | name: Build and export sample site 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@master 11 | - name: Build with the latest action rev 12 | uses: tsg-iitkgp/next-build-export-action@main 13 | env: 14 | BUILD_ONLY: true 15 | BUILD_DIR: sample-site 16 | build-export-and-deploy: 17 | name: Build, export and publish sample site to the `sample-site-build` branch 18 | runs-on: ubuntu-latest 19 | steps: 20 | - uses: actions/checkout@master 21 | - name: Build with the latest action rev 22 | uses: tsg-iitkgp/next-build-export-action@main 23 | env: 24 | BUILD_DIR: sample-site 25 | PAGES_BRANCH: sample-site-build 26 | TOKEN: ${{ secrets.TOKEN }} 27 | -------------------------------------------------------------------------------- /.github/workflows/shellcheck.yaml: -------------------------------------------------------------------------------- 1 | # Trigger the workflow on push or pull request 2 | on: [push, pull_request] 3 | 4 | name: Shellcheck 5 | jobs: 6 | test: 7 | name: Static Analysis with Shellcheck 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@master 11 | - name: Shellcheck 12 | uses: docker://koalaman/shellcheck:latest 13 | with: 14 | args: ./entrypoint.sh 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # nyc test coverage 18 | .nyc_output 19 | 20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 21 | .grunt 22 | 23 | # node-waf configuration 24 | .lock-wscript 25 | 26 | # Compiled binary addons (http://nodejs.org/api/addons.html) 27 | build/Release 28 | 29 | # Dependency directories 30 | node_modules 31 | jspm_packages 32 | 33 | # Optional npm cache directory 34 | .npm 35 | 36 | # Optional REPL history 37 | .node_repl_history 38 | .next 39 | 40 | .env 41 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:14-alpine AS deps 2 | # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. 3 | 4 | LABEL "com.github.actions.name"="Next.JS Static Build & Export" 5 | LABEL "com.github.actions.description"="Build a Next.JS app statically" 6 | LABEL "com.github.actions.icon"="zap" 7 | LABEL "com.github.actions.color"="green" 8 | 9 | # Set default locale for the environment 10 | ENV LC_ALL C.UTF-8 11 | ENV LANG en_US.UTF-8 12 | ENV LANGUAGE en_US.UTF-8 13 | 14 | RUN apk add --no-cache libc6-compat git pngcrush jpegoptim 15 | RUN npm install -g html-minifier-cli uglify-js 16 | 17 | COPY entrypoint.sh /entrypoint.sh 18 | 19 | ENTRYPOINT ["sh", "/entrypoint.sh"] 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Technology Students' Gymkhana, Indian Institute of Technology Kharagpur 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # next-deploy-action 2 | A GitHub action to build and export a [NextJS] site statically, allowing the site to be deployed with GitHub pages, or served via a web server such as Nginx 3 | 4 | [![Shellcheck](https://github.com/tsg-iitkgp/next-build-export-action/actions/workflows/shellcheck.yaml/badge.svg)](https://github.com/tsg-iitkgp/next-build-export-action/actions/workflows/shellcheck.yaml) 5 | 6 | [![Build](https://github.com/tsg-iitkgp/next-build-export-action/actions/workflows/sample-site.yaml/badge.svg)](https://github.com/tsg-iitkgp/next-build-export-action/actions/workflows/sample-site.yaml) 7 | 8 | **Note:** With the very limited information of NextJS that I have, deploying with this method does not allow using all features that NextJS offers. The recommended way of deploying is using Vercel. All caveats are listed [in this documentation](https://nextjs.org/docs/advanced-features/static-html-export) 9 | 10 | 11 | This action is heavily plagarized from [pranitbauva1997/zola-deploy-action](https://github.com/pranitbauva1997/zola-deploy-action), which builds and deploys websites using the Zola static site generator. 12 | 13 | ## Usage 14 | 15 | This example will build and export on push to any branch, then deploy to branch specified in PAGES_BRANCH (`build` by default) 16 | 17 | ``` 18 | on: push 19 | name: Build, export and publish to branch on push 20 | jobs: 21 | build-export-and-deploy: 22 | name: Build, export and publish sample site to the `sample-site-build` branch 23 | runs-on: ubuntu-latest 24 | steps: 25 | - uses: actions/checkout@v2 26 | - name: Build with the latest action rev 27 | uses: tsg-iitkgp/next-build-export-action@v1.1 28 | env: 29 | BUILD_DIR: . 30 | PAGES_BRANCH: sample-site-build 31 | TOKEN: ${{ secrets.TOKEN }} 32 | ``` 33 | 34 | This example will build and deploy on master branch to gh-pages branch. 35 | Additionally will build only on pull requests. 36 | ``` 37 | on: 38 | push: 39 | branches: 40 | - master 41 | pull_request: 42 | jobs: 43 | build: 44 | runs-on: ubuntu-latest 45 | if: github.ref != 'refs/heads/master' 46 | steps: 47 | - name: 'Checkout' 48 | uses: actions/checkout@v2 49 | - name: 'Build only' 50 | uses: tsg-iitkgp/next-build-export-action@v1.1 51 | env: 52 | BUILD_DIR: . 53 | BUILD_ONLY: true 54 | build_and_deploy: 55 | runs-on: ubuntu-latest 56 | if: github.ref == 'refs/heads/master' 57 | steps: 58 | - name: 'Checkout' 59 | uses: actions/checkout@v2 60 | - name: 'Build and deploy' 61 | uses: tsg-iitkgp/next-build-export-action@v1.1 62 | env: 63 | BUILD_DIR: . 64 | PAGES_BRANCH: sample-site-build 65 | TOKEN: ${{ secrets.TOKEN }} 66 | ``` 67 | 68 | ## Secrets 69 | 70 | * `TOKEN`: [Personal Access key] with the appropriate scope. If the 71 | repository is public the `public_repo` scope suffices, for private 72 | repositories the full `repo` scope is required. We need this to push 73 | the site files back to the repo. 74 | 75 | ( Actions already provides a `GITHUB_TOKEN` which is an installation token and does not trigger a GitHub Pages builds hence we need a personal access token ) 76 | 77 | ## Environment Variables 78 | * `PAGES_BRANCH`: The git branch of your repo to which the built static files will be pushed. Default is `build` branch 79 | * `REPOSITORY`: The target repository to push to. Default is `GITHUB_REPOSITORY`(current repository). Set this variable if you want to deploy to other repo. 80 | * `BUILD_DIR`: The path from the root of the repo where we should run the `yarn build` command. Default is `.` (current directory) 81 | * `BUILD_ONLY`: Set to value `true` if you don't want to deploy after `yarn build`. 82 | * `GITHUB_HOSTNAME`: The Github hostname to use in your action. This is to account for Enterprise instances where the base URL differs from the default, which is `github.com`. 83 | * `OUTPUT_DIR`: The output directory for published HTML/CSS/JS files. Defaults to `out` for NextJS projects 84 | 85 | 86 | [NextJS]: http://nextjs.org/ 87 | [Personal Access key]: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line 88 | -------------------------------------------------------------------------------- /action.yaml: -------------------------------------------------------------------------------- 1 | name: "Next static build and export with HTML/JS minification" 2 | description: "Build and deploy a NextJS app statically, with HTML/JS minification" 3 | author: "Mukul Mehta" 4 | runs: 5 | using: "docker" 6 | image: "Dockerfile" 7 | branding: 8 | icon: "zap" 9 | color: "green" 10 | -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | set -o pipefail 4 | 5 | if [[ -n "$TOKEN" ]]; then 6 | GITHUB_TOKEN=$TOKEN 7 | fi 8 | 9 | if [[ -z "$PAGES_BRANCH" ]]; then 10 | PAGES_BRANCH="build" 11 | fi 12 | 13 | if [[ -z "$BUILD_DIR" ]]; then 14 | BUILD_DIR="." 15 | fi 16 | 17 | if [[ -n "$REPOSITORY" ]]; then 18 | TARGET_REPOSITORY=$REPOSITORY 19 | else 20 | if [[ -z "$GITHUB_REPOSITORY" ]]; then 21 | echo "Set the GITHUB_REPOSITORY env variable." 22 | exit 1 23 | fi 24 | TARGET_REPOSITORY=${GITHUB_REPOSITORY} 25 | fi 26 | 27 | if [[ -z "$BUILD_ONLY" ]]; then 28 | BUILD_ONLY=false 29 | fi 30 | 31 | if [[ -z "$BUILD_THEMES" ]]; then 32 | BUILD_THEMES=false 33 | fi 34 | 35 | if [[ -z "$OUTPUT_DIR" ]]; then 36 | OUTPUT_DIR="out" 37 | fi 38 | 39 | if [[ -z "$GITHUB_TOKEN" ]] && [[ "$BUILD_ONLY" == false ]]; then 40 | echo "Set the GITHUB_TOKEN env variable." 41 | exit 1 42 | fi 43 | 44 | if [[ -z "$GITHUB_HOSTNAME" ]]; then 45 | GITHUB_HOSTNAME="github.com" 46 | fi 47 | 48 | minifyhtml() { 49 | COMMAND="htmlmin" 50 | find "$(pwd)" -iname "*.html" | sort -u | while read -r i; do 51 | $COMMAND -o "$i.new" "$i" 52 | rm "$i" 53 | mv "$i.new" "$i" 54 | done 55 | } 56 | 57 | minifyjs() { 58 | COMMAND="uglifyjs" 59 | find "$(pwd)" -iname "*.js" | sort -u | while read -r i; do 60 | $COMMAND -o "$i.new" "$i" 61 | rm "$i" 62 | mv "$i.new" "$i" 63 | done 64 | } 65 | 66 | minifypng() { 67 | COMMAND="pngcrush" 68 | find "$(pwd)" -iname "*.png" | sort -u | while read -r i; do 69 | $COMMAND -ow "$i" 70 | done 71 | } 72 | 73 | minifyjpeg() { 74 | COMMAND="jpegoptim" 75 | find "$(pwd)" -iname "*.jpg" -o -iname "*.jpeg" | sort -u | while read -r i; do 76 | $COMMAND "$i" 77 | done 78 | } 79 | 80 | minifyimages() { 81 | minifypng 82 | minifyjpeg 83 | } 84 | 85 | 86 | main() { 87 | echo "Starting deploy..." 88 | 89 | git config --global url."https://".insteadOf git:// 90 | ## $GITHUB_SERVER_URL is set as a default environment variable in all workflows, default is https://github.com 91 | git config --global url."$GITHUB_SERVER_URL/".insteadOf "git@${GITHUB_HOSTNAME}": 92 | 93 | version=$(yarn --version) 94 | remote_repo="https://${GITHUB_TOKEN}@${GITHUB_HOSTNAME}/${TARGET_REPOSITORY}.git" 95 | remote_branch=$PAGES_BRANCH 96 | 97 | echo "Using yarn $version" 98 | 99 | echo "Building in $BUILD_DIR directory" 100 | cd $BUILD_DIR 101 | 102 | echo "Install yarn dependencies" 103 | yarn install --frozen-lockfile --silent 104 | 105 | echo "Building and Exporting next project" 106 | yarn build 107 | 108 | current_dir="$PWD" 109 | public_dir="$current_dir/$OUTPUT_DIR" 110 | cd "$public_dir" 111 | echo "Minifying HTML and JS Files" 112 | minifyhtml 113 | minifyjs 114 | 115 | echo "Minifying Images" 116 | minifyimages 117 | cd "$current_dir" 118 | 119 | if ${BUILD_ONLY}; then 120 | echo "Build complete. Deployment skipped by request" 121 | exit 0 122 | else 123 | echo "Pushing artifacts to ${TARGET_REPOSITORY}:$remote_branch" 124 | 125 | cd $OUTPUT_DIR 126 | git init 127 | git config user.name "GitHub Actions" 128 | git config user.email "github-actions-bot@users.noreply.${GITHUB_HOSTNAME}" 129 | git add . 130 | 131 | git commit -m "Deploy ${TARGET_REPOSITORY} to ${TARGET_REPOSITORY}:$remote_branch" 132 | git push --force "${remote_repo}" master:${remote_branch} 133 | 134 | echo "Deploy complete" 135 | fi 136 | } 137 | 138 | main "$@" -------------------------------------------------------------------------------- /sample-site/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | Hi :wave: there, welcome to Gymkhana site revamp project. We are glad that you considered contributing! Here are a few points that will help you have a great time coding and contributing. 4 | 5 | ## Guidelines 6 | 7 | - We do not commit to `main` branch directly. We open pull requests and merge them in main after review. 8 | 9 | ### We are using: 10 | 11 | - [yarn](https://yarnpkg.com/en/) to manage packages. 12 | - [Next.js](https://nextjs.org/) handles the routing and is the framework we use. 13 | - [Netlify](https://tsg-site.netlify.app/) to deploy the site. 14 | - Dependabot to warn us for dependencies with security problems. 15 | 16 | ## Contribution Workflow 17 | 18 | - Create a Branch and Commit your changes. 19 | - Name the branch carefully. For example `feature-card-component`, `bugfix-overlay`. Do not use generic names such as `develop`, `work`, your username etc. 20 | - Name the commits meaningfully. For help read [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/). 21 | - Check if the solution works by testing it locally. 22 | - Submit a PR with an appropriate name including the term `Fixes #{issue number}` if it fixes that particular issue. 23 | - Be attentive and respond to comments and suggestions in the opened PR. 24 | - We will merge your PR after reviewing and testing it. 25 | 26 | ## Project Structure 27 | 28 | The files are setup as follows: 29 | 30 | ``` 31 | components/ 32 | |____(different components to be used in pages) 33 | lib/ 34 | |____posts.js 35 | pages/ 36 | |____api/ 37 | |____posts/ (used to dynamically route blogs) 38 | |____(other pages) 39 | posts/ 40 | |____(markdown files that get rendered on the page) 41 | public/ 42 | |____images/ 43 | | |____(All the image content) 44 | styles/ 45 | |____(Styles for components filetype:scss) 46 | 47 | ``` 48 | 49 | We expect you to follow the same structure and organize your files accordingly. 50 | 51 | ## Building and running locally 52 | 53 | First install all the dependencies using yarn (:warning: not npm​) by running `$ yarn` in the root directory. 54 | 55 | Everything including building and serving locally is pre-configured in the `package.json` file. You can run the command `$yarn dev` to start a live server. 56 | 57 | ## Deployment Process 58 | 59 | Each commit to main branch is built and deployed by Netlify to https://tsg-site.netlify.app/. You only need to test locally using `$ yarn dev`. You do not need to build it and push the build files. 60 | 61 | ## Workspace Setup 62 | 63 | This setup is recommended but not enforced. Please note that we expect clean well formated code and these tools make it easier for us to have a consistent code style throughout the codebase. 64 | 65 | ### Yarn 66 | 67 | We use [yarn](https://yarnpkg.com/en/) as the package manager. Please do not use `npm` with this project to manage dependencies. It will result in clashing dependencies and may cause unintended errors. 68 | 69 | To add new dependency use `yarn add`, so if you need to run `npm install ` run `yarn add `. 70 | 71 | ### VSCode 72 | 73 | The text editor of choice. You can choose any other as long as they support [prettier](https://prettier.io/). 74 | 75 | #### Extension - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) 76 | 77 | #### Extension - [ESlint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) 78 | 79 | #### Configuration - Settings.json 80 | 81 | ```json 82 | { 83 | "trailingComma": "es5", 84 | "tabWidth": 2, 85 | "semi": true, 86 | "singleQuote": false, 87 | "printWidth": 120 88 | } 89 | ``` -------------------------------------------------------------------------------- /sample-site/README.md: -------------------------------------------------------------------------------- 1 | # Technology Students' Gymkhana website revamp 2 | 3 | [![Netlify Status](https://api.netlify.com/api/v1/badges/1c5fc833-1398-4d2e-98d2-3bb5bf99b8bb/deploy-status)](https://app.netlify.com/sites/tsg-site/deploys) 4 | 5 | Deployed at: [:earth_asia: tsg-site](https://tsg-site.netlify.app/) 6 | 7 | ## Getting Started 8 | 9 | First, install all the required dependencies by: 10 | 11 | ``` 12 | yarn 13 | ``` 14 | 15 | Then, run the development server: 16 | 17 | ```bash 18 | yarn dev 19 | ``` 20 | 21 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 22 | 23 | You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. 24 | 25 | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. 26 | 27 | ## Learn More 28 | 29 | To learn more about Next.js, take a look at the following resources: 30 | 31 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 32 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 33 | 34 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! -------------------------------------------------------------------------------- /sample-site/components/chart.js: -------------------------------------------------------------------------------- 1 | import { ResponsiveBar } from "@nivo/bar"; 2 | import pointsData from "../public/pointsData"; 3 | 4 | export default function Chart(props) { 5 | return ( 6 | 66 | ); 67 | } 68 | -------------------------------------------------------------------------------- /sample-site/components/contactCard.js: -------------------------------------------------------------------------------- 1 | import * as Icon from "react-feather"; 2 | 3 | export default function Card(props) { 4 | return ( 5 |
6 |
7 | {`Picture 8 | {props.Name} 9 |
10 | 11 |
12 |

13 | {props.Post} 14 |

15 |
16 | {props.Post === "President" ? ( 17 | 18 | 19 | 20 | ) : ( 21 | 22 | 23 | 24 | )} 25 |
26 |
27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /sample-site/components/contacts.js: -------------------------------------------------------------------------------- 1 | import * as Icon from "react-feather"; 2 | 3 | import Head from "next/head"; 4 | import Layout from "../components/layout"; 5 | import Card from "../components/contactCard"; 6 | import contactsData from "../public/contactsData"; 7 | 8 | export default function Contacts() { 9 | return ( 10 | 11 | 12 | Contacts 13 | 14 |
15 |

Contact Us

16 |

17 | Technology Students' Gymkhana
IIT Kharagpur, Kharagpur
18 | West Bengal - 721302 19 |

20 |
21 | {contactsData.data.map((contact) => { 22 | return ( 23 | 31 | ); 32 | })} 33 |
34 |
35 |
36 | ); 37 | } 38 | -------------------------------------------------------------------------------- /sample-site/components/electionCard.js: -------------------------------------------------------------------------------- 1 | import * as Icon from "react-feather"; 2 | import ImageModal from "./imageModal"; 3 | 4 | export default function Card(props) { 5 | return ( 6 |
Router.push(`/societies/${props.shortform}`)} 9 | > 10 |
11 | 12 | {/* {`Picture */} 13 |
14 | 15 |
16 |

17 | 18 | {props.Name} | {props.Hall} {props.Description} 19 | 20 |

21 |
22 | 23 | 24 | 25 | 26 |    27 | 28 | 29 | 30 |    31 | 32 | 33 |
34 |
35 | ); 36 | } 37 | -------------------------------------------------------------------------------- /sample-site/components/footer.js: -------------------------------------------------------------------------------- 1 | import * as Icon from "react-feather"; 2 | 3 | export default function Footer() { 4 | return ( 5 |
6 | 23 | 49 | 71 |
72 | ); 73 | } 74 | -------------------------------------------------------------------------------- /sample-site/components/imageModal.js: -------------------------------------------------------------------------------- 1 | import Modal from "react-modal"; 2 | import { useState } from "react"; 3 | 4 | export default function ImageModal(props) { 5 | const [modalIsOpen, setModalIsOpen] = useState(false); 6 | 7 | const handleModalOpen = () => { 8 | setModalIsOpen(true); 9 | }; 10 | 11 | const handleModalClose = () => { 12 | setModalIsOpen(false); 13 | }; 14 | 15 | return ( 16 |
17 | 18 | 19 | 20 |

{props.title}

21 | 22 | {/* {props.images.map((image) => ( */} 23 | 24 | {/* ))} */} 25 | 26 |

{props.description}

27 | {props.Heads?.length > 0 ? ( 28 |

29 |

Heads:

30 | {props.Heads.map((head) => ( 31 |
  • {head.name} ({head.email})
  • 32 | ))} 33 |

    34 | ) : ( 35 | "" 36 | )} 37 |
    38 |
    39 | ); 40 | } 41 | -------------------------------------------------------------------------------- /sample-site/components/layout.js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Navbar from "./navbar"; 3 | import Footer from "./footer"; 4 | import Wave from "react-wavify"; 5 | import { useRouter } from "next/router"; 6 | 7 | export const siteTitle = "TSG"; 8 | 9 | export default function Layout({ children }) { 10 | const router = useRouter(); 11 | return ( 12 |
    13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 42 | 43 |
    {children}
    44 | 45 | {/* Removed footer from the awards page due to some issue due to which footer was ovelapping on to the table, will fix later */} 46 | {router.pathname != "/hallOfFame" && ( 47 |
    48 |
    49 |
    50 | )} 51 |
    52 | ); 53 | } 54 | -------------------------------------------------------------------------------- /sample-site/components/navbar.js: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import { useRouter } from "next/router"; 3 | import Link from "next/link"; 4 | import * as Icon from "react-feather"; 5 | 6 | export default function Navbar() { 7 | const [isActive, setIsActive] = useState(false); 8 | const [isDown_1, setIsDown_1] = useState(false); 9 | const [isDown_2, setIsDown_2] = useState(false); 10 | const [isDown_3, setIsDown_3] = useState(false); 11 | const [isDown_4, setIsDown_4] = useState(false); 12 | const [isDown_5, setIsDown_5] = useState(false); 13 | 14 | const router = useRouter(); 15 | 16 | const navbarNikal = () => { 17 | isActive ? setIsActive(false) : setIsActive(true); 18 | }; 19 | 20 | const dropdownNikal = (n) => { 21 | switch (n) { 22 | case 1: 23 | setIsDown_1(!isDown_1); 24 | break; 25 | case 2: 26 | setIsDown_2(!isDown_2); 27 | break; 28 | case 3: 29 | setIsDown_3(!isDown_3); 30 | break; 31 | case 4: 32 | setIsDown_4(!isDown_4); 33 | break; 34 | case 5: 35 | setIsDown_5(!isDown_5); 36 | break; 37 | } 38 | }; 39 | 40 | return ( 41 | <> 42 | 136 | 137 |
    138 |
    139 |
    140 | {router.pathname !== "/" ? ( 141 | 142 | 143 | 144 | 145 | 146 | ) : ( 147 | "" 148 | )} 149 |
    150 |
    151 | 152 | 153 | 154 |
    155 |
    156 |
    157 |
      158 |
    • dropdownNikal(1)} 162 | > 163 | About {isDown_1 ? : } 164 |
        165 |
      • 166 | About Us 167 |
      • 168 |
      • 169 | Societies 170 |
      • 171 |
      172 |
    • 173 |
    • dropdownNikal(2)}> 174 | Results {isDown_2 ? : } 175 |
        176 |
      • 177 | GC Results 178 |
      • 179 |
      • 180 | InterIIT Results 181 |
      • 182 |
      183 |
    • 184 |
    • dropdownNikal(3)}> 185 | Links {isDown_3 ? : } 186 | 210 |
    • 211 |
    • dropdownNikal(5)}> 212 | Hall of Fame {isDown_2 ? : } 213 |
        214 |
      • 215 | TSG Awards 216 |
      • 217 |
      • 218 | Our Achievements 219 |
      • 220 |
      221 |
    • 222 |
    • dropdownNikal(4)}> 223 | Contacts {isDown_4 ? : } 224 |
        225 |
      • 226 | Current Office Bearers 227 |
      • 228 |
      • 229 | TSG Staff 230 |
      • 231 |
      232 |
    • 233 |
    • 234 | TSG Elections 235 |
    • 236 |
    237 |
    238 |
    239 | 240 | ); 241 | } 242 | -------------------------------------------------------------------------------- /sample-site/components/societyCard.js: -------------------------------------------------------------------------------- 1 | import * as Icon from "react-feather"; 2 | import Router from "next/router"; 3 | import ImageModal from "./imageModal"; 4 | 5 | export default function Card(props) { 6 | return ( 7 |
    Router.push(`/societies/${props.shortform}`)} 10 | > 11 |
    12 | 18 | {/* {`Picture */} 19 |
    20 | 21 |
    22 |

    {props.name}

    23 |
    24 | 25 | 26 | 27 | {props.website ? ( 28 | 29 | 30 | 31 | ) : ( 32 | "" 33 | )} 34 |
    35 |
    36 | ); 37 | } 38 | -------------------------------------------------------------------------------- /sample-site/lib/societies.js: -------------------------------------------------------------------------------- 1 | import fs from "fs"; 2 | import path from "path"; 3 | import matter from "gray-matter"; 4 | import remark from "remark"; 5 | import html from "remark-html"; 6 | 7 | const postsDirectory = path.join(process.cwd(), "societies"); 8 | 9 | export function getSortedPostsData() { 10 | // Get file names under /societies 11 | const fileNames = fs.readdirSync(postsDirectory); 12 | const allPostsData = fileNames.map((fileName) => { 13 | // Remove ".md" from file name to get id 14 | const id = fileName.replace(/\.md$/, ""); 15 | 16 | // Read markdown file as string 17 | const fullPath = path.join(postsDirectory, fileName); 18 | const fileContents = fs.readFileSync(fullPath, "utf8"); 19 | 20 | // Use gray-matter to parse the post metadata section 21 | const matterResult = matter(fileContents); 22 | 23 | // Combine the data with the id 24 | return { 25 | id, 26 | ...matterResult.data, 27 | }; 28 | }); 29 | return allPostsData; 30 | } 31 | 32 | export function getAllPostIds() { 33 | const fileNames = fs.readdirSync(postsDirectory); 34 | 35 | // Returns an array that looks like this: 36 | // [ 37 | // { 38 | // params: { 39 | // id: 'ssg-ssr' 40 | // } 41 | // }, 42 | // { 43 | // params: { 44 | // id: 'pre-rendering' 45 | // } 46 | // } 47 | // ] 48 | return fileNames.map((fileName) => { 49 | return { 50 | params: { 51 | id: fileName.replace(/\.md$/, ""), 52 | }, 53 | }; 54 | }); 55 | } 56 | 57 | export async function getPostData(id) { 58 | const fullPath = path.join(postsDirectory, `${id}.md`); 59 | const fileContents = fs.readFileSync(fullPath, "utf8"); 60 | 61 | // Use gray-matter to parse the post metadata section 62 | const matterResult = matter(fileContents); 63 | 64 | // Use remark to convert markdown into HTML string 65 | const processedContent = await remark().use(html).process(matterResult.content); 66 | const contentHtml = processedContent.toString(); 67 | 68 | // Combine the data with the id and contentHtml 69 | return { 70 | id, 71 | contentHtml, 72 | ...matterResult.data, 73 | }; 74 | } 75 | -------------------------------------------------------------------------------- /sample-site/next.config.js: -------------------------------------------------------------------------------- 1 | // next.config.js 2 | const withPlugins = require('next-compose-plugins'); 3 | const optimizedImages = require('next-optimized-images'); 4 | 5 | module.exports = withPlugins([ 6 | [optimizedImages, { 7 | // these are the default values so you don't have to provide them if they are good enough for your use-case. 8 | // but you can overwrite them here with any valid value you want. 9 | inlineImageLimit: 8192, 10 | imagesFolder: 'images', 11 | imagesName: '[name]-[hash].[ext]', 12 | handleImages: ['jpeg', 'png', 'svg', 'webp', 'gif'], 13 | removeOriginalExtension: false, 14 | optimizeImages: true, 15 | optimizeImagesInDev: false, 16 | mozjpeg: { 17 | quality: 80, 18 | }, 19 | optipng: { 20 | optimizationLevel: 3, 21 | }, 22 | pngquant: false, 23 | gifsicle: { 24 | interlaced: true, 25 | optimizationLevel: 3, 26 | }, 27 | svgo: { 28 | // enable/disable svgo plugins here 29 | }, 30 | webp: { 31 | preset: 'default', 32 | quality: 75, 33 | }, 34 | }], 35 | ]); -------------------------------------------------------------------------------- /sample-site/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tsg-site", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build && next export -s", 8 | "start": "next start" 9 | }, 10 | "dependencies": { 11 | "@nivo/bar": "^0.69.0", 12 | "@nivo/core": "^0.69.0", 13 | "date-fns": "^2.16.1", 14 | "fs-extra": "^9.0.1", 15 | "gray-matter": "^4.0.2", 16 | "imagemin-pngquant": "^9.0.2", 17 | "next": "^10.0.0", 18 | "next-compose-plugins": "^2.2.1", 19 | "next-optimized-images": "^2.6.2", 20 | "react": "^17.0.1", 21 | "react-awesome-slider": "^4.1.0", 22 | "react-dom": "^17.0.1", 23 | "react-feather": "^2.0.9", 24 | "react-modal": "^3.13.1", 25 | "react-wavify": "^1.5.2", 26 | "remark": "^13.0.0", 27 | "remark-html": "^13.0.1", 28 | "sass": "^1.30.0" 29 | }, 30 | "devDependencies": { 31 | "yarn-audit-fix": "^6.3.2" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /sample-site/pages/_app.js: -------------------------------------------------------------------------------- 1 | import '../styles/site.scss'; 2 | 3 | function MyApp({ Component, pageProps }) { 4 | return 5 | } 6 | 7 | export default MyApp 8 | -------------------------------------------------------------------------------- /sample-site/pages/about.js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Layout, { siteTitle } from "../components/layout"; 3 | 4 | import facilitiesData from "../public/facilities"; 5 | import ImageModal from "../components/imageModal"; 6 | import Card from "../components/societyCard"; 7 | import societiesData from "../public/societiesData"; 8 | import festData from "../public/festData"; 9 | 10 | export default function About() { 11 | return ( 12 | <> 13 | 14 | 15 | {siteTitle} 16 | 17 | 18 |
    19 |
    20 |

    About Us

    21 |

    22 | Technology Students’ Gymkhana is the hub of the numerous extra-curricular and co-curricular activities in 23 | IIT Kharagpur ranging from sports to socio-cultural. The Gymkhana is managed by the students, for the 24 | students, under the guidance and active participation of the faculty and staff members.{" "} 25 |

    26 |
    "Yogah Karmasu Kausalam"
    27 |

    28 | The moto of Technology Students' Gymkhana is YOGAH KARMASU KAUSALAM which in English means "Perfection in 29 | action is Yoga". Our goal is to bring overall development in IITians through cultivating and nurturing 30 | their extra-curricular talents. 31 |

    32 |
    33 | 34 |
    35 |

    Facilities and Events

    36 |
    37 |
    38 | {facilitiesData.data.slice(0, 6).map((facility) => ( 39 | 40 | ))} 41 |
    42 |
    43 | {facilitiesData.data.slice(6, 11).map((facility) => ( 44 | 45 | ))} 46 |
    47 |
    48 |
    49 | 50 |
    51 |

    52 | Societies under Gymkhana 53 |

    54 |
    55 |
    56 | {societiesData.data.slice(0, 2).map((society) => { 57 | return ( 58 | 66 | ); 67 | })} 68 |
    69 | 70 | More 71 | 72 |
    73 |
    74 | 75 |
    76 |

    Fests

    77 |
    78 |
    79 | {festData.data.map((fest) => { 80 | return ( 81 | 89 | ); 90 | })} 91 |
    92 |
    93 |
    94 |
    95 |
    96 | 97 | ); 98 | } 99 | -------------------------------------------------------------------------------- /sample-site/pages/achievements.js: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import Head from "next/head"; 3 | import Layout from "../components/layout"; 4 | import awardsData from "../public/awardsData.json"; 5 | import Card from "../components/contactCard"; 6 | 7 | const years = ["2019-20", "2018-19", "2017-18", "2016-17", "2015-16"]; 8 | 9 | export default function Fame() { 10 | const [currentTab, setCurrentTab] = useState("sports"); 11 | const [currentYear, setCurrentYear] = useState("2019-20"); 12 | 13 | const handleTabChange = (s) => { 14 | setCurrentTab(s); 15 | }; 16 | 17 | return ( 18 | 19 | 20 | Hall of Fame 21 | 22 |
    23 |
    24 |

    Our Achievements

    25 |

    26 | Technology Students’ Gymkhana is the hub of the numerous extra-curricular and co-curricular activities in 27 | IIT Kharagpur ranging from sports to socio-cultural. The Gymkhana is managed by the students, for the 28 | students, under the guidance and active participation of the faculty and staff members.{" "} 29 |

    30 |
    "Yogah Karmasu Kausalam"
    31 |

    32 | The moto of Technology Students' Gymkhana is YOGAH KARMASU KAUSALAM which in English means "Perfection in 33 | action is Yoga". Our goal is to bring overall development in IITians through cultivating and nurturing their 34 | extra-curricular talents. 35 |

    36 |
    37 |
    38 |
    39 | ); 40 | } 41 | -------------------------------------------------------------------------------- /sample-site/pages/api/hello.js: -------------------------------------------------------------------------------- 1 | // Next.js API route support: https://nextjs.org/docs/api-routes/introduction 2 | 3 | export default (req, res) => { 4 | res.status(200).json({ name: 'John Doe' }) 5 | } 6 | -------------------------------------------------------------------------------- /sample-site/pages/committees.js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Layout, { siteTitle } from "../components/layout"; 3 | 4 | import facilitiesData from "../public/facilities"; 5 | import ImageModal from "../components/imageModal"; 6 | import Card from "../components/societyCard"; 7 | import societiesData from "../public/societiesData"; 8 | import festData from "../public/festData"; 9 | 10 | export default function Committees() { 11 | return ( 12 | <> 13 | 14 | 15 | {siteTitle} 16 | 17 | 18 |
    19 |
    20 |

    About Us

    21 |

    22 | Technology Students’ Gymkhana is the hub of the numerous extra-curricular and co-curricular activities in 23 | IIT Kharagpur ranging from sports to socio-cultural. The Gymkhana is managed by the students, for the 24 | students, under the guidance and active participation of the faculty and staff members.{" "} 25 |

    26 |
    "Yogah Karmasu Kausalam"
    27 |

    28 | The moto of Technology Students' Gymkhana is YOGAH KARMASU KAUSALAM which in English means "Perfection in 29 | action is Yoga". Our goal is to bring overall development in IITians through cultivating and nurturing 30 | their extra-curricular talents. 31 |

    32 |
    33 |
    34 |
    35 | 36 | ); 37 | } 38 | -------------------------------------------------------------------------------- /sample-site/pages/contacts.js: -------------------------------------------------------------------------------- 1 | import * as Icon from "react-feather"; 2 | 3 | import Head from "next/head"; 4 | import Layout from "../components/layout"; 5 | import Card from "../components/contactCard"; 6 | import contactsData from "../public/contactsData"; 7 | 8 | export default function Contacts() { 9 | return ( 10 | 11 | 12 | Contacts 13 | 14 |
    15 |

    Contact Us

    16 |

    17 | Technology Students' Gymkhana
    IIT Kharagpur, Kharagpur
    18 | West Bengal - 721302 19 |

    20 |
    21 | 22 | 23 | {" "} 24 |     25 | 26 | 27 | 28 |
    29 |
    30 | {contactsData.data.map((contact) => { 31 | return ( 32 | 41 | ); 42 | })} 43 |
    44 |
    45 |
    46 | ); 47 | } 48 | -------------------------------------------------------------------------------- /sample-site/pages/elections.js: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import Head from "next/head"; 3 | import Layout from "../components/layout"; 4 | import Card from "../components/electionCard"; 5 | import electionData from "../public/electionsData"; 6 | 7 | export default function Elections() { 8 | const [currentTab, setCurrentTab] = useState("vp"); 9 | 10 | const handleTabChange = (s) => { 11 | setCurrentTab(s); 12 | }; 13 | 14 | return ( 15 | 16 | 17 | TSG Elections 18 | 19 |
    20 |

    Technology Students' Gymkhana Elections 2021-2022

    21 | 22 |
    23 |
    handleTabChange("vp")}> 24 | Vice President 25 |
    26 |
    handleTabChange("gsecSports")} 29 | > 30 | G.Sec Sports & Games 31 |
    32 |
    handleTabChange("gsecSoCult")} 35 | > 36 | G.Sec SoCult 37 |
    {" "} 38 |
    handleTabChange("gsecTech")} 41 | > 42 | G.Sec Tech 43 |
    44 |
    handleTabChange("gsecSW")}> 45 | G.Sec Student Welfare 46 |
    47 |
    handleTabChange("secy")}> 48 | Secretaries 49 |
    50 |
    51 |

    Candidates

    52 |
    53 |
    54 |
    55 | {electionData.VPData.map((contact) => { 56 | return ( 57 | 68 | ); 69 | })} 70 |
    71 |
    72 |
    73 |
    74 |
    75 | ); 76 | } 77 | -------------------------------------------------------------------------------- /sample-site/pages/gc.js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Layout, { siteTitle } from "../components/layout"; 3 | 4 | import facilitiesData from "../public/facilities"; 5 | import ImageModal from "../components/imageModal"; 6 | import Card from "../components/societyCard"; 7 | import societiesData from "../public/societiesData"; 8 | import festData from "../public/festData"; 9 | 10 | export default function Home() { 11 | return ( 12 | <> 13 | 14 | 15 | General Championship 16 | 17 |
    18 |
    19 |

    General Championship

    20 |

    21 | General Championship is held every year 22 |

    23 |
    24 | 25 |
    26 |

    Facilities and Events

    27 |
    28 |
    29 | {facilitiesData.data.slice(0, 3).map((facility) => ( 30 | 31 | ))} 32 |
    33 |
    34 | {facilitiesData.data.slice(4, 7).map((facility) => ( 35 | 36 | ))} 37 |
    38 |
    39 |
    40 | 41 |
    42 |

    43 | Societies under Gymkhana 44 |

    45 |
    46 |
    47 | {societiesData.data.slice(0, 2).map((society) => { 48 | return ( 49 | 57 | ); 58 | })} 59 |
    60 | 61 | More 62 | 63 |
    64 |
    65 | 66 |
    67 |

    Fests

    68 |
    69 |
    70 | {festData.data.map((fest) => { 71 | return ( 72 | 80 | ); 81 | })} 82 |
    83 |
    84 |
    85 |
    86 |
    87 | 88 | ); 89 | } 90 | -------------------------------------------------------------------------------- /sample-site/pages/gcResults.js: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import Head from "next/head"; 3 | import Layout from "../components/layout"; 4 | import { ResponsiveBar } from "@nivo/bar"; 5 | import pointsData from "../public/pointsData"; 6 | import Chart from "../components/chart"; 7 | 8 | const years = ["2018-19"]; 9 | 10 | export default function Sports() { 11 | const [currentTab, setCurrentTab] = useState("sports"); 12 | const [currentYear, setCurrentYear] = useState("2018-19"); 13 | 14 | const handleTabChange = (s) => { 15 | setCurrentTab(s); 16 | }; 17 | 18 | return ( 19 | 20 | 21 | GC results 22 | 23 |
    24 |

    Points Tally General Championship {currentYear}

    25 | 26 |
    27 |
    handleTabChange("sports")}> 28 | Sports & Games 29 |
    30 | {/*
    handleTabChange("tech")}> 31 | Technology 32 |
    */} 33 |
    handleTabChange("socult")}> 34 | Socult 35 |
    36 |
    37 | 38 | 45 | 46 |
    47 | {currentTab == "sports" ? ( 48 | 67 | ) : ( 68 | 91 | )} 92 |
    93 |
    94 |
    95 | ); 96 | } 97 | -------------------------------------------------------------------------------- /sample-site/pages/index.js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Layout, { siteTitle } from "../components/layout"; 3 | 4 | import facilitiesData from "../public/facilities"; 5 | import ImageModal from "../components/imageModal"; 6 | import Card from "../components/societyCard"; 7 | import societiesData from "../public/societiesData"; 8 | import festData from "../public/festData"; 9 | import AwesomeSlider from "react-awesome-slider"; 10 | import withAutoplay from "react-awesome-slider/dist/autoplay"; 11 | import "react-awesome-slider/dist/styles.css"; 12 | import "react-awesome-slider/dist/custom-animations/open-animation.css"; 13 | 14 | export default function Home() { 15 | const AutoplaySlider = withAutoplay(AwesomeSlider); 16 | return ( 17 | <> 18 | 19 | 20 | {siteTitle} 21 | 22 | 23 |
    24 |
    25 |
    26 | 27 |
    28 |
    29 |

    Technology Students' Gymkhana

    30 |

    Indian Institute of Technology Kharagpur

    31 |
    32 |
    33 |
    34 | 35 |
    36 |
    37 |

    Upcoming Events

    38 | 39 |
    40 |
    41 | 42 |
    43 |
    44 |
    45 | 46 | ); 47 | } 48 | -------------------------------------------------------------------------------- /sample-site/pages/interIIT.js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Layout, { siteTitle } from "../components/layout"; 3 | 4 | import facilitiesData from "../public/facilities"; 5 | import ImageModal from "../components/imageModal"; 6 | import Card from "../components/societyCard"; 7 | import societiesData from "../public/societiesData"; 8 | import festData from "../public/festData"; 9 | 10 | export default function Home() { 11 | return ( 12 | <> 13 | 14 | 15 | Inter IIT 16 | 17 |
    18 |
    19 |

    Inter IIT

    20 |

    21 | Technology Students’ Gymkhana is the hub of the numerous extra-curricular and co-curricular activities in 22 | IIT Kharagpur ranging from sports to socio-cultural. The Gymkhana is managed by the students, for the 23 | students, under the guidance and active participation of the faculty and staff members.{" "} 24 |

    25 |
    "Yogah Karmasu Kausalam"
    26 |

    27 | The moto of Technology Students' Gymkhana is YOGAH KARMASU KAUSALAM which in English means "Perfection in 28 | action is Yoga". Our goal is to bring overall development in IITians through cultivating and nurturing 29 | their extra-curricular talents. 30 |

    31 |
    32 | 33 |
    34 |

    Facilities and Events

    35 |
    36 |
    37 | {facilitiesData.data.slice(0, 3).map((facility) => ( 38 | 39 | ))} 40 |
    41 |
    42 | {facilitiesData.data.slice(4, 7).map((facility) => ( 43 | 44 | ))} 45 |
    46 |
    47 |
    48 | 49 |
    50 |

    51 | Societies under Gymkhana 52 |

    53 |
    54 |
    55 | {societiesData.data.slice(0, 2).map((society) => { 56 | return ( 57 | 65 | ); 66 | })} 67 |
    68 | 69 | More 70 | 71 |
    72 |
    73 | 74 |
    75 |

    Fests

    76 |
    77 |
    78 | {festData.data.map((fest) => { 79 | return ( 80 | 88 | ); 89 | })} 90 |
    91 |
    92 |
    93 |
    94 |
    95 | 96 | ); 97 | } 98 | -------------------------------------------------------------------------------- /sample-site/pages/interIITResults.js: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import Head from "next/head"; 3 | import Layout from "../components/layout"; 4 | import pointsData from "../public/pointsData"; 5 | 6 | const years = ["2019-20"]; 7 | 8 | export default function InterIIT() { 9 | const [currentTab, setCurrentTab] = useState("Sports"); 10 | const [currentYear, setCurrentYear] = useState("2019"); 11 | 12 | const handleTabChange = (s) => { 13 | setCurrentTab(s); 14 | }; 15 | 16 | return ( 17 | 18 | 19 | InterIIT 2019 20 | 21 |
    22 |

    23 | InterIIT {currentYear} {currentTab} Standings 24 |

    25 |
    26 |
    handleTabChange("Sports")}> 27 | Sports & Games 28 |
    29 |
    handleTabChange("Technology")} 32 | > 33 | Technology 34 |
    35 |
    handleTabChange("Socult")}> 36 | Socult 37 |
    38 |
    39 | 40 | 47 | 48 | {currentTab == "Sports" && ( 49 | <> 50 |

    Men's Standings

    51 |
    52 | 53 | 54 | 55 | 56 | 59 | 62 | 65 | 66 | 67 | 68 | {pointsData.interIIT[0].map((item) => ( 69 | 70 | 71 | 72 | 73 | 74 | 75 | ))} 76 | 77 |
    Sport 57 | Gold 58 | 60 | Silver 61 | 63 | Bronze 64 |
    {item.Sport}{item.Gold} {item.Silver} {item.Bronze}
    78 |
    79 | 80 |

    Women's Standings

    81 |
    82 | 83 | 84 | 85 | 86 | 89 | 92 | 95 | 96 | 97 | 98 | {pointsData.interIIT[1].map((item) => ( 99 | 100 | 101 | 102 | 103 | 104 | 105 | ))} 106 | 107 |
    Sport 87 | Gold 88 | 90 | Silver 91 | 93 | Bronze 94 |
    {item.Sport}{item.Gold} {item.Silver} {item.Bronze}
    108 |
    109 | 110 | )} 111 | {currentTab == "Socult" && ( 112 | <> 113 |
    114 | 115 | 116 | 117 | 118 | 121 | 124 | 127 | 128 | 129 | 130 | {pointsData.interIIT[2].map((item) => ( 131 | 132 | 133 | 134 | 135 | 136 | 137 | ))} 138 | 139 |
    Event Genre 119 | Gold 120 | 122 | Silver 123 | 125 | Bronze 126 |
    {item.Event}{item.Gold} {item.Silver} {item.Bronze}
    140 |
    141 | 142 | )} 143 |
    144 |
    145 | ); 146 | } 147 | -------------------------------------------------------------------------------- /sample-site/pages/pastOfficeBearers.js: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import Head from "next/head"; 3 | import Layout from "../components/layout"; 4 | import senateData from "../public/senateData.json"; 5 | 6 | const posts = [ 7 | "President", 8 | "Hony. Treasurer", 9 | "Vice President", 10 | "G.Sec Sports & Games", 11 | "G.Sec Social & Cultural", 12 | "G.Sec Technology", 13 | "G.Sec Student Welfare", 14 | "Public Relations Chairperson", 15 | "TSG Editors", 16 | "Technology Coordinator", 17 | "Undergraduate Representative", 18 | "Postgraduate Representative", 19 | "Research Scholar Representative", 20 | "Women Representative", 21 | ]; 22 | 23 | export default function Sports() { 24 | const [currentPost, setCurrentPost] = useState("President"); 25 | 26 | return ( 27 | 28 | 29 | Past Office Bearers 30 | 31 |
    32 |

    Past Office Bearers

    33 | 34 | 41 | 42 | {/* Now render based on the value of the currentYear */} 43 |
    44 | 45 | 46 | 47 | 48 | {currentPost.includes("G.Sec") || currentPost.includes("Editors") ? ( 49 | <> 50 | 51 | 52 | 53 | ) : ( 54 | 55 | )} 56 | 57 | 58 | 59 | {senateData[currentPost].map((item) => ( 60 | 61 | 62 | {currentPost.includes("G.Sec") || currentPost.includes("Editors") ? ( 63 | <> 64 | 65 | 66 | ) : ( 67 | 68 | )} 69 | 70 | ))} 71 | 72 |
    TenureNameNameName
    {item.year}{item.name[0]} {item.name[1]}{item.name}
    73 |
    74 |
    75 |
    76 | ); 77 | } 78 | -------------------------------------------------------------------------------- /sample-site/pages/societies.js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Layout from "../components/layout"; 3 | import Card from "../components/societyCard"; 4 | import societiesData from "../public/societiesData"; 5 | import Router from "next/router"; 6 | 7 | export default function Societies() { 8 | return ( 9 | 10 | 11 | Societies 12 | 13 |
    14 |

    Societies & Clubs

    15 | 16 |

    Students' Welfare

    17 |
    18 | {societiesData.data 19 | .filter((a) => a.category === "Welfare") 20 | .map((society) => { 21 | return ( 22 | 31 | ); 32 | })} 33 |
    34 | 35 |

    Social & Cultural Societies

    36 |
    37 | {societiesData.data 38 | .filter((a) => a.category === "Socult") 39 | .map((society) => { 40 | return ( 41 | 50 | ); 51 | })} 52 |
    53 | 54 |

    Tech Societies

    55 |
    56 | {societiesData.data 57 | .filter((a) => a.category === "Tech") 58 | .map((society) => { 59 | return ( 60 | 69 | ); 70 | })} 71 |
    72 | 73 |

    Sports & Games Societies

    74 |
    75 | {societiesData.data 76 | .filter((a) => a.category === "Sports & Games") 77 | .map((society) => { 78 | return ( 79 | 88 | ); 89 | })} 90 |
    91 |
    92 |
    93 | ); 94 | } 95 | -------------------------------------------------------------------------------- /sample-site/pages/societies/[id].js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Layout from "../../components/layout"; 3 | import { getAllPostIds, getPostData } from "../../lib/societies"; 4 | 5 | export async function getStaticPaths() { 6 | const paths = getAllPostIds(); 7 | return { 8 | paths, 9 | fallback: false, 10 | }; 11 | } 12 | 13 | export async function getStaticProps({ params }) { 14 | const postData = await getPostData(params.id); 15 | return { 16 | props: { 17 | postData, 18 | }, 19 | }; 20 | } 21 | 22 | export default function Post({ postData }) { 23 | return ( 24 | 25 | {/* Add this tag */} 26 | 27 | {postData.title} 28 | 29 |
    30 |

    {postData.title}

    31 |
    32 |
    33 |
    34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /sample-site/pages/staff.js: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import Layout from "../components/layout"; 3 | import Card from "../components/contactCard"; 4 | import staffData from "../public/staffData"; 5 | 6 | export default function Contacts() { 7 | return ( 8 | 9 | 10 | TSG Staff 11 | 12 |
    13 |

    TSG Staff

    14 |
    15 | The staff is the backbone of the Technology Students' Gymkhana, providing essential support in all activities 16 | and events 17 |
    18 |
    19 | {staffData.data.map((contact) => { 20 | return ( 21 | 29 | ); 30 | })} 31 |
    32 |
    33 |
    34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /sample-site/pages/tsgAwards.js: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | import Head from "next/head"; 3 | import Layout from "../components/layout"; 4 | import awardsData from "../public/awardsData.json"; 5 | import Card from "../components/contactCard"; 6 | 7 | const years = ["2019-20", "2018-19", "2017-18", "2016-17", "2015-16"]; 8 | 9 | export default function Fame() { 10 | const [currentTab, setCurrentTab] = useState("socult"); 11 | const [currentYear, setCurrentYear] = useState("2019-20"); 12 | 13 | const handleTabChange = (s) => { 14 | setCurrentTab(s); 15 | }; 16 | 17 | return ( 18 | 19 | 20 | Hall of Fame 21 | 22 |
    23 |

    TSG Awards!

    24 | 25 |
    26 |
    handleTabChange("socult")}> 27 | Social & Cultural 28 |
    29 |
    handleTabChange("sports")}> 30 | Sports & Games 31 |
    32 |
    handleTabChange("tech")}> 33 | Technology 34 |
    35 | {Object.keys(awardsData[currentYear]).length === 4 && ( 36 |
    handleTabChange("specialRecog")} 39 | > 40 | Special Recognition 41 |
    42 | )} 43 |
    44 | 45 | 52 | 53 | {(awardsData[currentYear][currentTab]["awards"] != undefined || currentTab == "specialRecog") && ( 54 | <> 55 |

    Awards

    56 |
    57 | {currentTab != "specialRecog" 58 | ? awardsData[currentYear][currentTab]["awards"]?.map((winner) => ( 59 | 60 | )) 61 | : awardsData[currentYear][currentTab].map((winner) => ( 62 | 63 | ))} 64 |
    65 | 66 | )} 67 | 68 | {currentTab != "specialRecog" && ( 69 | <> 70 |

    Honours

    71 |
    72 | 73 | 74 | 75 | 76 | 77 | 78 | {currentTab == "sports" && } 79 | 80 | 81 | 82 | {awardsData[currentYear][currentTab]["honours"].map((winner) => ( 83 | 84 | 85 | 86 | 87 | {currentTab == "sports" && } 88 | 89 | ))} 90 | 91 |
    NameRoll No.Institute AwardGame
    {winner.Name}{winner.Roll} {winner.Award}{winner.Game}
    92 |
    93 | 94 | )} 95 |
    96 |
    97 | ); 98 | } 99 | -------------------------------------------------------------------------------- /sample-site/public/Gymkhana_Constitution.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/Gymkhana_Constitution.pdf -------------------------------------------------------------------------------- /sample-site/public/all_office_bearers.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/all_office_bearers.pdf -------------------------------------------------------------------------------- /sample-site/public/awards/person-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/awards/person-placeholder.png -------------------------------------------------------------------------------- /sample-site/public/contacts/17IM30030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/17IM30030.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18AE30017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18AE30017.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18AG3EP11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18AG3EP11.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18CE10040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18CE10040.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18CH30028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18CH30028.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18CS10033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18CS10033.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18CY20020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18CY20020.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18EE10004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18EE10004.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18EX20002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18EX20002.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18HS20022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18HS20022.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18ME10081.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18ME10081.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18MT10012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18MT10012.png -------------------------------------------------------------------------------- /sample-site/public/contacts/18PH20022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18PH20022.jpg -------------------------------------------------------------------------------- /sample-site/public/contacts/18PH20022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/18PH20022.png -------------------------------------------------------------------------------- /sample-site/public/contacts/President.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/contacts/President.png -------------------------------------------------------------------------------- /sample-site/public/contactsData.js: -------------------------------------------------------------------------------- 1 | export default { 2 | data: [ 3 | { 4 | RollNo: "President", 5 | Name: "Professor Ajay Kumar Singh", 6 | Post: "President", 7 | Contact: "", 8 | Email: "http://www.iitkgp.ac.in/department/PH/faculty/ph-singh", 9 | "Institue ids": "http://www.iitkgp.ac.in/department/PH/faculty/ph-singh", 10 | "Institute mail ids": "", 11 | }, 12 | { 13 | RollNo: "17IM30030", 14 | Name: "Shivam Singh", 15 | Post: "Vice-President", 16 | Contact: 7718719529, 17 | Email: "shivamsingh.iitkgp@gmail.com", 18 | "Institue ids": "singhshivam@iitkgp.ac.in", 19 | "Institute mail ids": "vptsg@hijli.iitkgp.ac.in", 20 | }, 21 | { 22 | RollNo: "18HS20022", 23 | Name: "Manas Patidar", 24 | Post: "GSec - Sports & Games", 25 | Contact: 7024447788, 26 | Email: "manas.patidar.9@gmail.com", 27 | "Institue ids": "manaspatidar@iitkgp.ac.in", 28 | "Institute mail ids": "gsectsg-sports@hijli.iitkgp.ac.in", 29 | }, 30 | { 31 | RollNo: "18CH30028", 32 | Name: "Madhuri Endluri", 33 | Post: "GSec - Sports & Games", 34 | Contact: 9652576213, 35 | Email: "madhuriendluri10@gmail.com", 36 | "Institue ids": "madhuriendlluri@iitkgp.ac.in", 37 | "Institute mail ids": "", 38 | }, 39 | { 40 | RollNo: "18EX20002", 41 | Name: "Abhishek Raj", 42 | Post: "GSec - Social and Cultural", 43 | Contact: 7979911354, 44 | Email: "rabhishek9042@gmail.com", 45 | "Institue ids": "rabhishek9042@iitkgp.ac.in", 46 | "Institute mail ids": "gsectsg-socult@hijli.iitkgp.ac.in", 47 | }, 48 | { 49 | RollNo: "18MT10012", 50 | Name: "Inakshi Kar", 51 | Post: "GSec - Social and Cultural", 52 | Contact: 9892756712, 53 | Email: "inakshikar@gmail.com", 54 | "Institue ids": "inakshikar@iitkgp.ac.in", 55 | "Institute mail ids": "", 56 | }, 57 | { 58 | RollNo: "18AE30017", 59 | Name: "Rushi Patel", 60 | Post: "GSec - Technology", 61 | Contact: 9494181101, 62 | Email: "ruttuc2000@gmail.com", 63 | "Institue ids": "rushipatel@iitkgp.ac.in", 64 | "Institute mail ids": "gsectsg-tech@hijli.iitkgp.ac.in", 65 | }, 66 | { 67 | RollNo: "18AG3EP11", 68 | Name: "Mayank Priyadarshi", 69 | Post: "GSec - Technology", 70 | Contact: 9065878399, 71 | Email: "priyadarshimayank41@gmail.com", 72 | "Institue ids": "mayank0511@iitkgp.ac.in", 73 | "Institute mail ids": "", 74 | }, 75 | { 76 | RollNo: "18CE10040", 77 | Name: "Nikhil Kumar", 78 | Post: "GSec - Students' Welfare", 79 | Contact: 6387364648, 80 | Email: "nikhilkumar041299@gmail.com", 81 | "Institue ids": "nikhilkumar0412@iitkgp.ac.in", 82 | "Institute mail ids": "gsectsg-welfare@hijli.iitkgp.ac.in", 83 | }, 84 | { 85 | RollNo: "18EE10004", 86 | Name: "Aditi Singhania", 87 | Post: "GSec - Students' Welfare", 88 | Contact: 9340087534, 89 | Email: "singhania2603@gmail.com", 90 | "Institue ids": "aditi2000@iitkgp.ac.in", 91 | "Institute mail ids": "", 92 | }, 93 | { 94 | RollNo: "18ME10081", 95 | Name: "Avi Sankritya", 96 | Post: "Public Relations Chairman", 97 | Contact: 7294999635, 98 | Email: "avisankritya1@gmail.com", 99 | "Institue ids": "avisankritya@iitkgp.ac.in", 100 | "Institute mail ids": "", 101 | }, 102 | { 103 | RollNo: "18CS10033", 104 | Name: "Mukul Mehta", 105 | Post: "Technology Coordinator", 106 | Contact: 7678381645, 107 | Email: "mukul.csiitkgp@gmail.com", 108 | "Institue ids": "mukul_mehta@iitkgp.ac.in", 109 | "Institute mail ids": "", 110 | }, 111 | { 112 | RollNo: "18PH20022", 113 | Name: "Rohit A", 114 | Post: "Editor", 115 | Contact: 9108696312, 116 | Email: "rohitananthakrishnan@gmail.com", 117 | "Institue ids": "rohita00@iitkgp.ac.in", 118 | "Institute mail ids": "", 119 | }, 120 | { 121 | RollNo: "18CY20020", 122 | Name: "Nandini Bajaj", 123 | Post: "Editor", 124 | Contact: 9830010909, 125 | Email: "nbajaj1999@gmail.com", 126 | "Institue ids": "nandinibajaj@iitkgp.ac.in", 127 | "Institute mail ids": "", 128 | }, 129 | ], 130 | }; 131 | -------------------------------------------------------------------------------- /sample-site/public/electionsData.js: -------------------------------------------------------------------------------- 1 | export default { 2 | VPData: [ 3 | { 4 | RollNo: "person-placeholder", 5 | Description: "XX 'XX", 6 | Name: "Firstname Lastname", 7 | Contact: "XXX XXX XXX", 8 | Hall: "Hall", 9 | Email: "random@email.com", 10 | Proposal: 11 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged", 12 | ProposalLink: "https://google.com", 13 | FacebookLink: "https://facebook.com", 14 | }, 15 | ], 16 | }; 17 | -------------------------------------------------------------------------------- /sample-site/public/facilities.js: -------------------------------------------------------------------------------- 1 | export default { 2 | data: [ 3 | { 4 | title: "Technology Students' Gymkhana", 5 | images: ["facilities/tsg.svg"], 6 | description: "", 7 | }, 8 | { 9 | title: "Inter IIT Sports Contingent 2019", 10 | images: ["facilities/InterIIT_GC.jpg"], 11 | description: "", 12 | }, 13 | { 14 | title: "Athletics Event at Inter IIT Sports Meet 2019", 15 | images: ["facilities/AAD_0049.jpg"], 16 | description: "", 17 | }, 18 | { 19 | title: "Jnan Ghosh Stadium", 20 | images: ["facilities/stadium.jpeg"], 21 | description: 22 | "Jnan Ghosh Stadium, named after the first director of IIT Kharagpur Sir Jnan Chandra Ghosh is an athletics stadium which has a 400m track, enclosures for Hammer throw, along with a gallery. It is actively used during Inter-IIT and Inter-Hall Events. It is the regular venue for the NSO Health and Fitness classes. The stadium is also used for live shows during Spring Fest.", 23 | }, 24 | { 25 | title: "Tagore Open Air Theatre", 26 | images: ["facilities/toat.jpg"], 27 | description: 28 | " Tagore Open Air Theatre (also called TOAT) is the open-theatre of IIT Kharagpur where musical events, dance performances, stand-up comedy, open-session and numerous other events are organized during throughout the year. The place especially hosts a range of activities during annual technical and cultural fests Spring Fest and Kshitij. It is located next to the Department of Computer Science and has two entry gates. One gate is directly infront of the Netaji Auditorium and the other is next to staff canteen (can be reached through the road near main security control centre). It has a capacity of over 1000 students.", 29 | }, 30 | { 31 | title: "Technology Swimming Pool", 32 | images: ["facilities/waterball.png"], 33 | description: 34 | " Technology Swimming Pool or just swimming pool is located in the Gymkhana park near the TSG Lake.It is most centrally located in beside the Technology Student Gymkhana. The Swimming pools with their placid, clean, transparent and lovely-to-behold water are the star attraction of the technopolis. The open air swimming pool is best place to swim. The Pools, which remain open from morning to late evenings, provide sport, exercise and relaxation par excellence. The Swimming Form can be acquired online through the website of Technology Aquatic Society.", 35 | }, 36 | { 37 | title: "Lakeside, TSG", 38 | images: ["facilities/lakeside.jpeg"], 39 | description: "", 40 | }, 41 | { 42 | title: "Illumination", 43 | images: ["facilities/illu.png"], 44 | description: "", 45 | }, 46 | { 47 | title: "National Cadet Corps, IIT Kharagpur", 48 | images: ["facilities/nss.png"], 49 | description: "", 50 | }, 51 | { 52 | title: "High Jump", 53 | images: ["facilities/Manav_HJ.jpg"], 54 | description: "", 55 | }, 56 | { 57 | title: "Inter IIT SoCult Contingent 2018", 58 | images: ["facilities/Socult_Contingent_2018.jpg"], 59 | description: "", 60 | }, 61 | { 62 | title: "West Bengal State Meet 2019", 63 | images: ["facilities/IMG_6002.JPG"], 64 | description: "", 65 | }, 66 | ], 67 | }; 68 | -------------------------------------------------------------------------------- /sample-site/public/facilities/AAD_0049.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/AAD_0049.jpg -------------------------------------------------------------------------------- /sample-site/public/facilities/IMG_6002.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/IMG_6002.JPG -------------------------------------------------------------------------------- /sample-site/public/facilities/InterIIT_GC.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/InterIIT_GC.jpg -------------------------------------------------------------------------------- /sample-site/public/facilities/Manav_HJ.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/Manav_HJ.jpg -------------------------------------------------------------------------------- /sample-site/public/facilities/Socult_Contingent_2018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/Socult_Contingent_2018.jpg -------------------------------------------------------------------------------- /sample-site/public/facilities/court.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/court.jpeg -------------------------------------------------------------------------------- /sample-site/public/facilities/illu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/illu.png -------------------------------------------------------------------------------- /sample-site/public/facilities/lakeside.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/lakeside.jpeg -------------------------------------------------------------------------------- /sample-site/public/facilities/nss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/nss.png -------------------------------------------------------------------------------- /sample-site/public/facilities/pool.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/pool.jpeg -------------------------------------------------------------------------------- /sample-site/public/facilities/running.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/running.jpg -------------------------------------------------------------------------------- /sample-site/public/facilities/stadium.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/stadium.jpeg -------------------------------------------------------------------------------- /sample-site/public/facilities/toat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/toat.jpg -------------------------------------------------------------------------------- /sample-site/public/facilities/waterball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/facilities/waterball.png -------------------------------------------------------------------------------- /sample-site/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/favicon.ico -------------------------------------------------------------------------------- /sample-site/public/festData.js: -------------------------------------------------------------------------------- 1 | export default { 2 | data: [ 3 | { 4 | name: "Spring Fest", 5 | description: 6 | "Spring Fest, popularly known as SF, is the annual social & cultural festival of Indian Institute of Technology held during the month of January in the spring semester. Spring Fest is usually held for 3 days and 4 nights in the weekend closest to 26 January, India's Republic Day. The first edition was held in 1960 and since then it has grown to be one of the largest student run college fests in India. ", 7 | facebook_link: "https://www.facebook.com/springfest.iitkgp/", 8 | wiki_link: "https://wiki.metakgp.org/w/Spring_Fest", 9 | website: "https://springfest.in/", 10 | shortform: "sf", 11 | }, 12 | { 13 | name: "Kshitij", 14 | description: 15 | "Kshitij is the annual techno-management fest of IIT Kharagpur, one of India’s premier technical institutions. Started in the year 2004, the idea of Kshitij was conceived with the aim to provide the technically inclined youth a national-level platform, where their talent and expertise would be recognized and duly rewarded. Having grown exponentially since its nascent years, Kshitij receives overwhelming participation from the student community all over the world. The official website of Kshitij, ktj.in, is in fact the largest student run website, receiving 8 million clicks in its 2012 edition. ", 16 | facebook_link: "https://www.facebook.com/ktj.iitkgp/", 17 | wiki_link: "https://wiki.metakgp.org/w/Kshitij", 18 | shortform: "ktj", 19 | website: "http://www.ktj.in/" 20 | }, 21 | ], 22 | }; 23 | -------------------------------------------------------------------------------- /sample-site/public/pointsData.js: -------------------------------------------------------------------------------- 1 | export default { 2 | sports: [ 3 | { 4 | hall: "AZ", 5 | badminton: 10, 6 | badmintonColor: "hsl(300, 70%, 50%)", 7 | lawnTennis: 0, 8 | lawnTennisColor: "hsl(100, 50%, 70%", 9 | football: 10, 10 | footballColor: "hsl(300, 70%, 50%)", 11 | basketball: 4, 12 | basketballColor: "hsl(115, 70%, 50%)", 13 | hockey: 0, 14 | hockeyColor: "hsl(115, 70%, 50%)", 15 | bridge: 10, 16 | bridgeColor: "hsl(119, 70%, 50%)", 17 | tableTennis: 10, 18 | tableTennisColor: "hsl(119, 70%, 50%)", 19 | volleyball: 0, 20 | volleyballColor: "hsl(300, 80%, 70%)", 21 | weightlifting: 6, 22 | weightliftingColor: "hsl(119, 70%, 50%)", 23 | squash: 4, 24 | squashColor: "hsl(119, 70%, 50%)", 25 | chess: 10, 26 | chessColor: "hsl(200, 40%, 50%)", 27 | cricket: 10, 28 | cricketColor: "hsl(250, 70%, 50%)", 29 | athletics: 0, 30 | athleticsColor: "hsl(150, 70%, 50%)", 31 | }, 32 | { 33 | hall: "LLR", 34 | badminton: 6, 35 | badmintonColor: "hsl(300, 70%, 50%)", 36 | }, 37 | { 38 | hall: "RP", 39 | badminton: 4, 40 | badmintonColor: "hsl(300, 70%, 50%)", 41 | lawTennis: 4, 42 | lawTennisColor: "hsl(100, 50%, 70%", 43 | football: 6, 44 | footballColor: "hsl(300, 70%, 50%)", 45 | volleyball: 4, 46 | volleyballColor: "hsl(300, 80%, 70%)", 47 | athletics: 10, 48 | athleticsColor: "hsl(150, 70%, 50%)", 49 | }, 50 | { 51 | hall: "MS", 52 | lawTennis: 10, 53 | lawTennisColor: "hsl(100, 50%, 70%", 54 | football: 4, 55 | footballColor: "hsl(300, 70%, 50%)", 56 | hockey: 6, 57 | hockeyColor: "hsl(115, 70%, 50%)", 58 | chess: 6, 59 | chessColor: "hsl(200, 40%, 50%)", 60 | cricket: 20, 61 | }, 62 | { 63 | hall: "MMM", 64 | lawTennis: 6, 65 | lawTennisColor: "hsl(100, 50%, 70%", 66 | squash: 10, 67 | squashColor: "hsl(119, 70%, 50%)", 68 | cricket: 6, 69 | cricketColor: "hsl(250, 70%, 50%)", 70 | }, 71 | { 72 | hall: "LBS", 73 | basketball: 10, 74 | basketballColor: "hsl(115, 70%, 50%)", 75 | hockey: 10, 76 | hockeyColor: "hsl(115, 70%, 50%)", 77 | tableTennis: 10, 78 | tableTennisColor: "hsl(119, 70%, 50%)", 79 | volleyball: 6, 80 | volleyballColor: "hsl(300, 80%, 70%)", 81 | }, 82 | { 83 | hall: "NH", 84 | basketball: 6, 85 | basketballColor: "hsl(115, 70%, 50%)", 86 | bridge: 4, 87 | bridgeColor: "hsl(119, 70%, 50%)", 88 | }, 89 | { 90 | hall: "PH", 91 | hockey: 4, 92 | hockeyColor: "hsl(115, 70%, 50%)", 93 | weightlifting: 4, 94 | weightliftingColor: "hsl(119, 70%, 50%)", 95 | }, 96 | { 97 | hall: "RK", 98 | bridge: 6, 99 | bridgeColor: "hsl(119, 70%, 50%)", 100 | volleyball: 10, 101 | volleyballColor: "hsl(300, 80%, 70%)", 102 | weightlifting: 10, 103 | weightliftingColor: "hsl(119, 70%, 50%)", 104 | chess: 4, 105 | chessColor: "hsl(200, 40%, 50%)", 106 | cricket: 4, 107 | cricketColor: "hsl(250, 70%, 50%)", 108 | athletics: 6, 109 | athleticsColor: "hsl(150, 70%, 50%)", 110 | }, 111 | { 112 | hall: "BRH", 113 | tableTennis: 4, 114 | tableTennisColor: "hsl(119, 70%, 50%)", 115 | }, 116 | ], 117 | socult: [ 118 | { 119 | hall: "AZ", 120 | easternVocals: 25, 121 | easternVocalsColor: "hsl(300, 70%, 50%)", 122 | groups: 30, 123 | groupsColor: "hsl(100, 50%, 70%", 124 | clayModelling: 100, 125 | clayModellingColor: "hsl(300, 70%, 50%)", 126 | debate: 25, 127 | debateColor: "hsl(115, 70%, 50%)", 128 | hindiElocution: 25, 129 | hindiElocutionColor: "hsl(115, 70%, 50%)", 130 | wtgw: 30, 131 | wtgwColor: "hsl(119, 70%, 50%)", 132 | quiz: 40, 133 | quizColor: "hsl(119, 70%, 50%)", 134 | stagePlay: 40, 135 | stayPlayColor: "hsl(300, 80%, 70%)", 136 | choreography: 100, 137 | choreographyColor: "hsl(119, 70%, 50%)", 138 | }, 139 | { 140 | hall: "LLR", 141 | easternVocals: 25, 142 | easternVocalsColor: "hsl(300, 70%, 50%)", 143 | groups: 60, 144 | groupsColor: "hsl(100, 50%, 70%", 145 | sketching: 25, 146 | sketchingColor: "hsl(250, 30%, 70%)", 147 | painting: 35, 148 | paintingColor: "hsl(120, 50%, 50%)", 149 | stagePlay: 40, 150 | stayPlayColor: "hsl(300, 80%, 70%)", 151 | }, 152 | { 153 | hall: "RP", 154 | easternInstrumentals: 60, 155 | easternInstumentalsColor: "hsl(200, 70%, 50%)", 156 | groups: 150, 157 | groupsColor: "hsl(100, 50%, 70%", 158 | westernInstrumentals: 60, 159 | westernInstrumentalsColor: "hsl(111, 100%, 30%)", 160 | sketching: 35, 161 | sketchingColor: "hsl(250, 30%, 70%)", 162 | cartooning: 25, 163 | cartooningColor: "hsl(270, 100%, 50%)", 164 | painting: 25, 165 | paintingColor: "hsl(120, 50%, 50%)", 166 | quiz: 60, 167 | quizColor: "hsl(119, 70%, 50%)", 168 | stagePlay: 60, 169 | stayPlayColor: "hsl(300, 80%, 70%)", 170 | choreography: 60, 171 | choreographyColor: "hsl(119, 70%, 50%)", 172 | streetPlay: 100, 173 | streetPlayColor: "hsl(175, 80%, 40%)", 174 | }, 175 | { 176 | hall: "MS", 177 | englishElocution: 12.5, 178 | englishElocutionColor: "hsl(75, 100%, 100%)", 179 | }, 180 | { 181 | hall: "LBS", 182 | westernVocals: 25, 183 | westernVocalsColor: "hsl(166, 70%, 50%)", 184 | bengaliElocution: 30, 185 | bengaliElocutionColor: "hsl(69, 69%, 69%)", 186 | }, 187 | { 188 | hall: "NH", 189 | filmMaking: 100, 190 | filmMakingColor: "hsl(99, 99%, 99%)", 191 | westernVocals: 35, 192 | westernVocalsColor: "hsl(166, 70%, 50%)", 193 | clayModelling: 40, 194 | clayModellingColor: "hsl(300, 70%, 50%)", 195 | debate: 60, 196 | debateColor: "hsl(115, 70%, 50%)", 197 | }, 198 | { 199 | hall: "PH", 200 | sketching: 60, 201 | sketchingColor: "hsl(250, 30%, 70%)", 202 | cartooning: 25, 203 | cartooningColor: "hsl(270, 100%, 50%)", 204 | clayModelling: 60, 205 | clayModellingColor: "hsl(300, 70%, 50%)", 206 | debate: 35, 207 | debateColor: "hsl(115, 70%, 50%)", 208 | englishElocution: 60, 209 | englishElocutionColor: "hsl(75, 100%, 100%)", 210 | hindiElocution: 60, 211 | hindiElocutionColor: "hsl(115, 70%, 50%)", 212 | wtgw: 75, 213 | wtgwColor: "hsl(119, 70%, 50%)", 214 | streetPlay: 60, 215 | streetPlayColor: "hsl(175, 80%, 40%)", 216 | }, 217 | { 218 | hall: "RK", 219 | westernVocals: 60, 220 | westernVocalsColor: "hsl(166, 70%, 50%)", 221 | easternInstrumentals: 35, 222 | easternInstumentalsColor: "hsl(200, 70%, 50%)", 223 | groups: 100, 224 | groupsColor: "hsl(100, 50%, 70%", 225 | englishElocution: 60, 226 | englishElocutionColor: "hsl(75, 100%, 100%)", 227 | wtgw: 45, 228 | wtgwColor: "hsl(119, 70%, 50%)", 229 | quiz: 100, 230 | quizColor: "hsl(119, 70%, 50%)", 231 | choreography: 40, 232 | choreographyColor: "hsl(119, 70%, 50%)", 233 | streetPlay: 40, 234 | streetPlayColor: "hsl(175, 80%, 40%)", 235 | }, 236 | { 237 | hall: "BRH", 238 | westernInstrumentals: 35, 239 | westernInstrumentalsColor: "hsl(111, 100%, 30%)", 240 | cartooning: 60, 241 | cartooningColor: "hsl(270, 100%, 50%)", 242 | hindiElocution: 35, 243 | hindiElocutionColor: "hsl(115, 70%, 50%)", 244 | }, 245 | ], 246 | interIIT: [ 247 | [ 248 | { 249 | Sport: "Overall", 250 | Gold: "Kharagpur", 251 | Silver: "Bombay", 252 | Bronze: "Roorkee", 253 | }, 254 | { 255 | Sport: "Swimming", 256 | Gold: "Madras", 257 | Silver: "Roorkee", 258 | Bronze: "Kharagpur", 259 | }, 260 | { 261 | Sport: "Athletics", 262 | Gold: "Kharagpur", 263 | Silver: "Delhi", 264 | Bronze: "Kanpur", 265 | }, 266 | { 267 | Sport: "Basketball", 268 | Gold: "Delhi", 269 | Silver: "Kharagpur", 270 | Bronze: "Roorkee", 271 | }, 272 | { 273 | Sport: "Badminton", 274 | Gold: "BHU", 275 | Silver: "Madras", 276 | Bronze: "Delhi", 277 | }, 278 | { 279 | Sport: "Table Tennis", 280 | Gold: "Bombay", 281 | Silver: "Kharagpur", 282 | Bronze: "Roorkee", 283 | }, 284 | { 285 | Sport: "Lawn Tennis", 286 | Gold: "BHU", 287 | Silver: "Madras", 288 | Bronze: "Guhawati", 289 | }, 290 | { 291 | Sport: "Volleyball", 292 | Gold: "Delhi", 293 | Silver: "Kharagpur", 294 | Bronze: "Bombay", 295 | }, 296 | { 297 | Sport: "Water Polo", 298 | Gold: "Kharagpur", 299 | Silver: "Kanpur", 300 | Bronze: "Madras", 301 | }, 302 | { 303 | Sport: "CRI", 304 | Gold: "Delhi", 305 | Silver: "Kanpur", 306 | Bronze: "Mandi", 307 | }, 308 | { 309 | Sport: "FB", 310 | Gold: "Kharagpur", 311 | Silver: "Roorkee", 312 | Bronze: "Dhanbad", 313 | }, 314 | { 315 | Sport: "HK", 316 | Gold: "BHU", 317 | Silver: "Delhi", 318 | Bronze: "Kharagpur", 319 | }, 320 | { 321 | Sport: "Squash", 322 | Gold: "Madras", 323 | Silver: "Kanpur", 324 | Bronze: "Roorkee", 325 | }, 326 | { 327 | Sport: "WT", 328 | Gold: "BHU", 329 | Silver: "Kharagpur", 330 | Bronze: "Roorkee", 331 | }, 332 | ], 333 | [ 334 | { 335 | Sport: "Overall", 336 | Gold: "Kharagpur", 337 | Silver: "Bombay", 338 | Bronze: "Roorkee", 339 | }, 340 | { 341 | Sport: "Swimming", 342 | Gold: "Madras", 343 | Silver: "Kharagpur", 344 | Bronze: "Kanpur", 345 | }, 346 | { 347 | Sport: "Athletics", 348 | Gold: "Delhi", 349 | Silver: "Kharagpur", 350 | Bronze: "Madras", 351 | }, 352 | { 353 | Sport: "Basketball", 354 | Gold: "Kharagpur", 355 | Silver: "Roorkee", 356 | Bronze: "BHU", 357 | }, 358 | { 359 | Sport: "Badminton", 360 | Gold: "Madras", 361 | Silver: "Kanpur", 362 | Bronze: "Bombay", 363 | }, 364 | { 365 | Sport: "Table Tennis", 366 | Gold: "Kanpur", 367 | Silver: "Delhi", 368 | Bronze: "Bombay", 369 | }, 370 | { 371 | Sport: "Lawn Tennis", 372 | Gold: "Madras", 373 | Silver: "Kharagpur", 374 | Bronze: "Bombay", 375 | }, 376 | { 377 | Sport: "Volleyball", 378 | Gold: "Roorkee", 379 | Silver: "Delhi", 380 | Bronze: "Madras", 381 | }, 382 | ], 383 | [ 384 | { 385 | Event: "Overall", 386 | Gold: "Kharagpur", 387 | Silver: "Bombay", 388 | Bronze: "Roorkee", 389 | }, 390 | { 391 | Event: "Dance", 392 | Gold: "Kanpur", 393 | Silver: "Bombay", 394 | Bronze: "Roorkee", 395 | }, 396 | { 397 | Event: "Dramatics", 398 | Gold: "BHU", 399 | Silver: "Kanpur", 400 | Bronze: "Madras", 401 | }, 402 | { 403 | Event: "Film", 404 | Gold: "Kharagpur", 405 | Silver: "Roorkee", 406 | Bronze: "Indore", 407 | }, 408 | { 409 | Event: "Music", 410 | Gold: "Kharagpur", 411 | Silver: "Bombay", 412 | Bronze: "Delhi", 413 | }, 414 | { 415 | Event: "Literary Arts", 416 | Gold: "Kharagpur", 417 | Silver: "Kanpur", 418 | Bronze: "Bombay", 419 | }, 420 | { 421 | Event: "Speaking Arts", 422 | Gold: "Bombay", 423 | Silver: "Roorkee", 424 | Bronze: "Kharagpur", 425 | }, 426 | { 427 | Event: "Fine Arts", 428 | Gold: "Kharagpur", 429 | Silver: "Bombay", 430 | Bronze: "Jodhpur", 431 | }, 432 | { 433 | Event: "Design & Digital Arts", 434 | Gold: "BHU", 435 | Silver: "Kharagpur", 436 | Bronze: "Indore", 437 | }, 438 | { 439 | Event: "Fashion", 440 | Gold: "Bombay", 441 | Silver: "Gandhinagar", 442 | Bronze: "Roorkee", 443 | }, 444 | { 445 | Event: "Miscellaneous", 446 | Gold: "Roorkee", 447 | Silver: "Bombay", 448 | Bronze: "Kanpur", 449 | }, 450 | ], 451 | ], 452 | }; 453 | -------------------------------------------------------------------------------- /sample-site/public/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/preview.png -------------------------------------------------------------------------------- /sample-site/public/societies/bclub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/bclub.png -------------------------------------------------------------------------------- /sample-site/public/societies/chess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/chess.png -------------------------------------------------------------------------------- /sample-site/public/societies/communique.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/communique.png -------------------------------------------------------------------------------- /sample-site/public/societies/debsoc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/debsoc.png -------------------------------------------------------------------------------- /sample-site/public/societies/druheen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/druheen.png -------------------------------------------------------------------------------- /sample-site/public/societies/encore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/encore.png -------------------------------------------------------------------------------- /sample-site/public/societies/etms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/etms.png -------------------------------------------------------------------------------- /sample-site/public/societies/iwg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/iwg.png -------------------------------------------------------------------------------- /sample-site/public/societies/ktj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/ktj.png -------------------------------------------------------------------------------- /sample-site/public/societies/prasthanam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/prasthanam.png -------------------------------------------------------------------------------- /sample-site/public/societies/pravah.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/pravah.png -------------------------------------------------------------------------------- /sample-site/public/societies/quiz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/quiz.png -------------------------------------------------------------------------------- /sample-site/public/societies/sf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/sf.png -------------------------------------------------------------------------------- /sample-site/public/societies/spectra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/spectra.png -------------------------------------------------------------------------------- /sample-site/public/societies/swg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/swg.png -------------------------------------------------------------------------------- /sample-site/public/societies/tads.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/tads.png -------------------------------------------------------------------------------- /sample-site/public/societies/tcas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/tcas.png -------------------------------------------------------------------------------- /sample-site/public/societies/tds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/tds.png -------------------------------------------------------------------------------- /sample-site/public/societies/tfps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/tfps.png -------------------------------------------------------------------------------- /sample-site/public/societies/tls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/tls.png -------------------------------------------------------------------------------- /sample-site/public/societies/trs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/trs.png -------------------------------------------------------------------------------- /sample-site/public/societies/wtms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/societies/wtms.png -------------------------------------------------------------------------------- /sample-site/public/societiesData.js: -------------------------------------------------------------------------------- 1 | export default { 2 | data: [ 3 | { 4 | name: "Student Welfare Group", 5 | description: 6 | "Student Welfare Group (SWG), is a student body under the office of Dean of Students’ Affairs, IIT Kharagpur. SWG works towards ensuring the smooth functioning of student’s lives on the campus by assisting students of IIT Kharagpur in developing their skills and personality. SWG provides the required resources contributing to the success of student’s college life as well as flaring productivity by organizing informatory and interactive events. Our Group strives to contribute to the overall educational mission of the Institute by facilitating academic, emotional, social, and vocational development of the entire student community. Respect for diversity and a commitment to students’ personal growth are guiding principles in the work we do. ", 7 | facebook_link: "https://www.facebook.com/SWGIITKGP", 8 | wiki_link: "https://wiki.metakgp.org/w/Student_Welfare_Group", 9 | shortform: "swg", 10 | category: "Welfare", 11 | Heads: [ 12 | { name: "Nikhil Kumar ", email: "nikhilkumar041299@gmail.com" }, 13 | { name: "Aditi Singhania ", email: "singhania2603@gmail.com" }, 14 | { name: "Amrutha Sravya Mamidi ", email: "sravyamamidi3@gmail.com" }, 15 | { name: "Akash Nitin Dusane ", email: "akashnd2000@gmail.com" }, 16 | { name: "Animesh Awasthi ", email: "animeshawasthi2000@gmail.com" }, 17 | { name: "Akash Mudhol ", email: "asmudhol8275@gmail.com" }, 18 | { name: "Arkoprova Madhu ", email: "arko.prova16@gmail.com" }, 19 | { name: "Soumyajit Chakraborty ", email: "soumyajit1729@gmail.com" }, 20 | { name: "Prachi Arun Khaparde ", email: "pakhaparde@gmail.com" }, 21 | ], 22 | }, 23 | 24 | { 25 | name: "Technology Literary Society", 26 | description: 27 | "The Technology Literary Society, IIT Kharagpur abbreviated as TLS, is IIT Kharagpurs literary organization involving a group of enthusiastic English & Hindi writers, and designers. The society used to publish the monthly wall magazine Hang On, and the literary newsletter KGP Pulse but they have been discontinued in favour of using social media to reach a larger population.TLS continues to publish the annual campus magazine Alankar.", 28 | facebook_link: "https://www.facebook.com/tls.iitkgp/", 29 | wiki_link: "https://wiki.metakgp.org/w/Technology_Literary_Society", 30 | shortform: "tls", 31 | category: "Socult", 32 | Heads: [ 33 | { name: "Archi Banerjee", email: "archibanerjee2018@gmail.com" }, 34 | { name: "Kshitij Anand", email: "kshitijanand.iitkgp@gmail.com" }, 35 | { name: "Sarvesh Deshpande", email: "sarvesh1604@gmail.com" }, 36 | { name: "Utkarsh Agrawal", email: "utkarshagrawal24@gmail.com" }, 37 | ], 38 | }, 39 | 40 | { 41 | name: "Debating Society", 42 | description: 43 | "The Debating Society, IIT Kharagpur, abbreviated as DebSoc, is IIT Kharagpur's competitive debate organization. It participates with consistent success in Parliamentary Debates across the world, and had organized the IIT Kharagpur Model United Nations Conference and the IIT Kharagpur Parliamentary Debate in previous years.", 44 | facebook_link: "https://www.facebook.com/kgpdebsoc", 45 | wiki_link: "https://wiki.metakgp.org/w/Debating_Society", 46 | shortform: "debsoc", 47 | category: "Socult", 48 | Heads: [ 49 | { name: "Devika Narayanan", email: "devika247@gmail.com" }, 50 | { name: "Saugandh Philkhana", email: "saugandh30@gmail.com" }, 51 | { name: "Simran Rajagopalan", email: "simranrajagopalan2000@gmail.com" }, 52 | { name: "Tanay Raghavendra", email: "tanay1688@gmail.com" }, 53 | ], 54 | }, 55 | 56 | { 57 | name: "Technology Filmmaking & Photography Society", 58 | description: 59 | "The Technology Filmmaking & Photography Society, IIT Kharagpur, abbreviated as TFPS, is the official club of IIT Kharagpur for students interested in filmmaking, photography and film-appreciation. Founded in 2010 by a few film enthusiasts, TFPS has come a long way in promoting filmmaking and film appreciation among the campus fraternity as well as outside. It has also been a launchpad for students interested in pursuing careers in the Entertainment Industry.", 60 | facebook_link: "https://www.facebook.com/tfps.iitkgp/", 61 | wiki_link: "https://wiki.metakgp.org/w/Technology_Filmmaking_%26_Photography_Society", 62 | shortform: "tfps", 63 | category: "Socult", 64 | Heads: [ 65 | { name: "Rohit Ahirrao", email: "rohitahirrao.iitkgp@gmail.com" }, 66 | { name: "Kartik Verma", email: "kv3675@gmail.com" }, 67 | { name: "Shubhra Mishra", email: "shubhramishrakota2310@gmail.com" }, 68 | { name: "Aviral Jain (Head of Photography)", email: "jainaviral898@gmail.com" }, 69 | ], 70 | website: "https://www.youtube.com/channel/UCZzBPd0ceMq4EzKNibqAyaA", 71 | }, 72 | 73 | { 74 | name: "Technology Dance Society", 75 | description: 76 | " Technology Dance Society is the dance club of IIT Kharagpur. They participate in various dance competitions across India. They also keep workshops for dance practice to all the students of IIT Kharagpur.", 77 | facebook_link: "https://www.facebook.com/Breakfreenowornever/", 78 | wiki_link: "https://wiki.metakgp.org/w/Technology_Dance_Society", 79 | shortform: "tds", 80 | category: "Socult", 81 | Heads: [ 82 | { name: "Pranali Rahangdale", email: "pranalirahangdale27@gmail.com" }, 83 | { name: "Shivam Sengar", email: "sengarshivam84@gmail.com" }, 84 | { name: "Monika Choudhary", email: "monikachoudhary.2112@gmail.com" }, 85 | ], 86 | }, 87 | 88 | { 89 | name: "Pravah", 90 | description: 91 | "Pravah, previously known as Hindi Technology Dramatics Society (H.T.D.S.) ,as the name suggests, is the official Hindi dramatics society of I.I.T. Kharagpur. It performs various plays and nukkad (street plays) on and off campus. It is under the Technology Students' Gymkhana and is a part of the Dramatics Subcommittee under the Social and Cultural Committee.", 92 | facebook_link: "https://www.facebook.com/Pravaah/", 93 | wiki_link: "https://wiki.metakgp.org/w/Pravah", 94 | shortform: "pravah", 95 | category: "Socult", 96 | Heads: [ 97 | { name: "Abhyudaya Nilosey", email: "abhyudaya27nilosey@gmail.com" }, 98 | { name: "Debjyoti Chakraborty", email: "djc2210@gmail.com" }, 99 | { name: "Sudhanshu Baldawa", email: "sudhanshubaldawa1999@gmail.com" }, 100 | ], 101 | }, 102 | 103 | { 104 | name: "Encore", 105 | description: 106 | "Technology Dramatics Society: ENCORE is the institute's official English Dramatics Society. It was earlier referred to as the 'English Technology Dramatics Society', ETDS in short. It is under the Technology Students' Gymkhana and is a part of the Dramatics Subcommittee under the Social and Cultural Committee.", 107 | facebook_link: "https://www.facebook.com/TDSEncore/", 108 | wiki_link: "https://wiki.metakgp.org/w/Encore", 109 | shortform: "encore", 110 | category: "Socult", 111 | Heads: [ 112 | { name: "Saumyata Khandewal", email: "saumyata0427@gmail.com" }, 113 | { name: "Karmanya GB", email: "karmanyagb@gmail.com" }, 114 | { name: "Karan Singh", email: "singh.karan118@gmail.com" }, 115 | ], 116 | }, 117 | 118 | { 119 | name: "Prasthanam", 120 | description: 121 | "Technology Dramatics Society: Prasthanam is the institute's official Telugu Dramatics Society. It was earlier referred to as the 'Technology Telugu Dramatics Society', TTDS in short. It is under the Technology Students' Gymkhana and is a part of the Dramatics Subcommittee under the Social and Cultural Committee.", 122 | facebook_link: "https://www.facebook.com/Prasthanam.TDS/", 123 | wiki_link: "https://wiki.metakgp.org/w/Prasthanam", 124 | shortform: "prasthanam", 125 | category: "Socult", 126 | Heads: [ 127 | { name: "Avanthika Didroy", email: "avanthikadidroy2000@gmail.com" }, 128 | { name: "Sai Jyotish Vudikavalasa", email: "vsj.civil@gmail.com" }, 129 | { name: "Nukala Divakar Sai", email: "divakarsainukala@gmail.com" }, 130 | ], 131 | }, 132 | 133 | { 134 | name: "Druheen", 135 | description: 136 | "Druheen is the official name of Bengali Technology dramatic society(BTDS) of IIT Kharagpur. It is one of the dramatic society which is under Technology students' Gymkhana and is a part of the Dramatics Subcommittee under the Social and Cultural Committee. This is one of the oldest societies in IIT Kharagpur.", 137 | facebook_link: "https://www.facebook.com/tdsdruheen/", 138 | wiki_link: "https://wiki.metakgp.org/w/Druheen", 139 | shortform: "druheen", 140 | category: "Socult", 141 | Heads: [ 142 | { name: "Avanthika Didroy", email: "avanthikadidroy2000@gmail.com" }, 143 | { name: "Sai Jyotish Vudikavalasa", email: "vsj.civil@gmail.com" }, 144 | { name: "Nukala Divakar Sai", email: "divakarsainukala@gmail.com" }, 145 | ], 146 | }, 147 | 148 | { 149 | name: "Technology Robotix Society", 150 | description: 151 | "Technology Robotix Society (abbrv. TRS) is an official society under the Technology Students' Gymkhana, IIT Kharagpur and is a focal point for activities and projects related to robotics in the campus. With its reach expanding steadily each year, it has also cemented its position as one of the nerve centres of amateur robotics in India.", 152 | facebook_link: "https://www.facebook.com/robotixiitkgp/", 153 | wiki_link: "https://wiki.metakgp.org/w/Technology_Robotix_Society", 154 | shortform: "trs", 155 | category: "Tech", 156 | Heads: [], 157 | }, 158 | 159 | { 160 | name: "Communique", 161 | description: 162 | "Communiqué started in the year 2006, as the brainchild of Anindya Dutta with the novel aim of providing the students of IIT Kharagpur a strong platform to improve their soft skills and personality arose from the disappointment of recruiting companies with the communication skills of the brilliant students.", 163 | facebook_link: "https://www.facebook.com/communique.iitkgp", 164 | wiki_link: "https://wiki.metakgp.org/w/Communique", 165 | shortform: "communique", 166 | category: "Socult", 167 | Heads: [ 168 | { name: "Abhishek Chandak", email: "abbhchhan@gmail.com" }, 169 | { name: "Anushka Agrawal", email: "anushkaagrawal718@gmail.com" }, 170 | { name: "Abhishek Jangid", email: "abhishekjangidiitkgp@gmail.com" }, 171 | ], 172 | }, 173 | 174 | { 175 | name: "Institute Wellness Group", 176 | description: 177 | "Institute Wellness Group, under the Students’ Welfare portfolio of Technology Students’ Gymkhana, consists of trained students who enforce welfare activities among the student community and act as primary nodes of mature student counseling. We conduct interactive events, seminars, and guest lectures on mental wellness, depression, suicide prevention, and state of mind round the year. Institute Wellness Group IIT Kharagpur aims to build a happier KGP and firmly believes in rising by lifting others.", 178 | facebook_link: "https://www.facebook.com/iwg.iitkgp", 179 | wiki_link: "", 180 | shortform: "iwg", 181 | category: "Welfare", 182 | Heads: [ 183 | { name: "Aditi Singhania", email: "singhania2603@gmail.com" }, 184 | { name: "Nikhil Kumar", email: "nikhilkumar041299@gmail.com" }, 185 | { name: "Siba Smarak Panigrahi", email: "sibasmarak.p@gmail.com" }, 186 | { name: "Anubhav Saboth", email: " anubhavsaboth@gmail.com" }, 187 | { name: "Rohan Gundu", email: " rohangundu22@gmail.com" }, 188 | { name: "Rajkumar Bunkar", email: "bunkarraju30@gmail.com" }, 189 | ], 190 | }, 191 | 192 | { 193 | name: "Business Club", 194 | description: 195 | "Business Club, popularly known as B-Club, is IIT Kharagpur’s in-campus society for all things business. It is a knowledge sharing interface for like-minded individuals operating through a ‘knowledge-session’ approach. The Club also reaches out to the student community by organising Open House sessions, and increasingly, the general public, through initiatives like the Financial Literacy Drive.", 196 | facebook_link: "https://www.facebook.com/bclubkgp/", 197 | wiki_link: "https://wiki.metakgp.org/w/Business_Club", 198 | shortform: "bclub", 199 | category: "Tech", 200 | Heads: [], 201 | }, 202 | 203 | { 204 | name: "Technology Adventure Society", 205 | description: 206 | "It is a non-profit organization which comes under the Gymkhana. It's main focus is to maintain the spirit of adventure in each and every student and teachers in Kharagpur. It provides an exposure outside of the campus . They conduct various events throughout the year which help students and teachers to explore and experience the new things within the campus. For this they organize many activities.", 207 | facebook_link: "https://www.facebook.com/TAdS.IIT/", 208 | wiki_link: "https://wiki.metakgp.org/w/Technology_Adventure_Society", 209 | shortform: "tads", 210 | category: "Sports & Games", 211 | Heads: [], 212 | }, 213 | 214 | { 215 | name: "Eastern Technology Music Society", 216 | description: 217 | "ETMS is a group of fun-loving and passionate musicians aiming to spread the joy of Indian music through our biannual productions.", 218 | facebook_link: "https://www.facebook.com/pg/ETMSIITKGP", 219 | wiki_link: "https://wiki.metakgp.org/w/Eastern_Technology_Music_Society", 220 | shortform: "etms", 221 | category: "Socult", 222 | Heads: [ 223 | { name: "Abhirami S", email: "sabhirami1999@gmail.com" }, 224 | { name: "Raghav R", email: "raghav5600@yahoo.co.in" }, 225 | { name: "Rohit Meshram", email: "rohit.meshram1922@gmail.com" }, 226 | ], 227 | }, 228 | 229 | { 230 | name: "Western Technology Music Society", 231 | description: 232 | " Western Technology Music Society, popularly known as WTMS, is one of the two official music societies in IIT Kharagpur, which governs the western music scene in the campus. The society aims at spreading diverse music genres, nurturing and motivating musicians, inculcating values and expression through music, and develop good music taste among our audience.", 233 | facebook_link: "https://www.facebook.com/wtmsiitkgp/", 234 | wiki_link: "https://wiki.metakgp.org/w/Western_Technology_Music_Society", 235 | shortform: "wtms", 236 | category: "Socult", 237 | Heads: [ 238 | { name: "Siddhartha Kapuria", email: "siddharthakapuria@gmail.com" }, 239 | { name: "Unnikrishnan Nambiar", email: "unnikrishnan.nambiar.iitkgp@gmail.com" }, 240 | ], 241 | }, 242 | 243 | { 244 | name: "Chess Club", 245 | description: 246 | "An active group of Chess enthusiasts from IIT Kharagpur; open for all club purely meant to boost the enthusiasm and chess culture in the institute.", 247 | facebook_link: "https://www.facebook.com/ChessClubIITKGP/", 248 | wiki_link: "https://wiki.metakgp.org/w/Chess_IITKGP", 249 | shortform: "chess", 250 | category: "Sports & Games", 251 | Heads: [], 252 | }, 253 | 254 | { 255 | name: "IIT Kharagpur Quiz Club", 256 | description: 257 | "IIT Kharagpur Quiz Club is the official quiz society of IIT Kharagpur. A great place for quiz enthusiasts, it is an open society where any sort of exclusive membership is not required. It organises regular quiz sessions on the campus. These sessions are usually held at the Sports library in Gymkhana at 10 PM. Prior information is circulated via the facebook page of Quiz club. Students participate in various competitions like Inter IIT Tech Meet, Inter IIT Cultural Meet, Nihilanth, Tata Crucible Biz Quiz, TAPMI QoTB, DDM IT Quiz and various other college and open quizzes in and around Kharagpur. The recent exploits of IIT Kgp Quiz Club in various quizzes all over India has garnered them respect in the Kolkata quizzing circuit.", 258 | facebook_link: "https://www.facebook.com/iitkgp.quizclub/", 259 | wiki_link: "https://wiki.metakgp.org/w/Quiz_Club", 260 | shortform: "quiz", 261 | category: "Tech", 262 | Heads: [], 263 | }, 264 | 265 | { 266 | name: "Spectra", 267 | description: 268 | "Spectra - the 'Fine Arts and Design Group of IIT Kharagpur' aims to strengthen and promote the roots of fine arts among the students of IIT Kharagpur. With many talented artists and exhibitionists as its members, it promises to be a valued treasure for the connoisseurs of fine arts.", 269 | facebook_link: "https://www.facebook.com/Spectra.IITKGP/", 270 | wiki_link: "https://wiki.metakgp.org/w/Spectra", 271 | shortform: "spectra", 272 | category: "Socult", 273 | Heads: [ 274 | { name: "Abhijeet Mahato", email: "mahato.abhijeet7@gmail.com" }, 275 | { name: "Rachana Verma", email: "rachana8476@gmail.com" }, 276 | { name: "Ashutosh Singh", email: "singhashutosh.iitkgp@gmail.com" }, 277 | ], 278 | }, 279 | 280 | { 281 | name: "Technology Culinary Arts Society", 282 | description: 283 | "Technology Culinary Arts Society (abbreviated TCAS) was created in Spring 2019. It was created in response to the introduction of culinary events in the 3rd Inter IIT Cultural Meet held at IIT Roorkee in December 2018. The objective of the society was to encourage the interest of students in culinary activities.", 284 | facebook_link: "https://www.facebook.com/tcaskgp/", 285 | wiki_link: "https://wiki.metakgp.org/w/Technology_Culinary_Arts_Society", 286 | shortform: "tcas", 287 | category: "Socult", 288 | Heads: [ 289 | { name: "Hardik Tibrewal", email: "hardikti@gmail.com" }, 290 | { name: "Tanaya Pakhale", email: "tanayapakhale2012@gmail.com" }, 291 | { name: "Pooja Reddy", email: "poojaoct.reddy@gmail.com" }, 292 | ], 293 | }, 294 | ], 295 | }; 296 | -------------------------------------------------------------------------------- /sample-site/public/staff/adrib.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/adrib.png -------------------------------------------------------------------------------- /sample-site/public/staff/amaresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/amaresh.png -------------------------------------------------------------------------------- /sample-site/public/staff/amit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/amit.png -------------------------------------------------------------------------------- /sample-site/public/staff/ardhendu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/ardhendu.png -------------------------------------------------------------------------------- /sample-site/public/staff/ashok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/ashok.png -------------------------------------------------------------------------------- /sample-site/public/staff/ashwani.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/ashwani.png -------------------------------------------------------------------------------- /sample-site/public/staff/chand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/chand.png -------------------------------------------------------------------------------- /sample-site/public/staff/gyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/gyan.png -------------------------------------------------------------------------------- /sample-site/public/staff/hati.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/hati.png -------------------------------------------------------------------------------- /sample-site/public/staff/hitesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/hitesh.png -------------------------------------------------------------------------------- /sample-site/public/staff/ishaan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/ishaan.png -------------------------------------------------------------------------------- /sample-site/public/staff/mandi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/mandi.png -------------------------------------------------------------------------------- /sample-site/public/staff/manish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/manish.png -------------------------------------------------------------------------------- /sample-site/public/staff/panda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/panda.png -------------------------------------------------------------------------------- /sample-site/public/staff/pranab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/pranab.png -------------------------------------------------------------------------------- /sample-site/public/staff/priyanka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/priyanka.png -------------------------------------------------------------------------------- /sample-site/public/staff/samba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/samba.png -------------------------------------------------------------------------------- /sample-site/public/staff/shyamal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/shyamal.png -------------------------------------------------------------------------------- /sample-site/public/staff/soumen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/soumen.png -------------------------------------------------------------------------------- /sample-site/public/staff/sudhir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/staff/sudhir.png -------------------------------------------------------------------------------- /sample-site/public/staffData.js: -------------------------------------------------------------------------------- 1 | export default { 2 | data: [ 3 | { 4 | RollNo: "panda", 5 | Name: "Dr. Susanta Kumar Panda", 6 | Post: "Senior Sports Officer", 7 | Email: "skpanda@adm.iitkgp.ac.in", 8 | }, 9 | { 10 | RollNo: "priyanka", 11 | Name: "Kumari Priyanka", 12 | Post: "Sports Officer", 13 | Email: "priyanka@adm.iitkgp.ac.in", 14 | }, 15 | { 16 | RollNo: "soumen", 17 | Name: "Soumen Mondal", 18 | Post: "Sports Officer", 19 | Email: "soumen@adm.iitkgp.ac.in", 20 | }, 21 | { 22 | RollNo: "ashok", 23 | Name: "Ashok Das", 24 | Post: "Superintendent", 25 | Email: "ashokdas@iitkgp.com", 26 | }, 27 | { 28 | RollNo: "amaresh", 29 | Name: "Amaresh Mondal", 30 | Post: "PTI (Aquatics)", 31 | Email: "amarlifeguard@gmail.com", 32 | }, 33 | { 34 | RollNo: "ashwani", 35 | Name: "Ashwani Prakash", 36 | Post: "PTI (Lawn Tennis)", 37 | Email: "ashwani@adm.iitkgp.ac.in", 38 | }, 39 | { 40 | RollNo: "gyan", 41 | Name: "Gyan Swaroop", 42 | Post: "PTI (Hockey)", 43 | Email: "gyanhockey@gmail.com", 44 | }, 45 | { 46 | RollNo: "hitesh", 47 | Name: "Hitesh Sharma", 48 | Post: "PTI (Table Tennis)", 49 | Email: "hitesh@adm.iitkgp.ac.in", 50 | }, 51 | { 52 | RollNo: "ishaan", 53 | Name: "Ishaan Ahmad", 54 | Post: "PTI (Squash + Badminton)", 55 | Email: "ishaanahmed90@gmail.com", 56 | }, 57 | { 58 | RollNo: "manish", 59 | Name: "Manish Sharma", 60 | Post: "PTI (Volleyball)", 61 | Email: "manishsharma8967@gmail.com", 62 | }, 63 | { 64 | RollNo: "adrib", 65 | Name: "Dr. Adrib Mitra", 66 | Post: "PTI (Aquatics)", 67 | Email: "adribmitra@gmail.com", 68 | }, 69 | { 70 | RollNo: "ardhendu", 71 | Name: "Ardhendu Kumar Ghosh", 72 | Post: "PTI (Football)", 73 | Email: "ardhendukghosh@gmail.com", 74 | }, 75 | { 76 | RollNo: "pranab", 77 | Name: "Pranab Kr Sarkar", 78 | Post: "PTI (Athletics)", 79 | Email: "sarkarpronob2011@gmail.com", 80 | }, 81 | { 82 | RollNo: "samba", 83 | Name: "Samba Kar", 84 | Post: "PTI (Cricket)", 85 | Email: "sambakolkata1985@gmail.com", 86 | }, 87 | { 88 | RollNo: "sudhir", 89 | Name: "Sudhir Kumar", 90 | Post: "PTI (Yoga)", 91 | Email: "sudhir@adm.iitkgp.ac.in", 92 | }, 93 | { 94 | RollNo: "chand", 95 | Name: "Chand Kanta Ari", 96 | Post: "Senior Attendant", 97 | Email: "", 98 | }, 99 | { 100 | RollNo: "mandi", 101 | Name: "Mangal Mandi", 102 | Post: "Senior Attendant", 103 | Email: "", 104 | }, 105 | { 106 | RollNo: "hati", 107 | Name: "Hait Enkatsway", 108 | Post: "Attendant", 109 | Email: "", 110 | }, 111 | { 112 | RollNo: "shyamal", 113 | Name: "Shyamal Kumar Adhikary", 114 | Post: "Attendant", 115 | Email: "", 116 | }, 117 | { 118 | RollNo: "amit", 119 | Name: "Amit Saha", 120 | Post: "Junior Executive", 121 | Email: "amitsaha@adm.iitkgp.ac.in", 122 | } 123 | ], 124 | }; 125 | -------------------------------------------------------------------------------- /sample-site/public/upcomingEvents/case_study.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/upcomingEvents/case_study.jpg -------------------------------------------------------------------------------- /sample-site/public/upcomingEvents/swg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/upcomingEvents/swg.png -------------------------------------------------------------------------------- /sample-site/public/upcomingEvents/tls.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsg-iitkgp/next-build-export-action/dfcd78a5f9adf56655148bf5b41eda25350574d7/sample-site/public/upcomingEvents/tls.jpg -------------------------------------------------------------------------------- /sample-site/societies/demo.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Title' 3 | --- 4 | 5 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Qui dicta minus molestiae vel beatae natus eveniet ratione temporibus aperiam harum alias officiis assumenda officia quibusdam deleniti eos cupiditate dolore doloribus! 6 | 7 | -------------------------------------------------------------------------------- /sample-site/styles/_about.scss: -------------------------------------------------------------------------------- 1 | .about { 2 | width: 85%; 3 | margin: 0 auto; 4 | 5 | h1 { 6 | font-size: 3rem; 7 | } 8 | 9 | blockquote { 10 | margin: 20px 0; 11 | padding-left: 1.5rem; 12 | border-left: 5px solid #673ab7; 13 | } 14 | 15 | @include sm { 16 | width: 100%; 17 | 18 | h2 { 19 | text-align: center; 20 | margin-top: 1rem; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /sample-site/styles/_animations.scss: -------------------------------------------------------------------------------- 1 | @mixin mobile-navbar-items { 2 | @keyframes fadeInRight { 3 | 0% { 4 | opacity: 0; 5 | transform: translateX(20px); 6 | } 7 | 8 | 100% { 9 | opacity: 1; 10 | transform: traslateX(0px); 11 | } 12 | } 13 | 14 | li { 15 | animation: fadeInRight 0.5s ease forwards; 16 | animation-delay: 0.25s; 17 | 18 | @for $i from 2 through 10 { 19 | &:nth-child(#{$i}n) { 20 | animation-delay: #{0.25 + $i * 0.05}s; 21 | } 22 | } 23 | } 24 | } 25 | 26 | @mixin mobile-navbar-icon { 27 | @keyframes clickfirst { 28 | 0% { 29 | transform: rotate(0deg); 30 | } 31 | 32 | 100% { 33 | transform: rotate(45deg); 34 | } 35 | } 36 | 37 | @keyframes clickmid { 38 | 0% { 39 | opacity: 1; 40 | } 41 | 42 | 100% { 43 | opacity: 0; 44 | } 45 | } 46 | 47 | @keyframes clicklast { 48 | 0% { 49 | transform: rotate(0deg); 50 | } 51 | 52 | 100% { 53 | transform: rotate(-45deg); 54 | } 55 | } 56 | 57 | @keyframes outfirst { 58 | 0% { 59 | transform: rotate(45deg); 60 | } 61 | 62 | 100% { 63 | transform: translateY(-10px) rotate(0deg); 64 | } 65 | } 66 | 67 | @keyframes outmid { 68 | 0% { 69 | opacity: 0; 70 | } 71 | 72 | 100% { 73 | opacity: 1; 74 | } 75 | } 76 | 77 | @keyframes outlast { 78 | 0% { 79 | transform: rotate(-45deg); 80 | } 81 | 82 | 100% { 83 | transform: translateY(10px) rotate(0deg); 84 | } 85 | } 86 | 87 | .nope { 88 | span { 89 | &:nth-child(1) { 90 | animation: outfirst 0.2s; 91 | animation-fill-mode: both; 92 | } 93 | 94 | &:nth-child(2) { 95 | animation: outmid 0.2s; 96 | animation-fill-mode: both; 97 | } 98 | 99 | &:nth-child(3) { 100 | animation: outlast 0.2s; 101 | animation-fill-mode: both; 102 | } 103 | } 104 | } 105 | 106 | .out { 107 | span { 108 | &:nth-child(1) { 109 | animation: clickfirst 0.2s; 110 | animation-fill-mode: both; 111 | } 112 | 113 | &:nth-child(2) { 114 | animation: clickmid 0.2s; 115 | animation-fill-mode: both; 116 | } 117 | 118 | &:nth-child(3) { 119 | animation: clicklast 0.2s; 120 | animation-fill-mode: both; 121 | } 122 | } 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /sample-site/styles/_awards.scss: -------------------------------------------------------------------------------- 1 | .awards { 2 | .table-container { 3 | font-size: 1.2rem; 4 | 5 | @include sm { 6 | font-size: 1rem; 7 | } 8 | table { 9 | margin-bottom: 1rem; 10 | width: 100%; 11 | border-collapse: collapse; 12 | box-shadow: 0 2px 10px rgba(44, 52, 60, 0.6); 13 | } 14 | 15 | th, 16 | td { 17 | padding: 1rem; 18 | padding-right: 0.25rem; 19 | color: #000; 20 | 21 | .medal::before { 22 | content: " \25CF"; 23 | font-size: 30px; 24 | } 25 | 26 | .gold { 27 | color: gold; 28 | } 29 | 30 | .silver { 31 | color: silver; 32 | } 33 | 34 | .bronze { 35 | color: #cd7f32; 36 | } 37 | 38 | @include sm { 39 | padding: 0.1rem; 40 | } 41 | } 42 | 43 | th { 44 | text-align: left; 45 | color: #fff; 46 | } 47 | 48 | thead { 49 | position: sticky; 50 | top: 1; 51 | th { 52 | background-color: #009879; 53 | } 54 | } 55 | 56 | tbody { 57 | margin-top: 2rem; 58 | tr { 59 | background-color: #fff; 60 | 61 | &:nth-of-type(even) { 62 | background-color: #f3f3f3; 63 | } 64 | 65 | &:last-of-type { 66 | border-bottom: 2px solid #04d6ac; 67 | } 68 | } 69 | 70 | #overall { 71 | &:first-of-type { 72 | background-color: lightblue; 73 | } 74 | } 75 | td { 76 | position: relative; 77 | ul { 78 | list-style-type: none; 79 | } 80 | 81 | @include sm { 82 | ul { 83 | padding: 0.25rem; 84 | } 85 | } 86 | } 87 | } 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /sample-site/styles/_contacts.scss: -------------------------------------------------------------------------------- 1 | .cards { 2 | display: flex; 3 | flex-wrap: wrap; 4 | justify-content: center; 5 | 6 | .card { 7 | background-color: white; 8 | margin: 1rem 1rem; 9 | width: 20rem; 10 | border-radius: 1rem; 11 | 12 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); 13 | .intro { 14 | position: relative; 15 | overflow: hidden; 16 | 17 | img { 18 | object-fit: cover; 19 | width: 100%; 20 | height: 20rem; 21 | border-radius: 1rem 1rem 0 0; 22 | } 23 | 24 | span { 25 | position: absolute; 26 | bottom: 0.25rem; 27 | left: 0; 28 | width: 100%; 29 | padding: 1rem 0.5rem; 30 | 31 | color: white; 32 | background: linear-gradient(transparent, rgba(0, 0, 0, 0.75)); 33 | font-size: 1.5rem; 34 | } 35 | } 36 | .card-content { 37 | margin: 1rem 1rem; 38 | 39 | svg { 40 | color: black; 41 | } 42 | } 43 | } 44 | } 45 | 46 | .contact { 47 | align-items: center; 48 | 49 | .card:nth-child(1) { 50 | width: 40%; 51 | 52 | @include sm { 53 | width: 20rem; 54 | } 55 | } 56 | 57 | .card:nth-child(2) { 58 | width: 40%; 59 | 60 | @include sm { 61 | width: 20rem; 62 | } 63 | } 64 | 65 | p { 66 | text-align: center; 67 | } 68 | } 69 | 70 | .staff { 71 | align-items: center; 72 | 73 | p { 74 | text-align: center; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /sample-site/styles/_footer.scss: -------------------------------------------------------------------------------- 1 | .footer { 2 | display: flex; 3 | flex-direction: row; 4 | justify-content: space-around; 5 | 6 | padding: 1.5rem; 7 | width: 80%; 8 | max-width: 1280px; 9 | border-radius: 20px; 10 | 11 | background: linear-gradient(45deg, #93c1fa, #54ffffcc); 12 | color: #fff; 13 | 14 | ul { 15 | margin: 0 1rem; 16 | list-style-type: none; 17 | 18 | li { 19 | a { 20 | color: #fff; 21 | text-decoration: dotted; 22 | margin-left: 1rem; 23 | 24 | &:hover { 25 | color: white; 26 | text-decoration: underline !important; 27 | } 28 | } 29 | } 30 | } 31 | 32 | @include sm { 33 | flex-direction: column; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sample-site/styles/_imageModal.scss: -------------------------------------------------------------------------------- 1 | .image-container { 2 | .main-image { 3 | width: 100%; 4 | 5 | -webkit-transition: all ease 0.3s; 6 | -moz-transition: all ease 0.3s; 7 | -ms-transition: all ease 0.3s; 8 | -o-transition: all ease 0.3s; 9 | transition: all ease 0.3s; 10 | 11 | &:hover { 12 | cursor: pointer; 13 | 14 | box-shadow: 0 2px 30px rgba(44, 52, 60, 0.6); 15 | -webkit-transform: translateY(-5px); 16 | -moz-transform: translateY(-5px); 17 | -ms-transform: translateY(-5px); 18 | -o-transform: translateY(-5px); 19 | transform: translateY(-5px); 20 | } 21 | } 22 | } 23 | 24 | .ReactModal__Content.ReactModal__Content--after-open { 25 | border-radius: 1rem !important; 26 | box-shadow: 0px 10px 20px rgba($color: #000000, $alpha: 0.25); 27 | height: 40rem !important; 28 | display: flex; 29 | flex-direction: column; 30 | justify-content: center; 31 | align-items: center; 32 | .modal-image { 33 | width: 100%; 34 | max-width: 30rem; 35 | border-radius: 20px; 36 | } 37 | 38 | p { 39 | width: 75%; 40 | } 41 | 42 | @include sm { 43 | display: inline-block; 44 | 45 | p { 46 | width: 100%; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sample-site/styles/_layout.scss: -------------------------------------------------------------------------------- 1 | .container { 2 | width: 100%; 3 | // background: #fff; 4 | // border-left: 1px solid #eceef1; 5 | // border-right: 1px solid #eceef1; 6 | 7 | .wave { 8 | position: fixed; 9 | top: 0; 10 | z-index: -1; 11 | height: 50vh; 12 | transform: scale(-1); 13 | } 14 | 15 | .intro { 16 | width: 100%; 17 | h1 { 18 | font-size: 3rem; 19 | font-weight: bold; 20 | } 21 | 22 | p { 23 | font-size: 1.5rem; 24 | } 25 | } 26 | 27 | .footer-container { 28 | display: flex; 29 | align-items: center; 30 | justify-content: center; 31 | } 32 | } 33 | 34 | .header { 35 | margin: 5rem 0 0; 36 | display: flex; 37 | flex-direction: column; 38 | align-items: center; 39 | border-top: 4px solid #f0f0f0; 40 | padding-top: 2rem; 41 | } 42 | 43 | .headerImage { 44 | width: 5rem; 45 | height: 5rem; 46 | } 47 | 48 | .backToHome { 49 | margin: 3rem 0 0; 50 | } 51 | -------------------------------------------------------------------------------- /sample-site/styles/_main.scss: -------------------------------------------------------------------------------- 1 | body { 2 | main { 3 | height: 100%; 4 | display: flex; 5 | flex-direction: column; 6 | justify-content: center; 7 | align-items: center; 8 | align-content: center; 9 | 10 | max-width: 1440px; 11 | // background-color: #fff; 12 | width: 80vw; 13 | margin: 0 auto; 14 | padding: 0.5rem; 15 | border-radius: 20px; 16 | 17 | @include sm { 18 | width: 95vw; 19 | } 20 | } 21 | 22 | .home { 23 | display: flex; 24 | margin-top: 2rem; 25 | justify-content: center; 26 | align-items: center; 27 | height: 40vh; 28 | 29 | @include sm { 30 | flex-direction: column; 31 | height: 100%; 32 | } 33 | 34 | h1 { 35 | font-size: 3rem; 36 | font-weight: bold; 37 | } 38 | 39 | .headings { 40 | h1, 41 | h2 { 42 | margin: 0; 43 | font-weight: normal; 44 | } 45 | 46 | @include sm { 47 | text-align: center; 48 | 49 | h1 { 50 | font-size: 2.5rem; 51 | } 52 | h2 { 53 | font-size: 1.4rem; 54 | } 55 | } 56 | } 57 | 58 | .logo { 59 | img { 60 | width: 150px; 61 | padding: 0 2rem; 62 | 63 | @include sm { 64 | width: 100px; 65 | } 66 | } 67 | 68 | @include sm { 69 | display: flex; 70 | align-items: center; 71 | justify-content: center; 72 | } 73 | } 74 | } 75 | 76 | .intro-image { 77 | width: 100%; 78 | } 79 | 80 | .m-content { 81 | width: 95%; 82 | background-color: #fff; 83 | border-radius: 20px; 84 | padding: 1rem; 85 | 86 | @include sm { 87 | margin-top: 1rem; 88 | h2 { 89 | margin-top: 0.5rem; 90 | } 91 | } 92 | } 93 | 94 | .events-slider { 95 | width: 85%; 96 | margin: 0 auto; 97 | margin-bottom: 3rem; 98 | 99 | @include sm { 100 | width: 100%; 101 | display: flex; 102 | flex-direction: column; 103 | align-items: center; 104 | } 105 | } 106 | 107 | .facilities { 108 | width: 85%; 109 | margin: 0 auto; 110 | .image-modals { 111 | display: flex; 112 | flex-direction: row; 113 | justify-content: center; 114 | 115 | .column { 116 | display: flex; 117 | flex-direction: column; 118 | width: 50%; 119 | } 120 | 121 | .image-container { 122 | padding: 0.5rem; 123 | } 124 | } 125 | 126 | @include sm { 127 | width: 100%; 128 | display: flex; 129 | flex-direction: column; 130 | align-items: center; 131 | } 132 | } 133 | 134 | .societies { 135 | align-items: center; 136 | width: 85%; 137 | margin: 0 auto; 138 | margin-bottom: 2rem; 139 | 140 | .main-content { 141 | display: flex; 142 | flex-direction: row; 143 | align-items: center; 144 | } 145 | 146 | h2 { 147 | a { 148 | text-decoration: none; 149 | color: #000; 150 | } 151 | } 152 | 153 | @include sm { 154 | width: 100%; 155 | display: flex; 156 | flex-direction: column; 157 | align-items: center; 158 | 159 | .main-content { 160 | flex-direction: column; 161 | } 162 | } 163 | } 164 | 165 | .fests { 166 | width: 85%; 167 | margin: 0 auto; 168 | margin-bottom: 2rem; 169 | 170 | .main-content { 171 | display: flex; 172 | flex-direction: row; 173 | align-items: center; 174 | } 175 | 176 | .society-cards { 177 | .card { 178 | .intro { 179 | .image-container { 180 | .main-image { 181 | max-width: none; 182 | } 183 | } 184 | } 185 | 186 | @include sm { 187 | width: 20rem; 188 | } 189 | } 190 | } 191 | 192 | .fest { 193 | .card { 194 | width: 40%; 195 | 196 | @include sm { 197 | width: 20rem; 198 | } 199 | } 200 | } 201 | 202 | @include sm { 203 | width: 100%; 204 | display: flex; 205 | flex-direction: column; 206 | align-items: center; 207 | 208 | .main-content { 209 | flex-direction: column; 210 | } 211 | } 212 | } 213 | 214 | .fake-button { 215 | color: #fff; 216 | text-decoration: none; 217 | padding: 1rem 2rem; 218 | border-radius: 1rem; 219 | background-color: #26a69a; 220 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); 221 | transition: 0.3s ease-out; 222 | 223 | &:hover { 224 | background-color: #2bbbad; 225 | } 226 | } 227 | 228 | .points { 229 | background-color: #fff; 230 | border-radius: 20px; 231 | padding: 1rem; 232 | } 233 | 234 | .tabs { 235 | display: flex; 236 | flex-direction: row; 237 | .tab { 238 | margin: 1rem; 239 | color: #fff; 240 | text-decoration: none; 241 | padding: 1rem 2rem; 242 | border-radius: 1rem; 243 | background-color: #219287; 244 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); 245 | transition: 0.3s ease-out; 246 | 247 | &:hover { 248 | background-color: #2bbbad; 249 | } 250 | } 251 | 252 | .active { 253 | background-color: #2bbbad; 254 | } 255 | 256 | @include sm { 257 | flex-direction: column; 258 | 259 | .tab { 260 | margin: 0.5rem; 261 | } 262 | } 263 | } 264 | .content { 265 | display: flex; 266 | flex-direction: column; 267 | width: 100%; 268 | min-height: 75vh; 269 | 270 | h1 { 271 | font-weight: 800; 272 | font-size: 3rem; 273 | } 274 | 275 | img { 276 | width: 70%; 277 | align-self: center; 278 | } 279 | 280 | .chart { 281 | height: 50rem; 282 | } 283 | } 284 | } 285 | -------------------------------------------------------------------------------- /sample-site/styles/_mixins.scss: -------------------------------------------------------------------------------- 1 | @mixin sm { 2 | @media (max-width: 1095px) { 3 | @content; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /sample-site/styles/_navbar.scss: -------------------------------------------------------------------------------- 1 | .menu { 2 | font-size: 1.5rem; 3 | padding-top: 0.5rem; 4 | // border-bottom: 1px solid #fff6f8; 5 | .wrapper { 6 | display: flex; 7 | align-items: center; 8 | justify-content: space-between; 9 | 10 | .logo { 11 | white-space: nowrap; 12 | a { 13 | margin-left: 1rem; 14 | display: flex; 15 | text-decoration: none; 16 | align-items: center; 17 | position: relative; 18 | color: #000; 19 | 20 | &::before { 21 | content: ""; 22 | width: 0; 23 | height: 2px; 24 | 25 | position: absolute; 26 | left: 0; 27 | bottom: 0; 28 | background-color: #f44336; 29 | visibility: hidden; 30 | transition: all 0.3s ease-in-out; 31 | } 32 | 33 | &:hover::before { 34 | visibility: visible; 35 | width: 100%; 36 | } 37 | } 38 | 39 | img { 40 | height: 24px; 41 | cursor: pointer; 42 | } 43 | } 44 | 45 | ul { 46 | display: flex; 47 | justify-content: center; 48 | list-style: none; 49 | font-size: rem; 50 | padding: 0; 51 | 52 | li { 53 | margin: 0 2rem; 54 | padding: 0 0.5rem; 55 | 56 | svg { 57 | width: 20px; 58 | margin-top: 3px; 59 | } 60 | 61 | a { 62 | display: flex; 63 | align-items: center; 64 | text-decoration: none; 65 | color: #000; 66 | position: relative; 67 | 68 | &::before { 69 | content: ""; 70 | width: 0; 71 | height: 2px; 72 | 73 | position: absolute; 74 | left: 0; 75 | bottom: 0; 76 | background-color: #f44336; 77 | visibility: hidden; 78 | transition: all 0.3s ease-in-out; 79 | } 80 | 81 | &:hover::before { 82 | visibility: visible; 83 | width: 100%; 84 | } 85 | } 86 | } 87 | 88 | .dropdown-title { 89 | color: #000; 90 | display: flex; 91 | align-items: center; 92 | position: relative; 93 | 94 | .dropdown-content { 95 | display: none; 96 | color: #fff; 97 | white-space: nowrap; 98 | border-radius: 10px; 99 | white-space: nowrap; 100 | background: linear-gradient(96.58deg, #ef2a5d 0%, #ee5434 100%); 101 | box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25); 102 | 103 | a { 104 | color: #fff; 105 | 106 | &::before { 107 | background-color: #67ecfd; 108 | } 109 | } 110 | } 111 | 112 | &:hover { 113 | .dropdown-content { 114 | display: block; 115 | position: absolute; 116 | top: 0; 117 | left: 0; 118 | z-index: 99; 119 | 120 | margin-top: 2rem; 121 | li { 122 | margin: 0.75rem 0; 123 | } 124 | } 125 | } 126 | } 127 | } 128 | } 129 | 130 | @include sm { 131 | display: none; 132 | } 133 | } 134 | 135 | .mobile-navbar { 136 | .wrapper { 137 | visibility: hidden; 138 | overflow: hidden; 139 | max-height: 0; 140 | 141 | display: flex; 142 | justify-content: center; 143 | align-items: center; 144 | opacity: 0; 145 | 146 | ul { 147 | display: flex; 148 | flex-direction: column; 149 | 150 | list-style: none; 151 | padding: 0; 152 | margin: 6rem 1rem; 153 | 154 | font-size: 1.5rem; 155 | 156 | li { 157 | margin: 0.5rem 1rem; 158 | opacity: 0; 159 | 160 | a { 161 | display: flex; 162 | align-items: center; 163 | justify-content: center; 164 | text-decoration: none; 165 | color: #fff; 166 | } 167 | 168 | img { 169 | width: 40px; 170 | cursor: pointer; 171 | } 172 | } 173 | } 174 | } 175 | 176 | .dropdown-title { 177 | cursor: pointer; 178 | display: flex; 179 | justify-content: center; 180 | align-items: center; 181 | 182 | color: #fff; 183 | .dropdown-content { 184 | display: none; 185 | } 186 | } 187 | 188 | .down { 189 | .dropdown-content { 190 | display: block; 191 | margin: 0.5rem 0 0 0; 192 | 193 | white-space: nowrap; 194 | } 195 | } 196 | 197 | .active { 198 | visibility: visible; 199 | max-height: 100%; 200 | position: fixed; 201 | z-index: 98; 202 | top: 0; 203 | left: 0; 204 | height: 100vh; 205 | width: 100vw; 206 | opacity: 0.9; 207 | 208 | @include mobile-navbar-items(); 209 | transition: opacity 0.35s, visibility 0.35s, height 0.35s; 210 | background: #e5261f; 211 | } 212 | 213 | .bar { 214 | display: flex; 215 | justify-content: space-between; 216 | width: 98vw; 217 | 218 | .logo { 219 | margin-left: 1rem; 220 | margin-top: 0.5rem; 221 | display: none; 222 | a { 223 | display: flex; 224 | text-decoration: none; 225 | color: #000; 226 | } 227 | 228 | img { 229 | height: 40px; 230 | cursor: pointer; 231 | } 232 | 233 | @include sm { 234 | display: inline-block; 235 | } 236 | } 237 | } 238 | 239 | @include mobile-navbar-icon(); 240 | 241 | .mobile-navbar-icon { 242 | display: none; 243 | left: 20px; 244 | top: 25px; 245 | width: 30px; 246 | height: 50px; 247 | 248 | text-align: center; 249 | cursor: pointer; 250 | 251 | span { 252 | position: absolute; 253 | width: 36px; 254 | height: 3px; 255 | background-color: #e5261f; 256 | } 257 | 258 | @include sm { 259 | display: flex; 260 | flex-direction: column; 261 | justify-content: center; 262 | align-items: center; 263 | } 264 | } 265 | 266 | .out { 267 | span { 268 | position: absolute; 269 | z-index: 99; 270 | background-color: #fff; 271 | } 272 | } 273 | } 274 | -------------------------------------------------------------------------------- /sample-site/styles/_office.scss: -------------------------------------------------------------------------------- 1 | .office { 2 | display: flex; 3 | flex-direction: column; 4 | width: 100%; 5 | background-color: #fff; 6 | border-radius: 20px; 7 | padding: 1rem; 8 | 9 | .member { 10 | display: flex; 11 | flex-direction: row; 12 | align-items: center; 13 | 14 | h3 { 15 | margin-left: 2rem; 16 | } 17 | } 18 | } 19 | 20 | select { 21 | max-width: 500px; 22 | outline: 0; 23 | background-color: #219287; 24 | padding: 0.5rem 1rem; 25 | margin: 0.5rem 1rem; 26 | border: none; 27 | border-radius: 12px; 28 | font-size: 20px; 29 | color: #fff; 30 | &:active, 31 | &:focus { 32 | background-color: #219287; 33 | border: none; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sample-site/styles/_slider.scss: -------------------------------------------------------------------------------- 1 | .awssld { 2 | --slider-transition-duration: 360ms !important; 3 | 4 | --organic-arrow-thickness: 11px !important; 5 | --organic-arrow-color: #67ecfd !important; 6 | 7 | --control-bullet-active-color: #67ecfd !important; 8 | --control-bullet-color: #f44336 !important; 9 | } 10 | -------------------------------------------------------------------------------- /sample-site/styles/_soc-detailes.scss: -------------------------------------------------------------------------------- 1 | .details { 2 | div { 3 | display: flex; 4 | 5 | flex-direction: row; 6 | 7 | @include sm { 8 | flex-direction: column; 9 | } 10 | 11 | p { 12 | img { 13 | min-width: 50rem; 14 | padding: 0 2rem; 15 | 16 | @include sm { 17 | min-width: 10rem; 18 | } 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /sample-site/styles/_societies.scss: -------------------------------------------------------------------------------- 1 | .society-cards { 2 | display: flex; 3 | flex-wrap: wrap; 4 | justify-content: center; 5 | width: 100%; 6 | 7 | .card { 8 | background-color: white; 9 | margin: 1rem 1rem; 10 | width: 20rem; 11 | border-radius: 1rem; 12 | cursor: pointer; 13 | 14 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); 15 | 16 | -webkit-transition: all ease 0.3s; 17 | -moz-transition: all ease 0.3s; 18 | -ms-transition: all ease 0.3s; 19 | -o-transition: all ease 0.3s; 20 | transition: all ease 0.3s; 21 | 22 | &:hover { 23 | cursor: pointer; 24 | 25 | box-shadow: 0 2px 30px rgba(44, 52, 60, 0.6); 26 | -webkit-transform: translateY(-5px); 27 | -moz-transform: translateY(-5px); 28 | -ms-transform: translateY(-5px); 29 | -o-transform: translateY(-5px); 30 | transform: translateY(-5px); 31 | } 32 | 33 | .main-image { 34 | box-shadow: 0 30px rgba(44, 52, 60, 0); 35 | transform: translateY(0); 36 | } 37 | 38 | .intro { 39 | position: relative; 40 | 41 | img { 42 | object-fit: cover; 43 | width: 100%; 44 | height: 20rem; 45 | border-radius: 1rem 1rem 0 0; 46 | } 47 | 48 | span { 49 | position: absolute; 50 | bottom: 0; 51 | left: 0; 52 | width: 100%; 53 | padding: 0 0 1rem 1rem; 54 | 55 | color: white; 56 | // background: linear-gradient(transparent, rgba(0, 0, 0, 0.75)); 57 | font-size: 1.5rem; 58 | } 59 | } 60 | .card-content { 61 | margin: 1rem 1rem; 62 | 63 | a { 64 | text-decoration: none; 65 | } 66 | 67 | svg { 68 | color: black; 69 | } 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /sample-site/styles/_typography.scss: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Playfair+Display&display=swap"); 2 | @import url("https://fonts.googleapis.com/css2?family=Lato:wght@100;400&display=swap"); 3 | 4 | body { 5 | font-size: 20px; 6 | font-family: "Lato", sans-serif; 7 | font-weight: 400; 8 | -webkit-font-smoothing: antialiased; 9 | -moz-osx-font-smoothing: grayscale; 10 | color: black; 11 | 12 | h1, 13 | h2 { 14 | font-family: "Playfair Display", serif; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /sample-site/styles/_variables.scss: -------------------------------------------------------------------------------- 1 | $primary: #ff5b84; 2 | 3 | $text-color: #111; 4 | -------------------------------------------------------------------------------- /sample-site/styles/site.scss: -------------------------------------------------------------------------------- 1 | @import "mixins"; 2 | @import "variables"; 3 | @import "typography"; 4 | @import "main"; 5 | @import "animations"; 6 | 7 | // styling for components 8 | @import "layout"; 9 | @import "navbar"; 10 | @import "footer"; 11 | @import "imageModal"; 12 | @import "slider"; 13 | 14 | // styling for pages 15 | @import "contacts"; 16 | @import "about"; 17 | @import "societies"; 18 | @import "awards"; 19 | @import "soc-detailes"; 20 | @import "office"; 21 | 22 | #__next { 23 | display: flex; 24 | flex-direction: column; 25 | align-items: center; 26 | 27 | height: 100%; 28 | position: relative; 29 | margin: 0; 30 | 31 | overflow-x: hidden; 32 | width: 100%; 33 | } 34 | 35 | * { 36 | -webkit-tap-highlight-color: transparent; 37 | } 38 | 39 | html body { 40 | min-height: 100vh; 41 | margin: 0; 42 | // background: linear-gradient(135deg, #f44336, #673ab7); 43 | background: #f44336; 44 | // background: url(../public/wave1.svg); 45 | // background-size: contain; 46 | // background-repeat: no-repeat; 47 | } 48 | --------------------------------------------------------------------------------