diff --git a/docusaurus.config.js b/docusaurus.config.js index 08d461ab32..688cd58e3a 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -23,228 +23,196 @@ module.exports = { position: 'left', to: '/docs/guidelines/' }, + + // ---- Year Menus (unchanged) ---- { label: '2021', position: 'left', to: '/docs/2021/', items: [ - { - label: 'New build system', - to: '/docs/2021/buildsystem/', - }, - { - label: 'Copyrights false positive detection', - to: '/docs/2021/copyrights/', - }, - { - label: 'Microservice architecture', - to: '/docs/2021/microservice/', - }, - { - label: 'Minerva', - to: '/docs/2021/minerva/', - }, - { - label: 'ScanCode Integration', - to: '/docs/2021/scancode/', - }, - { - label: 'React UI', - to: '/docs/2021/ui/', - }, + { label: 'New build system', to: '/docs/2021/buildsystem/' }, + { label: 'Copyrights false positive detection', to: '/docs/2021/copyrights/' }, + { label: 'Microservice architecture', to: '/docs/2021/microservice/' }, + { label: 'Minerva', to: '/docs/2021/minerva/' }, + { label: 'ScanCode Integration', to: '/docs/2021/scancode/' }, + { label: 'React UI', to: '/docs/2021/ui/' }, ] }, + { label: '2022', position: 'left', to: '/docs/2022/', items: [ - { - label: 'Atarashi', - to: '/docs/2022/atarashi/', - }, - { - label: 'Concept of project', - to: '/docs/2022/project/', - }, - { - label: 'REUSE', - to: '/docs/2022/reuse/', - }, - { - label: 'Spasht', - to: '/docs/2022/spasht/', - }, - { - label: 'React UI', - to: '/docs/2022/ui/', - }, + { label: 'Atarashi', to: '/docs/2022/atarashi/' }, + { label: 'Concept of project', to: '/docs/2022/project/' }, + { label: 'REUSE', to: '/docs/2022/reuse/' }, + { label: 'Spasht', to: '/docs/2022/spasht/' }, + { label: 'React UI', to: '/docs/2022/ui/' }, ] }, + { label: '2023', position: 'left', to: '/docs/2023/', items: [ - { - label: 'Reducing False positive copyrights', - to: '/docs/2023/copyrights', - }, - { - label: 'REST API improvements', - to: '/docs/2023/rest', - }, - { - label: 'License as a service', - to: '/docs/2023/laas', - }, - { - label: 'Support CycloneDX report', - to: '/docs/2023/cyclonedx', - }, + { label: 'Reducing False positive copyrights', to: '/docs/2023/copyrights' }, + { label: 'REST API improvements', to: '/docs/2023/rest' }, + { label: 'License as a service', to: '/docs/2023/laas' }, + { label: 'Support CycloneDX report', to: '/docs/2023/cyclonedx' }, ] }, + { label: '2024', position: 'left', to: '/docs/2024/', items: [ - { - label: 'Idea list', - to: '/docs/2024/GSoC-projects', - }, - { - label: 'Scheduler Overhaul', - to: '/docs/2024/scheduler', - }, - { - label: 'AI Powered License Detection', - to: '/docs/2024/license-detection', - }, - { - label: 'Support SPDX 3.0 Reports', - to: '/docs/2024/spdx30', - }, - { - label: 'SPDX License Expression Support', - to: '/docs/2024/spdx-expression', - }, - { - label: 'REST API improvements', - to: '/docs/2024/rest', - }, - { - label: 'CI Scanner Improvements', - to: '/docs/2024/ci-scanner', - }, - { - label: 'Data Pipeline', - to: '/docs/2024/pipeline', - }, - { - label: 'Text Phrases', - to: '/docs/2024/text-phrases', - }, + { label: 'Idea list', to: '/docs/2024/GSoC-projects' }, + { label: 'Scheduler Overhaul', to: '/docs/2024/scheduler' }, + { label: 'AI Powered License Detection', to: '/docs/2024/license-detection' }, + { label: 'Support SPDX 3.0 Reports', to: '/docs/2024/spdx30' }, + { label: 'SPDX License Expression Support', to: '/docs/2024/spdx-expression' }, + { label: 'REST API improvements', to: '/docs/2024/rest' }, + { label: 'CI Scanner Improvements', to: '/docs/2024/ci-scanner' }, + { label: 'Data Pipeline', to: '/docs/2024/pipeline' }, + { label: 'Text Phrases', to: '/docs/2024/text-phrases' }, ] }, + { label: '2025', position: 'left', to: '/docs/2025/', items: [ - { - label: 'Idea list', - to: '/docs/2025/GSoC-projects', - }, - { - label: 'Enhance Atarashi\'s Ability', - to: '/docs/2025/atarashi-enhancement', - }, - { - label: 'Data Pipeline For Safaa', - to: '/docs/2025/data-pipeline', - }, - { - label: 'Enhancing Debian Packaging for FOSSology', - to: '/docs/2025/debian-packaging', - }, - { - label: 'LicenseDB Platform Improvements', - to: '/docs/2025/licensedb-platform', - }, - { - label: 'Complete Microservices Infrastructure for FOSSology', - to: '/docs/2025/microservices-infrastructure', - }, - { - label: 'Integrating OSS Review Toolkit with FOSSology', - to: '/docs/2025/oss-review-toolkit', - }, - { - label: 'Reuse of clearing decisions using reports from OSSelot Project', - to: '/docs/2025/osselot', - }, - { - label: 'Support text phrases and bulk based scanning for Monk a like agent', - to: '/docs/2025/text-phrases-bulk', - }, - { - label: 'Completion of UI using React.js', - to: '/docs/2025/ui-react', - }, - { - label: 'FOSSology UX and UI Redesign', - to: '/docs/2025/ux-ui-design', - }, + { label: 'Idea list', to: '/docs/2025/GSoC-projects' }, + { label: 'Enhance Atarashi\'s Ability', to: '/docs/2025/atarashi-enhancement' }, + { label: 'Data Pipeline For Safaa', to: '/docs/2025/data-pipeline' }, + { label: 'Enhancing Debian Packaging for FOSSology', to: '/docs/2025/debian-packaging' }, + { label: 'LicenseDB Platform Improvements', to: '/docs/2025/licensedb-platform' }, + { label: 'Complete Microservices Infrastructure for FOSSology', to: '/docs/2025/microservices-infrastructure' }, + { label: 'Integrating OSS Review Toolkit with FOSSology', to: '/docs/2025/oss-review-toolkit' }, + { label: 'Reuse of clearing decisions using reports from OSSelot Project', to: '/docs/2025/osselot' }, + { label: 'Support text phrases and bulk based scanning for Monk a like agent', to: '/docs/2025/text-phrases-bulk' }, + { label: 'Completion of UI using React.js', to: '/docs/2025/ui-react' }, + { label: 'FOSSology UX and UI Redesign', to: '/docs/2025/ux-ui-design' }, ] }, + + // ⭐ NAVBAR GITHUB ICON { - href: 'https://github.com/fossology/fossology', - label: 'GitHub', - position: 'right', + href: 'https://github.com/fossology/fossology', + position: 'right', + html: ` + `, }, ], }, + + // ------------ FOOTER WITH ICONS -------------- footer: { - style: 'dark', - links: [ + style: 'dark', + links: [ + { + title: 'About', + items: [ { - title: 'Community', - items: [ - { - label: 'GitHub', - href: 'https://github.com/fossology', - }, - { - label: 'Slack', - href: 'https://fossology.slack.com/', - }, - { - label: 'Main home page', - href: 'https://www.fossology.org/', - }, - ], + html: ` + + `, }, + ], + }, + + { + title: 'Quick Links', + items: [ + { label: 'Home', to: '/' }, + { label: 'Contributor Guidelines', to: '/docs/guidelines/' }, + { label: 'Project Ideas', to: '/docs/2025/GSoC-projects/' }, + { label: 'Website', to: 'https://www.fossology.org/' }, + { label: 'Install FOSSology', to: 'https://github.com/fossology/fossology/wiki/Install-from-Source' }, + ], + }, + + { + title: 'Community', + items: [ { - title: 'More', - items: [ - { - label: 'YouTube', - href: 'https://www.youtube.com/@fossology', - }, - { - label: 'Installing FOSSology', - href: 'https://github.com/fossology/fossology/wiki/Install-from-Source', - }, - { - label: 'Getting started', - href: 'https://github.com/fossology/fossology/wiki/New-at-FOSSology,-You-Could-...', - }, - ], + html: ` + + `, + }, + { + html: ` + + `, + }, + { + html: ` + + `, }, ], - copyright: `Copyright © 2021 - ${new Date().getFullYear()} FOSSology project. Built with Docusaurus.`, }, + + { + + title: 'Contact', + items: [ + { + html: ` + + `, + }, + { + html: ` + + `, + }, + { + html: ` + + `, + }, + ], +}, + + ], + copyright: ` + © 2021 - ${new Date().getFullYear()} FOSSology project. + Built with Docusaurus. + `, +}, + colorMode: { defaultMode: 'light', disableSwitch: false, @@ -252,19 +220,18 @@ module.exports = { }, image: 'img/logo.png', }, + presets: [ [ '@docusaurus/preset-classic', { docs: { sidebarPath: require.resolve('./sidebars.js'), - editUrl: - 'https://github.com/fossology/gsoc/edit/main/', + editUrl: 'https://github.com/fossology/gsoc/edit/main/', }, blog: { showReadingTime: true, - editUrl: - 'https://github.com/fossology/gsoc/edit/main/', + editUrl: 'https://github.com/fossology/gsoc/edit/main/', }, theme: { customCss: [ diff --git a/src/css/custom.css b/src/css/custom.css index 37615c6ab9..f39b528ea6 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -18,6 +18,7 @@ --ifm-color-primary-darkest: #57000A; --ifm-color-primary-light: #9BADC4; --ifm-color-primary-lighter: #B0C4DE; + --ifm-color-primary-lightest: #B9CFEB; --ifm-code-font-size: 95%; } @@ -28,3 +29,187 @@ margin: 0 calc(-1 * var(--ifm-pre-padding)); padding: 0 var(--ifm-pre-padding); } + + +/* LOGO ko normal rehne do */ +.navbar__logo { + background: none !important; + padding: 0 !important; + box-shadow: none !important; + border-radius: 0 !important; + transform: none !important; +} + +/* HOME text ko separate style */ +.navbar__brand .navbar__title { + background: #ffffff; + color:rgba(0, 0, 0, 0.743); + border-radius: 8px; + padding: 6px 12px; + margin-left: 8px; /* logo se thoda gap */ + box-shadow: 0 2px 6px rgba(0,0,0,0.15); + transition: 0.2s ease; +} + +/* HOME hover effect */ +.navbar__brand .navbar__title:hover { + transform: translateY(-2px); + box-shadow: 0 6px 12px rgba(0,0,0,0.2); + color:#D50019; +} + + + +.navbar__brand .navbar__logo { + margin-right: 8px; + border-radius: 6px; +} + +/* Top-level navbar links (most items) */ +.navbar__item .navbar__link, +.navbar__items .navbar__link { + background: #ffffff; + border-radius: 8px; + padding: 6px 12px; + margin-right: 6px; + color: #333 !important; + transition: all 0.18s ease; + box-shadow: 0 2px 4px rgba(0,0,0,0.10); +} + +/* Hover: lift + darker shadow */ +.navbar__item .navbar__link:hover, +.navbar__items .navbar__link:hover { + transform: translateY(-3px); + box-shadow: 0 6px 14px rgba(0,0,0,0.16); + color: #D50019 !important; +} + +/* Active link styling (current page) */ +.navbar__link--active { + background: #fff; + box-shadow: 0 6px 18px rgba(0,0,0,0.12); + font-weight: 700; +} + +/* Dropdown menu links (same visual style) */ +.menu__link { + background: #ffffff !important; + border-radius: 6px; + margin: 4px 0; + padding: 6px 12px; + box-shadow: 0 2px 4px rgba(0,0,0,0.08); +} + +/* Mobile: ensure brand and items don't collapse visually weird */ +@media (max-width: 991px) { + .navbar__brand, + .navbar__brand .navbar__title { + padding: 4px 8px; + } + .navbar__item .navbar__link { + padding: 8px 10px; + margin-right: 4px; + border-radius: 6px; + } +} + +/* Modern Footer Layout */ +.footer { + background: #0f0f0f !important; + padding: 50px 0 30px; +} + +.footer-title { + font-size: 22px; + font-weight: 700; + color: #fff; + margin-bottom: 10px; +} + +.footer-desc { + font-size: 15px; + color: #bbb; + line-height: 1.6; + max-width: 230px; +} + +.footer__title { + color: #fff !important; + font-size: 18px !important; + font-weight: 600; +} + +/* Links */ +.footer__link-item { + color: #ccc !important; + font-size: 15px !important; + padding: 4px 0; + transition: 0.25s ease; +} + +.footer__link-item:hover { + color: #fff !important; + margin-left: 3px; +} + +/* Social Box */ +.footer-social { + display: flex; + align-items: center; + gap: 10px; + padding: 6px 0; +} + +.social-icon { + width: 22px; + height: 22px; + object-fit: contain; + filter: brightness(1.2) invert(1); + transition: transform 0.25s ease; +} + +.footer-social:hover .social-icon { + transform: scale(1.15); +} + +.footer-social a { + color: #ccc !important; + font-size: 15px; +} + +.footer-social:hover a { + color: #fff !important; +} + +/* Contact */ +.footer-contact { + color: #ccc; + font-size: 15px; + margin: 6px 0; +} + +/* Bottom Line */ +.footer__bottom, +.footer-bottom { + text-align: center; + padding-top: 20px; + color: #888; + font-size: 14px; +} + +/* Keep YouTube icon red */ +.footer-social.youtube .social-icon { + filter: none !important; +} + +.footer-contact-link { + color: #ccc !important; + text-decoration: none !important; + transition: 0.2s ease; +} + +.footer-contact-link:hover { + color: #fff !important; + margin-left: 2px; +} diff --git a/src/pages/index.js b/src/pages/index.js index 922f7e023e..4f15ce66d4 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -49,6 +49,7 @@ function HomepageHeader() { ); } + export default function Home() { const { siteConfig } = useDocusaurusContext(); return ( diff --git a/src/pages/index.module.css b/src/pages/index.module.css index 30abeac66e..11f44b2aef 100644 --- a/src/pages/index.module.css +++ b/src/pages/index.module.css @@ -25,4 +25,20 @@ display: flex; align-items: center; justify-content: center; + } + +.buttons :global(.button) { + transition: transform 0.15s ease, box-shadow 0.15s ease; +} + +.buttons :global(.button:hover) { + transform: translateY(-4px); + box-shadow: 0px 8px 18px rgba(0, 0, 0, 0.35); + background-color: aliceblue; +} + +.buttons :global(.button:active) { + transform: translateY(-1px); + box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.592); +} \ No newline at end of file diff --git a/static/img/getting.png b/static/img/getting.png new file mode 100644 index 0000000000..8285ff7cb1 Binary files /dev/null and b/static/img/getting.png differ diff --git a/static/img/github-logo.png b/static/img/github-logo.png new file mode 100644 index 0000000000..071b407e0e Binary files /dev/null and b/static/img/github-logo.png differ diff --git a/static/img/githublogo.jpeg b/static/img/githublogo.jpeg new file mode 100644 index 0000000000..5279bf2b8b Binary files /dev/null and b/static/img/githublogo.jpeg differ diff --git a/static/img/install.png b/static/img/install.png new file mode 100644 index 0000000000..d59568838d Binary files /dev/null and b/static/img/install.png differ diff --git a/static/img/slack.png b/static/img/slack.png new file mode 100644 index 0000000000..8765917c6b Binary files /dev/null and b/static/img/slack.png differ diff --git a/static/img/youtube.png b/static/img/youtube.png new file mode 100644 index 0000000000..ac5e2f1ddd Binary files /dev/null and b/static/img/youtube.png differ