From 0a16f36b8afc23f335c1146d6ea53329f9e27df7 Mon Sep 17 00:00:00 2001
From: Kristóf Marussy <kristof@marussy.com>
Date: Fri, 15 Mar 2024 18:01:48 +0100
Subject: Add landing page sections and update resume

---
 src/components/landing/sections/Publications.tsx | 275 +++++++++++++++++++++++
 1 file changed, 275 insertions(+)
 create mode 100644 src/components/landing/sections/Publications.tsx

(limited to 'src/components/landing/sections/Publications.tsx')

diff --git a/src/components/landing/sections/Publications.tsx b/src/components/landing/sections/Publications.tsx
new file mode 100644
index 0000000..e343c42
--- /dev/null
+++ b/src/components/landing/sections/Publications.tsx
@@ -0,0 +1,275 @@
+/*
+ * SPDX-FileCopyrightText: 2023-2024 Kristóf Marussy
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+import {
+  ArrowSquareOut,
+  Certificate,
+  File,
+  Lock,
+  Package,
+  Play,
+} from '@phosphor-icons/react';
+import clsx from 'clsx';
+
+import {
+  CreativeCommonsIcon,
+  DBLPIcon,
+  GoogleScholarIcon,
+  MTMTIcon,
+  OrcidIcon,
+  ScopusIcon,
+} from '@site/src/components/icons';
+import Section from '@site/src/components/landing/Section';
+import Subtitle from '@site/src/components/landing/Subtitle';
+import styles from './Publications.module.css';
+
+function DOILink({ doi }: { doi: string }) {
+  return (
+    <a
+      href={`https://doi.org/${doi}`}
+      className={clsx(styles.link, styles['link--lower'])}
+    >
+      <ArrowSquareOut
+        weight="bold"
+        aria-hidden="true"
+        className={styles.link__icon}
+      />
+      DOI
+    </a>
+  );
+}
+
+function PDFLink({ filename }: { filename: string }) {
+  return (
+    <a
+      href={`/papers/${filename}.pdf`}
+      className={clsx(styles.link, styles['link--lower'])}
+    >
+      <File weight="bold" aria-hidden="true" className={styles.link__icon} />
+      PDF
+    </a>
+  );
+}
+
+function ArtifactLink({ doi }: { doi: string }) {
+  return (
+    <a
+      href={`https://doi.org/${doi}`}
+      className={clsx(styles.link, styles['link--lower'])}
+    >
+      <Package weight="bold" aria-hidden="true" className={styles.link__icon} />
+      Artifact
+    </a>
+  );
+}
+
+function ArxivLink({ arxivID }: { arxivID: string }) {
+  return (
+    <a href={`https://arxiv.org/abs/${arxivID}`} className={styles.link}>
+      <ArrowSquareOut
+        weight="bold"
+        aria-hidden="true"
+        className={styles.link__icon}
+      />
+      arXiv
+    </a>
+  );
+}
+
+function VideoLink({ url }: { url: string }) {
+  return (
+    <a href={url} className={clsx(styles.link, styles['link--lower'])}>
+      <Play weight="bold" aria-hidden="true" className={styles.link__icon} />
+      Video
+    </a>
+  );
+}
+
+function ClosedAccess({ publisher, url }: { publisher: string; url: string }) {
+  return (
+    <a
+      href={url}
+      rel="nofollow"
+      className={clsx(styles.link, styles['link--license'])}
+    >
+      <Lock weight="bold" aria-hidden="true" className={styles.link__icon} />
+      <span className="sr-only">Closed Access: </span>
+      {publisher}
+    </a>
+  );
+}
+
+function OpenAccess({ license }: { license: string }) {
+  const url = `https://creativecommons.org/licenses/${license}/4.0/`;
+  return (
+    <a href={url} className={clsx(styles.link, styles['link--license'])}>
+      <CreativeCommonsIcon className={styles.link__icon} hidden />
+      <span className="sr-only">Open Access: </span>
+      CC-{license.toUpperCase()}-4.0
+    </a>
+  );
+}
+
+function ArtifactLicense({ license, url }: { license: string; url: string }) {
+  return (
+    <a href={url} className={clsx(styles.link, styles['link--license'])}>
+      <Certificate
+        weight="bold"
+        aria-hidden="true"
+        className={styles.link__icon}
+      />
+      <span className="sr-only">Artifact license: </span>
+      {license}
+    </a>
+  );
+}
+
+export default function Publications() {
+  return (
+    <Section id="publications" title="Publications">
+      <div className="container">
+        <section>
+          <Subtitle icon="📌">Selected publications</Subtitle>
+          <ul>
+            <li className={styles.publications__item}>
+              <b>Kristóf Marussy</b>, Attila Ficsor, Oszkár Semeráth, Dániel
+              Varró (2024). Refinery: Graph Solver as a Service. In&nbsp;
+              <i>
+                International Conference on Software Engineering (ICSE) 2024
+              </i>
+              . <PDFLink filename="icse24" />{' '}
+              <VideoLink url="https://www.youtube.com/watch?v=Qy_3udNsWsM" />{' '}
+              <OpenAccess license="by" />
+            </li>
+            <li className={styles.publications__item}>
+              Máté Földiák, <b>Kristóf Marussy</b>, Dániel Varró, István Majzik
+              (2022). System architecture synthesis for performability by logic
+              solvers. In&nbsp;
+              <i>
+                International Conference on Model Driven Engineering Languages
+                and Systems (MODELS) 2022,
+              </i>{' '}
+              pp.&nbsp;433&ndash;45. <DOILink doi="10.1145/3550355.3552448" />{' '}
+              <PDFLink filename="models22" />{' '}
+              <ClosedAccess
+                publisher="ACM"
+                url="https://authors.acm.org/journals/rights-permissions"
+              />{' '}
+              <ArtifactLink doi="10.5281/zenodo.6974248" />{' '}
+              <ArtifactLicense
+                license="EPL-2.0"
+                url="https://www.eclipse.org/legal/epl-v20.html"
+              />
+            </li>
+            <li className={styles.publications__item}>
+              Boqi Chen, <b>Kristóf Marussy</b>, Sebastian Pilarski, Oszkár
+              Semeráth, Dániel Varró (2022). Consistent Scene Graph Generation
+              by Constraint Optimization. In&nbsp;
+              <i>
+                International Conference on Automated Software Engineering (ASE)
+                2022
+              </i>
+              . <DOILink doi="10.1145/3551349.3560433" />{' '}
+              <PDFLink filename="ase22" /> <OpenAccess license="by" />
+            </li>
+            <li className={styles.publications__item}>
+              <b>Kristóf Marussy</b>, Oszkár Semeráth, Dániel Varró (2022).{' '}
+              Automated Generation of Consistent Graph Models With Multiplicity
+              Reasoning. <i>IEEE Transactions on Software Engineering,</i>{' '}
+              volume 48, issue 5. <DOILink doi="10.1109/TSE.2020.3025732 " />{' '}
+              <PDFLink filename="tse22" /> <OpenAccess license="by" />
+            </li>
+            <li className={styles.publications__item}>
+              Márton Búr, <b>Kristóf Marussy</b>, Brett H.&nbsp;Meyer, Dániel
+              Varró (2021). Worst-case Execution Time Calculation for
+              Query-based Monitors by Witness Generation.{' '}
+              <i>ACM Transactions on Embedded Computing Systems,</i> volume 20,
+              issue 6. <DOILink doi="10.1145/3239372.3239412" />{' '}
+              <ArxivLink arxivID="2102.03116" /> <PDFLink filename="tecs21" />{' '}
+              <OpenAccess license="by" />
+            </li>
+            <li className={styles.publications__item}>
+              <b>Kristóf Marussy</b>, Oszkár Semeráth, Aren A.&nbsp;Babikian,
+              Dániel Varró (2020). A Specification Language for Consistent Model
+              Generation based on Partial Models.{' '}
+              <i>Journal of Object Technology,</i> volume 19,
+              pp.&nbsp;3:1&ndash;22. <DOILink doi="10.5381/jot.2020.19.3.a12" />{' '}
+              <PDFLink filename="jot20" />{' '}
+              <VideoLink url="https://www.youtube.com/watch?v=ggTbv_s5t2A" />{' '}
+              <OpenAccess license="by-nd" />
+            </li>
+            <li className={styles.publications__item}>
+              <b>Kristóf Marussy</b> and Oszkár Semeráth (2018). Incremental
+              View Model Synchronization Using Partial Models. In&nbsp;
+              <i>
+                International Conference on Model Driven Engineering Languages
+                and Systems (MODELS) 2018,
+              </i>{' '}
+              pp.&nbsp;323&ndash;333. <DOILink doi="10.1145/3239372.3239412" />{' '}
+              <PDFLink filename="models18" />{' '}
+              <ClosedAccess
+                publisher="ACM"
+                url="https://authors.acm.org/journals/rights-permissions"
+              />{' '}
+              <ArtifactLink doi="10.5281/zenodo.1318156" />{' '}
+              <ArtifactLicense
+                license="EPL-1.0"
+                url="https://www.eclipse.org/legal/epl-v10.html"
+              />
+            </li>
+          </ul>
+        </section>
+        <div className={styles.elsewhere}>
+          <p className={styles.elsewhere__text}>
+            See the full list of my publications at
+          </p>
+          <ul className={styles.elsewhere__list}>
+            <li className={styles.elsewhere__item}>
+              <a
+                href="https://orcid.org/0000-0002-9135-8256"
+                className={styles.elsewhere__icon}
+              >
+                <OrcidIcon />
+              </a>
+            </li>
+            <li className={styles.elsewhere__item}>
+              <a
+                href="https://dblp.org/pid/130/6479.html"
+                className={styles.elsewhere__icon}
+              >
+                <DBLPIcon />
+              </a>
+            </li>
+            <li className={styles.elsewhere__item}>
+              <a
+                href="https://scholar.google.com/citations?user=E9CKNYoAAAAJ"
+                className={styles.elsewhere__icon}
+              >
+                <GoogleScholarIcon />
+              </a>
+            </li>
+            <li className={styles.elsewhere__item}>
+              <a
+                href="https://www.scopus.com/authid/detail.uri?authorId=55860043200"
+                className={styles.elsewhere__icon}
+              >
+                <ScopusIcon />
+              </a>
+            </li>
+            <li className={styles.elsewhere__item}>
+              <a
+                href="https://m2.mtmt.hu/gui2/?type=authors&mode=browse&sel=authors10062709"
+                className={styles.elsewhere__icon}
+              >
+                <MTMTIcon />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </Section>
+  );
+}
-- 
cgit v1.2.3-54-g00ecf

