bsc

Comprehensive codebase and cou...
Log | Files | Refs | README | LICENSE

commit 275a7ca9279330d8ea1e1723501e41d0894f3d9a
parent 1195c6a047be15dd368534771caa950605b56dbd
Author: Amit Dutta <amitdutta4255@gmail.com>
Date:   Thu,  2 Jul 2026 10:00:39 +0530

style: refine DocSearch UI, add true-black dark mode, switch to Mauve theme

- Fix DocSearch search bar, footer, and no-results screen styling
- Reposition Algolia footer branding on mobile (above dropdown, right-aligned)
- Add true black (#000000) background for dark mode
- Switch brand accent to Catppuccin Mauve (light: #8839ef, dark: #cba6f7)
- Split hero gradient into separate light/dark variants
- Fix DocSearch hit text contrast in light mode
- Reorganize extra.css with labeled sections for maintainability
- Rewrite acknowledgments and security policy copy for a more natural tone
- Update faq.md wording for consistency
- Fix Python install instructions in quickstart.md (Install Manager clarification)

Diffstat:
Mdocs/.vitepress/config.mts | 17++++++-----------
Mdocs/.vitepress/theme/style.css | 271+++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
Mdocs/SECURITY.md | 8++++----
Mdocs/credits.md | 17+++++++++--------
Mdocs/faq.md | 26+++++++++++++-------------
Mdocs/index.md | 12++++++++----
Ddocs/public/logo.svg | 2--
Adocs/public/logo_dark.svg | 2++
Ddocs/public/logo_large.svg | 2--
Adocs/public/logo_light.svg | 2++
10 files changed, 226 insertions(+), 133 deletions(-)

diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts @@ -42,12 +42,16 @@ const vitePressConfig = { vite: { server: { - allowedHosts: true as true + allowedHosts: true as true, + host: true, } } as any, themeConfig: { - logo: '/logo.svg', + logo: { + light: '/logo_light.svg', + dark: '/logo_dark.svg', + }, nav: [ { text: 'Terms', link: '/terms'}, @@ -100,17 +104,8 @@ const vitePressConfig = { buttonAriaLabel: 'Search programs', }, modal: { - searchBox: { - clearButtonTitle: 'Clear search query', - closeButtonText: 'clear', - - cancelButtonTitle: 'Close search', - cancelButtonText: '×', - closeButtonAriaLabel: 'Close search', - }, noResultsScreen: { noResultsText: 'No programs found for', - suggestedQueryText: 'Try searching for a different problem statement', } } } diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css @@ -1,7 +1,113 @@ +/* ========================================================================== + GLOBAL / BASE + ========================================================================== */ + * { -webkit-tap-highlight-color: transparent; } +::-webkit-scrollbar { + width: 8px; + height: 8px; +} +::-webkit-scrollbar-track { + background: transparent; +} +::-webkit-scrollbar-thumb { + background: var(--vp-c-divider); + border-radius: 4px; +} +::-webkit-scrollbar-thumb:hover { + background: var(--vp-c-brand-1); +} + +::selection { + background: #a8b1ff33; + color: var(--vp-c-text-1); +} + + +/* ========================================================================== + THEME COLORS — LIGHT MODE (:root = default/light) + ========================================================================== */ + +:root { + /* Brand */ + --vp-c-brand-1: #8839ef; + --vp-c-brand-2: #7c3aed; + --vp-c-brand-3: #6d28d9; + --vp-c-brand: #8839ef; + + /* Home hero gradient (light) */ + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #8839ef 50%, + #a855f7 50% + ); + --vp-home-hero-image-filter: blur(100px); + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #8839ef 30%, + #a855f7 + ); + + /* DocSearch hit colors (light) */ + --docsearch-hit-color: #1a1a1a; + --docsearch-hit-active-color: #1a1a1a; + --docsearch-hit-background: #f3f0fb; + + /* Font */ + --vp-font-family-base: 'Lexend', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; +} + + +/* ========================================================================== + THEME COLORS — DARK MODE (.dark overrides) + ========================================================================== */ + +.dark { + /* Backgrounds → true black */ + --vp-c-bg: #000000; + --vp-c-bg-alt: #000000; + --vp-c-bg-elv: #000000; + --vp-c-bg-soft: #0a0a0a; + --vp-c-divider: #1a1a1a; + + /* Brand */ + --vp-c-brand-1: #cba6f7; + --vp-c-brand-2: #b48ead; + --vp-c-brand-3: #a374c4; + --vp-c-brand: #cba6f7; + + /* Home hero gradient (dark) */ + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #cba6f7 50%, + #dcc6fb 50% + ); + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #cba6f7 30%, + #dcc6fb + ); + + /* DocSearch hit colors (dark) */ + --docsearch-hit-color: #ffffff; + --docsearch-hit-active-color: #ffffff; + --docsearch-hit-background: #1a1625; + --docsearch-modal-background: #000000 !important; +} + +.dark ::-webkit-scrollbar-track { + background: var(--vp-c-bg-soft); +} + + +/* ========================================================================== + CUSTOM COMPONENTS — .bsc-* (file/problem cards, buttons) + ========================================================================== */ + .bsc-header { margin-bottom: 1.4rem; } @@ -163,67 +269,27 @@ background-color: var(--vp-c-brand-3); } -@media (hover: none) and (pointer: coarse) { - .vp-doc [class*="language-"] > button.copy { - opacity: 1 !important; - } -} - -:root { - --vp-c-brand-1: #a8b1ff; - --vp-c-brand-2: #8b97ff; - --vp-c-brand-3: #6e7eff; - --vp-c-brand: #a8b1ff; - --vp-home-hero-image-background-image: linear-gradient( - -45deg, - #a8b1ff 50%, - #dde0ff 50% - ); - --vp-home-hero-image-filter: blur(100px); - --vp-home-hero-name-color: transparent; - --vp-home-hero-name-background: -webkit-linear-gradient( - 120deg, - #a8b1ff 30%, - #dde0ff - ); - - --vp-font-family-base: 'Lexend', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; -} - -::-webkit-scrollbar { - width: 8px; - height: 8px; -} -::-webkit-scrollbar-track { - background: transparent; -} -::-webkit-scrollbar-thumb { - background: var(--vp-c-divider); - border-radius: 4px; -} -::-webkit-scrollbar-thumb:hover { - background: var(--vp-c-brand-1); -} - -.dark ::-webkit-scrollbar-track { - background: var(--vp-c-bg-soft); -} - -::selection { - background: #a8b1ff33; - color: var(--vp-c-text-1); -} +/* ========================================================================== + VITEPRESS UI TWEAKS + ========================================================================== */ .VPFeature:hover { border-color: var(--vp-c-brand-1) !important; transition: border-color 0.2s; } -.DocSearch-NoResults-Prefill-List { - display: none !important; +@media (hover: none) and (pointer: coarse) { + .vp-doc [class*="language-"] > button.copy { + opacity: 1 !important; + } } + +/* ========================================================================== + ALGOLIA DOCSEARCH — MODAL / SEARCH BAR / FORM + ========================================================================== */ + .DocSearch-Form { background-color: transparent !important; border: none !important; @@ -231,31 +297,35 @@ padding: 0 !important; } -.DocSearch-Reset svg { - display: none !important; +.DocSearch-Input { + font-size: 16px !important; } -.DocSearch-Reset::before { - content: "clear"; - font-size: 14px; - font-weight: 500; - color: #5468ff; +.DocSearch-MagnifierLabel svg { + width: 18px !important; + height: 18px !important; } -.DocSearch-Reset::after { - content: "|"; - font-size: 14px; - color: var(--docsearch-muted-color); - margin: 0 8px; +.DocSearch-SearchBar { + padding-top: 1px !important; + padding-bottom: 1px !important; + border-bottom: 1px solid var(--vp-c-divider) !important; } -.DocSearch-Cancel { - font-size: 20px !important; - display: block !important; - color: #5468ff !important; - background: none !important; - padding-left: 0 !important; - line-height: 1 !important; +@media (min-width: 768px) { + .DocSearch-Modal { + max-width: 800px !important; + width: 100% !important; + } +} + + +/* ========================================================================== + ALGOLIA DOCSEARCH — RESULTS / HITS + ========================================================================== */ + +.DocSearch-Dropdown { + padding-top: 2px !important; } .DocSearch-Hit[aria-selected="true"] a { @@ -265,12 +335,10 @@ } .DocSearch-Hit a:hover { - background-color: var(--vp-c-brand-soft) !important; + background-color: var(--vp-c-brand-soft) !important; + color: var(--vp-c-text-1) !important; } -.DocSearch-Input { - font-size: 16px !important; -} .DocSearch-Hit-title { font-size: 14px !important; } @@ -283,24 +351,49 @@ font-size: 12px !important; } -.DocSearch-MagnifierLabel svg { - width: 16px !important; - height: 16px !important; -} -.DocSearch-SearchBar { - padding-top: 1px !important; - padding-bottom: 1px !important; - border-bottom: 1px solid var(--vp-c-divider) !important; -} +/* ========================================================================== + ALGOLIA DOCSEARCH — NO RESULTS SCREEN + ========================================================================== */ -.DocSearch-Dropdown { - padding-top: 2px !important; +.DocSearch-NoResults-Prefill-List { + display: none !important; } -@media (min-width: 768px) { + +/* ========================================================================== + ALGOLIA DOCSEARCH — MOBILE LAYOUT (footer above dropdown, right-aligned) + ========================================================================== */ + +@media (max-width: 767px) { .DocSearch-Modal { - max-width: 800px !important; - width: 100% !important; + display: flex !important; + flex-direction: column !important; + } + + .DocSearch-SearchBar { + order: 1 !important; + } + + .DocSearch-Footer { + display: flex !important; + justify-content: flex-end !important; + align-items: center !important; + order: 2 !important; + position: static !important; + width: auto !important; + box-shadow: none !important; + border-top: none !important; + border-bottom: 1px solid var(--vp-c-divider) !important; + padding: 8px 16px !important; + } + + .DocSearch-Dropdown { + order: 3 !important; + flex: 1 !important; + } + + .DocSearch-Logo { + margin-left: auto !important; } } \ No newline at end of file diff --git a/docs/SECURITY.md b/docs/SECURITY.md @@ -6,8 +6,8 @@ title: '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox=" ## Reporting a Vulnerability or Code Error -While this is a personal learning project, if you discover a security vulnerability in any of the code, I would appreciate it if you could bring it to my attention. +While this is a personal learning project, if you find a security issue in any of the code, please let me know. -Please report vulnerabilities or Errors by opening a new issue on the repository. Please provide as much detail as possible in your report, including the steps to reproduce the vulnerability and to solve the error. +You can report vulnerabilities or errors by opening a new issue on the repository. Please include as much detail as you can — steps to reproduce, and what a fix might look like if you have one in mind. -Thank you for helping to improve the quality of my work.- \ No newline at end of file +Thanks for helping improve the quality of my work.+ \ No newline at end of file diff --git a/docs/credits.md b/docs/credits.md @@ -4,12 +4,13 @@ title: '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox=" # Acknowledgments -Building and maintaining a fast, open-source code index requires reliable and accessible infrastructure. I would like to extend my sincere gratitude to the following platforms, communities, and open-source projects that make `code.amit.is-a.dev` possible: +`code.amit.is-a.dev` only exists because of some genuinely great free and open-source tools. Thanks to: -* **[is-a.dev](https://is-a.dev)**: For providing the sleek, developer-centric domain name completely free of charge, giving this project a professional home. -* **[Hugging Face](https://huggingface.co)**: For securely and reliably storing the extensive collection of raw programming files. -* **[Cloudflare](https://www.cloudflare.com/)**: For handling the backend routing, DNS, and caching, seamlessly bridging the domain to ensure Hugging Face serves the code files swiftly and securely. -* **[GitHub](https://github.com/) & [GitHub Pages](https://pages.github.com/)**: For securely storing the entire open-source repository (including all code and markdown files) and providing lightning-fast, dependable web hosting for the compiled site. -* **[VitePress](https://vitepress.dev/)**: The phenomenal foundational frameworks that effortlessly transform raw Markdown files and code snippets into the beautiful, searchable, and highly responsive user interface you see today. +* **[is-a.dev](https://is-a.dev)** — for the free subdomain that gave this project a home. +* **[Hugging Face](https://huggingface.co)** — for hosting all the raw program files. +* **[Cloudflare](https://www.cloudflare.com/)** — for DNS, routing, and caching, connecting the domain to Hugging Face so files load fast and reliably. +* **[GitHub](https://github.com/) & [GitHub Pages](https://pages.github.com/)** — for hosting the repo (code + markdown) and serving the site itself. +* **[VitePress](https://vitepress.dev/)** — for turning a pile of markdown and code into an actual searchable, readable site. +* **[Algolia DocSearch](https://docsearch.algolia.com/)** — for the instant search that makes finding a program actually painless. -This project thrives thanks to the generosity of these free-tier services and the incredible work of the open-source community.- \ No newline at end of file +All free-tier services, all doing a lot of heavy lifting. If you're building something similar, every one of these is worth checking out.+ \ No newline at end of file diff --git a/docs/faq.md b/docs/faq.md @@ -16,53 +16,53 @@ A live archive of BSc Computer Science practical codes following the WBSU curric On GitHub: https://github.com/notamitgamer/bsc ### 4. Can I use this code? -Yes, under the MIT License. +Yes, it's under the MIT License — use it freely. ### 5. Can I copy this for assignments? -No. You should understand and rewrite the logic. +No. Read it, understand it, then write your own version. ## Metadata ### 6. What is "Author"? -The person who wrote the code. +The person credited with writing that particular file — usually the original student contributor. ### 7. What is "Repo"? -The original source repository of the file. +The GitHub repository the file originally came from. ### 8. What is "License"? -It defines how the code can be used. +The terms under which you're allowed to use, copy, or modify the code. ## Usage ### 9. Can I print the code? -Yes. Use the **Raw** button and print from your browser. +Yes — use the **Raw** button, then print from your browser. ### 10. Can I reuse this in projects? -Yes, but follow the license terms. +Yes, as long as you follow the license terms. ### 11. Can I modify the code? -Yes. You are encouraged to experiment and improve. +Yes, go for it — experimenting and improving is encouraged. ## Academic Integrity ### 12. What is academic integrity? -It means doing your own work honestly. +Doing your own work, honestly — no shortcuts. ### 13. Is copying allowed? -No. Copying without understanding is discouraged. +No. Copying without understanding defeats the point. ### 14. What should I do instead? - Read the code - Understand the logic -- Rewrite it yourself +- Rewrite it yourself, from scratch ## Technical ### 15. Why is something missing? -The project is continuously updated. +The project is still growing — not everything is uploaded yet. ### 16. How often is it updated? -As the academic journey progresses. +Roughly in step with the academic term as it progresses. ### 17. Where can I report issues? On GitHub Issues: https://github.com/notamitgamer/bsc/issues \ No newline at end of file diff --git a/docs/index.md b/docs/index.md @@ -16,7 +16,8 @@ hero: text: Browse all Sem link: .#roadmap-progress image: - src: /logo_large.svg + light: /logo_light.svg + dark: /logo_dark.svg alt: logo features: @@ -63,9 +64,12 @@ Currently navigating **Semester 2**. Folders for future semesters are placeholde ### Python Development -1. Download Python `>= v3.x.x`: [Python v3.14.5 original (45 MB)](https://www.python.org/ftp/python/pymanager/python-manager-26.2.msix) -2. Run the installer, ensure you check "Add python.exe to PATH", and complete the setup -3. Verify with python `--version` in your terminal +1. Download the Python Install Manager: [python-manager-26.2.msix (2 MB)](https://www.python.org/ftp/python/pymanager/python-manager-26.2.msix) +2. Run the installer, then open a terminal and run: +```bash + py install 3.14 +``` +3. Verify with `python --version` or `py --version` in your terminal ### R Programming diff --git a/docs/public/logo.svg b/docs/public/logo.svg @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 24 24" fill="none" stroke="#a8b1ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open-text-icon lucide-book-open-text"><path d="M12 7v14"/><path d="M16 12h2"/><path d="M16 8h2"/><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/><path d="M6 12h2"/><path d="M6 8h2"/></svg>- \ No newline at end of file diff --git a/docs/public/logo_dark.svg b/docs/public/logo_dark.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" viewBox="0 0 24 24" fill="none" stroke="#cba6f7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open-text-icon lucide-book-open-text"><path d="M12 7v14"/><path d="M16 12h2"/><path d="M16 8h2"/><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/><path d="M6 12h2"/><path d="M6 8h2"/></svg>+ \ No newline at end of file diff --git a/docs/public/logo_large.svg b/docs/public/logo_large.svg @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" viewBox="0 0 24 24" fill="none" stroke="#a8b1ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open-text-icon lucide-book-open-text"><path d="M12 7v14"/><path d="M16 12h2"/><path d="M16 8h2"/><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/><path d="M6 12h2"/><path d="M6 8h2"/></svg>- \ No newline at end of file diff --git a/docs/public/logo_light.svg b/docs/public/logo_light.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" viewBox="0 0 24 24" fill="none" stroke="#8839ef" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open-text-icon lucide-book-open-text"><path d="M12 7v14"/><path d="M16 12h2"/><path d="M16 8h2"/><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/><path d="M6 12h2"/><path d="M6 8h2"/></svg>+ \ No newline at end of file
© notamitgamer • Site Built: 2026-07-21 13:58:23 UTC • git-mirror commit: 1037f62 [view raw info]
Originally created with stagit • modified by notamitgamer
Forked from github.com/notamitgamer/git-mirror