diff --git a/.vscode/tasks.json b/.vscode/tasks.json index f406125f..78f67af3 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,15 +1,13 @@ { - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - "version": "2.0.0", - "tasks": [ - { - "label": "pnpm-serve", - "type": "shell", - "command": "pixi run serve", - "problemMatcher": [ - "$eslint-compact" - ] - } - ] -} \ No newline at end of file + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "pnpm-serve", + "type": "shell", + "command": "pixi run serve", + "problemMatcher": ["$eslint-compact"] + } + ] +} diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index e00595da..00000000 --- a/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], -}; diff --git a/babel.config.mjs b/babel.config.mjs new file mode 100644 index 00000000..12d2ebc0 --- /dev/null +++ b/babel.config.mjs @@ -0,0 +1,7 @@ +import preset from "@docusaurus/core/lib/babel/preset"; + +const babelConfig = { + presets: [preset], +}; + +export default babelConfig; diff --git a/blog/authors.yml b/blog/authors.yml index 8bfa5c7c..42378c87 100644 --- a/blog/authors.yml +++ b/blog/authors.yml @@ -15,7 +15,7 @@ slorber: image_url: https://github.com/slorber.png page: # customize the url of the author page at /blog/authors/ - permalink: '/all-sebastien-lorber-articles' + permalink: "/all-sebastien-lorber-articles" socials: x: sebastienlorber linkedin: sebastienlorber diff --git a/docs/hpc/01_getting_started/_category_.json b/docs/hpc/01_getting_started/_category_.json index c631500f..41f4c00e 100644 --- a/docs/hpc/01_getting_started/_category_.json +++ b/docs/hpc/01_getting_started/_category_.json @@ -1,3 +1,3 @@ { - "label": "Getting Started", + "label": "Getting Started" } diff --git a/docs/hpc/02_connecting_to_hpc/_category_.json b/docs/hpc/02_connecting_to_hpc/_category_.json index 61c497c6..ece9ba73 100644 --- a/docs/hpc/02_connecting_to_hpc/_category_.json +++ b/docs/hpc/02_connecting_to_hpc/_category_.json @@ -1,3 +1,3 @@ { - "label": "Setup", + "label": "Setup" } diff --git a/docs/hpc/03_storage/_category_.json b/docs/hpc/03_storage/_category_.json index db4557a4..aa1e30b1 100644 --- a/docs/hpc/03_storage/_category_.json +++ b/docs/hpc/03_storage/_category_.json @@ -1,3 +1,3 @@ { - "label": "Storage & Data transfers", + "label": "Storage & Data transfers" } diff --git a/docs/hpc/04_datasets/_category_.json b/docs/hpc/04_datasets/_category_.json index e7799ced..015b2ae8 100644 --- a/docs/hpc/04_datasets/_category_.json +++ b/docs/hpc/04_datasets/_category_.json @@ -1,3 +1,3 @@ { - "label": "Datasets", + "label": "Datasets" } diff --git a/docs/hpc/05_submitting_jobs/_category_.json b/docs/hpc/05_submitting_jobs/_category_.json index d1e58370..657e43e7 100644 --- a/docs/hpc/05_submitting_jobs/_category_.json +++ b/docs/hpc/05_submitting_jobs/_category_.json @@ -1,3 +1,3 @@ { - "label": "Submitting jobs", + "label": "Submitting jobs" } diff --git a/docs/hpc/06_tools_and_software/_category_.json b/docs/hpc/06_tools_and_software/_category_.json index 8a4845a5..401ad904 100644 --- a/docs/hpc/06_tools_and_software/_category_.json +++ b/docs/hpc/06_tools_and_software/_category_.json @@ -1,3 +1,3 @@ { - "label": "Tools & Software available", + "label": "Tools & Software available" } diff --git a/docs/hpc/07_containers/_category_.json b/docs/hpc/07_containers/_category_.json index 00ee8472..93795706 100644 --- a/docs/hpc/07_containers/_category_.json +++ b/docs/hpc/07_containers/_category_.json @@ -1,3 +1,3 @@ { - "label": "Containers", + "label": "Containers" } diff --git a/docs/hpc/08_ml_ai_hpc/_category_.json b/docs/hpc/08_ml_ai_hpc/_category_.json index dee0f99f..6dc4a612 100644 --- a/docs/hpc/08_ml_ai_hpc/_category_.json +++ b/docs/hpc/08_ml_ai_hpc/_category_.json @@ -1,3 +1,3 @@ { - "label": "ML/AI on HPC", + "label": "ML/AI on HPC" } diff --git a/docs/hpc/09_ood/_category_.json b/docs/hpc/09_ood/_category_.json index 1e7b5468..d3a82fb2 100644 --- a/docs/hpc/09_ood/_category_.json +++ b/docs/hpc/09_ood/_category_.json @@ -1,3 +1,3 @@ { - "label": "Open OnDemand", + "label": "Open OnDemand" } diff --git a/docs/hpc/10_tutorials/_category_.json b/docs/hpc/10_tutorials/_category_.json index 13fac031..86a14527 100644 --- a/docs/hpc/10_tutorials/_category_.json +++ b/docs/hpc/10_tutorials/_category_.json @@ -1,3 +1,3 @@ { - "label": "Tutorials from old website", + "label": "Tutorials from old website" } diff --git a/docs/hpc/11_training_and_support/_category_.json b/docs/hpc/11_training_and_support/_category_.json index d5b10432..4a6de2c0 100644 --- a/docs/hpc/11_training_and_support/_category_.json +++ b/docs/hpc/11_training_and_support/_category_.json @@ -1,3 +1,3 @@ { - "label": "Training and Support", + "label": "Training and Support" } diff --git a/docs/srde/01_getting_started/_category_.json b/docs/srde/01_getting_started/_category_.json index c631500f..41f4c00e 100644 --- a/docs/srde/01_getting_started/_category_.json +++ b/docs/srde/01_getting_started/_category_.json @@ -1,3 +1,3 @@ { - "label": "Getting Started", + "label": "Getting Started" } diff --git a/docs/srde/02_user_guide/_category_.json b/docs/srde/02_user_guide/_category_.json index 09c87314..8f01ba26 100644 --- a/docs/srde/02_user_guide/_category_.json +++ b/docs/srde/02_user_guide/_category_.json @@ -1,3 +1,3 @@ { - "label": "User Guide", + "label": "User Guide" } diff --git a/docs/srde/03_dlp/_category_.json b/docs/srde/03_dlp/_category_.json index 29cc5484..07bb56b1 100644 --- a/docs/srde/03_dlp/_category_.json +++ b/docs/srde/03_dlp/_category_.json @@ -1,3 +1,3 @@ { - "label": "Data Loss Prevention", + "label": "Data Loss Prevention" } diff --git a/docs/srde/05_support/_category_.json b/docs/srde/05_support/_category_.json index 0a9a1eb6..6af7a9fc 100644 --- a/docs/srde/05_support/_category_.json +++ b/docs/srde/05_support/_category_.json @@ -1,3 +1,3 @@ { - "label": "Support", + "label": "Support" } diff --git a/docusaurus.config.ts b/docusaurus.config.ts index c60ec7b3..eb437b7c 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -1,33 +1,33 @@ -import { themes as prismThemes } from 'prism-react-renderer'; -import type { Config } from '@docusaurus/types'; -import type * as Preset from '@docusaurus/preset-classic'; +import type * as Preset from "@docusaurus/preset-classic"; +import { type Config } from "@docusaurus/types"; +import { themes as prismThemes } from "prism-react-renderer"; // Set the // pathname under which your site is served // For GitHub pages deployment, it is often '//' -let baseUrl = '/rts-docs-dev/'; +let baseUrl = "/rts-docs-dev/"; if (process.env.PREVIEW_PATH) { baseUrl += process.env.PREVIEW_PATH; } - + const config: Config = { - title: 'Research Technology Servcies', - tagline: 'NYU', - favicon: 'img/NYU.ico', + title: "Research Technology Servcies", + tagline: "NYU", + favicon: "img/NYU.ico", // Set the production url of your site here - url: 'https://your-docusaurus-site.example.com', + url: "https://your-docusaurus-site.example.com", // Set the // pathname under which your site is served // For GitHub pages deployment, it is often '//' baseUrl: baseUrl, // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. - organizationName: 'NYU-ITS', // Usually your GitHub org/user name. - projectName: 'rts-docs-dev', // Usually your repo name. - deploymentBranch: 'main', + organizationName: "NYU-ITS", // Usually your GitHub org/user name. + projectName: "rts-docs-dev", // Usually your repo name. + deploymentBranch: "main", - onBrokenLinks: 'throw', - onBrokenMarkdownLinks: 'warn', + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "warn", //https://docusaurus.io/docs/deployment#docusaurusconfigjs-settings trailingSlash: true, @@ -36,35 +36,33 @@ const config: Config = { // useful metadata like html lang. For example, if your site is Chinese, you // may want to replace "en" with "zh-Hans". i18n: { - defaultLocale: 'en', - locales: ['en'], + defaultLocale: "en", + locales: ["en"], }, presets: [ [ - 'classic', + "classic", { docs: { - sidebarPath: './sidebars.ts', - editUrl: - 'https://github.com/NYU-ITS/rts-docs-dev/blob/main/', + sidebarPath: "./sidebars.ts", + editUrl: "https://github.com/NYU-ITS/rts-docs-dev/blob/main/", }, blog: { showReadingTime: true, feedOptions: { - type: ['rss', 'atom'], + type: ["rss", "atom"], xslt: true, }, // Remove this to remove the "edit this page" links. - editUrl: - 'https://github.com/NYU-ITS/rts-docs-dev/blob/main/', + editUrl: "https://github.com/NYU-ITS/rts-docs-dev/blob/main/", // Useful options to enforce blogging best practices - onInlineTags: 'warn', - onInlineAuthors: 'warn', - onUntruncatedBlogPosts: 'warn', + onInlineTags: "warn", + onInlineAuthors: "warn", + onUntruncatedBlogPosts: "warn", }, theme: { - customCss: './src/css/custom.css', + customCss: "./src/css/custom.css", }, } satisfies Preset.Options, ], @@ -72,70 +70,70 @@ const config: Config = { themeConfig: { // Replace with your project's social card - docs: { sidebar : { hideable: true } }, - image: 'img/NYU.svg', + docs: { sidebar: { hideable: true } }, + image: "img/NYU.svg", navbar: { - title: 'Research Technology Services', + title: "Research Technology Services", logo: { - alt: 'My Site Logo', - src: 'img/NYU.svg', + alt: "My Site Logo", + src: "img/NYU.svg", }, items: [ { - type: 'docSidebar', - sidebarId: 'genaiSidebar', - position: 'right', - label: 'Pythia', + type: "docSidebar", + sidebarId: "genaiSidebar", + position: "right", + label: "Pythia", }, { - type: 'docSidebar', - sidebarId: 'hpcSidebar', - position: 'right', - label: 'HPC', + type: "docSidebar", + sidebarId: "hpcSidebar", + position: "right", + label: "HPC", }, { - type: 'docSidebar', - sidebarId: 'hsrnSidebar', - position: 'right', - label: 'HSRN', + type: "docSidebar", + sidebarId: "hsrnSidebar", + position: "right", + label: "HSRN", }, { - type: 'docSidebar', - sidebarId: 'rtcSidebar', - position: 'right', - label: 'RTC', + type: "docSidebar", + sidebarId: "rtcSidebar", + position: "right", + label: "RTC", }, { - type: 'docSidebar', - sidebarId: 'srdeSidebar', - position: 'right', - label: 'SRDE', + type: "docSidebar", + sidebarId: "srdeSidebar", + position: "right", + label: "SRDE", }, - { to: '/blog', label: 'Announcements', position: 'right' }, + { to: "/blog", label: "Announcements", position: "right" }, ], }, footer: { - style: 'dark', + style: "dark", links: [ { - title: 'Feedback', + title: "Feedback", items: [ { - label: 'Email', - href: 'mailto:hpc@nyu.edu', + label: "Email", + href: "mailto:hpc@nyu.edu", }, ], }, { - title: 'More', + title: "More", items: [ { - label: 'Blog', - to: '/blog', + label: "Blog", + to: "/blog", }, { - label: 'GitHub', - href: 'https://github.com/NYU-ITS/rts-docs-dev', + label: "GitHub", + href: "https://github.com/NYU-ITS/rts-docs-dev", }, ], }, @@ -145,7 +143,7 @@ const config: Config = { prism: { theme: prismThemes.oneLight, darkTheme: prismThemes.palenight, - additionalLanguages: ['bash', 'shell-session', 'lua', 'sql', 'julia'], + additionalLanguages: ["bash", "shell-session", "lua", "sql", "julia"], }, } satisfies Preset.ThemeConfig, }; diff --git a/sidebars.ts b/sidebars.ts index fd36b7ba..48f5b51e 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -1,22 +1,23 @@ -import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; +import { type SidebarsConfig } from "@docusaurus/plugin-content-docs"; /** * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. + * + * - Create an ordered group of docs + * - Render a sidebar for each doc of that group + * - Provide next/previous navigation + * + * The sidebars can be generated from the filesystem, or explicitly defined + * here. + * + * Create as many sidebars as you want. */ const sidebars: SidebarsConfig = { - genaiSidebar: [{type: 'autogenerated', dirName: 'genai'}], - hpcSidebar: [{type: 'autogenerated', dirName: 'hpc'}], - hsrnSidebar: [{type: 'autogenerated', dirName: 'hsrn'}], - rtcSidebar: [{type: 'autogenerated', dirName: 'rtc'}], - srdeSidebar: [{type: 'autogenerated', dirName: 'srde'}], - + genaiSidebar: [{ type: "autogenerated", dirName: "genai" }], + hpcSidebar: [{ type: "autogenerated", dirName: "hpc" }], + hsrnSidebar: [{ type: "autogenerated", dirName: "hsrn" }], + rtcSidebar: [{ type: "autogenerated", dirName: "rtc" }], + srdeSidebar: [{ type: "autogenerated", dirName: "srde" }], }; export default sidebars; diff --git a/src/components/HomepageFeatures/index.tsx b/src/components/HomepageFeatures/index.tsx index 1524edf3..6b7be093 100644 --- a/src/components/HomepageFeatures/index.tsx +++ b/src/components/HomepageFeatures/index.tsx @@ -1,65 +1,69 @@ -import clsx from 'clsx'; -import Heading from '@theme/Heading'; -import styles from './styles.module.css'; +import MountainSvg from "@site/static/img/undraw_docusaurus_mountain.svg"; +import ReactSvg from "@site/static/img/undraw_docusaurus_react.svg"; +import TreeSvg from "@site/static/img/undraw_docusaurus_tree.svg"; +import Heading from "@theme/Heading"; +import clsx from "clsx"; -type FeatureItem = { +import styles from "./styles.module.css"; + +interface FeatureItem { title: string; - Svg: React.ComponentType>; - description: JSX.Element; -}; + Svg: React.ComponentType>; + description: React.ReactNode; +} const FeatureList: FeatureItem[] = [ { - title: 'High Performance Computing', - Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, + title: "High Performance Computing", + Svg: MountainSvg, description: ( <> Seamless access to advanced computing resources, consultation services - and expertise for research. + and expertise for research. ), }, { - title: 'High Speed Research Network', - Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, + title: "High Speed Research Network", + Svg: TreeSvg, description: ( <> - The High Speed Research Network (HSRN) is NYU's high-throughput, + The High Speed Research Network (HSRN) is NYU's high-throughput, low-latency computer network dedicated to supporting data-intensive - sciences. + sciences. ), - }, + }, { - title: 'Pythia', - Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, + title: "Pythia", + Svg: TreeSvg, description: ( <> The Pythia Platform is a suite of tools for researchers to harness - generative AI including a secure access to a chat portal, API access - to LLMs and an on-prem vector database. + generative AI including a secure access to a chat portal, API access to + LLMs and an on-prem vector database. ), }, { - title: 'RTC', - Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, + title: "RTC", + Svg: ReactSvg, description: ( <> Research Technology Cloud is our hybrid cloud platform for researchers - that includes access to an on-prem OpenShift cluster and access to - the Google Cloud Platform. + that includes access to an on-prem OpenShift cluster and access to the + Google Cloud Platform. ), }, { - title: 'SRDE', - Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, + title: "SRDE", + Svg: ReactSvg, description: ( <> The Secure Research Data Environment (SRDE) is a centralized secure - computing platform designed to support research projects that require - storage and computational resources specifically for sensitive data. + computing platform designed to support research projects that require + storage and computational resources specifically for sensitive data. ), }, @@ -67,7 +71,7 @@ const FeatureList: FeatureItem[] = [ function Feature({ title, Svg, description }: FeatureItem) { return ( -
+
@@ -79,13 +83,13 @@ function Feature({ title, Svg, description }: FeatureItem) { ); } -export default function HomepageFeatures(): JSX.Element { +export default function HomepageFeatures() { return (
- {FeatureList.map((props, idx) => ( - + {FeatureList.map((props, index) => ( + ))}
diff --git a/src/css/custom.css b/src/css/custom.css index c5f08a38..14b2dfbc 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -14,17 +14,17 @@ --ifm-color-primary-lighter: #6407a1; --ifm-color-primary-lightest: #7108b6; --ifm-code-font-size: 95%; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + --docusaurus-highlighted-code-line-bg: rgb(0 0 0 / 10%); } /* For readability concerns, you should choose a lighter palette in dark mode. */ -[data-theme='dark'] { +[data-theme="dark"] { --ifm-color-primary: #eee6f3; --ifm-color-primary-dark: #d8c6e4; --ifm-color-primary-darker: #cdb6dc; --ifm-color-primary-darkest: #ad86c5; - --ifm-color-primary-light: #ffffff; - --ifm-color-primary-lighter: #ffffff; - --ifm-color-primary-lightest: #ffffff; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + --ifm-color-primary-light: #fff; + --ifm-color-primary-lighter: #fff; + --ifm-color-primary-lightest: #fff; + --docusaurus-highlighted-code-line-bg: rgb(0 0 0 / 30%); } diff --git a/src/pages/index.module.css b/src/pages/index.module.css index 9f71a5da..617635fd 100644 --- a/src/pages/index.module.css +++ b/src/pages/index.module.css @@ -10,7 +10,7 @@ overflow: hidden; } -@media screen and (max-width: 996px) { +@media screen and (width <= 996px) { .heroBanner { padding: 2rem; } diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 25dc5c88..cd86ce3d 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,16 +1,15 @@ -import clsx from 'clsx'; -import Link from '@docusaurus/Link'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import Layout from '@theme/Layout'; -import HomepageFeatures from '@site/src/components/HomepageFeatures'; -import Heading from '@theme/Heading'; +import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; +import HomepageFeatures from "@site/src/components/HomepageFeatures"; +import Heading from "@theme/Heading"; +import Layout from "@theme/Layout"; +import clsx from "clsx"; -import styles from './index.module.css'; +import styles from "./index.module.css"; function HomepageHeader() { - const {siteConfig} = useDocusaurusContext(); + const { siteConfig } = useDocusaurusContext(); return ( -
+
{siteConfig.title} @@ -21,12 +20,13 @@ function HomepageHeader() { ); } -export default function Home(): JSX.Element { - const {siteConfig} = useDocusaurusContext(); +export default function Home() { + const { siteConfig } = useDocusaurusContext(); return ( + >
diff --git a/stylelint.config.mjs b/stylelint.config.mjs index af5e6645..a1c9a8fd 100644 --- a/stylelint.config.mjs +++ b/stylelint.config.mjs @@ -7,6 +7,21 @@ */ const stylelintConfig = { extends: ["stylelint-config-standard"], + overrides: [ + { + files: ["**/*.module.css"], + rules: { + "selector-class-pattern": [ + "^[a-z][a-zA-Z0-9]+$", + { + /** @param {string} selector */ + message: (selector) => + `Expected class selector "${selector}" to be camelCase`, + }, + ], + }, + }, + ], }; export default stylelintConfig;