bsc

Comprehensive codebase and coursework for the 4-year B.Sc. Computer Science Honours degree (WBSU)

git clone https://github.com/notamitgamer/bsc.git
· rebuilt hourlyOpen on GitHub
commit 36c88c91b609106d0963f3cf2770c459fd74f530
parent 0670f805f8970a64413c7c46e94bc130fce0ecd5
Author: Amit Dutta <mail@amit.is-a.dev>
Date:   Sat, 26 Sep 2026 13:06:03 +0530

Refactor DocFooterExtra.vue for improved structure [skip ci]
Diffstat:
Mdocs/.vitepress/theme/components/DocFooterExtra.vue | 170++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 133 insertions(+), 37 deletions(-)

diff --git a/docs/.vitepress/theme/components/DocFooterExtra.vue b/docs/.vitepress/theme/components/DocFooterExtra.vue @@ -6,22 +6,34 @@ </div> <div class="footer-top-row"> - <a href="https://github.com/notamitgamer/bsc" target="_blank" rel="noopener noreferrer" class="gh-mark" aria-label="View on GitHub"> + <a + href="https://github.com/notamitgamer/bsc" + target="_blank" + rel="noopener noreferrer" + class="gh-mark" + aria-label="View on GitHub" + > <svg viewBox="0 0 16 16" width="22" height="22" fill="currentColor"> - <path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 - 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13 - -.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66 - .07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15 - -.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27 - c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 - 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 - 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z"/> + <path + d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27 c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z" + /> </svg> </a> <button class="back-to-top" @click="scrollTop"> Back to top - <svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2"> - <path d="M8 13V3M3 8l5-5 5 5" stroke-linecap="round" stroke-linejoin="round" /> + <svg + viewBox="0 0 16 16" + width="14" + height="14" + fill="none" + stroke="currentColor" + stroke-width="2" + > + <path + d="M8 13V3M3 8l5-5 5 5" + stroke-linecap="round" + stroke-linejoin="round" + /> </svg> </button> </div> @@ -29,15 +41,40 @@ <div class="footer-columns"> <div class="col contribute-col"> <p class="col-title">Help improve this page</p> - <p class="col-text">Spotted a mistake or something unclear? All content is open source.</p> - <a :href="editUrl" target="_blank" rel="noopener noreferrer" class="contribute-btn">Suggest an edit</a> + <p class="col-text"> + Spotted a mistake or something unclear? All content is open source. + </p> + <a + :href="editUrl" + target="_blank" + rel="noopener noreferrer" + class="contribute-btn" + > + Suggest an edit + </a> </div> <div class="col help-col"> <p class="col-title">Still need help?</p> <ul class="help-links"> - <li><a href="https://github.com/notamitgamer/bsc/discussions" target="_blank" rel="noopener noreferrer">Ask a question</a></li> - <li><a href="https://github.com/notamitgamer/bsc/issues" target="_blank" rel="noopener noreferrer">Report an issue</a></li> + <li> + <a + href="https://github.com/notamitgamer/bsc/discussions" + target="_blank" + rel="noopener noreferrer" + > + Ask a question + </a> + </li> + <li> + <a + href="https://github.com/notamitgamer/bsc/issues" + target="_blank" + rel="noopener noreferrer" + > + Report an issue + </a> + </li> <li><a href="/changelog">Changelog</a></li> </ul> </div> @@ -47,8 +84,20 @@ <span>BSc Code Index &copy; 2026</span> <div class="bottom-links"> <a href="/terms">Terms</a> - <a href="https://github.com/notamitgamer/bsc/blob/main/LICENSE" target="_blank" rel="noopener noreferrer">License</a> - <a href="https://github.com/notamitgamer/bsc" target="_blank" rel="noopener noreferrer">GitHub</a> + <a + href="https://github.com/notamitgamer/bsc/blob/main/LICENSE" + target="_blank" + rel="noopener noreferrer" + > + License + </a> + <a + href="https://github.com/notamitgamer/bsc" + target="_blank" + rel="noopener noreferrer" + > + GitHub + </a> </div> </div> </div> @@ -84,24 +133,26 @@ const editUrl = computed(() => font-family: inherit; } -/* Decorative divider — plain PNG, fixed colors, no theme dependency. - Height scales down on narrow screens instead of a fixed crop box, - so buildings never get cut off on mobile. */ +/* Decorative divider — SVG skyline that anchors neatly across mobile and desktop */ .footer-divider { width: 100%; + height: 120px; + overflow: hidden; opacity: 0.95; - line-height: 0; /* removes the inline-image baseline gap under the img */ + line-height: 0; /* Removes inline image bottom gap */ } + .footer-divider-img { width: 100%; - height: auto; /* scales proportionally, whole scene always visible */ - max-height: 130px; - object-fit: contain; + height: 100%; + object-fit: cover; + object-position: bottom center; /* Keeps ground base aligned to the line below */ display: block; } + @media (max-width: 639px) { - .footer-divider-img { - max-height: 90px; /* smaller on phones so it doesn't dominate the footer */ + .footer-divider { + height: 75px; /* Keeps the skyline compact and legible on small screens */ } } @@ -113,8 +164,15 @@ const editUrl = computed(() => border-bottom: 1px solid var(--vp-c-divider); color: var(--vp-c-text-2); } -.gh-mark { color: var(--vp-c-text-2); display: flex; } -.gh-mark:hover { color: var(--vp-c-text-1); } + +.gh-mark { + color: var(--vp-c-text-2); + display: flex; +} + +.gh-mark:hover { + color: var(--vp-c-text-1); +} .back-to-top { display: flex; @@ -127,7 +185,10 @@ const editUrl = computed(() => cursor: pointer; font-weight: 500; } -.back-to-top:hover { color: var(--vp-c-brand-1); } + +.back-to-top:hover { + color: var(--vp-c-brand-1); +} .footer-columns { display: grid; @@ -136,8 +197,12 @@ const editUrl = computed(() => padding: 1.75rem 0; border-bottom: 1px solid var(--vp-c-divider); } + @media (max-width: 719px) { - .footer-columns { grid-template-columns: 1fr; gap: 1.5rem; } + .footer-columns { + grid-template-columns: 1fr; + gap: 1.5rem; + } } .col-title { @@ -148,6 +213,7 @@ const editUrl = computed(() => font-weight: 600; margin: 0 0 0.6rem; } + .col-text { font-size: 13px; color: var(--vp-c-text-2); @@ -165,11 +231,30 @@ const editUrl = computed(() => font-size: 13px; text-decoration: none; } -.contribute-btn:hover { border-color: var(--vp-c-brand-1); color: var(--vp-c-brand-1); } -.help-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; } -.help-links a { font-size: 13px; color: var(--vp-c-text-2); text-decoration: none; } -.help-links a:hover { color: var(--vp-c-brand-1); } +.contribute-btn:hover { + border-color: var(--vp-c-brand-1); + color: var(--vp-c-brand-1); +} + +.help-links { + list-style: none; + margin: 0; + padding: 0; + display: flex; + flex-direction: column; + gap: 0.4rem; +} + +.help-links a { + font-size: 13px; + color: var(--vp-c-text-2); + text-decoration: none; +} + +.help-links a:hover { + color: var(--vp-c-brand-1); +} .footer-bottom-bar { display: flex; @@ -179,7 +264,18 @@ const editUrl = computed(() => font-size: 12px; color: var(--vp-c-text-3, var(--vp-c-text-2)); } -.bottom-links { display: flex; gap: 1.2rem; } -.bottom-links a { color: inherit; text-decoration: none; } -.bottom-links a:hover { color: var(--vp-c-brand-1); } + +.bottom-links { + display: flex; + gap: 1.2rem; +} + +.bottom-links a { + color: inherit; + text-decoration: none; +} + +.bottom-links a:hover { + color: var(--vp-c-brand-1); +} </style>