Compare commits
17 Commits
hugo-resum
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 10123dc4d8 | |||
| f3c93b37a7 | |||
| adce459ece | |||
| 835f836d99 | |||
| 68d30076ce | |||
| 569eb1a37e | |||
| ed93a8d743 | |||
| 690d30a9f3 | |||
| 4ce8f8025a | |||
| 14084adb16 | |||
|
|
0b514c8d09 | ||
| 2b2c3bfe77 | |||
| dff69b93c5 | |||
| 6ee2f6b4e1 | |||
| f2b53c0fb7 | |||
| ea406f0d5b | |||
| dfb04085fb |
6
.gitmodules
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[submodule "themes/hugo-coder"]
|
||||||
|
path = themes/hugo-coder
|
||||||
|
url = https://github.com/luizdepra/hugo-coder.git
|
||||||
|
[submodule "themes/PaperMod"]
|
||||||
|
path = themes/PaperMod
|
||||||
|
url = https://github.com/adityatelange/hugo-PaperMod.git
|
||||||
0
.hugo_build.lock
Normal file
61
config.toml
@ -1,61 +0,0 @@
|
|||||||
baseURL = "https://example.com/"
|
|
||||||
languageCode = "en-us"
|
|
||||||
title = "Eddie Webb"
|
|
||||||
theme = "hugo-resume"
|
|
||||||
|
|
||||||
[taxonomies]
|
|
||||||
tag = "tags"
|
|
||||||
|
|
||||||
|
|
||||||
[params]
|
|
||||||
firstName = "Abijeet"
|
|
||||||
lastName = "Patro"
|
|
||||||
profileImage = "img/TechChat.png"
|
|
||||||
phone = "91-949-405-9105"
|
|
||||||
contactNote = "Software Engineer and Open Source Enthusiast"
|
|
||||||
address = "Hyderabad, India"
|
|
||||||
email = "abijeetpatro@gmail.com"
|
|
||||||
description = "Open source enthusiast and full stack software engineer with experience in designing scalable platfroms on the IoT, Healthcare, Sports, Project management and Automobile insurance domain."
|
|
||||||
favicon = "images/favicon.ico"
|
|
||||||
# what sections
|
|
||||||
showSkills = true
|
|
||||||
showProjects = true
|
|
||||||
showOpenSource = true
|
|
||||||
showPublications = false
|
|
||||||
showExperience = true
|
|
||||||
showEducation = true
|
|
||||||
showQr = true
|
|
||||||
|
|
||||||
# do you want to show git hash on page footer and link to repo? Add commit prefix here.
|
|
||||||
gitCommitPrefix = "https://github.com/eddiewebb/json-resume/commit/"
|
|
||||||
|
|
||||||
|
|
||||||
[[params.handles]]
|
|
||||||
name = "LinkedIn"
|
|
||||||
link = "https://www.linkedin.com/in/edwardwebb/"
|
|
||||||
|
|
||||||
|
|
||||||
[[params.handles]]
|
|
||||||
name = "Twitter"
|
|
||||||
link = "https://twitter.com/edwardawebb/"
|
|
||||||
|
|
||||||
[[params.handles]]
|
|
||||||
name = "GitHub"
|
|
||||||
link = "https://github.com/eddiewebb/"
|
|
||||||
|
|
||||||
[[params.handles]]
|
|
||||||
name = "Blog"
|
|
||||||
link = "https://blog.thecurlybraces.com"
|
|
||||||
icon = "rss"
|
|
||||||
|
|
||||||
[[params.handles]]
|
|
||||||
name = "StackOverflow"
|
|
||||||
link = "https://stackoverflow.com/users/story/82880"
|
|
||||||
icon = "stack-overflow"
|
|
||||||
|
|
||||||
# [params.google.analytics]
|
|
||||||
# trackerID = "UA-28342049-2"
|
|
||||||
|
|
||||||
|
|
||||||
[outputs]
|
|
||||||
home = ["HTML", "JSON"]
|
|
||||||
42
config.yml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
baseURL: https://thecurlybraces.com
|
||||||
|
languagecode: en
|
||||||
|
defaultcontentlanguage: en
|
||||||
|
title: Abijeet Patro
|
||||||
|
theme: PaperMod
|
||||||
|
|
||||||
|
params:
|
||||||
|
author: Abijeet Patro
|
||||||
|
description: Abijeet's personal website
|
||||||
|
since: 2015
|
||||||
|
colorScheme: auto
|
||||||
|
|
||||||
|
assets:
|
||||||
|
favicon: "/images/fav-32x32.png"
|
||||||
|
favicon16x16: "/images/fav-16x16.png"
|
||||||
|
favicon32x32: "/images/fav-32x32.png"
|
||||||
|
|
||||||
|
profileMode:
|
||||||
|
enabled: true
|
||||||
|
subtitle: "Full stack developer and an open source contributor"
|
||||||
|
imageUrl: "/images/profile-pic.jpg" # optional
|
||||||
|
imageWidth: 240 # custom size
|
||||||
|
imageHeight: 240 # custom size
|
||||||
|
|
||||||
|
socialIcons: # optional
|
||||||
|
- name: GitHub
|
||||||
|
url: https://github.com/abijeet/
|
||||||
|
- name: "Twitter"
|
||||||
|
url: https://twitter.com/abijeetpatro/
|
||||||
|
- name: LinkedIn
|
||||||
|
url: https://www.linkedin.com/in/abijeet-patro/
|
||||||
|
- name: StackOverflow
|
||||||
|
url: https://stackoverflow.com/users/903324/abijeet-patro?tab=profile
|
||||||
|
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
- name: About
|
||||||
|
weight: 1
|
||||||
|
url: https://blog.thecurlybraces.com/about/
|
||||||
|
- name: Blog
|
||||||
|
weight: 3
|
||||||
|
url: https://blog.thecurlybraces.com
|
||||||
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Home"
|
|
||||||
date: 2018-02-10T18:56:13-05:00
|
|
||||||
sitemap:
|
|
||||||
priority : 1.0
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
- html
|
|
||||||
- rss
|
|
||||||
- json
|
|
||||||
---
|
|
||||||
<p>Open source enthusiast and full stack software engineer with experience in designing scalable platfroms on the IoT, healthcare, sports, project management and automobile insurance domain.
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Projects"
|
|
||||||
sitemap:
|
|
||||||
priority : 0.9
|
|
||||||
---
|
|
||||||
<p>This section contains projects <a href="/projects/creations">created</a> and <a href="/projects/contributions">contbriuted</a> to by Eddie. Everything listed is an open source effort, the distinction is only my role as owner or contributor.</p>
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Open Source Contributions"
|
|
||||||
sitemap:
|
|
||||||
priority : 0.5
|
|
||||||
weight: 20
|
|
||||||
---
|
|
||||||
<p>A collection of efforts to which I contributed, but did not create. Contributing back to Open Source projects is a strong passion of mine, and requires a considerate approach to learn norms, standards and approach for each community for a successful merge!</p>
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Work Projects"
|
|
||||||
sitemap:
|
|
||||||
priority : 0.5
|
|
||||||
weight: 10
|
|
||||||
---
|
|
||||||
<p>This section lists projects that I have worked on as a part of my day job.</p>
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Baseline Telematics"
|
|
||||||
date: 2018-04-22T09:14:29+05:30
|
|
||||||
description: "SimpliCity is a 100% web-based solution that provides comprehensive management of Public Works operations all year long, including work order management and municipal assets inspections (often mandated by law). I was involved in handling large data imports when new clients migrated to our system and needed their existing data on the SimpliCity platform."
|
|
||||||
tags: ["PHP", "CakePHP", "RabbitMQ", "MariaDB", "Microservices", "Lua"]
|
|
||||||
image: ""
|
|
||||||
link: "http://simplicity.operasoft.ca/"
|
|
||||||
weight: 500
|
|
||||||
sitemap:
|
|
||||||
priority : 0.
|
|
||||||
---
|
|
||||||
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
---
|
|
||||||
title: "PineStem"
|
|
||||||
date: 2018-04-22T09:14:29+05:30
|
|
||||||
description: "PineStem is a project management tool that has been build with an Agile philosophy in mind. It has an integrated bug tracking tool, kanban board, billing system and various reports that provide insights into an employee's performance."
|
|
||||||
tags: ["AngularJS", "Material Design", "MariaDB", "NSQ", "Gitlab CI / CD", "Microservices", "Profiling"]
|
|
||||||
image: "/img/pinestem.png"
|
|
||||||
link: "https://pinestem.com"
|
|
||||||
weight: 500,
|
|
||||||
featured: true
|
|
||||||
sitemap:
|
|
||||||
priority : 0.
|
|
||||||
---
|
|
||||||
<p>PineStem is a project management tool that has been build with an Agile philosophy in mind. It has an integrated bug tracking tool, kanban board, billing system and various reports that provide insights into an employee's performance.</p>
|
|
||||||
|
|
||||||
<p>I was responsible to provide technical guidance on the project. Following are the some of the key areas that I worked on,
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Set up the base for the frontend code. Took into account the size of the project, functionalities needed and recommended guidelines when structuring the project.</li>
|
|
||||||
<li>Provided directions to break down the monolithic backend codebase into smaller microservices.</li>
|
|
||||||
<li>Approved and oversaw the integration of any new plugin that were needed.</li>
|
|
||||||
<li>Architechted the module based ACL system on both the frontend and the backend.</li>
|
|
||||||
<li>Designed the system that allows users to select their own timezone and date formats.</li>
|
|
||||||
<li>Designed the backend notification system through which all user notifications are sent, based on their preferences.</li>
|
|
||||||
<li>Analyzed and improved frontend portal performance specifically on Internet Explorer and Edge.</li>
|
|
||||||
<li>DevOps - Performed the productions server setup and laid down instructions to be followed for future deployments.</li>
|
|
||||||
</ul>
|
|
||||||
</p>
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Powerpath"
|
|
||||||
date: 2018-04-22T09:14:29+05:30
|
|
||||||
description: "PowerPath helps healthcare industry employees improve workflow, achieve lower costs, and enhance the quality of clinical care. It measures the AC power consumption and temperature over time for clinical assets such as patient monitors, bed warmers and refridgeration units etc."
|
|
||||||
tags: ["Node.js", "MariaDB", "Redis", "Cassandra", "NSQ", "Ansible", "Linux", "Microservices"]
|
|
||||||
image: "/img/powerpath.jpg"
|
|
||||||
link: "http://emanatewireless.com"
|
|
||||||
weight: 500,
|
|
||||||
featured: true
|
|
||||||
sitemap:
|
|
||||||
priority : 0.
|
|
||||||
---
|
|
||||||
<p>PowerPath is a clinical asset monitoring (CAM) unit that helps healthcare industry employees improve workflow, achieve lower costs, and enhance the quality of clinical care. It measures the AC power consumption and temperature over time for clinical assets such as patient monitors, bed warmers and refridgeration units etc.</p>
|
|
||||||
|
|
||||||
<p>The PowerPath cloud server uses analytics on the collected data to provide actionable information via various reports to the medical staff. It allows medical staff to configure the PowerPath device and set thresholds for each device individually based on the clinical asset that it is connected to. It then sends alerts whenever the asset's readings exceed the configured thresholds. The server also features a full role based system that allows administrators to provide fine grained access to users.</p>
|
|
||||||
|
|
||||||
<p>I was the Tech Lead for the cloud server. Some of the aspects of the project that I was involved in include,
|
|
||||||
<ul>
|
|
||||||
<li>Setting up the base on top of which further development for the API and the portal was done.</li>
|
|
||||||
<li>Designing and coding the interface between the cloud server and the Powerpath device.</li>
|
|
||||||
<li>Designing and coding the token based authentication system and the user role system.</li>
|
|
||||||
<li>Writing a common interface to communicate between different databases.</li>
|
|
||||||
<li>Designing and developing the various components involved in the alert notification system.</li>
|
|
||||||
<li>Designing the structure for the incident management system.</li>
|
|
||||||
<li>DevOps - Manual setup of the production server.</li>
|
|
||||||
<li>DevOps - Developing Ansible scripts to automate deployments and reduce downtime.</li>
|
|
||||||
</ul>
|
|
||||||
</p>
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Raceone"
|
|
||||||
date: 2018-04-22T13:13:36+05:30
|
|
||||||
draft: true
|
|
||||||
---
|
|
||||||
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"grouping":"Programming languages",
|
|
||||||
"skills":[ "JavaScript","PHP","Rust"]
|
|
||||||
},{
|
|
||||||
"grouping":"Frameworks",
|
|
||||||
"skills": [ "NodeJS","Express","CakePHP","Laravel","WordPress", "React","AngularJS","BootStrap","jQuery"]
|
|
||||||
}, {
|
|
||||||
"grouping":"Databases",
|
|
||||||
"skills": [ "Cassandra","Redis","MySQL","MariaDB"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"grouping":"DevOps",
|
|
||||||
"skills": ["Linux","Ansible","Nginx","MySQL","Redis","Wordpress", "NodeJS", "pm2", "DataDog", "Gitlab"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"grouping": "Software & Tools",
|
|
||||||
"skills": ["Bash", "Postman", "Gimp", "Meld", "Code", "NetBeans", "Geany", "nano", "git", "nsq", "RabbitMQ", "grunt"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"grouping": "Project Management",
|
|
||||||
"skills": [
|
|
||||||
{"name":"PineStem","link":"https://pinestem.com"}, "JIRA", "Trello", "Asana"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
209
public/404.html
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<title>404 Page not found | Abijeet Patro</title>
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<meta name="description" content="Abijeet's personal website">
|
||||||
|
<meta name="author" content="Abijeet Patro">
|
||||||
|
<link rel="canonical" href="https://thecurlybraces.com/404.html">
|
||||||
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.bc1149f4a72aa4858d3a9f71462f75e5884ffe8073ea9d6d5761d5663d651e20.css" integrity="sha256-vBFJ9KcqpIWNOp9xRi915YhP/oBz6p1tV2HVZj1lHiA=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="https://thecurlybraces.com/images/fav-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="https://thecurlybraces.com/images/fav-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="https://thecurlybraces.com/images/fav-32x32.png">
|
||||||
|
<link rel="apple-touch-icon" href="https://thecurlybraces.com/apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="https://thecurlybraces.com/safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" hreflang="en" href="https://thecurlybraces.com/404.html">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--theme: rgb(29, 30, 32);
|
||||||
|
--entry: rgb(46, 46, 51);
|
||||||
|
--primary: rgb(218, 218, 219);
|
||||||
|
--secondary: rgb(155, 156, 157);
|
||||||
|
--tertiary: rgb(65, 66, 68);
|
||||||
|
--content: rgb(196, 196, 197);
|
||||||
|
--hljs-bg: rgb(46, 46, 51);
|
||||||
|
--code-bg: rgb(55, 56, 62);
|
||||||
|
--border: rgb(51, 51, 51);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-track {
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||||
|
border-color: var(--theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
<meta property="og:title" content="404 Page not found" />
|
||||||
|
<meta property="og:description" content="Abijeet's personal website" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="https://thecurlybraces.com/404.html" />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary"/>
|
||||||
|
<meta name="twitter:title" content="404 Page not found"/>
|
||||||
|
<meta name="twitter:description" content="Abijeet's personal website"/>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="list" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "dark") {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="https://thecurlybraces.com/" accesskey="h" title="Abijeet Patro (Alt + H)">Abijeet Patro</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
<li>
|
||||||
|
<a href="https://blog.thecurlybraces.com/about/" title="About">
|
||||||
|
<span>About</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://blog.thecurlybraces.com" title="Blog">
|
||||||
|
<span>Blog</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main">
|
||||||
|
<div class="not-found">404</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2024 <a href="https://thecurlybraces.com/">Abijeet Patro</a></span>
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
215
public/categories/index.html
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<title>Categories | Abijeet Patro</title>
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<meta name="description" content="Abijeet's personal website">
|
||||||
|
<meta name="author" content="Abijeet Patro">
|
||||||
|
<link rel="canonical" href="https://thecurlybraces.com/categories/">
|
||||||
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.bc1149f4a72aa4858d3a9f71462f75e5884ffe8073ea9d6d5761d5663d651e20.css" integrity="sha256-vBFJ9KcqpIWNOp9xRi915YhP/oBz6p1tV2HVZj1lHiA=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="https://thecurlybraces.com/images/fav-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="https://thecurlybraces.com/images/fav-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="https://thecurlybraces.com/images/fav-32x32.png">
|
||||||
|
<link rel="apple-touch-icon" href="https://thecurlybraces.com/apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="https://thecurlybraces.com/safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" type="application/rss+xml" href="https://thecurlybraces.com/categories/index.xml">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--theme: rgb(29, 30, 32);
|
||||||
|
--entry: rgb(46, 46, 51);
|
||||||
|
--primary: rgb(218, 218, 219);
|
||||||
|
--secondary: rgb(155, 156, 157);
|
||||||
|
--tertiary: rgb(65, 66, 68);
|
||||||
|
--content: rgb(196, 196, 197);
|
||||||
|
--hljs-bg: rgb(46, 46, 51);
|
||||||
|
--code-bg: rgb(55, 56, 62);
|
||||||
|
--border: rgb(51, 51, 51);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-track {
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||||
|
border-color: var(--theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
<meta property="og:title" content="Categories" />
|
||||||
|
<meta property="og:description" content="Abijeet's personal website" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="https://thecurlybraces.com/categories/" />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary"/>
|
||||||
|
<meta name="twitter:title" content="Categories"/>
|
||||||
|
<meta name="twitter:description" content="Abijeet's personal website"/>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="list" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "dark") {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="https://thecurlybraces.com/" accesskey="h" title="Abijeet Patro (Alt + H)">Abijeet Patro</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
<li>
|
||||||
|
<a href="https://blog.thecurlybraces.com/about/" title="About">
|
||||||
|
<span>About</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://blog.thecurlybraces.com" title="Blog">
|
||||||
|
<span>Blog</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main">
|
||||||
|
<header class="page-header">
|
||||||
|
<h1>Categories</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<ul class="terms-tags">
|
||||||
|
</ul>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2024 <a href="https://thecurlybraces.com/">Abijeet Patro</a></span>
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
10
public/categories/index.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
|
<channel>
|
||||||
|
<title>Categories on Abijeet Patro</title>
|
||||||
|
<link>https://thecurlybraces.com/categories/</link>
|
||||||
|
<description>Recent content in Categories on Abijeet Patro</description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
|
<language>en</language><atom:link href="https://thecurlybraces.com/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
BIN
public/images/fav-16x16.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
public/images/fav-32x32.png
Normal file
|
After Width: | Height: | Size: 519 B |
BIN
public/images/profile-pic.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
264
public/index.html
Normal file
@ -0,0 +1,264 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="Hugo 0.128.0"><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<title>Abijeet Patro</title>
|
||||||
|
|
||||||
|
<meta name="description" content="Abijeet's personal website">
|
||||||
|
<meta name="author" content="Abijeet Patro">
|
||||||
|
<link rel="canonical" href="https://thecurlybraces.com/">
|
||||||
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.bc1149f4a72aa4858d3a9f71462f75e5884ffe8073ea9d6d5761d5663d651e20.css" integrity="sha256-vBFJ9KcqpIWNOp9xRi915YhP/oBz6p1tV2HVZj1lHiA=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="https://thecurlybraces.com/images/fav-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="https://thecurlybraces.com/images/fav-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="https://thecurlybraces.com/images/fav-32x32.png">
|
||||||
|
<link rel="apple-touch-icon" href="https://thecurlybraces.com/apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="https://thecurlybraces.com/safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" type="application/rss+xml" href="https://thecurlybraces.com/index.xml">
|
||||||
|
<link rel="alternate" hreflang="en" href="https://thecurlybraces.com/">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--theme: rgb(29, 30, 32);
|
||||||
|
--entry: rgb(46, 46, 51);
|
||||||
|
--primary: rgb(218, 218, 219);
|
||||||
|
--secondary: rgb(155, 156, 157);
|
||||||
|
--tertiary: rgb(65, 66, 68);
|
||||||
|
--content: rgb(196, 196, 197);
|
||||||
|
--hljs-bg: rgb(46, 46, 51);
|
||||||
|
--code-bg: rgb(55, 56, 62);
|
||||||
|
--border: rgb(51, 51, 51);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-track {
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||||
|
border-color: var(--theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
<meta property="og:title" content="Abijeet Patro" />
|
||||||
|
<meta property="og:description" content="Abijeet's personal website" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="https://thecurlybraces.com/" />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary"/>
|
||||||
|
<meta name="twitter:title" content="Abijeet Patro"/>
|
||||||
|
<meta name="twitter:description" content="Abijeet's personal website"/>
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "Abijeet Patro",
|
||||||
|
"url": "https://thecurlybraces.com/",
|
||||||
|
"description": "Abijeet\u0026#39;s personal website",
|
||||||
|
"thumbnailUrl": "https://thecurlybraces.com/images/fav-32x32.png",
|
||||||
|
"sameAs": [
|
||||||
|
"https://github.com/abijeet/", "https://twitter.com/abijeetpatro/", "https://www.linkedin.com/in/abijeet-patro/", "https://stackoverflow.com/users/903324/abijeet-patro?tab=profile"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="list" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "dark") {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="https://thecurlybraces.com/" accesskey="h" title="Abijeet Patro (Alt + H)">Abijeet Patro</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
<li>
|
||||||
|
<a href="https://blog.thecurlybraces.com/about/" title="About">
|
||||||
|
<span>About</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://blog.thecurlybraces.com" title="Blog">
|
||||||
|
<span>Blog</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main"><div class="profile">
|
||||||
|
<div class="profile_inner">
|
||||||
|
<img draggable="false" src="https://thecurlybraces.com/images/profile-pic.jpg" alt="profile image" title=""
|
||||||
|
height="240" width="240" />
|
||||||
|
<h1>Abijeet Patro</h1>
|
||||||
|
<span>Full stack developer and an open source contributor</span><div class="social-icons">
|
||||||
|
<a href="https://github.com/abijeet/" target="_blank" rel="noopener noreferrer me" title="GitHub">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
||||||
|
stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path
|
||||||
|
d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<a href="https://twitter.com/abijeetpatro/" target="_blank" rel="noopener noreferrer me" title="Twitter">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
||||||
|
stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path
|
||||||
|
d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.linkedin.com/in/abijeet-patro/" target="_blank" rel="noopener noreferrer me" title="LinkedIn">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
||||||
|
stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path>
|
||||||
|
<rect x="2" y="9" width="4" height="12"></rect>
|
||||||
|
<circle cx="4" cy="4" r="2"></circle>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<a href="https://stackoverflow.com/users/903324/abijeet-patro?tab=profile" target="_blank" rel="noopener noreferrer me" title="StackOverflow">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
||||||
|
stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path
|
||||||
|
d="M2.913 16.041v6.848h17.599v-6.848M7.16 18.696h8.925M7.65 13.937l8.675 1.8M9.214 9.124l8.058 3.758M12.086 4.65l6.849 5.66M15.774 1.111l5.313 7.162" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2024 <a href="https://thecurlybraces.com/">Abijeet Patro</a></span>
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
10
public/index.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
|
<channel>
|
||||||
|
<title>Abijeet Patro</title>
|
||||||
|
<link>https://thecurlybraces.com/</link>
|
||||||
|
<description>Recent content on Abijeet Patro</description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
|
<language>en</language><atom:link href="https://thecurlybraces.com/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
11
public/sitemap.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||||
|
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||||
|
<url>
|
||||||
|
<loc>https://thecurlybraces.com/</loc>
|
||||||
|
</url><url>
|
||||||
|
<loc>https://thecurlybraces.com/categories/</loc>
|
||||||
|
</url><url>
|
||||||
|
<loc>https://thecurlybraces.com/tags/</loc>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
||||||
219
public/tags/index.html
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<title>Tags | Abijeet Patro</title>
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<meta name="description" content="Abijeet's personal website">
|
||||||
|
<meta name="author" content="Abijeet Patro">
|
||||||
|
<link rel="canonical" href="https://thecurlybraces.com/tags/">
|
||||||
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.bc1149f4a72aa4858d3a9f71462f75e5884ffe8073ea9d6d5761d5663d651e20.css" integrity="sha256-vBFJ9KcqpIWNOp9xRi915YhP/oBz6p1tV2HVZj1lHiA=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="https://thecurlybraces.com/images/fav-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="https://thecurlybraces.com/images/fav-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="https://thecurlybraces.com/images/fav-32x32.png">
|
||||||
|
<link rel="apple-touch-icon" href="https://thecurlybraces.com/apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="https://thecurlybraces.com/safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" type="application/rss+xml" href="https://thecurlybraces.com/tags/index.xml">
|
||||||
|
<link rel="alternate" hreflang="en" href="https://thecurlybraces.com/tags/">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--theme: rgb(29, 30, 32);
|
||||||
|
--entry: rgb(46, 46, 51);
|
||||||
|
--primary: rgb(218, 218, 219);
|
||||||
|
--secondary: rgb(155, 156, 157);
|
||||||
|
--tertiary: rgb(65, 66, 68);
|
||||||
|
--content: rgb(196, 196, 197);
|
||||||
|
--hljs-bg: rgb(46, 46, 51);
|
||||||
|
--code-bg: rgb(55, 56, 62);
|
||||||
|
--border: rgb(51, 51, 51);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-track {
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||||
|
border-color: var(--theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:title" content="Tags" />
|
||||||
|
<meta property="og:description" content="Abijeet's personal website" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="https://thecurlybraces.com/tags/" />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary"/>
|
||||||
|
<meta name="twitter:title" content="Tags"/>
|
||||||
|
<meta name="twitter:description" content="Abijeet's personal website"/>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="list" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "dark") {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="https://thecurlybraces.com/" accesskey="h" title="Abijeet Patro (Alt + H)">Abijeet Patro</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
<ul class="lang-switch"><li>|</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
<li>
|
||||||
|
<a href="https://blog.thecurlybraces.com/about/" title="About">
|
||||||
|
<span>About</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://blog.thecurlybraces.com" title="Blog">
|
||||||
|
<span>Blog</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main">
|
||||||
|
<header class="page-header">
|
||||||
|
<h1>Tags</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<ul class="terms-tags">
|
||||||
|
</ul>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2024 <a href="https://thecurlybraces.com/">Abijeet Patro</a></span>
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
10
public/tags/index.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
|
<channel>
|
||||||
|
<title>Tags on Abijeet Patro</title>
|
||||||
|
<link>https://thecurlybraces.com/tags/</link>
|
||||||
|
<description>Recent content in Tags on Abijeet Patro</description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
|
<language>en</language><atom:link href="https://thecurlybraces.com/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
BIN
static/images/fav-16x16.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
static/images/fav-32x32.png
Normal file
|
After Width: | Height: | Size: 519 B |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 94 KiB |
1
themes/PaperMod
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 3e544a3ebd21008f8119cbd8971f74fe2c958374
|
||||||
@ -1 +0,0 @@
|
|||||||
Subproject commit 595fd11ac860212f7712d1337ccb6b4d4f0ed75f
|
|
||||||