Skip to content

239 newsletter page rendering and functionality#277

Merged
danielmarv merged 2 commits intonext-js-migrationfrom
239-newsletter-page-rendering-and-functionality
Feb 12, 2026
Merged

239 newsletter page rendering and functionality#277
danielmarv merged 2 commits intonext-js-migrationfrom
239-newsletter-page-rendering-and-functionality

Conversation

@danielmarv
Copy link
Member

This pull request introduces a new localized page for the "DLT & Digital Trust" lecture in German, along with related i18n updates. It also removes a significant number of legacy Hugo layout files and the Netlify configuration, indicating a move away from the previous static site generator setup, likely in favor of a Next.js-based architecture. Below are the most important changes:

New DLT Lecture Page and Localization

  • Added a new dynamic Next.js page at src/app/[locale]/dlt-lecture/page.tsx that displays the "DLT & Digital Trust" lecture content, only available in German (de). The page includes metadata generation, hero section, and detailed lecture information. (src/app/[locale]/dlt-lecture/page.tsxR1-R132)
  • Updated i18n files to include new translation keys for the DLT lecture in both German (src/i18n/de.toml) and English (src/i18n/en.toml). [1] [2]

Removal of Hugo Layouts and Static Site Artifacts

  • Removed the Netlify configuration file netlify.toml, indicating the project is no longer using Netlify or its build settings.
  • Deleted numerous Hugo layout files, including templates for 404 pages, articles, image rendering, link rendering, employee profiles, and more, as part of the migration away from Hugo:
    • src/layouts/404.html
    • src/layouts/_default/_markup/render-heading.html
    • src/layouts/_default/_markup/render-image.html
    • src/layouts/_default/_markup/render-link.html
    • src/layouts/_default/article.html
    • src/layouts/_default/baseof.html
    • src/layouts/_default/list.html
    • src/layouts/employees/single.html

@danielmarv danielmarv self-assigned this Feb 12, 2026
Copilot AI review requested due to automatic review settings February 12, 2026 19:30
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 continues the migration away from Hugo by removing legacy Hugo layout/shortcode/partial templates (and Netlify build config), while adding a new Next.js route for the German-only “DLT & Digital Trust” lecture and small i18n additions.

Changes:

  • Added a new localized Next.js page at src/app/[locale]/dlt-lecture/page.tsx (German-only) with metadata and page content.
  • Added new i18n keys for the lecture title in src/i18n/de.toml and src/i18n/en.toml.
  • Removed a large set of Hugo layouts/partials/shortcodes and netlify.toml as part of the Hugo → Next.js transition.

Reviewed changes

Copilot reviewed 53 out of 54 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/app/[locale]/dlt-lecture/page.tsx Adds the new Next.js lecture page (German-only) + metadata.
src/i18n/en.toml Adds a new dltLecture translation entry.
src/i18n/de.toml Adds a new dltLecture translation entry.
netlify.toml Removes Netlify build/deploy configuration.
src/layouts/404.html Removes legacy Hugo 404 template.
src/layouts/_default/_markup/render-heading.html Removes Hugo markdown heading renderer.
src/layouts/_default/_markup/render-image.html Removes Hugo markdown image renderer.
src/layouts/_default/_markup/render-link.html Removes Hugo markdown link renderer.
src/layouts/_default/article.html Removes legacy Hugo article template.
src/layouts/_default/baseof.html Removes Hugo base template.
src/layouts/_default/list.html Removes Hugo default list template.
src/layouts/employees/single.html Removes Hugo employee single template.
src/layouts/index.html Removes Hugo homepage template.
src/layouts/page/about-hendrik.html Removes Hugo “about Hendrik” page template.
src/layouts/page/about-us.html Removes Hugo “about us” page template.
src/layouts/page/article.html Removes Hugo article page template.
src/layouts/page/bot-reply.html Removes Hugo bot reply page template.
src/layouts/page/chatbox.html Removes Hugo chatbox page template.
src/layouts/page/contact.html Removes Hugo contact page template.
src/layouts/page/newsletter.html Removes Hugo newsletter page template.
src/layouts/page/packages.html Removes Hugo packages page template.
src/layouts/page/product-overview.html Removes Hugo product overview page template.
src/layouts/page/sample.html Removes Hugo sample page template.
src/layouts/page/single.html Removes Hugo single page template.
src/layouts/page/support-care.html Removes Hugo support-care page template.
src/layouts/partials/about-customer.html Removes Hugo partial used in About sections.
src/layouts/partials/about-engagemet-2.html Removes Hugo partial used in About sections.
src/layouts/partials/about-engagemet.html Removes Hugo partial used in About sections.
src/layouts/partials/article-body.html Removes Hugo partial for article body rendering.
src/layouts/partials/article-headline.html Removes Hugo partial for article headline rendering.
src/layouts/partials/brevo-newsletter-form-de.html Removes embedded Brevo newsletter form partial.
src/layouts/partials/brevo.html Removes Brevo SDK partial.
src/layouts/partials/cal.html Removes Cal embed partial.
src/layouts/partials/care-card.html Removes Hugo partial used for card rendering.
src/layouts/partials/centered-button.html Removes Hugo partial for centered CTA button.
src/layouts/partials/footer.html Removes Hugo footer partial.
src/layouts/partials/head-meta.html Removes Hugo head meta partial.
src/layouts/partials/head.html Removes Hugo <head> partial.
src/layouts/partials/iubenda.html Removes Iubenda cookie-consent partial.
src/layouts/partials/navbar.html Removes Hugo navbar partial.
src/layouts/partials/outdated.html Removes Hugo “outdated article” warning partial.
src/layouts/partials/pagination.html Removes Hugo pagination partial.
src/layouts/partials/plausible.html Removes Plausible analytics partial.
src/layouts/partials/react-import.html Removes Hugo partial that loaded custom JS.
src/layouts/partials/tag-filter.html Removes Hugo tag filter partial.
src/layouts/posts/list.html Removes Hugo posts list template.
src/layouts/posts/single.html Removes Hugo posts single template.
src/layouts/robots.txt Removes Hugo robots.txt template (assumes static/Next replacement).
src/layouts/shortcodes/centered-button.html Removes Hugo centered-button shortcode.
src/layouts/shortcodes/centered-image.html Removes Hugo centered-image shortcode.
src/layouts/shortcodes/quote.html Removes Hugo quote shortcode.
src/layouts/shortcodes/support-care-subscription-packages.html Removes Hugo subscription-packages shortcode.
src/layouts/shortcodes/youtube-2.html Removes Hugo YouTube shortcode.

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

