diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte
index 782ef4c..2744e59 100644
--- a/src/lib/components/Header.svelte
+++ b/src/lib/components/Header.svelte
@@ -5,6 +5,7 @@
const NAV_ITEMS = [
{ href: '/', label: 'Home' },
{ href: '/blog', label: 'Blog' },
+ { href: '/publications', label: 'Publications' },
{ href: '/projects', label: 'Projects' },
{ href: '/contact', label: 'Contact' },
];
diff --git a/src/lib/components/publications/PublicationListItem.svelte b/src/lib/components/publications/PublicationListItem.svelte
new file mode 100644
index 0000000..b6662e2
--- /dev/null
+++ b/src/lib/components/publications/PublicationListItem.svelte
@@ -0,0 +1,40 @@
+
+
+
+
+
+ {#each authors as author, i}
+ {#if i != authors.length && i != 0}
+ ,
+ {/if}
+ {#if author == 'Alexander Daichendt'}
+ {author}
+ {:else}
+ {author}
+ {/if}
+ {/each}
+
+
+ {title}
+
+ {conference}
+
+
+
+
diff --git a/src/lib/utils/types.ts b/src/lib/utils/types.ts
index 2c45197..e44a1b9 100644
--- a/src/lib/utils/types.ts
+++ b/src/lib/utils/types.ts
@@ -46,3 +46,17 @@ export interface PageData {
keywords: string[];
};
}
+
+export interface PublicationFrontmatter {
+ created: string;
+ title: string;
+ authors: string[];
+ conference: string;
+ pdf: string; // url to pdf
+ keywords: string[];
+ hidden: boolean;
+}
+
+export interface PublicationMeta extends PublicationFrontmatter {
+ href: string;
+}
diff --git a/src/routes/publications/+page.server.ts b/src/routes/publications/+page.server.ts
new file mode 100644
index 0000000..39d9d24
--- /dev/null
+++ b/src/routes/publications/+page.server.ts
@@ -0,0 +1,22 @@
+import type { PublicationMeta, PublicationFrontmatter } from '$lib/utils/types';
+import type { PageServerLoad } from './$types';
+
+const removeExtension = (path: string) => path.replace(/\.[^.]*$/g, '').replace('/+page', '');
+
+export const load: PageServerLoad = async () => {
+ const modulesSVX = import.meta.glob('./**/*.svx');
+ const modulesMD = import.meta.glob('./**/*.md');
+ const modules = { ...modulesMD, ...modulesSVX };
+ const publications: PublicationMeta[] = [];
+ const resolved = (await Promise.all(Object.values(modules).map((f) => f()))) as {
+ metadata: PublicationFrontmatter;
+ }[];
+ resolved.forEach((file, index) => {
+ const path = Object.keys(modules)[index];
+ const { metadata } = file;
+
+ publications.push({ ...metadata, href: `publications/${removeExtension(path)}` });
+ });
+
+ return { publications };
+};
diff --git a/src/routes/publications/+page.svelte b/src/routes/publications/+page.svelte
new file mode 100644
index 0000000..fba5dda
--- /dev/null
+++ b/src/routes/publications/+page.svelte
@@ -0,0 +1,24 @@
+
+
+
+
+Publications
+
+Conference papers
+
+ {#each publications as publication}
+
+ {/each}
+
diff --git a/src/routes/publications/+page.ts b/src/routes/publications/+page.ts
new file mode 100644
index 0000000..0eb93cd
--- /dev/null
+++ b/src/routes/publications/+page.ts
@@ -0,0 +1,11 @@
+import type { PageLoad } from './$types';
+
+export const load: PageLoad = ({ data }) => {
+ return {
+ publications: data.publications,
+ seo: {
+ title: 'Publications',
+ description: 'Detailed descriptions of publications by Alex Daichendt',
+ },
+ };
+};
diff --git a/src/routes/publications/conference/itc-35/+page.md b/src/routes/publications/conference/itc-35/+page.md
new file mode 100644
index 0000000..d76653f
--- /dev/null
+++ b/src/routes/publications/conference/itc-35/+page.md
@@ -0,0 +1,17 @@
+---
+title: 'Containing Low Tail-Latencies in Packet Processing Using Lightweight Virtualization'
+authors:
+ - Florian Wiedner
+ - Max Helm
+ - Alexander Daichendt
+ - Jonas Andre
+ - Georg Carle
+conference: 2023 35rd International Teletraffic Congress (ITC-35)
+pdf: https://www.net.in.tum.de/fileadmin/bibtex/publications/papers/wiedner_itc35.pdf
+keywords:
+ - publication
+ - low latency
+ - networking
+ - virtualization
+layout: blog
+---
diff --git a/src/routes/publications/conference/nfv-sdn23/+page.md b/src/routes/publications/conference/nfv-sdn23/+page.md
new file mode 100644
index 0000000..6d45ec7
--- /dev/null
+++ b/src/routes/publications/conference/nfv-sdn23/+page.md
@@ -0,0 +1,19 @@
+---
+title: 'Control Groups Added Latency in NFVs: An Update Needed?'
+authors:
+ - Florian Wiedner
+ - Alexander Daichendt
+ - Jonas Andre
+ - Georg Carle
+conference: 2023 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), Nov. 2023
+pdf: https://www.net.in.tum.de/fileadmin/bibtex/publications/papers/wiedner_nfvsdn2023.pdf
+keywords:
+ - publication
+ - low latency
+ - networking
+ - virtualization
+ - kernel
+ - container
+ - cgroups
+layout: blog
+---