From 2853be2909db7a1f66be38ec7de247455089c108 Mon Sep 17 00:00:00 2001
From: peter_rabbit <pierrejarriges@gmail.com>
Date: Tue, 2 Feb 2021 17:16:43 +0100
Subject: [PATCH] fix: twitter image

---
 build.js                               | 14 +++++++++++++-
 public/education/index.html            |  1 +
 public/games/index.html                |  1 +
 public/index.html                      |  4 ++++
 public/software-development/index.html |  1 +
 5 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/build.js b/build.js
index 4638f9b..612a6a4 100644
--- a/build.js
+++ b/build.js
@@ -19,7 +19,7 @@ function getPageHtml(pageName, pageMeta) {
     let html = fs.readFileSync(`${curDir}/public/index.html`, "utf-8");
     const setMeta = function (metaName, value) {
         html = html.replace(
-            html.match(new RegExp(`<meta\\s*name="${metaName}"[^>]+>`, "g")),
+            html.match(new RegExp(`<meta\\s*name="${metaName}"[^>]+>`, "g"))[0],
             `<meta name="${metaName}" content="${value}"/>`
         );
     };
@@ -135,6 +135,18 @@ function getPageHtml(pageName, pageMeta) {
         Object.entries(pageMeta).filter(kv => !build_conf.default_meta_keys.includes(kv[0]))
     );
     setOgMeta();
+    // set twitter image
+    html = html.replace(
+        html.match(new RegExp(`<meta\\s*property="twitter:image"[^>]+>`, "g"))[0],
+        `<meta property="twitter:image" content="${
+            pageMeta.image ||
+            html
+                .match(new RegExp(`<meta\\s*name="image"[^>]+>`, "g"))[0]
+                .match(new RegExp(`content=".+"`, "g"))[0]
+                .match(new RegExp(`".+"`, "g"))
+                .replace(/"/g, "")
+        }"/>`
+    );
     return html;
 }
 
diff --git a/public/education/index.html b/public/education/index.html
index e7fcc43..28cbef6 100644
--- a/public/education/index.html
+++ b/public/education/index.html
@@ -13,6 +13,7 @@
         <meta property="og:type" content="website" />
         <meta property="og:url" content="https://kuadrado-software.fr/education"/>
         <meta property="og:image" content="https://kuadrado-software.fr/assets/images/brain.png"/>
+        <meta property="twitter:image" content="https://kuadrado-software.fr/assets/images/brain.png"/>
         <meta property="og:locale" content="fr_FR"/>
         <meta property="og:site_name" content="Kuadrado Software"/>
 
diff --git a/public/games/index.html b/public/games/index.html
index aa3a2ed..993989c 100644
--- a/public/games/index.html
+++ b/public/games/index.html
@@ -15,6 +15,7 @@
         <meta property="og:image" content="https://kuadrado-software.fr/assets/images/game_controller.png"/>
 <meta property="og:image" content="https://kuadrado-software.fr/assets/images/game_studio_banner.png"/>
 <meta property="og:image" content="https://kuadrado-software.fr/assets/images/popularization_banner.png"/>
+        <meta property="twitter:image" content="https://kuadrado-software.fr/assets/images/game_controller.png"/>
         <meta property="og:locale" content="fr_FR"/>
         <meta property="og:site_name" content="Kuadrado Software"/>
 
diff --git a/public/index.html b/public/index.html
index 4d10538..3da3267 100644
--- a/public/index.html
+++ b/public/index.html
@@ -22,6 +22,10 @@
             property="og:image"
             content="https://kuadrado-software.fr/assets/images/logo_kuadrado.png"
         />
+        <meta
+            property="twitter:image"
+            content="https://kuadrado-software.fr/assets/images/logo_kuadrado.png"
+        />
         <meta property="og:locale" content="fr_FR" />
         <meta property="og:site_name" content="Kuadrado Software"/>
 
diff --git a/public/software-development/index.html b/public/software-development/index.html
index 9e5d2f7..fa11c37 100644
--- a/public/software-development/index.html
+++ b/public/software-development/index.html
@@ -13,6 +13,7 @@
         <meta property="og:type" content="website" />
         <meta property="og:url" content="https://kuadrado-software.fr/software-development"/>
         <meta property="og:image" content="https://kuadrado-software.fr/assets/images/meca_proc.png"/>
+        <meta property="twitter:image" content="https://kuadrado-software.fr/assets/images/meca_proc.png"/>
         <meta property="og:locale" content="fr_FR"/>
         <meta property="og:site_name" content="Kuadrado Software"/>
 
-- 
GitLab