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 17 commits February 27, 2026 19:36
Enhance documentation for blog post creation and content structure
…und color, and update the Next.js type reference path.
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: 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

None yet

Development

Successfully merging this pull request may close these issues.

5 participants