diff --git a/presentation/Data-Mesh-100-Data-Architectures-r1.0.pptx b/presentation/Data-Mesh-100-Data-Architectures-r1.0.pptx index 05e66b3..0d6bcb1 100644 Binary files a/presentation/Data-Mesh-100-Data-Architectures-r1.0.pptx and b/presentation/Data-Mesh-100-Data-Architectures-r1.0.pptx differ diff --git a/presentation/data-mesh-101/The_Data_Mesh_101.pptx b/presentation/data-mesh-101/The_Data_Mesh_101.pptx index c79f050..fd72e78 100644 Binary files a/presentation/data-mesh-101/The_Data_Mesh_101.pptx and b/presentation/data-mesh-101/The_Data_Mesh_101.pptx differ diff --git a/presentation/data-mesh-101/The_Data_Mesh_Updated.pptx b/presentation/data-mesh-101/The_Data_Mesh_Updated.pptx index 1f590d5..af4a018 100644 Binary files a/presentation/data-mesh-101/The_Data_Mesh_Updated.pptx and b/presentation/data-mesh-101/The_Data_Mesh_Updated.pptx differ diff --git a/presentation/data-mesh-101/build-101.js b/presentation/data-mesh-101/build-101.js index 9f4c0c5..5fa2864 100644 --- a/presentation/data-mesh-101/build-101.js +++ b/presentation/data-mesh-101/build-101.js @@ -243,4 +243,23 @@ contentSlide({ eyebrow: "Data architectures", title: "When each pattern fits", })(); /* ============================ WRITE ============================ */ + +/* ============================ CLOSING · SCAN TO EXPLORE ============================ */ +(() => { + const s = pres.addSlide(); + s.background = { color: C.white }; + footer(s); + head(s, "Scan to explore", "Take it with you"); + const qrW = 3.10, qrY = 1.95, leftX = 2.30, rightX = 7.93; + s.addImage({ path: "qr-site.png", x: leftX, y: qrY, w: qrW, h: qrW }); + s.addText("The reference architecture", { x: leftX - 0.75, y: 5.20, w: qrW + 1.5, h: 0.4, fontSize: 18, bold: true, color: C.ink, fontFace: F.head, align: "center", margin: 0 }); + s.addText("Site, runnable Python services, contracts, and the minikube bootstrap", { x: leftX - 0.85, y: 5.62, w: qrW + 1.7, h: 0.7, fontSize: 13, italic: true, color: C.gray, fontFace: F.body, align: "center", valign: "top", margin: 0 }); + s.addText("patterncatalyst.github.io/datamesh-reference-arch-python", { x: leftX - 0.85, y: 6.30, w: qrW + 1.7, h: 0.32, fontSize: 10, color: C.red, fontFace: F.mono, align: "center", margin: 0 }); + s.addImage({ path: "qr-hub.png", x: rightX, y: qrY, w: qrW, h: qrW }); + s.addText("Workshops & Tutorials", { x: rightX - 0.75, y: 5.20, w: qrW + 1.5, h: 0.4, fontSize: 18, bold: true, color: C.ink, fontFace: F.head, align: "center", margin: 0 }); + s.addText("The whole series: every workshop, tutorial, and deck in one place", { x: rightX - 0.85, y: 5.62, w: qrW + 1.7, h: 0.7, fontSize: 13, italic: true, color: C.gray, fontFace: F.body, align: "center", valign: "top", margin: 0 }); + s.addText("patterncatalyst.github.io/patterncatalyst-workshops-tutorials-list", { x: rightX - 0.95, y: 6.30, w: qrW + 1.9, h: 0.32, fontSize: 9, color: C.red, fontFace: F.mono, align: "center", margin: 0 }); + s.addNotes("That's where to go next. The two codes carry the primer home: on the left, the reference architecture itself: the site, the runnable Python domain services, the contracts and schema catalog, and the single-command minikube bootstrap that stands the whole mesh up on a laptop. On the right, the Workshops and Tutorials hub: every workshop, tutorial, and deck in the series in one place. Scan whichever is useful; both are public on the Pattern Catalyst GitHub organization."); +})(); + pres.writeFile({ fileName: "The_Data_Mesh_101.pptx" }).then((f) => console.log("WROTE", f)); diff --git a/presentation/data-mesh-101/qr-hub.png b/presentation/data-mesh-101/qr-hub.png new file mode 100644 index 0000000..666e4ed Binary files /dev/null and b/presentation/data-mesh-101/qr-hub.png differ diff --git a/presentation/data-mesh-101/qr-site.png b/presentation/data-mesh-101/qr-site.png new file mode 100644 index 0000000..a388751 Binary files /dev/null and b/presentation/data-mesh-101/qr-site.png differ diff --git a/presentation/data-mesh-openshift/Data_Mesh_on_OpenShift.pptx b/presentation/data-mesh-openshift/Data_Mesh_on_OpenShift.pptx index 2d6365b..3a7c8d9 100644 Binary files a/presentation/data-mesh-openshift/Data_Mesh_on_OpenShift.pptx and b/presentation/data-mesh-openshift/Data_Mesh_on_OpenShift.pptx differ diff --git a/presentation/data-mesh-openshift/build-deck.js b/presentation/data-mesh-openshift/build-deck.js index dac9ba6..c268016 100644 --- a/presentation/data-mesh-openshift/build-deck.js +++ b/presentation/data-mesh-openshift/build-deck.js @@ -560,4 +560,23 @@ contentSlide({ eyebrow: "Anti-patterns", title: "Recognizing them early", })(); /* ============================ WRITE ============================ */ + +/* ============================ CLOSING · SCAN TO EXPLORE ============================ */ +(() => { + const s = pres.addSlide(); + s.background = { color: C.white }; + L.footer(s); + L.head(s, "Scan to explore", "Take it with you"); + const qrW = 3.10, qrY = 1.95, leftX = 2.30, rightX = 7.93; + s.addImage({ path: "qr-site.png", x: leftX, y: qrY, w: qrW, h: qrW }); + s.addText("The reference architecture", { x: leftX - 0.75, y: 5.20, w: qrW + 1.5, h: 0.4, fontSize: 18, bold: true, color: C.ink, fontFace: F.head, align: "center", margin: 0 }); + s.addText("Site, runnable Python services, contracts, and the minikube bootstrap", { x: leftX - 0.85, y: 5.62, w: qrW + 1.7, h: 0.7, fontSize: 13, italic: true, color: C.gray, fontFace: F.body, align: "center", valign: "top", margin: 0 }); + s.addText("patterncatalyst.github.io/datamesh-reference-arch-python", { x: leftX - 0.85, y: 6.30, w: qrW + 1.7, h: 0.32, fontSize: 10, color: C.red, fontFace: F.mono, align: "center", margin: 0 }); + s.addImage({ path: "qr-hub.png", x: rightX, y: qrY, w: qrW, h: qrW }); + s.addText("Workshops & Tutorials", { x: rightX - 0.75, y: 5.20, w: qrW + 1.5, h: 0.4, fontSize: 18, bold: true, color: C.ink, fontFace: F.head, align: "center", margin: 0 }); + s.addText("The whole series: every workshop, tutorial, and deck in one place", { x: rightX - 0.85, y: 5.62, w: qrW + 1.7, h: 0.7, fontSize: 13, italic: true, color: C.gray, fontFace: F.body, align: "center", valign: "top", margin: 0 }); + s.addText("patterncatalyst.github.io/patterncatalyst-workshops-tutorials-list", { x: rightX - 0.95, y: 6.30, w: qrW + 1.9, h: 0.32, fontSize: 9, color: C.red, fontFace: F.mono, align: "center", margin: 0 }); + s.addNotes("That's the implementation. The two codes take it with you: on the left, the reference architecture: the site, the runnable Python services, the contracts and catalog, and the minikube bootstrap that runs the whole thing on a laptop. On the right, the Workshops and Tutorials hub: the whole series (every workshop, tutorial, and deck) in one place. Both are public on the Pattern Catalyst GitHub organization."); +})(); + pres.writeFile({ fileName: "Data_Mesh_on_OpenShift.pptx" }).then((f) => console.log("WROTE", f)); diff --git a/presentation/data-mesh-openshift/qr-hub.png b/presentation/data-mesh-openshift/qr-hub.png new file mode 100644 index 0000000..666e4ed Binary files /dev/null and b/presentation/data-mesh-openshift/qr-hub.png differ diff --git a/presentation/data-mesh-openshift/qr-site.png b/presentation/data-mesh-openshift/qr-site.png new file mode 100644 index 0000000..a388751 Binary files /dev/null and b/presentation/data-mesh-openshift/qr-site.png differ