diff --git a/docusaurus.config.js b/docusaurus.config.js index a3d08f29d2df74f59ef12161f3b22335402b6b11..61c1153f7503d40c26da6ef9ce84a3a63cae9702 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -36,32 +36,6 @@ module.exports = { footer: { style: "dark", links: [ - { - title: "Suivez-nous", - items: [ - { - label: "â–¶ï¸ Youtube", - href: "https://www.youtube.com/channel/UCauIDghddUNu6Fto1nR9Bmg/?sub_confirmation=1", - }, - { - label: "👔 Linkedin", - href: "https://www.linkedin.com/company/froggit", - }, - { - label: "🸠Froggit", - href: "https://lab.frogg.it/froggit", - }, - { - label: "🦊 GitLab", - href: "https://gitlab.com/froggit", - }, - { - label: "🦠Twitter", - href: "https://twitter.com/art_devops", - }, - ], - }, - { title: "Pourquoi Froggit ?", items: [ diff --git a/package-lock.json b/package-lock.json index f0b5d3e36988e0105131436dd612797e9d7e4407..0cc95f1bc22cdcabce84a858cd67342cea29fe62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,10 @@ "dependencies": { "@docusaurus/core": "2.0.0-beta.18", "@docusaurus/preset-classic": "2.0.0-beta.18", + "@fortawesome/fontawesome-svg-core": "^6.1.1", + "@fortawesome/free-regular-svg-icons": "^6.1.1", + "@fortawesome/free-solid-svg-icons": "^6.1.1", + "@fortawesome/react-fontawesome": "^0.1.18", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^6.2.1", "clsx": "^1.1.1", @@ -17,6 +21,7 @@ "prism-react-renderer": "^1.2.1", "react": "^17.0.1", "react-dom": "^17.0.1", + "react-icons": "^4.3.1", "url-loader": "^4.1.1" }, "devDependencies": { @@ -2603,6 +2608,63 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz", + "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz", + "integrity": "sha512-NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-regular-svg-icons": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz", + "integrity": "sha512-xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz", + "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.1.18", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.18.tgz", + "integrity": "sha512-RwLIB4TZw0M9gvy5u+TusAA0afbwM4JQIimNH/j3ygd6aIvYPQLqXMhC9ErY26J23rDPyDZldIfPq/HpTTJ/tQ==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.x" + } + }, "node_modules/@hapi/hoek": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", @@ -11009,6 +11071,14 @@ "react-dom": "^16.6.0 || ^17.0.0" } }, + "node_modules/react-icons": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.3.1.tgz", + "integrity": "sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -16066,6 +16136,43 @@ } } }, + "@fortawesome/fontawesome-common-types": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz", + "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==" + }, + "@fortawesome/fontawesome-svg-core": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz", + "integrity": "sha512-NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==", + "requires": { + "@fortawesome/fontawesome-common-types": "6.1.1" + } + }, + "@fortawesome/free-regular-svg-icons": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz", + "integrity": "sha512-xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==", + "requires": { + "@fortawesome/fontawesome-common-types": "6.1.1" + } + }, + "@fortawesome/free-solid-svg-icons": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz", + "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==", + "requires": { + "@fortawesome/fontawesome-common-types": "6.1.1" + } + }, + "@fortawesome/react-fontawesome": { + "version": "0.1.18", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.18.tgz", + "integrity": "sha512-RwLIB4TZw0M9gvy5u+TusAA0afbwM4JQIimNH/j3ygd6aIvYPQLqXMhC9ErY26J23rDPyDZldIfPq/HpTTJ/tQ==", + "requires": { + "prop-types": "^15.8.1" + } + }, "@hapi/hoek": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", @@ -22155,6 +22262,12 @@ "shallowequal": "^1.1.0" } }, + "react-icons": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.3.1.tgz", + "integrity": "sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==", + "requires": {} + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", diff --git a/package.json b/package.json index da297bbe78025db6bf17251346de1c605ad25052..0be0e14f51db1df738459598f71cbaf11456a1d3 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,10 @@ "dependencies": { "@docusaurus/core": "2.0.0-beta.18", "@docusaurus/preset-classic": "2.0.0-beta.18", + "@fortawesome/fontawesome-svg-core": "^6.1.1", + "@fortawesome/free-regular-svg-icons": "^6.1.1", + "@fortawesome/free-solid-svg-icons": "^6.1.1", + "@fortawesome/react-fontawesome": "^0.1.18", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^6.2.1", "clsx": "^1.1.1", @@ -25,6 +29,7 @@ "prism-react-renderer": "^1.2.1", "react": "^17.0.1", "react-dom": "^17.0.1", + "react-icons": "^4.3.1", "url-loader": "^4.1.1" }, "browserslist": { diff --git a/src/css/custom.css b/src/css/custom.css index f8e230a287316d26058d02fbe251878e1cb7c479..c1091ab94419e602f03bb029c21ea0c2e9740648 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -236,11 +236,11 @@ a.footer__link-item:hover { color: var(--ifm-color-frame); } -#__docusaurus > footer > div > div.text--center > div > a { - color: unset; +.footer a { + color: var(--ifm-color-primary-light); } -#__docusaurus > footer > div > div.text--center > div > a:hover { +.footer a:hover { color: var(--ifm-color-frame); } @@ -252,6 +252,18 @@ a.footer__link-item:hover { font-family: var(--ifm-font-family); } +.footer_container { + display: flex; + justify-content: center; +} + +.footer_icons { + margin-left: 12px; + margin-right: 12px; + width: 1.8rem; + height: auto; +} + .footer__title { color: var(--ifm-color-primary-light); } @@ -312,7 +324,7 @@ html[data-theme='dark'] .footer__copyright { /******* Dark theme ********/ html[data-theme='dark'] a:hover { - + color: var(--ifm-color-frame); transition: 0.3s; } diff --git a/src/theme/Footer/index.js b/src/theme/Footer/index.js new file mode 100644 index 0000000000000000000000000000000000000000..4b3e3719d5493a68e7a4e6905cdcd4ad071232e8 --- /dev/null +++ b/src/theme/Footer/index.js @@ -0,0 +1,68 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +import React from "react"; +import {useThemeConfig} from "@docusaurus/theme-common"; +import FooterLinks from "@theme/Footer/Links"; +import FooterLogo from "@theme/Footer/Logo"; +import FooterCopyright from "@theme/Footer/Copyright"; +import FooterLayout from "@theme/Footer/Layout"; +import { FaYoutube, FaLinkedin, FaGitlab, FaTwitter } from "react-icons/fa"; +import Froggitblanc from "/static/img/logo_froggit_blanc.png"; + + +function Footer() { + const {footer} = useThemeConfig(); + + if (!footer) { + return null; + } + + const {copyright, icons, links, logo, style, FooterIcons} = footer; + return ( + <> + <div className="footer"> + + <div className="footer_container"> + + <a href="https://lab.frogg.it/froggit" target="_blank" rel="noreferrer"> + <img className="footer_icons" src={Froggitblanc} alt="Logo Froggit blanc" /> + </a> + + <a href="https://gitlab.com/froggit" target="_blank" rel="noreferrer"> + <FaGitlab className="footer_icons" /> + </a> + + <a href="https://www.youtube.com/channel/UCauIDghddUNu6Fto1nR9Bmg/?sub_confirmation=1" target="_blank" rel="noreferrer"> + <FaYoutube className="footer_icons" /> + </a> + + <a href="https://www.linkedin.com/company/froggit" target="_blank" rel="noreferrer"> + <FaLinkedin className="footer_icons" /> + </a> + + <a href="https://twitter.com/art_devops" target="_blank" rel="noreferrer"> + <FaTwitter className="footer_icons" /> + </a> + + </div> + + <div> + + <FooterLayout + icons={icons && <FooterIcons icons={icons} />} + style={style} + links={links && links.length > 0 && <FooterLinks links={links} />} + logo={logo && <FooterLogo logo={logo} />} + copyright={copyright && <FooterCopyright copyright={copyright} />} + /> + </div> + </div> + </> + ); +} + +export default React.memo(Footer); diff --git a/static/img/logo_froggit_blanc.png b/static/img/logo_froggit_blanc.png new file mode 100644 index 0000000000000000000000000000000000000000..b577abd3b572c7b06c3023cce20a65b47b9520ef Binary files /dev/null and b/static/img/logo_froggit_blanc.png differ