aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2024-03-16 18:38:08 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2024-03-16 18:38:08 +0100
commit1aeead2501410579c86e1724d0871895e01ce721 (patch)
treedba488ddd490b95a5021c7553e20c4d4008df868 /src
parentPrefer <Link> over <a> (diff)
downloadblog-1aeead2501410579c86e1724d0871895e01ce721.tar.gz
blog-1aeead2501410579c86e1724d0871895e01ce721.tar.zst
blog-1aeead2501410579c86e1724d0871895e01ce721.zip
Add papers and CV
Diffstat (limited to 'src')
-rw-r--r--src/components/landing/sections/Hero.tsx9
-rw-r--r--src/components/landing/sections/Publications.tsx56
-rw-r--r--src/components/landing/sections/Research.tsx2
-rw-r--r--src/components/landing/sections/Resume.tsx31
-rw-r--r--src/components/landing/sections/authorizedLinks.ts10
5 files changed, 79 insertions, 29 deletions
diff --git a/src/components/landing/sections/Hero.tsx b/src/components/landing/sections/Hero.tsx
index b12e56a..d9fe556 100644
--- a/src/components/landing/sections/Hero.tsx
+++ b/src/components/landing/sections/Hero.tsx
@@ -1,7 +1,7 @@
1/* 1/*
2 * SPDX-FileCopyrightText: 2023-2024 Kristóf Marussy 2 * SPDX-FileCopyrightText: 2023-2024 Kristóf Marussy
3 * 3 *
4 * SPDX-License-Identifier: MIT 4 * SPDX-License-Identifier: MIT AND CC-BY-4.0
5 */ 5 */
6 6
7import Link from '@docusaurus/Link'; 7import Link from '@docusaurus/Link';
@@ -57,8 +57,9 @@ export default function Hero({ avatar }: { avatar: string }) {
57 pronouns are he/him. 57 pronouns are he/him.
58 </p> 58 </p>
59 <div className={styles.cta}> 59 <div className={styles.cta}>
60 <Link 60 <a
61 to="/cv.pdf" 61 href="/cv.pdf"
62 target="_blank"
62 className={clsx( 63 className={clsx(
63 'button', 64 'button',
64 'button--lg', 65 'button--lg',
@@ -67,7 +68,7 @@ export default function Hero({ avatar }: { avatar: string }) {
67 )} 68 )}
68 > 69 >
69 Read my CV 70 Read my CV
70 </Link>{' '} 71 </a>{' '}
71 <Link 72 <Link
72 to="#contact" 73 to="#contact"
73 className={clsx( 74 className={clsx(
diff --git a/src/components/landing/sections/Publications.tsx b/src/components/landing/sections/Publications.tsx
index 8464d9f..a789245 100644
--- a/src/components/landing/sections/Publications.tsx
+++ b/src/components/landing/sections/Publications.tsx
@@ -25,6 +25,8 @@ import {
25} from '@site/src/components/icons'; 25} from '@site/src/components/icons';
26import Section from '@site/src/components/landing/Section'; 26import Section from '@site/src/components/landing/Section';
27import Subtitle from '@site/src/components/landing/Subtitle'; 27import Subtitle from '@site/src/components/landing/Subtitle';
28import authorizedLinks from '@site/src/components/landing/sections/authorizedLinks';
29
28import styles from './Publications.module.css'; 30import styles from './Publications.module.css';
29 31
30function DOILink({ doi }: { doi: string }) { 32function DOILink({ doi }: { doi: string }) {
@@ -45,13 +47,14 @@ function DOILink({ doi }: { doi: string }) {
45 47
46function PDFLink({ filename }: { filename: string }) { 48function PDFLink({ filename }: { filename: string }) {
47 return ( 49 return (
48 <Link 50 <a
49 to={`/papers/${filename}.pdf`} 51 href={`/papers/${filename}.pdf`}
52 target="_blank"
50 className={clsx(styles.link, styles['link--lower'])} 53 className={clsx(styles.link, styles['link--lower'])}
51 > 54 >
52 <File weight="bold" aria-hidden="true" className={styles.link__icon} /> 55 <File weight="bold" aria-hidden="true" className={styles.link__icon} />
53 PDF 56 PDF
54 </Link> 57 </a>
55 ); 58 );
56} 59}
57 60
@@ -89,16 +92,43 @@ function VideoLink({ url }: { url: string }) {
89 ); 92 );
90} 93}
91 94
92function ClosedAccess({ publisher, url }: { publisher: string; url: string }) { 95function ClosedAccess({
96 publisher,
97 url,
98 authorizedURL,
99}: {
100 publisher: string;
101 url: string;
102 authorizedURL?: string | undefined;
103}) {
104 const label = (
105 <>
106 <Lock weight="bold" aria-hidden="true" className={styles.link__icon} />
107 <span className="sr-only">Closed Access: </span>
108 {publisher}
109 </>
110 );
111 if (authorizedURL !== undefined) {
112 // Must allow referrer for the ACM Author-Izer to work.
113 return (
114 <a
115 href={authorizedURL}
116 target="_blank"
117 rel="nofollow noopener"
118 referrerPolicy="no-referrer-when-downgrade"
119 className={clsx(styles.link, styles['link--license'])}
120 >
121 {label}
122 </a>
123 );
124 }
93 return ( 125 return (
94 <Link 126 <Link
95 to={url} 127 to={url}
96 rel="nofollow" 128 rel="nofollow noopener noreferrer"
97 className={clsx(styles.link, styles['link--license'])} 129 className={clsx(styles.link, styles['link--license'])}
98 > 130 >
99 <Lock weight="bold" aria-hidden="true" className={styles.link__icon} /> 131 {label}
100 <span className="sr-only">Closed Access: </span>
101 {publisher}
102 </Link> 132 </Link>
103 ); 133 );
104} 134}
@@ -158,6 +188,7 @@ export default function Publications() {
158 <ClosedAccess 188 <ClosedAccess
159 publisher="ACM" 189 publisher="ACM"
160 url="https://authors.acm.org/journals/rights-permissions" 190 url="https://authors.acm.org/journals/rights-permissions"
191 authorizedURL={authorizedLinks.models22}
161 />{' '} 192 />{' '}
162 <ArtifactLink doi="10.5281/zenodo.6974248" />{' '} 193 <ArtifactLink doi="10.5281/zenodo.6974248" />{' '}
163 <ArtifactLicense 194 <ArtifactLicense
@@ -188,9 +219,13 @@ export default function Publications() {
188 Varró (2021). Worst-case Execution Time Calculation for 219 Varró (2021). Worst-case Execution Time Calculation for
189 Query-based Monitors by Witness Generation.{' '} 220 Query-based Monitors by Witness Generation.{' '}
190 <i>ACM Transactions on Embedded Computing Systems,</i> volume 20, 221 <i>ACM Transactions on Embedded Computing Systems,</i> volume 20,
191 issue 6. <DOILink doi="10.1145/3239372.3239412" />{' '} 222 issue 6. <DOILink doi="10.1145/3471904" />{' '}
192 <ArxivLink arxivID="2102.03116" /> <PDFLink filename="tecs21" />{' '} 223 <ArxivLink arxivID="2102.03116" /> <PDFLink filename="tecs21" />{' '}
193 <OpenAccess license="by" /> 224 <ClosedAccess
225 publisher="ACM"
226 url="https://authors.acm.org/journals/rights-permissions"
227 authorizedURL={authorizedLinks.tecs21}
228 />
194 </li> 229 </li>
195 <li className={styles.publications__item}> 230 <li className={styles.publications__item}>
196 <b>Kristóf Marussy</b>, Oszkár Semeráth, Aren A.&nbsp;Babikian, 231 <b>Kristóf Marussy</b>, Oszkár Semeráth, Aren A.&nbsp;Babikian,
@@ -214,6 +249,7 @@ export default function Publications() {
214 <ClosedAccess 249 <ClosedAccess
215 publisher="ACM" 250 publisher="ACM"
216 url="https://authors.acm.org/journals/rights-permissions" 251 url="https://authors.acm.org/journals/rights-permissions"
252 authorizedURL={authorizedLinks.models18}
217 />{' '} 253 />{' '}
218 <ArtifactLink doi="10.5281/zenodo.1318156" />{' '} 254 <ArtifactLink doi="10.5281/zenodo.1318156" />{' '}
219 <ArtifactLicense 255 <ArtifactLicense
diff --git a/src/components/landing/sections/Research.tsx b/src/components/landing/sections/Research.tsx
index b6e5954..ea6f076 100644
--- a/src/components/landing/sections/Research.tsx
+++ b/src/components/landing/sections/Research.tsx
@@ -1,7 +1,7 @@
1/* 1/*
2 * SPDX-FileCopyrightText: 2023 Kristóf Marussy 2 * SPDX-FileCopyrightText: 2023 Kristóf Marussy
3 * 3 *
4 * SPDX-License-Identifier: MIT 4 * SPDX-License-Identifier: MIT AND CC-BY-4.0
5 */ 5 */
6 6
7import clsx from 'clsx'; 7import clsx from 'clsx';
diff --git a/src/components/landing/sections/Resume.tsx b/src/components/landing/sections/Resume.tsx
index 4ce83e4..2ad05f1 100644
--- a/src/components/landing/sections/Resume.tsx
+++ b/src/components/landing/sections/Resume.tsx
@@ -32,12 +32,12 @@ function Education() {
32 </p> 32 </p>
33 <p> 33 <p>
34 Thesis:{' '} 34 Thesis:{' '}
35 <Link to="/thesis.pdf"> 35 <a href="/phd-thesis.pdf" target="_blank">
36 <b> 36 <b>
37 Abstraction Techniques for the Analysis and Synthesis of 37 Abstraction Techniques for the Analysis and Synthesis of
38 Critical Cyber-Physical System Architectures 38 Critical Cyber-Physical System Architectures
39 </b> 39 </b>
40 </Link> 40 </a>
41 </p> 41 </p>
42 <p className={styles.cv__muted}> 42 <p className={styles.cv__muted}>
43 <Lock 43 <Lock
@@ -45,11 +45,13 @@ function Education() {
45 aria-hidden="true" 45 aria-hidden="true"
46 className={styles['thesis-rights__icon']} 46 className={styles['thesis-rights__icon']}
47 /> 47 />
48 Some poritions may be exclusively licensed to their original publishers 48 Some poritions may be exclusively licensed to their original
49 publishers
49 </p> 50 </p>
50 <div className={styles['thesis-links']}> 51 <div className={styles['thesis-links']}>
51 <Link 52 <a
52 to="/thesis.pdf" 53 href="/phd-thesis.pdf"
54 target="_blank"
53 className={clsx( 55 className={clsx(
54 'button', 56 'button',
55 'button--primary', 57 'button--primary',
@@ -57,9 +59,10 @@ function Education() {
57 )} 59 )}
58 > 60 >
59 Read now 61 Read now
60 </Link> 62 </a>
61 <Link 63 <a
62 to="/thesis-booklet.pdf" 64 href="/phd-thesis-booklet.pdf"
65 target="_blank"
63 className={clsx( 66 className={clsx(
64 'button', 67 'button',
65 'button--secondary', 68 'button--secondary',
@@ -67,7 +70,7 @@ function Education() {
67 )} 70 )}
68 > 71 >
69 Extended abstract 72 Extended abstract
70 </Link> 73 </a>
71 <Link 74 <Link
72 to="http://hdl.handle.net/10890/41832" 75 to="http://hdl.handle.net/10890/41832"
73 className={styles['thesis-links__link']} 76 className={styles['thesis-links__link']}
@@ -107,7 +110,7 @@ function Experience() {
107 <li className={styles.cv__item}> 110 <li className={styles.cv__item}>
108 <h4 className={styles.cv__title}>Research fellow</h4> 111 <h4 className={styles.cv__title}>Research fellow</h4>
109 <p className={styles.cv__times}> 112 <p className={styles.cv__times}>
110 <span className={styles.cv__time}>2024&ndash;</span> 113 <span className={styles.cv__time}>2023&ndash;</span>
111 </p> 114 </p>
112 </li> 115 </li>
113 <li className={styles.cv__item}> 116 <li className={styles.cv__item}>
@@ -324,8 +327,8 @@ function Teaching() {
324 </li> 327 </li>
325 <li className={styles.cv__activity}> 328 <li className={styles.cv__activity}>
326 Including practice and lab sessions in the{' '} 329 Including practice and lab sessions in the{' '}
327 <Link to="https://imsc.vik.bme.hu/">IMsc programme</Link> of BME for 330 <Link to="https://imsc.vik.bme.hu/">IMsc programme</Link> of BME
328 talented BSc students 331 for talented BSc students
329 </li> 332 </li>
330 </ul> 333 </ul>
331 </li> 334 </li>
@@ -458,7 +461,7 @@ function Service() {
458 > 461 >
459 <Link 462 <Link
460 to="https://www.sciencedirect.com/journal/science-of-computer-programming" 463 to="https://www.sciencedirect.com/journal/science-of-computer-programming"
461 rel="nofollow" 464 rel="nofollow noopener noreferrer"
462 > 465 >
463 Science of Computer Programming 466 Science of Computer Programming
464 </Link> 467 </Link>
@@ -471,7 +474,7 @@ function Service() {
471 > 474 >
472 <Link 475 <Link
473 to="https://www.sciencedirect.com/journal/journal-of-logical-and-algebraic-methods-in-programming" 476 to="https://www.sciencedirect.com/journal/journal-of-logical-and-algebraic-methods-in-programming"
474 rel="nofollow" 477 rel="nofollow noopener noreferrer"
475 > 478 >
476 Journal of Logical and Algebraic Methods in Programming 479 Journal of Logical and Algebraic Methods in Programming
477 </Link> 480 </Link>
diff --git a/src/components/landing/sections/authorizedLinks.ts b/src/components/landing/sections/authorizedLinks.ts
new file mode 100644
index 0000000..24d0b77
--- /dev/null
+++ b/src/components/landing/sections/authorizedLinks.ts
@@ -0,0 +1,10 @@
1/*
2 * SPDX-FileCopyrightText: 2024 Kristóf Marussy
3 *
4 * SPDX-License-Identifier: MIT
5 */
6
7// Placeholder for third-party links generated by the ACM Author-Izer Service.
8const authorizedLinks: Partial<Record<string, string>> = {};
9
10export default authorizedLinks;