├── CNAME ├── public ├── sagar.jpg ├── robots.txt ├── fonts │ ├── atkinson-bold.woff │ └── atkinson-regular.woff ├── js │ ├── scroll.js │ ├── animate.js │ ├── theme.js │ └── bg.js ├── brand.svg ├── favicon.svg ├── social.svg ├── stack.svg └── ui.svg ├── src ├── env.d.ts ├── content │ ├── blog │ │ ├── assets │ │ │ ├── dna.png │ │ │ ├── redRose.png │ │ │ ├── wctool.png │ │ │ ├── algoBotany.png │ │ │ ├── ramayana.png │ │ │ ├── squareRose.png │ │ │ └── paramTwitter.png │ │ ├── mrVoyager.md │ │ ├── westWorld.md │ │ ├── AOT │ │ │ └── mikasa.md │ │ ├── ts-notes.md │ │ ├── p5js │ │ │ ├── algoBotany.md │ │ │ ├── squareRose.md │ │ │ ├── dna.md │ │ │ ├── redRose.md │ │ │ ├── parametricEq.md │ │ │ ├── pixelRamayana.md │ │ │ └── fireworksRamayana.md │ │ └── projects │ │ │ └── wctool.md │ ├── projects │ │ └── index.md │ ├── work │ │ ├── pepcoding.md │ │ ├── codingBlocks.md │ │ ├── ieee.md │ │ ├── freelance1.md │ │ └── freelance2.md │ ├── config.ts │ └── legal │ │ ├── terms.md │ │ └── privacy.md ├── layouts │ ├── TopLayout.astro │ ├── BottomLayout.astro │ ├── PageLayout.astro │ ├── ArticleBottomLayout.astro │ └── ArticleTopLayout.astro ├── pages │ ├── robots.txt.ts │ ├── projects │ │ ├── index.astro │ │ └── [...slug].astro │ ├── rss.xml.ts │ ├── search │ │ └── index.astro │ ├── blog │ │ ├── index.astro │ │ └── [...slug].astro │ ├── legal │ │ └── [...slug].astro │ ├── work │ │ └── index.astro │ └── index.astro ├── components │ ├── Container.astro │ ├── Counter.tsx │ ├── StackCard.astro │ ├── MeteorShower.astro │ ├── Search.tsx │ ├── Drawer.astro │ ├── ArrowCard.tsx │ ├── TwinklingStars.astro │ ├── BaseHead.astro │ ├── Blog.tsx │ ├── Projects.tsx │ ├── Footer.astro │ └── Header.astro ├── types.ts ├── lib │ └── utils.ts ├── consts.ts └── styles │ └── global.css ├── .vscode ├── settings.json ├── extensions.json └── launch.json ├── .gitignore ├── astro.config.mjs ├── tsconfig.json ├── .github └── workflows │ └── stale.yaml ├── package.json ├── LICENSE ├── tailwind.config.mjs └── README.md /CNAME: -------------------------------------------------------------------------------- 1 | www.sarlloc.xyz 2 | -------------------------------------------------------------------------------- /public/sagar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/public/sagar.jpg -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Allow: / 3 | 4 | Sitemap: http://localhost:4321/sitemap-index.xml -------------------------------------------------------------------------------- /src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "[astro]": { 3 | "editor.defaultFormatter": "astro-build.astro-vscode" 4 | } 5 | } -------------------------------------------------------------------------------- /public/fonts/atkinson-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/public/fonts/atkinson-bold.woff -------------------------------------------------------------------------------- /src/content/blog/assets/dna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/src/content/blog/assets/dna.png -------------------------------------------------------------------------------- /public/fonts/atkinson-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/public/fonts/atkinson-regular.woff -------------------------------------------------------------------------------- /src/content/blog/assets/redRose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/src/content/blog/assets/redRose.png -------------------------------------------------------------------------------- /src/content/blog/assets/wctool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/src/content/blog/assets/wctool.png -------------------------------------------------------------------------------- /src/content/blog/assets/algoBotany.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/src/content/blog/assets/algoBotany.png -------------------------------------------------------------------------------- /src/content/blog/assets/ramayana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/src/content/blog/assets/ramayana.png -------------------------------------------------------------------------------- /src/content/blog/assets/squareRose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/src/content/blog/assets/squareRose.png -------------------------------------------------------------------------------- /src/content/blog/assets/paramTwitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zoyron/portfolio/HEAD/src/content/blog/assets/paramTwitter.png -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["astro-build.astro-vscode", "unifiedjs.vscode-mdx"], 3 | "unwantedRecommendations": [] 4 | } 5 | -------------------------------------------------------------------------------- /src/content/projects/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Projects" 3 | summary: "A list of my projects and their links" 4 | date: "Jun 20 2024" 5 | draft: false 6 | tags: 7 | - Projects 8 | --- 9 | 10 | -------------------------------------------------------------------------------- /src/layouts/TopLayout.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import Container from "@components/Container.astro" 3 | --- 4 | 5 |
6 | 7 | 8 | 9 |
-------------------------------------------------------------------------------- /src/layouts/BottomLayout.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import Container from "@components/Container.astro" 3 | --- 4 | 5 |
6 | 7 | 8 | 9 |
10 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "command": "./node_modules/.bin/astro dev", 6 | "name": "Development server", 7 | "request": "launch", 8 | "type": "node-terminal" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /public/js/scroll.js: -------------------------------------------------------------------------------- 1 | function onScroll() { 2 | const header = document.getElementById("header") 3 | if (window.scrollY > 0) { 4 | header.classList.add("scrolled") 5 | } else { 6 | header.classList.remove("scrolled") 7 | } 8 | } 9 | 10 | document.addEventListener("scroll", onScroll) 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | 4 | # generated types 5 | .astro/ 6 | 7 | # dependencies 8 | node_modules/ 9 | 10 | # logs 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # environment variables 17 | .env 18 | .env.production 19 | 20 | # macOS-specific files 21 | .DS_Store 22 | -------------------------------------------------------------------------------- /public/js/animate.js: -------------------------------------------------------------------------------- 1 | function animate() { 2 | const animateElements = document.querySelectorAll('.animate') 3 | 4 | animateElements.forEach((element, index) => { 5 | setTimeout(() => { 6 | element.classList.add('show') 7 | }, index * 150) 8 | }); 9 | } 10 | 11 | document.addEventListener("DOMContentLoaded", animate) 12 | document.addEventListener("astro:after-swap", animate) -------------------------------------------------------------------------------- /src/pages/robots.txt.ts: -------------------------------------------------------------------------------- 1 | import type { APIRoute } from "astro" 2 | 3 | const robotsTxt = ` 4 | User-agent: * 5 | Allow: / 6 | 7 | Sitemap: ${new URL("sitemap-index.xml", import.meta.env.SITE).href} 8 | `.trim() 9 | 10 | export const GET: APIRoute = () => { 11 | return new Response(robotsTxt, { 12 | headers: { 13 | "Content-Type": "text/plain; charset=utf-8", 14 | }, 15 | }) 16 | } 17 | -------------------------------------------------------------------------------- /public/brand.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/content/work/pepcoding.md: -------------------------------------------------------------------------------- 1 | --- 2 | company: "Pepcoding" 3 | role: "Intern" 4 | dateStart: "Jun 2021" 5 | dateEnd: "Sep 2021" 6 | --- 7 | 8 | My work involved writing articles and technical content for the following topics: 9 | - JavaScript and Nodejs. 10 | - Reactjs and HTMLDom. 11 | - Data structures and algorithms. 12 | 13 | Articles written by me were read by thousands of people across the country on a daily basis. 14 | -------------------------------------------------------------------------------- /astro.config.mjs: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "astro/config" 2 | import mdx from "@astrojs/mdx" 3 | import sitemap from "@astrojs/sitemap" 4 | import tailwind from "@astrojs/tailwind" 5 | import solidJs from "@astrojs/solid-js" 6 | 7 | // https://astro.build/config 8 | export default defineConfig({ 9 | site: "https://www.sarlloc.xyz", 10 | integrations: [mdx(), sitemap(), solidJs(), tailwind({ applyBaseStyles: false })], 11 | }) 12 | -------------------------------------------------------------------------------- /src/content/work/codingBlocks.md: -------------------------------------------------------------------------------- 1 | --- 2 | company: "Coding Blocks" 3 | role: "Teaching Assistant" 4 | dateStart: "Jun 2019" 5 | dateEnd: "Jan 2020" 6 | --- 7 | 8 | Served as a teaching assistant for course on Data Structures and Algorithms in C++. My responsibilities involved: 9 | - Creating tutorials. 10 | - Debugging codes/problems for students. 11 | - Conducting problem-solving sessions. 12 | 13 | Was still running my freelance agency side by side. 14 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "astro/tsconfigs/strict", 3 | "compilerOptions": { 4 | "strictNullChecks": true, 5 | "baseUrl": ".", 6 | "paths": { 7 | "@*": [ 8 | "src/*" 9 | ] 10 | }, 11 | "jsx": "preserve", 12 | "jsxImportSource": "solid-js" 13 | }, 14 | "include": [ 15 | "src/**/*.ts", 16 | "src/**/*.tsx", 17 | "src/**/*.astro" 18 | ], 19 | "exclude": [ 20 | "dist", 21 | "node_modules" 22 | ] 23 | } -------------------------------------------------------------------------------- /src/components/Container.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import { cn } from "@lib/utils" 3 | 4 | type Props = { 5 | size: "sm" | "md" | "lg" | "xl" | "2xl" 6 | } 7 | 8 | const { size } = Astro.props; 9 | --- 10 | 11 |
19 | 20 |
21 | -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/content/work/ieee.md: -------------------------------------------------------------------------------- 1 | --- 2 | company: "IEEE BPIT Chapter" 3 | role: "Instructor" 4 | dateStart: "Aug 2019" 5 | dateEnd: "Nov 2019" 6 | --- 7 | 8 | It was not my first job as a teacher, but definitely the one where I learnt the most. 9 | Apart from gathering like-minded students(mostly juniors) for conducting SIGs(self interest groups), my job as an Instructor also included teaching them following subject: 10 | - C/C++ 11 | - OOPS 12 | - Python 13 | - Basics of algorithms and data structures 14 | 15 | I did this alongside a bit of freelance work 16 | -------------------------------------------------------------------------------- /src/content/work/freelance1.md: -------------------------------------------------------------------------------- 1 | --- 2 | company: "Self Employed" 3 | role: "Freelance Developer" 4 | dateStart: "Jul 2018" 5 | dateEnd: "Nov 2019" 6 | --- 7 | 8 | Developed and sold technical projects to students of various colleges and univesities across the NCR region. 9 | At this point, I was still a sophomre in college. So in the summer breaks I used to fork projects from github and sell them, after making minor and sometiems major modifications to the code, to students of other colleges and universities for some quick pocket money. 10 | But it grew so much that I had to hire some interns 11 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | export type Page = { 2 | TITLE: string 3 | DESCRIPTION: string 4 | } 5 | 6 | export interface Site extends Page { 7 | AUTHOR: string 8 | } 9 | 10 | export type Links = { 11 | TEXT: string 12 | HREF: string 13 | }[] 14 | 15 | export type Socials = { 16 | NAME: string 17 | ICON: string 18 | TEXT: string 19 | HREF: string 20 | }[] 21 | 22 | 23 | // src/types.ts 24 | declare global { 25 | interface Window { 26 | dataLayer: any[]; 27 | gtag: (...args: any[]) => void; 28 | } 29 | // Add this line: 30 | function gtag(...args: any[]): void; 31 | } 32 | 33 | export {}; 34 | -------------------------------------------------------------------------------- /src/components/Counter.tsx: -------------------------------------------------------------------------------- 1 | import { createSignal } from "solid-js" 2 | 3 | function CounterButton() { 4 | const [count, setCount] = createSignal(0) 5 | 6 | const increment = () => setCount(count() + 1) 7 | 8 | return ( 9 |
10 | 13 |
14 | Clicked {count()} {count() === 1 ? "time" : "times"} 15 |
16 |
17 | 18 | ) 19 | } 20 | 21 | export default CounterButton 22 | -------------------------------------------------------------------------------- /src/components/StackCard.astro: -------------------------------------------------------------------------------- 1 | --- 2 | type Props = { 3 | text: string 4 | icon: string 5 | href: string 6 | } 7 | 8 | const { text, icon, href } = Astro.props 9 | --- 10 | 11 | 12 | 13 | 14 | 15 | 16 | {text} 17 | 18 | -------------------------------------------------------------------------------- /src/layouts/PageLayout.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import "@styles/global.css"; 3 | import BaseHead from "@components/BaseHead.astro"; 4 | import Header from "@components/Header.astro"; 5 | import Footer from "@components/Footer.astro"; 6 | import Drawer from "@components/Drawer.astro"; 7 | const { title, description } = Astro.props; 8 | import { SITE } from "@consts"; 9 | --- 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 |
20 | 21 |
22 |