style={{ maxWidth: '100%' }}
>
<p className="lead">
Seit 2023 bietet <Link href="/de/about-hendrik">Hendrik Ebbers</Link> die Vorlesung{' '}
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

This internal link points to /de/about-hendrik, but there is no corresponding Next.js route under src/app/[locale] for about-hendrik (and it’s not present in public/ either), so it will 404. Link to an existing route (e.g. the current About page/section) or add the missing about-hendrik page/redirect as part of the migration.

Suggested change
Seit 2023 bietet <Link href="/de/about-hendrik">Hendrik Ebbers</Link> die Vorlesung{' '}
Seit 2023 bietet <Link href={`/${locale}`}>Hendrik Ebbers</Link> die Vorlesung{' '}

Copilot uses AI. Check for mistakes.
Comment on lines +39 to +45
export default async function DltLecturePage({ params }: DltLecturePageProps) {
const { locale } = await params

// Only German version exists initially
if (locale !== 'de') {
notFound()
}
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

This page introduces a new public route (/dlt-lecture), but the sitemap generator (src/app/sitemap.xml/route.ts) currently hardcodes staticRoutes and does not include dlt-lecture, so the new page won’t be discoverable via sitemap. Add this route to the sitemap’s static route list (and any other route registries used for navigation/SEO).

Copilot uses AI. Check for mistakes.
Comment on lines +45 to +46
[dltLecture]
other = "DLT & Digital Trust Lecture (German only)"
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The new [dltLecture] translation key is added here but is not referenced anywhere in the Next.js code (navigation uses digitalTrustLecture, and there are no t('dltLecture') usages). Either update the code/menu to use this key or remove it to avoid dead/duplicated i18n entries.

Suggested change
[dltLecture]
other = "DLT & Digital Trust Lecture (German only)"

Copilot uses AI. Check for mistakes.
Comment on lines +45 to +46
[dltLecture]
other = "Vorlesung zu DLT & Digital Trust"
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The new [dltLecture] translation key is added here but is not referenced anywhere in the Next.js code (navigation uses digitalTrustLecture, and there are no t('dltLecture') usages). Either update the code/menu to use this key or remove it to avoid dead/duplicated i18n entries.

Suggested change
[dltLecture]
other = "Vorlesung zu DLT & Digital Trust"

Copilot uses AI. Check for mistakes.

{/* Content Section */}
<div className=" lg:pb-48 sm:pb-32 pb-28">
<div className="container mt-12 xl:max-w-1xl">
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

xl:max-w-1xl is not a valid Tailwind max-width utility (Tailwind ships max-w-xl, max-w-2xl, …). This class will be ignored, so the intended layout constraint won’t apply. Use an existing max-w-* value (e.g. align with other pages that use xl:max-w-6xl).

Suggested change
<div className="container mt-12 xl:max-w-1xl">
<div className="container mt-12 xl:max-w-6xl">

Copilot uses AI. Check for mistakes.
…le analytics, React import, tag filter, and various shortcodes; clean up posts layout files and robots.txt.

Signed-off-by: Daniel Ntege <danientege785@gmail.com>
Signed-off-by: Daniel Ntege <danientege785@gmail.com>
@danielmarv danielmarv force-pushed the 239-newsletter-page-rendering-and-functionality branch from 1dd4208 to 44b050c Compare February 12, 2026 19:37
@danielmarv danielmarv merged commit 5f6c125 into next-js-migration Feb 12, 2026
2 checks passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in Migration to NextJS Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant