diff --git a/.geminiignore b/.geminiignore
deleted file mode 100644
index 9b76e35c..00000000
--- a/.geminiignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.next/
-node_modules/
\ No newline at end of file
diff --git a/.gitea/workflows/main.yaml b/.gitea/workflows/main.yaml
new file mode 100644
index 00000000..1fe9eb9e
--- /dev/null
+++ b/.gitea/workflows/main.yaml
@@ -0,0 +1,62 @@
+name: Next.js App CI
+
+on:
+ push:
+ branches: [ "main" ]
+
+jobs:
+ docker:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Login to Gitea Package Registry
+ uses: docker/login-action@v3
+ with:
+ registry: ${{vars.LOCAL_REGISTRY}}
+ username: ${{ VARS.USER }}
+ password: ${{ secrets.TOKEN }}
+
+ # --- ADDED: Step to generate image assets before the build ---
+ - name: Generate Static Image Assets
+ run: |
+ # Install dependencies required by the scripts
+ sudo apt-get update && sudo apt-get install -y imagemagick webp
+
+ # Make scripts executable
+ chmod +x ./scripts/*.sh
+
+ # Run the scripts to generate PNGs from PDFs and create WebP images
+ echo "Generating PNGs from PDFs..."
+ bash ./scripts/first_page_image.sh
+ echo "Generating WebP images..."
+ bash ./scripts/generate_webp.sh
+
+ # --- REPLACED: The following steps are changed from Ruby/Jekyll to Node.js/Next.js ---
+ - name: Set up Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20.x' # Use a current LTS version of Node.js
+ cache: 'npm'
+
+ - name: Install Node.js Dependencies
+ run: npm ci # 'npm ci' is recommended for CI for faster, reliable installs
+
+ - name: Build Next.js App
+ run: npm run build
+ # --- END OF REPLACED STEPS ---
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ # --- UNCHANGED: This step remains the same as requested ---
+ - name: Build and push
+ uses: docker/build-push-action@v5
+ with:
+ context: .
+ platforms: linux/amd64
+ push: true
+ tags: |
+ ${{ vars.LOCAL_REGISTRY }}/${{ gitea.repository_owner }}/website:latest
+ ${{ vars.LOCAL_REGISTRY }}/${{ gitea.repository_owner }}/website:${{ gitea.sha }}
\ No newline at end of file
diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml
deleted file mode 100644
index adb015a1..00000000
--- a/.gitea/workflows/main.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-name: Jekyll site CI
-
-on:
- push:
- branches: [ "main" ]
-
-jobs:
- docker:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Login to Gitea Package Registry
- # (Test credentials early, befor failing late in the process.)
- uses: docker/login-action@v3
- with:
- registry: ${{vars.LOCAL_REGISTRY}}
- username: ${{ VARS.USER }}
- password: ${{ secrets.TOKEN }}
-
- - name: Setup Ruby
- uses: ruby/setup-ruby@v1
- with:
- ruby-version: '3.3'
-
- - name: Install GEM bundle
- run: bundle install
-
- - name: Build Website using Jekyll
- run: JEKYLL_ENV=production bundle exec jekyll build --trace --future
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Build and push
- uses: docker/build-push-action@v5
- with:
- context: .
- platforms: linux/amd64 # ,linux/arm64
- push: true
- tags: |
- ${{ vars.LOCAL_REGISTRY }}/${{ gitea.repository_owner }}/website:latest
- ${{ vars.LOCAL_REGISTRY }}/${{ gitea.repository_owner }}/website:${{ gitea.sha }}
\ No newline at end of file
diff --git a/_bibliography.bib b/_bibliography.bib
deleted file mode 100644
index ec6290c2..00000000
--- a/_bibliography.bib
+++ /dev/null
@@ -1,239 +0,0 @@
----
----
-References
-==========
-@inproceedings {koelle23primate,
-title = {Improving Primate Sounds Classification using Binary Presorting for Deep Learning},
-author = {Kölle, Michael and Illium, Steffen and Zorn, Maximilian and Nü{\ss}lein, Jonas and Suchostawski, Patrick and Linnhoff-Popien, Claudia},
-year = {2023},
-organization = {Int. Conference on Deep Learning Theory and Application - DeLTA 2023},
-publisher = {Springer CCIS Series},
-}
-
-@inproceedings{zorn23surprise,
-author = {Zorn, Maximilian and Illium, Steffen and Phan, Thomy and Kaiser, Tanja Katharina and Linnhoff-Popien, Claudia and Gabor, Thomas},
-title = {Social Neural Network Soups with Surprise Minimization},
-year = {2023},
-publisher = {MIT Press Direct},
-organization={Conference on Artificial Life - Alife 2023},
-}
-
-@inproceedings{feld2018trajectory,
- title={Trajectory annotation using sequences of spatial perception},
- author={Feld, Sebastian and Illium, Steffen and Sedlmeier, Andreas and Belzner, Lenz},
- booktitle={Proceedings of the 26th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems},
- pages={329--338},
- year={2018}
-}
-
-@article{gabor2022self,
- title={Self-replication in neural networks},
- author={Gabor, Thomas and Illium, Steffen and Zorn, Maximilian and Lenta, Cristian and Mattausch, Andy and Belzner, Lenz and Linnhoff-Popien, Claudia},
- journal={Artificial Life},
- volume={28},
- number={2},
- pages={205--223},
- year={2022},
- publisher={MIT Press One Broadway, 12th Floor, Cambridge, Massachusetts 02142, USA~…}
-}
-
-@proceedings{gabor2019self,
- author = {Gabor, Thomas and Illium, Steffen and Mattausch, Andy and Belzner, Lenz and Linnhoff-Popien, Claudia},
- title = "{Self-Replication in Neural Networks}",
- volume = {ALIFE 2019: The 2019 Conference on Artificial Life},
- series = {Artificial Life Conference Proceedings},
- pages = {424-431},
- year = {2019},
- month = {07},
- doi = {10.1162/isal_a_00197},
- url = {https://doi.org/10.1162/isal\_a\_00197},
- eprint = {https://direct.mit.edu/isal/proceedings-pdf/isal2019/31/424/1903421/isal\_a\_00197.pdf},
-}
-
-
-@article{elsner2019deep,
- title={Deep neural baselines for computational paralinguistics},
- author={Elsner, Daniel and Langer, Stefan and Ritz, Fabian and Mueller, Robert and Illium, Steffen},
- journal={arXiv preprint arXiv:1907.02864},
- year={2019}
-}
-
-@inproceedings{muller2020soccer,
- title={Soccer Team Vectors},
- author={Müller, Robert and Langer, Stefan and Ritz, Fabian and Roch, Christoph and Illium, Steffen and Linnhoff-Popien, Claudia},
- booktitle={Machine Learning and Knowledge Discovery in Databases: International Workshops of ECML PKDD 2019, Würzburg, Germany, September 16--20, 2019, Proceedings, Part II},
- pages={247--257},
- year={2020},
- organization={Springer International Publishing}
-}
-
-@inproceedings{friedrich2020hybrid,
- title={A Hybrid Approach for Segmenting and Fitting Solid Primitives to 3D Point Clouds},
- author={Friedrich, Markus and Illium, Steffen and Fayolle, Pierre-Alain and Linnhoff-Popien, Claudia},
- booktitle={15th International Joint Conference on Computer Graphics Theory and Applications},
- year={2020}
-}
-
-@inproceedings{sedlmeier2020policy,
- title={Policy entropy for out-of-distribution classification},
- author={Sedlmeier, Andreas and Müller, Robert and Illium, Steffen and Linnhoff-Popien, Claudia},
- booktitle={Artificial Neural Networks and Machine Learning--ICANN 2020: 29th International Conference on Artificial Neural Networks, Bratislava, Slovakia, September 15--18, 2020, Proceedings, Part II 29},
- pages={420--431},
- year={2020},
- organization={Springer International Publishing}
-}
-
-@article{muller2020acoustic,
- title={Acoustic anomaly detection for machine sounds based on image transfer learning},
- author={Müller, Robert and Ritz, Fabian and Illium, Steffen and Linnhoff-Popien, Claudia},
- journal={arXiv preprint arXiv:2006.03429},
- year={2020}
-}
-
-@article{illium2020meantime,
- title={What to do in the meantime: A service coverage analysis for parked autonomous vehicles},
- author={Illium, Steffen and Friese, Philipp Andreas and Müller, Robert and Feld, Sebastian},
- journal={AGILE: GIScience Series},
- volume={1},
- pages={7},
- year={2020},
- publisher={Copernicus Publications Göttingen, Germany}
-}
-
-@inproceedings{illium2020surgical,
- title={Surgical Mask Detection with Convolutional Neural Networks and Data Augmentations on Spectrograms},
- author={Illium, Steffen and M{\"u}ller, Robert and Sedlmeier, Andreas and Linnhoff-Popien, Claudia},
- booktitle={Proc. Interspeech 2020},
- pages={2052--2056},
- year={2020}
-}
-
-@article{muller2020analysis,
- title={Analysis of feature representations for anomalous sound detection},
- author={Müller, Robert and Illium, Steffen and Ritz, Fabian and Schmid, Kyrill},
- journal={arXiv preprint arXiv:2012.06282},
- year={2020}
-}
-
-@article{muller2021acoustic,
- title={Acoustic leak detection in water networks},
- author={Müller, Robert and Illium, Steffen and Ritz, Fabian and Schröder, Tobias and Platschek, Christian and Ochs, Jörg and Linnhoff-Popien, Claudia},
- journal={arXiv preprint arXiv:2012.06280},
- year={2020}
-}
-
-@inproceedings{gabor2021goals,
- title={Goals for self-replicating neural networks},
- author={Gabor, Thomas and Illium, Steffen and Zorn, Maximilian and Linnhoff-Popien, Claudia},
- booktitle={Artificial Life Conference Proceedings 33},
- volume={2021},
- number={1},
- pages={101},
- year={2021},
- organization={MIT Press One Rogers Street, Cambridge, MA 02142-1209, USA journals-info~…}
-}
-
-@article{illium2021visual,
- title={Visual Transformers for Primates Classification and Covid Detection},
- author={Illium, Steffen and Müller, Robert and Sedlmeier, Andreas and Popien, Claudia-Linnhoff},
- journal={Proc. Interspeech 2021},
- pages={451--455},
- year={2021}
-}
-
-@article{muller2021deep,
- title={A Deep and Recurrent Architecture for Primate Vocalization Classification},
- author={Müller, Robert and Illium, Steffen and Linnhoff-Popien, Claudia},
- journal={Proc. Interspeech 2021},
- pages={461--465},
- year={2021}
-}
-
-@inproceedings{muller2021deep,
- title={Deep recurrent interpolation networks for anomalous sound detection},
- author={Müller, Robert and Illium, Steffen and Linnhoff-Popien, Claudia},
- booktitle={2021 International Joint Conference on Neural Networks (IJCNN)},
- pages={1--7},
- year={2021},
- organization={IEEE}
-}
-
-@inproceedings{friedrich2022csg,
- title={CSG Tree Extraction from 3D Point Clouds and Meshes Using a Hybrid Approach},
- author={Friedrich, Markus and Illium, Steffen and Fayolle, Pierre-Alain and Linnhoff-Popien, Claudia},
- booktitle={Computer Vision, Imaging and Computer Graphics Theory and Applications: 15th International Joint Conference, VISIGRAPP 2020 Valletta, Malta, February 27--29, 2020, Revised Selected Papers},
- pages={53--79},
- year={2022},
- organization={Springer International Publishing Cham}
-}
-
-@inproceedings{illium2022empirical,
- title={Empirical Analysis of Limits for Memory Distance in Recurrent Neural Networks},
- author={Illium, Steffen and Schillman, Thore and Müller, Robert and Gabor, Thomas and Linnhoff-Popien, Claudia},
- booktitle={14th International Conference on Agents and Artificial Intelligence: ICAART},
- volume={3},
- number={Proceedings},
- pages={308--315},
- year={2022}
-}
-
-@inproceedings{muller2022towards,
- title={Towards Anomaly Detection in Reinforcement Learning},
- author={Müller, Robert and Illium, Steffen and Phan, Thomy and Haider, Tom and Linnhoff-Popien, Claudia},
- booktitle={Proceedings of the 21st International Conference on Autonomous Agents and Multiagent Systems},
- pages={1799--1803},
- year={2022}
-}
-
-@inproceedings{nusslein2022case,
- title={Case-Based Inverse Reinforcement Learning Using Temporal Coherence},
- author={Nüßlein, Jonas and Illium, Steffen and Müller, Robert and Gabor, Thomas and Linnhoff-Popien, Claudia},
- booktitle={Case-Based Reasoning Research and Development: 30th International Conference, ICCBR 2022, Nancy, France, September 12--15, 2022, Proceedings},
- pages={304--317},
- year={2022},
- organization={Springer International Publishing Cham}
-}
-
-@inproceedings{illium2022constructing,
- title={Constructing organism networks from collaborative self-replicators},
- author={Illium, Steffen and Zorn, Maximilian and Lenta, Cristian and K{\"o}lle, Michael and Linnhoff-Popien, Claudia and Gabor, Thomas},
- booktitle={2022 IEEE Symposium Series on Computational Intelligence (SSCI)},
- pages={1268--1275},
- year={2022},
- organization={IEEE}
-}
-
-@inproceedings{illium2023voronoipatches,
- title={VoronoiPatches: Evaluating a New Data Augmentation Method},
- author={Illium, Steffen and Griffin, Gretchen and K{\"o}lle, Michael and Zorn, Maximilian and N{\"u}sslein, Jonas and Linnhoff-Popien, Claudia},
- booktitle={International Conference on Agents and Artificial Intelligence},
- volume={15},
- number={Volume 3},
- pages={350--357},
- year={2023}
-}
-
-@article{kolle2023compression,
- title={Compression of GPS Trajectories using Autoencoders},
- author={Kölle, Michael and Illium, Steffen and Hahn, Carsten and Schauer, Lorenz and Hutter, Johannes and Linnhoff-Popien, Claudia},
- journal={arXiv preprint arXiv:2301.07420},
- year={2023}
-
-}
-
-@inproceedings{altmann2024emergence,
- title={Emergence in Multi-agent Systems: A Safety Perspective},
- author={Altmann, Philipp and Schönberger, Julian and Illium, Steffen and Zorn, Maximilian and Ritz, Fabian and Haider, Tom and Burton, Simon and Gabor, Thomas},
- booktitle={International Symposium on Leveraging Applications of Formal Methods},
- pages={104--120},
- year={2024},
- organization={Springer Nature Switzerland Cham}
-}
-
-@article{kolle2024aquarium,
- title={Aquarium: A Comprehensive Framework for Exploring Predator-Prey Dynamics through Multi-Agent Reinforcement Learning Algorithms},
- author={Kölle, Michael and Erpelding, Yannick and Ritz, Fabian and Phan, Thomy and Illium, Steffen and Linnhoff-Popien, Claudia},
- journal={arXiv preprint arXiv:2401.07056},
- year={2024}
-
-}
\ No newline at end of file
diff --git a/src/app/blog/[slug]/page.tsx b/app/blog/[slug]/page.tsx
similarity index 81%
rename from src/app/blog/[slug]/page.tsx
rename to app/blog/[slug]/page.tsx
index babb431b..7d278272 100644
--- a/src/app/blog/[slug]/page.tsx
+++ b/app/blog/[slug]/page.tsx
@@ -1,11 +1,11 @@
import { getPostBySlug, getPostSlugs } from '@/lib/mdx';
-import { CitationProvider } from '@/context/citation-context';
-import { ReferencesContainer } from '@/components/references-container';
+import { CitationProvider } from '@/components/context-citation';
+import { ReferencesContainer } from '@/components/container-references';
import { notFound } from 'next/navigation';
import Image from 'next/image';
-import { DATA } from '@/data/resume';
+import { DATA } from '@/app/resume';
import { getPublicationsData } from '@/lib/publications';
-import { CustomMDX } from '@/components/custom-mdx';
+import { CustomMDX } from '@/components/mdx-custom';
import Link from 'next/link';
export async function generateStaticParams() {
@@ -13,8 +13,8 @@ export async function generateStaticParams() {
return slugs.map((slug) => ({ slug }));
}
-export async function generateMetadata({ params }: { params: { slug: string } }) {
- const post = await getPostBySlug('blog', params.slug);
+export async function generateMetadata({ params: { slug } }: { params: { slug: string } }) {
+ const post = await getPostBySlug('blog', slug);
if (!post) {
return {};
}
@@ -24,8 +24,8 @@ export async function generateMetadata({ params }: { params: { slug: string } })
};
}
-export default async function BlogPage({ params }: { params: { slug: string } }) {
- const post = await getPostBySlug('blog', params.slug);
+export default async function BlogPage({ params: { slug } }: { params: { slug: string } }) {
+ const post = await getPostBySlug('blog', slug);
const publications = getPublicationsData();
if (!post) {
diff --git a/src/app/blog/page.tsx b/app/blog/page.tsx
similarity index 96%
rename from src/app/blog/page.tsx
rename to app/blog/page.tsx
index e68d634a..86f2da22 100644
--- a/src/app/blog/page.tsx
+++ b/app/blog/page.tsx
@@ -1,6 +1,6 @@
import { getSortedPostsData } from "@/lib/posts";
import { ProjectCard } from "@/components/project-card";
-import BlurFade from "@/components/magicui/blur-fade";
+import { BlurFade } from "@/components/magicui/blur-fade";
const BLUR_FADE_DELAY = 0.04;
diff --git a/src/app/connect/page.tsx b/app/connect/page.tsx
similarity index 82%
rename from src/app/connect/page.tsx
rename to app/connect/page.tsx
index a95579ea..89ba453c 100644
--- a/src/app/connect/page.tsx
+++ b/app/connect/page.tsx
@@ -1,9 +1,11 @@
-import { DATA } from "@/data/resume";
+import { DATA } from "@/app/resume";
import Image from "next/image";
import Link from "next/link";
-import BlurFade from "@/components/magicui/blur-fade";
+
import { Button } from "@/components/ui/button";
import { CenteredImage } from "@/components/centered-image";
+import { BlurFade } from "@/components/magicui/blur-fade";
+import { TrackedLink } from "@/components/util-tracked-link";
const BLUR_FADE_DELAY = 0.05;
@@ -37,20 +39,22 @@ export default function ConnectPage() {