From 0854746e65400ed6c3a9eab3c009bd8d7a9fd055 Mon Sep 17 00:00:00 2001 From: Aviv Keller Date: Thu, 2 Apr 2026 15:32:37 -0400 Subject: [PATCH 1/8] feat: add legal text + fix analytics --- components/Footer/index.jsx | 98 +++++++++++++++++++++++++++++++++++++ components/Layout/index.jsx | 9 ++-- 2 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 components/Footer/index.jsx diff --git a/components/Footer/index.jsx b/components/Footer/index.jsx new file mode 100644 index 0000000..1af43c6 --- /dev/null +++ b/components/Footer/index.jsx @@ -0,0 +1,98 @@ +import Footer from '@node-core/ui-components/Containers/Footer'; +import NavItem from '@node-core/ui-components/Containers/NavBar/NavItem'; + +const SOCIAL_LINKS = [ + { icon: 'github', link: 'https://github.com/nodejs/node', alt: 'GitHub' }, + { icon: 'discord', link: 'https://discord.gg/nodejs', alt: 'Discord' }, + { icon: 'mastodon', link: 'https://social.lfx.dev/@nodejs', alt: 'Mastodon' }, + { + icon: 'bluesky', + link: 'https://bsky.app/profile/nodejs.org', + alt: 'Bluesky', + }, + { icon: 'twitter', link: 'https://twitter.com/nodejs', alt: 'Twitter' }, + { icon: 'slack', link: 'https://slack-invite.openjsf.org/', alt: 'Slack' }, + { + icon: 'linkedin', + link: 'https://www.linkedin.com/company/node-js', + alt: 'LinkedIn', + }, +]; + +const FOOTER_LINKS = [ + { + link: 'https://openjsf.org/', + text: 'OpenJS Foundation', + }, + { + link: 'https://terms-of-use.openjsf.org/', + text: 'Terms of Use', + }, + { + link: 'https://privacy-policy.openjsf.org/', + text: 'Privacy Policy', + }, + { + link: 'https://bylaws.openjsf.org/', + text: 'Bylaws', + }, + { + link: 'https://github.com/openjs-foundation/cross-project-council/blob/main/CODE_OF_CONDUCT.md', + text: 'Code of Conduct', + }, + { + link: 'https://trademark-policy.openjsf.org/', + text: 'Trademark Policy', + }, + { + link: 'https://trademark-list.openjsf.org/', + text: 'Trademark List', + }, + { + link: 'https://www.linuxfoundation.org/cookies/', + text: 'Cookie Policy', + }, + { + link: 'https://github.com/nodejs/node/security/policy', + text: 'Security Policy', + }, +]; + +// The Node.js Project is legally obligated to include the following text. +// It should not be modified unless explicitly requested by OpenJS staff. +const LegalSlot = ( + <> +

+ Copyright OpenJS Foundation and Node.js + contributors. All rights reserved. The{' '} + OpenJS Foundation has registered + trademarks and uses trademarks. For a list of trademarks of the{' '} + OpenJS Foundation, please see our{' '} + Trademark Policy and{' '} + Trademark List. + Trademarks and logos not indicated on the{' '} + + list of OpenJS Foundation trademarks + {' '} + are trademarks™ or registered® trademarks of their respective holders. Use + of them does not imply any affiliation with or endorsement by them. +

+ + {FOOTER_LINKS.map(({ link, text }) => ( + + {text} + + ))} + +); + +/** + * Footer component for MDX documentation pages + */ +export default ({ metadata }) => ( +