Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[codespell]
ignore-words-list = doubleclick,te,ue
skip = *.min.js,public,static/js/shell.min.js
skip = *.min.js,public,static/js/shell.min.js,static/css/dui.css,static/css/main.css,tools/cloudflare/*
21 changes: 21 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2

[*.md]
trim_trailing_whitespace = false

# Disable strict IDE formatting on vendored, built, and third-party files
[static/css/{dui,main}.css]
indent_style = unset
insert_final_newline = unset
trim_trailing_whitespace = unset

[tools/cloudflare/**.js]
indent_style = unset
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @kascit
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: kascit
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Bug Report
description: Create a report to help us improve
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
placeholder: Tell us what you see!
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: How can we reproduce this bug?
validations:
required: true
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Feature Request
description: Suggest an idea for this project
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to suggest a feature!
- type: textarea
id: feature-description
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Pull Request

## Description

## Motivation and Context

## Types of changes

- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation update

## Checklist

- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the **CONTRIBUTING** document.
4 changes: 2 additions & 2 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
---
name: Lint & Quality

on:
Expand Down Expand Up @@ -50,7 +49,8 @@ jobs:
VALIDATE_CSS_PRETTIER: false
VALIDATE_JSON_PRETTIER: false
VALIDATE_MARKDOWN_PRETTIER: false
FILTER_REGEX_EXCLUDE: .*public/.*|.*scratch/.*|.*static/js/vendor/.*|.*templates/.*|.*data/.*|.*\.min\.js
# Unified exclusion regex covering public, scratch, templates, data, vendor assets, third-party CSS, and tools.
FILTER_REGEX_EXCLUDE: .*public/.*|.*scratch/.*|.*static/js/vendor/.*|.*static/css/(dui|main)\.css|.*tools/cloudflare/.*|.*templates/.*|.*data/.*|.*\.min\.js
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

quality:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/sync-data.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Data Sync
on:
schedule:
- cron: '0 0 * * 0' # Run weekly on Sunday at midnight UTC
- cron: "0 0 * * 0" # Run weekly on Sunday at midnight UTC
workflow_dispatch: # Allow manual trigger

permissions:
Expand All @@ -12,11 +12,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: "20"

- name: Run GitHub Data Sync
env:
Expand Down
5 changes: 4 additions & 1 deletion .jscpd.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
"public/**",
"resources/**",
"static/fuse.min.js",
"static/elasticlunr.min.js"
"static/elasticlunr.min.js",
"static/css/dui.css",
"static/css/main.css",
"tools/cloudflare/**"
]
}
4 changes: 4 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"default": true,
"MD034": false
}
8 changes: 4 additions & 4 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Ignore Tera/Zola templates - formatter breaks the syntax
templates/
*.html
content/about.md
static/css/main.css

# Ignore vendor, built, and external tool scripts
static/css/dui.css
static/js/shell.min.js
static/css/main.css
tools/cloudflare/
4 changes: 4 additions & 0 deletions .stylelintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Ignore vendor and compiled stylesheets
static/css/dui.css
static/css/main.css
public/
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"yaml.validate": false,
"cSpell.words": [
"Baeldung",
"Codolio",
"daisyui",
"Dhanur",
"dotenv",
Expand Down
8 changes: 8 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Relhan"
given-names: "Dhanur"
title: "kascit.github.io"
version: 1.0.0
url: "https://dhanur.me"
7 changes: 7 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Code of Conduct

As this is a personal project, the core guideline is simple: **Be respectful and professional.**

Any harassment, abusive language, or inappropriate behavior in issues or pull requests will result in an immediate ban from the repository.

Please report any unacceptable behavior to [contact@dhanur.me](mailto:contact@dhanur.me).
14 changes: 14 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Contributing to kascit.github.io

Thank you for your interest in contributing! Since this is my personal site and portfolio, contributions are generally limited to typo fixes, bug reports, and accessibility improvements.

## Pull Requests

- Please ensure that you have run `just dev` to verify your changes locally.
- Keep PRs focused on a single issue.
- Describe the changes clearly in the PR template.

## Code Standards

- Use the provided `just` commands to build and format code.
- Ensure all tests pass.
12 changes: 6 additions & 6 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@

## Supported Versions

| Version | Supported |
| ------- | --------- |
| Latest (`main`) | ✅ |
| Older deploys | ❌ |
| Version | Supported |
| --------------- | --------- |
| Latest (`main`) | ✅ |
| Older deploys | ❌ |

## Reporting a Vulnerability

If you discover a security vulnerability in this project, **please do not open a public issue.**
Please report any suspected or confirmed security vulnerabilities privately to **[security@dhanur.me](mailto:security@dhanur.me)**. Please do not open a public issue.

Instead, report it privately:

1. **Email:** [contact@dhanur.me](mailto:[contact@dhanur.me])
1. **Email:** [security@dhanur.me](mailto:security@dhanur.me)
2. **Subject line:** `[SECURITY] kascit.github.io — <brief description>`

### What to include
Expand Down
7 changes: 7 additions & 0 deletions SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Support

If you need help or have questions regarding this repository, please:

1. Check the [Issues](https://github.com/kascit/kascit.github.io/issues) page to see if your question has been answered.
2. If it's a security vulnerability, please refer to [SECURITY.md](SECURITY.md) and email `contact@dhanur.me`.
3. For general inquiries, you can reach out via the contact form on my site.
6 changes: 3 additions & 3 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ default_language = "en"
# BUILD & OUTPUT
# =============================================================================
compile_sass = true # Required by Zola theme
minify_html = true # Always enable in production
minify_html = false # Disabled to preserve strict HTML5 closures and quoted attributes

build_search_index = true # Required for site search
generate_feeds = true
Expand Down Expand Up @@ -53,7 +53,7 @@ external_links_target_blank = true
external_links_no_referrer = true # Security best practice

[markdown.highlighting]
style = "inline" # Latest Zola-compatible highlighting without generated giallo source files
style = "class" # Map syntax to CSS variables instead of bloated inline rules
light_theme = "github-light"
dark_theme = "github-dark"

Expand Down Expand Up @@ -84,7 +84,7 @@ default_thumbnail = "images/thumbs/default_thumbnail.jpg"

# Analytics (leave empty to disable cleanly)
gtag = "G-BY8SPYYYYR"
ahrefs_analytics_key = "zpZ3KAfSjE0wBbf1DHDY0w"
ahrefs_analytics_key = "$AHREFS_KEY"

# GitHub edit link (used by theme templates)
edit_url = "https://github.com/kascit/kascit.github.io/edit/main"
Expand Down
12 changes: 6 additions & 6 deletions content/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,28 +36,28 @@ Most days look like APIs, infra, and architecture decisions. Nights are for AI e
</h2>
<ul class="space-y-5">
<li class="flex gap-3.5 items-start">
<div class="about-expertise-icon" aria-hidden="true"><i class="fa-solid fa-server text-sm"></i></div>
<div class="about-expertise-icon" aria-hidden="true"><i class="fa-solid fa-server text-sm" aria-hidden="true"></i></div>
<div class="min-w-0 pt-0.5">
<span class="font-semibold text-base-content block mb-1">Backend Engineering</span>
<span class="text-sm text-base-content/65 leading-relaxed">Designing services that stay calm under load, mostly in Java, Spring Boot, and Go.</span>
</div>
</li>
<li class="flex gap-3.5 items-start">
<div class="about-expertise-icon" aria-hidden="true"><i class="fa-solid fa-cloud text-sm"></i></div>
<div class="about-expertise-icon" aria-hidden="true"><i class="fa-solid fa-cloud text-sm" aria-hidden="true"></i></div>
<div class="min-w-0 pt-0.5">
<span class="font-semibold text-base-content block mb-1">Cloud Infrastructure</span>
<span class="text-sm text-base-content/65 leading-relaxed">Deploying across cloud stacks with enough observability to sleep at night.</span>
</div>
</li>
<li class="flex gap-3.5 items-start">
<div class="about-expertise-icon" aria-hidden="true"><i class="fa-solid fa-terminal text-sm"></i></div>
<div class="about-expertise-icon" aria-hidden="true"><i class="fa-solid fa-terminal text-sm" aria-hidden="true"></i></div>
<div class="min-w-0 pt-0.5">
<span class="font-semibold text-base-content block mb-1">System Programming</span>
<span class="text-sm text-base-content/65 leading-relaxed">Low-level experiments, performance tuning, and occasional graphics-heavy detours.</span>
</div>
</li>
<li class="flex gap-3.5 items-start">
<div class="about-expertise-icon" aria-hidden="true"><i class="fa-solid fa-code-branch text-sm"></i></div>
<div class="about-expertise-icon" aria-hidden="true"><i class="fa-solid fa-code-branch text-sm" aria-hidden="true"></i></div>
<div class="min-w-0 pt-0.5">
<span class="font-semibold text-base-content block mb-1">Automation and DevOps</span>
<span class="text-sm text-base-content/65 leading-relaxed">Automation pipelines that reduce surprises and keep releases boring (the good kind).</span>
Expand All @@ -72,7 +72,7 @@ Most days look like APIs, infra, and architecture decisions. Nights are for AI e
<h2 class="card-title text-lg mb-5 border-b border-base-content/10 pb-3">
<i class="fa-solid fa-layer-group text-primary" aria-hidden="true"></i> Technical Arsenal
</h2>
<div class="space-y-5">
<div class="space-y-5 [content-visibility:auto]">
<div>
<h3 class="about-skill-heading"><i class="fa-solid fa-code text-[11px]" aria-hidden="true"></i> Languages</h3>
<div class="flex flex-wrap gap-2">
Expand Down Expand Up @@ -136,4 +136,4 @@ When I am not coding, I am usually on strategy games, sci-fi, or watching tsodin

## Keep In Touch

{{ link_card(url="/links/", external=false, icon="fa-solid fa-link", title="Socials and Communities", description="Find me around the internet.", contrast=true) }}
{{ link_card(url="/links/", external=false, icon="fa-solid fa-link", title="Socials and Communities", description="Find me around the internet.", contrast=true) }}
1 change: 1 addition & 0 deletions content/archive/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title = "Archive"
description = "Browse all blog posts chronologically"
template = "archive.html"
sort_by = "date"
aliases = ["/blog/archive", "/blog/archive/"]
+++

This page lists every published post in chronological order so you can browse the full writing history without jumping between categories.
25 changes: 4 additions & 21 deletions content/design/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ in_search_index = true
hide_toc = false
+++

<!-- markdownlint-disable MD034 -->

This page is now intentionally Markdown-first. Instead of embedding large blocks of raw HTML inside content files, the design system is documented as guidance, examples, and reusable shortcodes so the source stays readable and maintainable.

## Design Language
Expand All @@ -33,23 +31,8 @@ The quickest integration path is to include the shared shell script and configur
showThemeToggle: true,
};
</script>
<script src="https://dhanur.me/js/shell.js" defer></script>
```

If you do not need overrides, a single script tag is enough and defaults will be used automatically.

```html
<script src="https://dhanur.me/js/shell.js" defer></script>
<script
src="[https://dhanur.me/js/shell.js](https://dhanur.me/js/shell.js)"
defer
></script>
```

{{ link_card(url="https://github.com/kascit/kascit.github.io/blob/main/docs/design_system_integration_guide.md", external=true, icon="fa-solid fa-book-open", title="Integration Guide", description="Setup details, architecture notes, and implementation references.") }}

## Working With Components

Components should be consumed through shortcodes in Markdown wherever possible. This keeps content files focused on copy and structure while presentation logic stays centralized in templates, making future style updates safer and faster.

For content pages, prefer shortcode primitives such as link_card, project_card, stat, and card. For product pages or apps, use the shell and shared CSS tokens, then layer app-specific styles only where necessary.

## Practical Notes

When adding new UI patterns, favor semantic naming over page-specific hacks so components can be reused across sections. Keep content prose in Markdown, push visual complexity into shortcodes, and treat docs updates as part of every UI change so the system remains coherent over time.
12 changes: 0 additions & 12 deletions content/links/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ template = "section.html"
enabled = false
+++

<!-- markdownlint-disable MD034 -->

{{ email_card(user="pbagnpg", domain="qunahe.zr", icon="fa-solid fa-envelope", title="Send an Email", description="Drop me a message", contrast=true) }}

This page is the clean index of where to find me online. If you need to reach me quickly, email is the fastest route and everything else is grouped by context below.
Expand All @@ -23,16 +21,6 @@ This page is the clean index of where to find me online. If you need to reach me

{{ link_card(url="https://codolio.com/profile/kascit", external=true, icon="fa-solid fa-code", title="Codolio", description="Where I go to feel inadequate") }}

<!-- ## Algorithms & Problem Solving

{{ link_card(url="https://leetcode.com/u/kascit/", external=true, icon="fa-solid fa-code", title="LeetCode", description="Where I go to feel inadequate") }}

{{ link_card(url="https://www.geeksforgeeks.org/profile/kascit", external=true, icon="fa-solid fa-laptop-code", title="GeeksforGeeks", description="Practice, practice, practice") }}

{{ link_card(url="https://www.codechef.com/users/kascit", external=true, icon="fa-solid fa-trophy", title="CodeChef", description="Contests and ratings") }}

{{ link_card(url="https://codeforces.com/profile/kascit", external=true, icon="fa-solid fa-chart-line", title="Codeforces", description="Competitive programming") }} -->

## Socials & Communities

{{ link_card(url="https://x.com/nkascit", external=true, icon="fa-brands fa-x-twitter", title="X (Twitter)", description="Occasional thoughts and updates") }}
Expand Down
Loading