diff --git a/docusaurus.config.ts b/docusaurus.config.ts index a656762..02e15bf 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -105,6 +105,10 @@ const config: Config = { label: "GitHub", href: "https://github.com/ProvenanceWidgets/ProvenanceWidgets", }, + { + label: "2024 TVCG paper", + href: "https://doi.org/10.1109/TVCG.2024.3456144", + }, { label: "arXiv Preprint", href: "https://arxiv.org/abs/2407.17431", diff --git a/src/pages/index.module.css b/src/pages/index.module.css index 6ca2899..39a7395 100644 --- a/src/pages/index.module.css +++ b/src/pages/index.module.css @@ -7,7 +7,6 @@ padding: 4rem 0; text-align: center; position: relative; - overflow: hidden; } .features { diff --git a/src/pages/index.tsx b/src/pages/index.tsx index ce40b3e..93379ff 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,20 +1,38 @@ -import clsx from 'clsx'; -import Link from '@docusaurus/Link'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import Layout from '@theme/Layout'; -import Heading from '@theme/Heading'; -import styles from './index.module.css'; -import React from 'react'; +import clsx from "clsx"; +import Link from "@docusaurus/Link"; +import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; +import Layout from "@theme/Layout"; +import Heading from "@theme/Heading"; +import styles from "./index.module.css"; +import React from "react"; declare global { namespace JSX { interface IntrinsicElements { - 'web-provenance-slider': React.DetailedHTMLProps, HTMLElement> - 'web-provenance-dropdown': React.DetailedHTMLProps, HTMLElement> - 'web-provenance-multiselect': React.DetailedHTMLProps, HTMLElement> - 'web-provenance-checkbox': React.DetailedHTMLProps, HTMLElement> - 'web-provenance-radiobutton': React.DetailedHTMLProps, HTMLElement> - 'web-provenance-inputtext': React.DetailedHTMLProps, HTMLElement> + "web-provenance-slider": React.DetailedHTMLProps< + React.HTMLAttributes, + HTMLElement + >; + "web-provenance-dropdown": React.DetailedHTMLProps< + React.HTMLAttributes, + HTMLElement + >; + "web-provenance-multiselect": React.DetailedHTMLProps< + React.HTMLAttributes, + HTMLElement + >; + "web-provenance-checkbox": React.DetailedHTMLProps< + React.HTMLAttributes, + HTMLElement + >; + "web-provenance-radiobutton": React.DetailedHTMLProps< + React.HTMLAttributes, + HTMLElement + >; + "web-provenance-inputtext": React.DetailedHTMLProps< + React.HTMLAttributes, + HTMLElement + >; } } } @@ -23,7 +41,9 @@ function HomepageHeader() { const { siteConfig } = useDocusaurusContext(); const [isCopied, setIsCopied] = React.useState(false); - const copyToClipboard = () => { + const copyToClipboard = (e: React.MouseEvent) => { + e.stopPropagation(); + e.preventDefault(); const citation = `@article{narechania2024provenancewidgets, title = {{ProvenanceWidgets}: {A Library of UI Control Elements to Track and Dynamically Overlay Analytic Provenance}}, shorttitle = {{ProvenanceWidgets}}, @@ -33,14 +53,14 @@ function HomepageHeader() { url = {https://doi.org/10.1109/TVCG.2024.3456144}, year = {2024}, publisher = {IEEE} - }` + }`; navigator.clipboard.writeText(citation); setIsCopied(true); setTimeout(() => setIsCopied(false), 2000); - } + }; return ( -
+
{siteConfig.title} @@ -49,49 +69,89 @@ function HomepageHeader() { Provenance Widgets

{siteConfig.tagline}

-

+

{(siteConfig.customFields["authors"] as string[]).join(", ")}
{(siteConfig.customFields["institutes"] as string[]).join(" and ")}

- + Get Started - - Read the Paper (VIS 2024) - - - Cite (bibtex) - { - isCopied ? - - - - : - - - - } - +
+ +
    + {[ + { + title: "2024 TVCG paper", + url: "https://doi.org/10.1109/TVCG.2024.3456144", + }, + { + title: "arXiv Preprint", + url: "https://arxiv.org/pdf/2407.17431", + }, + { + title: ( +
    + {isCopied ? ( + + + + ) : ( + + + + )} + Cite (bibtex) +
    + ), + url: "#", + }, + ].map(({ title, url }) => ( +
  • + + {title} + +
  • + ))} +
+
@@ -101,12 +161,19 @@ function HomepageHeader() { export default function Home(): JSX.Element { const { siteConfig } = useDocusaurusContext(); return ( - + -
- +
+
);