commit 04798b7c511d8d6a0f4cc1e45456ddeb84a6b2ac
parent 5d3ffd18bdccc348f16b3457eb10122586e26d69
Author: Amit Dutta <mail@amit.is-a.dev>
Date: Mon, 10 Aug 2026 14:27:40 +0530
Merge pull request #32 from notamitgamer/edit-20260810-142659
adding ai support
Diffstat:
4 files changed, 127 insertions(+), 4 deletions(-)
diff --git a/docs/.vitepress/theme/components/MarkdownMenu.vue b/docs/.vitepress/theme/components/MarkdownMenu.vue
@@ -0,0 +1,93 @@
+<template>
+ <ul class="md-links">
+ <li>
+ <a :href="rawUrl" target="_blank" rel="noopener">
+ <svg class="md-links-icon" viewBox="0 0 208 128" fill="none" xmlns="http://www.w3.org/2000/svg">
+ <rect x="2" y="2" width="204" height="124" rx="6" stroke="currentColor" stroke-width="8"/>
+ <path d="M30 98V30h20l20 25 20-25h20v68H90V59L70 84 50 59v39H30z" fill="currentColor"/>
+ <path d="M141 98l-25-28h17V30h16v40h17l-25 28z" fill="currentColor"/>
+ </svg>
+ <span>View as Markdown</span>
+ </a>
+ </li>
+ <li>
+ <a :href="chatGptUrl" target="_blank" rel="noopener">
+ <svg class="md-links-icon" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
+ <path d="M22.28 9.82a5.98 5.98 0 0 0-.52-4.91 6.05 6.05 0 0 0-6.51-2.9A6.07 6.07 0 0 0 4.98 4.18a5.98 5.98 0 0 0-4 2.9 6.05 6.05 0 0 0 .75 7.1 5.98 5.98 0 0 0 .51 4.9 6.05 6.05 0 0 0 6.52 2.91 5.97 5.97 0 0 0 4.5 2.01 6.07 6.07 0 0 0 5.79-4.21 5.98 5.98 0 0 0 4-2.9 6.06 6.06 0 0 0-.77-7.07ZM13.26 21.9a4.48 4.48 0 0 1-2.88-1.04l.14-.08 4.79-2.77a.8.8 0 0 0 .39-.68v-6.76l2.02 1.17.02.11v5.6a4.5 4.5 0 0 1-4.48 4.45ZM3.86 17.85a4.47 4.47 0 0 1-.54-3.02l.14.08 4.79 2.77a.78.78 0 0 0 .78 0l5.85-3.38v2.33l-.1.06-4.84 2.8a4.5 4.5 0 0 1-6.08-1.64ZM2.6 7.85a4.48 4.48 0 0 1 2.35-1.97v5.7a.78.78 0 0 0 .39.67l5.85 3.38-2.02 1.17-.1-.05-4.84-2.8A4.5 4.5 0 0 1 2.6 7.85Zm16.63 3.86-5.85-3.39 2.02-1.16.1.05 4.84 2.79a4.5 4.5 0 0 1-.68 8.11v-5.7a.79.79 0 0 0-.43-.7Zm2-3.02-.14-.09-4.78-2.78a.79.79 0 0 0-.79 0l-5.85 3.38V6.87l.1-.06 4.84-2.79a4.5 4.5 0 0 1 6.62 4.67ZM8.83 13.24l-2.02-1.17-.02-.11v-5.6a4.5 4.5 0 0 1 7.37-3.46l-.14.08-4.79 2.77a.8.8 0 0 0-.39.68l-.01 6.81Zm1.1-2.36 2.6-1.5 2.6 1.5v3l-2.6 1.5-2.6-1.5v-3Z"/>
+ </svg>
+ <span>Open in ChatGPT</span>
+ </a>
+ </li>
+ <li>
+ <a :href="claudeUrl" target="_blank" rel="noopener">
+ <svg class="md-links-icon" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
+ <path d="M17.3 3.5h-3.4l6.2 17h3.4l-6.2-17Zm-9.9 0L1.2 20.5h3.5l1.3-3.6h7l1.3 3.6h3.5L11.6 3.5H7.4Zm-1 10.2 2.4-6.8 2.4 6.8H6.4Z"/>
+ </svg>
+ <span>Open in Claude</span>
+ </a>
+ </li>
+ </ul>
+</template>
+
+<script setup>
+import { computed } from 'vue'
+import { useData, useRoute } from 'vitepress'
+
+const { frontmatter } = useData()
+const route = useRoute()
+
+// Mirrors the editLink path logic in config.mts: docs/<filePath>.md on main
+const rawUrl = computed(() => {
+ const source = frontmatter.value.source
+ const filePath = source || route.path.replace(/^\//, '').replace(/\/$/, '/index') + '.md'
+ return `https://raw.githubusercontent.com/notamitgamer/bsc/main/docs/${filePath}`
+})
+
+const chatGptUrl = computed(() =>
+ `https://chat.openai.com/?q=${encodeURIComponent('Read this page and help me understand it: ' + rawUrl.value)}`
+)
+const claudeUrl = computed(() =>
+ `https://claude.ai/new?q=${encodeURIComponent('Read this page and help me understand it: ' + rawUrl.value)}`
+)
+</script>
+
+<style scoped>
+.md-links {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+ list-style: none;
+ margin: 0 0 20px;
+ padding: 0;
+}
+
+.md-links li {
+ margin: 0;
+}
+
+.md-links a {
+ display: inline-flex;
+ align-items: center;
+ gap: 6px;
+ padding: 6px 12px;
+ border-radius: 6px;
+ border: 1px solid var(--vp-c-divider);
+ background: var(--vp-c-bg-soft);
+ color: var(--vp-c-text-2) !important;
+ font-size: 13px;
+ font-weight: 500;
+ text-decoration: none !important;
+ transition: border-color 0.2s, color 0.2s;
+}
+
+.md-links a:hover {
+ border-color: var(--vp-c-brand);
+ color: var(--vp-c-text-1) !important;
+}
+
+.md-links-icon {
+ width: 14px;
+ height: 14px;
+ flex-shrink: 0;
+}
+</style>+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts
@@ -6,6 +6,7 @@ import Footer from './components/Footer.vue'
import SponsorButton from './components/SponsorButton.vue'
import ExternalLinkWarning from './components/ExternalLinkWarning.vue'
import CopyLinkButton from './components/CopyLinkButton.vue'
+import MarkdownMenu from './components/MarkdownMenu.vue'
import Breadcrumbs from './components/Breadcrumbs.vue'
import './style.css'
@@ -22,6 +23,7 @@ export default {
h(Breadcrumbs),
h(CopyLinkButton)
]),
+ 'doc-footer-before': () => h(MarkdownMenu),
'doc-after': () => h(Footer),
'nav-bar-content-after': () => h(SponsorButton)
})
@@ -85,4 +87,4 @@ export default {
}, 500);
})
}
-} satisfies Theme
+} satisfies Theme+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css
@@ -93,18 +93,25 @@
========================================================================== */
.dark {
- /* Backgrounds */
+ /* Backgrounds — softened from pure GitHub-dark: #010409 was near-black and
+ created a harsh jump against #0d1117. #0a0e14 keeps the same hierarchy
+ with less contrast shock, easier on the eyes over long reading. */
--vp-c-bg: #0d1117;
- --vp-c-bg-alt: #010409;
+ --vp-c-bg-alt: #0a0e14;
--vp-c-bg-elv: #161b22;
/* Same GitHub-sidebar fix as light mode — match canvas, not the inset tone. */
--vp-sidebar-bg-color: var(--vp-c-bg);
--vp-c-bg-soft: #161b22;
- --vp-c-divider: #30363d;
+ --vp-c-divider: #2a313a;
--vp-c-b-divider: #c9d1d9;
+ /* Body text: pure-white-on-black is high-fatigue; ease it slightly warm/soft. */
+ --vp-c-text-1: #d8dee8;
+ --vp-c-text-2: #9aa4b2;
+ --vp-c-text-3: #6b7684;
+
/* Brand */
--vp-c-brand-1: #58a6ff;
--vp-c-brand-2: #79c0ff;
diff --git a/docs/index.md b/docs/index.md
@@ -35,6 +35,25 @@ features:
link: https://github.com/notamitgamer/bsc/blob/main/LICENSE
---
+<div class="why-section">
+ <p class="why-eyebrow">Why this archive</p>
+ <h2 class="why-title">Not a copy-paste dump — a structured reference for how to actually solve the problem.</h2>
+ <div class="why-grid">
+ <div class="why-card">
+ <h3>Every semester, indexed</h3>
+ <p>All 8 semesters of the WBSU NEP-CCF track in one place, updated in real time as coursework progresses — no digging through scattered folders.</p>
+ </div>
+ <div class="why-card">
+ <h3>Problem-first search</h3>
+ <p>Pages are indexed by the actual problem statement, so you search what you're stuck on and land on the relevant reference instantly.</p>
+ </div>
+ <div class="why-card">
+ <h3>Logic, not just code</h3>
+ <p>From Semester 2 onward, source may paired with written algorithms — pseudocode and complexity analysis — so you can follow the reasoning, not just the syntax.</p>
+ </div>
+ </div>
+</div>
+
## Roadmap & Progress
Currently navigating **Semester 2**. Folders for future semesters are placeholders that will automatically unlock and update in real-time as my 4-year academic session progresses.