Skip to content

Next js migration#306

Open
danielmarv wants to merge 208 commits intomainfrom
next-js-migration
Open

Next js migration#306
danielmarv wants to merge 208 commits intomainfrom
next-js-migration

Conversation

@danielmarv
Copy link
Member

No description provided.

Jexsie and others added 30 commits December 19, 2025 15:27
- Setup project for nextjs and typescript
- git ignore untrackable files for nextjs

Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
- fix tailwind v4 usage
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
- Introduced a src folder that contains components, utility functions, etc. Main entry point
- Added static files into the assets folder for now

Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Initialise repo for nextjs migration
- Setup project for nextjs and typescript
- git ignore untrackable files for nextjs

Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
- fix tailwind v4 usage
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>

Signed-off-by: Daniel Ntege <danientege785@gmail.com>
- Introduced a src folder that contains components, utility functions, etc. Main entry point
- Added static files into the assets folder for now

Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
danielmarv and others added 13 commits March 2, 2026 16:17
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
…ion and remove the custom 404 page.

Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Copilot AI review requested due to automatic review settings March 18, 2026 11:21
@netlify
Copy link

netlify bot commented Mar 18, 2026

Deploy Preview for open-elements ready!

Name Link
🔨 Latest commit 6c84f58
🔍 Latest deploy log https://app.netlify.com/projects/open-elements/deploys/69bc4e7dfdb4c5000815f55c
😎 Deploy Preview https://deploy-preview-306--open-elements.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 66
Accessibility: 97
Best Practices: 92
SEO: 100
PWA: 60
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR advances a Next.js migration by removing Hugo layout templates/shortcodes, updating content markdown to standard links/embeds, and adding Node/Next-focused tooling and CI automation.

Changes:

  • Removed Hugo layouts/ templates/partials/shortcodes and Hugo config.toml as part of moving rendering responsibilities to Next.js.
  • Updated many markdown posts to replace Hugo shortcodes (centered-image, highlight, youtube, relref/ref) with plain Markdown/HTML equivalents.
  • Added ESLint flat config, new GitHub Actions workflows (CI + Playwright E2E + issue automation), and added authoring docs.

Reviewed changes

