diff --git a/src/components/EventLanding.js b/src/components/EventLanding.js index 33b32ba8b..97a63b35b 100644 --- a/src/components/EventLanding.js +++ b/src/components/EventLanding.js @@ -95,10 +95,7 @@ export default function EventLanding({ slug }) { }; return ( - + {bannerUrl && ( diff --git a/src/pages/landing/kcd-vietnam.js b/src/pages/landing/kcd-vietnam.js deleted file mode 100644 index 97c395576..000000000 --- a/src/pages/landing/kcd-vietnam.js +++ /dev/null @@ -1,3 +0,0 @@ -import EventLanding from "@site/src/components/EventLanding"; - -export default () => ; diff --git a/src/pages/landing/kubecon-japan.js b/src/pages/landing/kubecon-japan.js deleted file mode 100644 index 80b3810a2..000000000 --- a/src/pages/landing/kubecon-japan.js +++ /dev/null @@ -1,3 +0,0 @@ -import EventLanding from "@site/src/components/EventLanding"; - -export default () => ; diff --git a/src/plugins/events/index.js b/src/plugins/events/index.js index d372031ce..257f237b4 100644 --- a/src/plugins/events/index.js +++ b/src/plugins/events/index.js @@ -1,4 +1,5 @@ import ical from "node-ical"; +import landingEvents from "../../data/events"; export default function pluginEvents(context, options) { const { sources } = options; @@ -11,6 +12,10 @@ export default function pluginEvents(context, options) { return { name: "plugin-events", + getPathsToWatch() { + return [require.resolve("../../data/events")]; + }, + async loadContent() { const now = new Date(); now.setHours(0, 0, 0, 0); @@ -59,6 +64,19 @@ export default function pluginEvents(context, options) { async contentLoaded({ content, actions }) { actions.setGlobalData({ events: content }); + const basePath = context.baseUrl.endsWith("/") + ? context.baseUrl.slice(0, -1) + : context.baseUrl; + for (const event of landingEvents) { + actions.addRoute({ + path: `${basePath}/landing/${event.slug}`, + component: "@site/src/components/EventLanding.js", + exact: true, + props: { + slug: event.slug, + }, + }); + } }, }; }