Copilot reviewed 222 out of 1316 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
layouts/shortcodes/youtube-2.html Removed Hugo YouTube shortcode template (migration to Next rendering).
layouts/shortcodes/quote.html Removed Hugo quote shortcode template (migration to Next rendering).
layouts/shortcodes/centered-image.html Removed Hugo centered-image shortcode template (content now uses Markdown images).
layouts/shortcodes/centered-button.html Removed Hugo centered-button shortcode template.
layouts/robots.txt Removed Hugo robots template (expected to be handled by Next/static hosting).
layouts/partials/tag-filter.html Removed Hugo tag filter partial.
layouts/partials/react-import.html Removed Hugo partial that injected a React bundle.
layouts/partials/plausible.html Removed Hugo plausible analytics partial.
layouts/partials/outdated.html Removed Hugo outdated-warning partial.
layouts/partials/iubenda.html Removed Hugo iubenda consent partial.
layouts/partials/head.html Removed Hugo head partial (meta/scripts/styles now expected in Next).
layouts/partials/head-meta.html Removed Hugo OG/SEO meta partial.
layouts/partials/centered-button.html Removed Hugo centered-button partial.
layouts/partials/care-card.html Removed Hugo care-card partial.
layouts/partials/cal.html Removed Hugo Cal.com embed partial.
layouts/partials/brevo.html Removed Hugo Brevo SDK partial.
layouts/partials/article-headline.html Removed Hugo article headline partial.
layouts/partials/article-body.html Removed Hugo article body partial.
layouts/partials/about-engagemet.html Removed Hugo about engagement partial.
layouts/partials/about-engagemet-2.html Removed Hugo about engagement variant partial.
layouts/partials/about-customer.html Removed Hugo about customer partial.
layouts/page/support-care.html Removed Hugo support-care page template.
layouts/page/single.html Removed Hugo page single template.
layouts/page/product-overview.html Removed Hugo product overview template.
layouts/page/newsletter.html Removed Hugo newsletter page template.
layouts/page/article.html Removed Hugo article page template.
layouts/employees/single.html Removed Hugo employee profile template.
layouts/_default/list.html Removed Hugo list template.
layouts/_default/baseof.html Removed Hugo base layout template.
layouts/_default/article.html Removed Hugo default article template.
layouts/_default/_markup/render-link.html Removed Hugo markdown link render hook.
layouts/_default/_markup/render-image.html Removed Hugo markdown image render hook.
layouts/_default/_markup/render-heading.html Removed Hugo markdown heading render hook.
layouts/404.html Removed Hugo 404 template.
input.css Switched CSS setup toward Tailwind v4-style import/config (currently commented out).
eslint.config.js Added ESLint flat config for Next + Prettier.
docs/04-adding-blog-post.md Added documentation for creating blog posts under the new content structure.
content/updates/v0.1.8.en.md Added English update entry content.
content/updates/v0.1.8.de.md Added German update entry content.
content/updates/v0.1.7.en.md Added English update entry content.
content/updates/v0.1.7.de.md Added German update entry content.
content/posts/2025-12-15-cra.de.md Replaced Hugo shortcodes/relrefs with Markdown images and absolute links.
content/posts/2025-09-12-support-and-care-reproducible-builds.md Replaced Hugo shortcodes with Markdown images and updated internal links.
content/posts/2025-08-08-support-and-care-jira-gh-migration.md Replaced Hugo shortcodes with Markdown images and updated internal links.
content/posts/2024-07-22-gaming-web3.md Replaced Hugo shortcodes; converted code highlighting to fenced blocks.
content/posts/2024-07-09-open-source-java.de.md Replaced Hugo shortcodes with Markdown images and updated internal links.
content/posts/2024-01-20-open-elements-2023.de.md Replaced Hugo shortcodes with Markdown images and updated internal links.
content/posts/2024-01-18-performance-of-java-logging.md Converted Hugo highlight blocks to fenced code blocks and replaced images.
content/posts/2024-01-11-java-module-system.md Converted Hugo highlight blocks to fenced code blocks (formatting changed).
content/posts/2023-08-03-distributions-and-support-without-oracle.md Replaced Hugo centered-image with Markdown images.
content/posts/2023-05-09-java-module-system.md Converted Hugo highlight blocks to fenced code blocks.
content/posts/2023-04-18-detect-null-errors-with-static-analysis.md Converted Hugo highlight blocks to fenced code blocks.
content/posts/2023-03-14-java-release-train.md Converted Hugo highlight blocks to fenced code blocks and images.
content/posts/2023-02-28-java-backwards-compatibility.md Converted Hugo highlight blocks to fenced code blocks and images.
content/posts/2020-07-14-adopt-roadshow.md Replaced Hugo centered-image with Markdown image.
content/posts/2020-02-21-adopt-tests.md Updated internal links and converted code highlight blocks.
content/posts/2020-02-15-back-to-the-future.md Converted Hugo highlight blocks to fenced code blocks.
content/posts/2019-01-15-rico-server-timing.md Converted Hugo highlight blocks to fenced code blocks.
content/posts/2018-11-23-amazon-corretto.md Converted Hugo highlight blocks to fenced code blocks.
content/posts/2018-09-25-java11-release-event.md Replaced Hugo YouTube shortcode with raw iframe embed.
content/posts/2018-09-16-java-11-licence.md Updated Hugo ref link to absolute path.
content/posts/2016-02-09-javafx-and-css-pseudo-classes.md Converted Hugo highlight blocks and updated internal links.
content/posts/2016-02-07-javafx-and-css.md Converted Hugo highlight blocks and updated internal links.
content/posts/2016-02-04-round-images-with-css.md Converted Hugo highlight blocks and updated internal links.
content/posts/2016-02-04-dolphin-platform-0-8-has-beed-released.md Converted Hugo highlight blocks to fenced code blocks.
content/posts/2016-01-13-the-javaone-voting-machine.md Replaced Hugo YouTube shortcode with raw iframe embed.
content/posts/2015-12-16-dolphin-platform-and-polymer.md Updated internal Hugo refs to absolute links.
content/posts/2015-12-16-dolphin-platform-0-7-has-been-released.md Converted Hugo highlight blocks and updated internal links.
content/posts/2015-12-02-dolphin-platform-jumpstart.md Replaced Hugo YouTube shortcode and updated internal links.
content/posts/2015-11-12-dolphin-platform-in-15-minutes-nighthacking.md Replaced Hugo YouTube shortcode with raw iframe embed.
content/posts/2015-11-11-dolphin-platform-kumuluzee-javaee-microservices-with-dynamic-and-rich-frontends.md Converted Hugo highlight blocks to fenced code blocks.
content/posts/2015-11-11-building-modern-web-uis-with-web-components-university-devoxx.md Replaced Hugo YouTube shortcode with raw iframe embed.
content/posts/2015-11-09-dolphin-platform-has-been-released.md Converted Hugo highlight blocks and updated internal links.
content/posts/2015-10-19-javaone-preview.md Replaced Hugo YouTube shortcodes and updated internal links.
content/posts/2015-10-07-dolphin-platform-a-sneak-peek-of-the-view-api.md Converted Hugo highlight blocks and updated internal links.
content/posts/2015-10-06-dolphin-platform-a-sneak-peek-of-the-model-api.md Converted Hugo highlight blocks and updated internal links.
content/posts/2015-10-05-dolphin-platform-a-sneak-peek-of-the-controller-api.md Converted Hugo highlight blocks.
content/posts/2015-10-04-dolphin-platform-a-sneak-peek.md Updated internal Hugo refs to absolute links.
content/posts/2015-09-18-more-fun-with-layered-icons-in-javafx.md Updated internal link and replaced YouTube shortcode with iframe.
content/posts/2015-09-16-layered-images-and-icons-with-javafx.md Replaced YouTube shortcode with iframe.
content/posts/2015-09-09-how-to-create-a-responsive-layout-in-javafx.md Converted highlight blocks and replaced YouTube shortcode with iframe.
content/posts/2015-09-06-cool-javafx-uis-in-less-time-use-projection.md Converted highlight blocks and updated internal links.
content/posts/2015-07-10-material-design-in-javafx.md Replaced YouTube shortcode with iframe.
content/posts/2015-02-15-use-webcomponents-today.md Converted highlight blocks to fenced code blocks.
content/posts/2015-02-12-short-introduction-bower.md Converted highlight blocks and updated internal links.
content/posts/2015-02-11-jsr377-got-green-light-continue.md Updated internal Hugo ref to absolute link.
content/posts/2015-02-06-test-driven-development-youtube.md Updated internal link and replaced YouTube shortcode with iframe.
content/posts/2015-01-29-introduction-open-dolphin.md Replaced YouTube shortcode and converted highlight blocks.
content/posts/2015-01-28-set-datafx-application.md Converted highlight blocks and updated internal link.
content/posts/2015-01-22-datafx-tutorial-6.md Converted highlight blocks and updated internal links.
content/posts/2015-01-21-support-emojis.md Replaced YouTube shortcode and converted highlight blocks; updated internal link.
content/posts/2014-11-13-hand-drawing-effect-javafx.md Converted highlight block to fenced code block.
content/posts/2014-10-05-iconify-application-resolution-independent-way.md Converted highlight blocks and updated internal link.
content/posts/2014-10-01-integrate-custom-fonts-javafx-application-using-css.md Converted highlight blocks to fenced code blocks.
content/posts/2014-10-01-dialog-objects-pattern-automated-tests-testfx.md Converted highlight blocks to fenced code blocks.
content/posts/2014-09-30-enrich-list-ui-using-medialistcell.md Converted highlight blocks to fenced code blocks.
content/posts/2014-09-11-javaone-preview-enterprise-javafx.md Replaced YouTube shortcode with iframe.
content/posts/2014-09-09-javaone-2014-preview.md Replaced YouTube shortcode with iframe and updated internal link.
content/posts/2014-06-17-aerofx-getting-closer.md Updated internal link.
content/posts/2014-05-19-datafx-8-0-tutorials.md Updated internal Hugo refs to absolute links.
content/posts/2014-05-15-javafx-8-interview-jax-2014.md Replaced YouTube shortcode with iframe.
content/posts/2014-03-29-javafx-css-utilities.md Converted highlight blocks to fenced code blocks.
content/posts/2014-03-28-reactive-programming-javafx.md Converted highlight blocks to fenced code blocks.
content/posts/2014-03-27-datafx-8-nighthacking.md Replaced YouTube shortcode and converted highlight blocks.
content/posts/2014-01-24-javafx-meets-javaee.md Updated internal links to absolute paths.
content/posts/2014-01-23-datafx-8-preview-2-processchain.md Updated internal links and converted highlight blocks.
content/posts/2013-09-24-make-your-app-smile-d.md Updated internal link to absolute path.
content/posts/2013-09-24-flatter.md Updated internal link(s) to absolute paths.
content/posts/2013-09-13-datafx-controller-api.md Converted highlight blocks to fenced code blocks.
content/posts/2013-08-30-pimp-your-app-by-using-the-blurpane.md Converted highlight block to fenced code block.
content/posts/2013-08-29-boxfx-javaone-preview-1.md Replaced YouTube shortcode with iframe.
content/posts/2013-05-26-aquafx-lessons-learned-part-i.md Converted highlight blocks to fenced code blocks.
content/posts/2013-05-09-aquatecture.md Converted highlight blocks to fenced code blocks.
content/posts/2013-05-01-sbt-fxml-the-missing-link-between-fxml-and-your-code.md Converted highlight blocks to fenced code blocks.
content/posts/2013-03-20-use-native-aqua-icons-in-javafx.md Converted highlight blocks to fenced code blocks.
content/posts/2013-03-20-assertions-and-rules-in-marvinfx.md Converted highlight blocks and updated internal link.
content/posts/2013-03-02-update-for-the-native-ones.md Updated internal link.
content/posts/2013-03-02-global-stylesheet-for-your-javafx-application.md Converted highlight blocks and updated internal link.
content/posts/2013-02-09-datafx-observableexecutor-preview.md Updated internal link and replaced YouTube shortcode with iframe.
content/posts/2013-01-16-this-is-for-the-native-ones.md Updated internal link, converted highlight, replaced YouTube shortcode.
content/posts/2013-01-01-invokeandwait-for-javafx.md Updated internal link and converted highlight block.
content/posts/2012-12-31-bindabletransition.md Converted highlight blocks and replaced Vimeo shortcode with iframe.
content/posts/2012-12-29-gridfx-on-raspberry-pi-javafx-8.md Updated internal links, converted highlight blocks, replaced YouTube shortcode with iframe.
content/posts/2012-12-28-my-first-steps-with-javafx-on-raspberry-pi.md Replaced YouTube shortcode with iframe.
content/posts/2012-12-12-some-news-about-vagrant-binding.md Updated internal link.
content/posts/2012-12-10-access-puppet-forge-repository-with-java.md Updated internal link and converted highlight block.
content/posts/2012-11-29-the-future-of-vagrant-binding.md Updated internal links.
content/posts/2012-11-25-maven-support-for-datafx.md Converted highlight block and updated internal link.
content/posts/2012-11-21-gridfx-pagination.md Replaced Vimeo shortcode and converted highlight block.
content/posts/2012-11-17-swing-is-dead.md Updated internal links.
content/posts/2012-11-14-playing-with-gridfx-and-itunes-webservices.md Replaced Vimeo shortcode with iframe.
content/posts/2012-11-13-jgridfx-first-demo.md Updated internal link and replaced Vimeo shortcode with iframe.
content/posts/2012-10-13-building-javafx-applications-with-maven.md Converted highlight block to fenced code block.
content/posts/2011-09-25-jgrid-tutorial-5.md Converted highlight blocks to fenced code blocks.
content/posts/2011-09-18-jgrid-tutorial-4.md Converted highlight block and replaced YouTube shortcode with iframe.
content/posts/2011-09-17-jgrid-tutorial-3.md Converted highlight blocks to fenced code blocks.
content/posts/2011-09-16-jgrid-tutorial-2.md Converted highlight block and updated internal link.
content/posts/2011-09-14-jgrid-tutorial-1.md Converted highlight blocks to fenced code blocks.
content/posts/2011-09-12-garagetunes-demo.md Replaced YouTube shortcode with iframe.
content/posts/2011-09-01-gesture-wrapper-0-1-released.md Updated internal link.
content/posts/2011-08-04-preview-multitouch-gestures-in-swing.md Updated internal link and converted highlight blocks.
content/employees/noah.md Adjusted employee display name ordering.
content/employees/noah.de.md Adjusted employee display name ordering.
content/about/index.md Split a single prefix field into per-section prefixes.
content/about/index.de.md Split a single prefix field into per-section prefixes (localized).
config.toml Removed Hugo site configuration (migration away from Hugo).
.husky/pre-commit Updated pre-commit hook to run pnpm run lint when pnpm is available.
.htmlhintrc Removed HTMLHint configuration.
.github/workflows/issue-automation.yml Added workflow for basic issue labeling and auto-assignment.
.github/workflows/e2e-tests.yml Added Playwright E2E test workflow.
.github/workflows/ci.yml Added Node/pnpm CI workflow.
.github/reviewers.json Added reviewer mapping configuration.
.github/pull_request_template.md Added PR template.
.github/ISSUE_TEMPLATE/feature_request.yml Added structured feature request issue template.
.github/ISSUE_TEMPLATE/config.yml Added issue template configuration (disable blank issues).
.github/ISSUE_TEMPLATE/bug_report.yml Added structured bug report issue template.
.github/FIRST_TIMER_GUIDE.md Added a first-timer contribution guide.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +1 to +3
/* @import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap");
@import "tailwindcss";
@config "./tailwind.config.js";
@@ -92,4 +89,4 @@

p {
padding-top: 0.8em;
}
} */
Comment on lines +3 to +15
import nextVitals from 'eslint-config-next/core-web-vitals'

export default defineConfig([
...nextVitals,
prettierConfig,
globalIgnores([
".next/**",
"node_modules/**",
"build/**",
"next-env.d.ts",
"content/**",
"public/**",
"react-src/**"
@@ -131,8 +131,7 @@ this draft into a sensible, sustainable, and secure standard for NFTs in compute
The interfaces shown here are based on [ERC-721 (NFT standard)](https://eips.ethereum.org/EIPS/eip-721)
and [ERC-165 (Standard Interface Detection)](https://eips.ethereum.org/EIPS/eip-165):

{{< highlight java >}}
interface GameTokens {
```javainterface GameTokens {
If you use Maven or Gradle as your build tool, you can even automate this process with a plugin.

As shown in the following example, you only need to configure the maven-jar-plugin for a Maven build:

@@ -14,4 +14,4 @@ preview_image: "/posts/preview-images/software-development-green.svg"
---
Together with Oracle and [Heise](https://www.heise.de/developer/meldung/Jetzt-vormerken-Launch-Event-zu-Java-11-4168709.html), we will do a Java 11 release event on September 25th, 2018. This event will be followed by Hendrik Ebbers and Michael Heinrichs. There will be a YouTube Live Stream from 6 pm UTC+2. We are looking forward to many viewers!

{{< youtube CUuCVHWeO-Y >}}
<iframe width="560" height="315" src="https://www.youtube.com/embed/CUuCVHWeO-Y" frameborder="0" allowfullscreen></iframe>
Comment on lines 1 to +12
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

set -e # die on error

npm run lint:html No newline at end of file
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)

if command -v pnpm >/dev/null 2>&1; then
cd "$REPO_ROOT"
pnpm run lint
else
echo "pnpm not found. Skipping lint." >&2
fi No newline at end of file
Comment on lines +20 to +23
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
Comment on lines +34 to +36
- name: Lint (if available)
run: pnpm lint 2>/dev/null || echo "Lint script not found, skipping"
continue-on-error: true
Comment on lines +42 to +44
- name: Test (if available)
run: pnpm test 2>/dev/null || echo "Test script not found, skipping"
continue-on-error: true
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

5 participants