SyuanYu 3 päivää sitten
vanhempi
commit
a84560b762

+ 169 - 0
layouts/global-yt/single.html

@@ -0,0 +1,169 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <meta http-equiv="X-UA-Compatible" content="ie=edge, Chrome=1">
+  <meta http-equiv="Cache-Control" content="no-cache">
+  <title>ChoozMo 全球 YT 推廣服務 | 集仕多</title>
+  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
+    integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
+  <link rel="stylesheet" href="//use.fontawesome.com/releases/v5.11.2/css/all.css">
+  <link rel="stylesheet" href="/css/style.css">
+  <!-- Start of HubSpot Embed Code -->
+  <!-- <script type="text/javascript" id="hs-script-loader" async defer src="//js-na1.hs-scripts.com/20485755.js"></script> -->
+  <!-- End of HubSpot Embed Code -->
+
+  <!-- Google Tag Manager -->
+  <script>(function (w, d, s, l, i) {
+      w[l] = w[l] || []; w[l].push({
+        'gtm.start':
+          new Date().getTime(), event: 'gtm.js'
+      }); var f = d.getElementsByTagName(s)[0],
+        j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
+          'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
+    })(window, document, 'script', 'dataLayer', 'GTM-MTWWP3G');</script>
+  <!-- End Google Tag Manager -->
+
+  <!-- Google tag (gtag.js) -->
+  <script async src="https://www.googletagmanager.com/gtag/js?id=G-G5H9MMGQFM"></script>
+  <script>
+    window.dataLayer = window.dataLayer || [];
+    function gtag() { dataLayer.push(arguments); }
+    gtag('js', new Date());
+
+    gtag('config', 'G-G5H9MMGQFM');
+  </script>
+
+  <!-- Global site tag (gtag.js) - Google Ads: 474336061 -->
+  <script async src="https://www.googletagmanager.com/gtag/js?id=AW-474336061"></script>
+  <script>
+    window.dataLayer = window.dataLayer || [];
+    function gtag() { dataLayer.push(arguments); }
+    gtag('js', new Date());
+
+    gtag('config', 'AW-474336061');
+  </script>
+</head>
+
+<body>
+  {{ partial "navbar.html" . }}
+  <main id="global-yt">
+
+    <img src="/imgs/dm/ai-video/SaaS-08.webp" alt="" class="img-fluid bg-img">
+    <div class="container my-5 py-5 position-relative">
+      <form id="ytForm" class="row g-3 justify-content-center">
+        <p class="text-center">
+          請留下您的資訊
+        </p>
+
+        <div class="col-md-7 mb-3">
+          <label for="email" class="form-label">
+            電子郵件:
+          </label>
+          <input type="email" class="form-control" id="email" placeholder="請輸入您的電子郵件地址" required>
+        </div>
+
+        <div class="col-md-7 mb-3">
+          <label for="youtubeLink" class="form-label">
+            YouTube 連結:
+          </label>
+          <input type="url" class="form-control" id="youtubeLink" placeholder="請貼上您的 YouTube 影片連結" required>
+        </div>
+
+        <div class="col-md-7 mt-4">
+          <button onclick="sendYTData()" id="submitYTData" type="submit" class="btn btn-primary w-100">送出</button>
+        </div>
+
+      </form>
+
+      <hr>
+
+      <div class="content">
+        {{ .Content }}
+      </div>
+
+      <div id="form">
+        {{ partial "form-main.html" . }}
+      </div>
+    </div>
+
+
+  </main>
+
+  {{ partial "footer.html" . }}
+
+  <script type="application/javascript">
+    var doNotTrack = false;
+    if (!doNotTrack) {
+      (function (i, s, o, g, r, a, m) {
+        i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
+          (i[r].q = i[r].q || []).push(arguments)
+        }, i[r].l = 1 * new Date(); a = s.createElement(o),
+          m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
+      })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
+      ga('create', 'UA-153100602-5', 'auto');
+
+      ga('send', 'pageview');
+    }
+  </script>
+  <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"
+    integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p"
+    crossorigin="anonymous"></script>
+  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js"
+    integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF"
+    crossorigin="anonymous"></script>
+
+  <script>
+    function sendYTData() {
+      event.preventDefault(); // 阻止表單自動送出
+
+      const email = document.getElementById("email").value.trim();
+      const ytLink = document.getElementById("youtubeLink").value.trim();
+      const submitBtn = document.querySelector("#submitYTData");
+
+      if (!email || !ytLink) {
+        alert("請完整填寫電子郵件與 YouTube 連結");
+        return;
+      }
+
+      // 顯示 Loading 狀態
+      submitBtn.disabled = true;
+      submitBtn.innerHTML = `<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> 送出中...`;
+
+      const data = {
+        yt_link: ytLink,
+        email: email
+      };
+
+      fetch("https://cmm.ai:10001/auth/add_yt_record", {
+        method: "POST",
+        headers: {
+          "Content-Type": "application/json"
+        },
+        body: JSON.stringify(data)
+      })
+        .then(response => response.json())
+        .then(result => {
+          console.log("成功送出:", result);
+          alert("您的資料已送出!");
+
+          // 清空輸入框
+          document.getElementById("email").value = "";
+          document.getElementById("youtubeLink").value = "";
+        })
+        .catch(error => {
+          console.error("送出失敗:", error);
+          alert("送出失敗,請稍後再試!");
+        })
+        .finally(() => {
+          // 恢復按鈕狀態
+          submitBtn.disabled = false;
+          submitBtn.innerHTML = "送出";
+        });
+    }
+  </script>
+</body>
+
+</html>

+ 1 - 1
layouts/partials/form-main.html

@@ -232,7 +232,7 @@
     });
   }
 
-  $('button').on('click', function (e) {
+  $('#submitBtn').on('click', function (e) {
     e.preventDefault();
 
     // let countryCode = document.querySelector('#countryCode').value;

+ 1 - 0
layouts/partials/navbar.html

@@ -31,6 +31,7 @@
           </a>
           <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
             <li><a class="dropdown-item" href="/genseo/">算力 SEO</a></li>
+            <li><a class="dropdown-item" href="/global-yt/dm/">全球 YT 推廣服務</a></li>
             <li><a class="dropdown-item" href="/video-editing/dm/">影片剪輯服務</a></li>
             <li><a class="dropdown-item" href="/ai-transform-video/dm/">現有影片 AI 化</a></li>
             <!-- <li><a class="dropdown-item" href="/ai-copywriter/dm/">AI 記者</a></li> -->

+ 60 - 0
static/css/style.css

@@ -6207,4 +6207,64 @@
     transform: scale(0.9);
     box-shadow: 0 0 0 0 rgba(255, 102, 40, 0);
   }
+}
+
+#global-yt {
+  margin-top: 75px;
+  position: relative;
+}
+#global-yt .bg-img {
+  position: absolute;
+  z-index: -1;
+  top: -15vw;
+  opacity: 0.5;
+}
+#global-yt form {
+  margin-top: 3rem;
+}
+#global-yt form p {
+  font-size: 2rem;
+  font-weight: bold;
+}
+#global-yt form label {
+  font-weight: bold;
+}
+#global-yt form .btn-primary {
+  background-color: #ea5413;
+  border-color: #ea5413;
+  transition: all 0.3s;
+}
+#global-yt form .btn-primary:hover {
+  opacity: 0.8;
+}
+#global-yt hr {
+  margin: 5rem 0;
+  color: #b3b3b3;
+}
+#global-yt .content {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  line-height: 2;
+}
+#global-yt .content h1 {
+  margin-bottom: 3rem;
+  text-align: center;
+  font-weight: bold;
+}
+#global-yt .content h2 {
+  padding-bottom: 0.5rem;
+  margin: 2rem 0 1rem;
+  font-size: 1.5rem;
+  font-weight: bold;
+  border-bottom: 3px solid #ea5413;
+}
+#global-yt .content h3 {
+  margin-top: 2rem;
+  font-size: 1.5rem;
+  font-weight: bold;
+}
+#global-yt .content p {
+  text-align: center;
 }/*# sourceMappingURL=style.css.map */

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
static/css/style.css.map


+ 67 - 35
static/css/style.scss

@@ -7261,45 +7261,77 @@
       box-shadow: 0 0 0 0 rgba(255, 102, 40, 0);
     }
   }
+}
 
-  // p {
-  //   font-size: 1.25rem;
+#global-yt {
+  margin-top: 75px;
+  position: relative;
 
-  //   @media (max-width: 575px) {
-  //     font-size: 1rem !important;
-  //   }
-  // }
+  .bg-img {
+    position: absolute;
+    z-index: -1;
+    top: -15vw;
+    opacity: 0.5;
+  }
 
-  // a {
-  //   display: block;
-  //   margin: 15px auto 5px;
-  //   padding: 15px 40px;
-  //   color: white !important;
-  //   font-size: 1.25rem;
-  //   font-weight: bold;
-  //   text-decoration: none;
-  //   border-radius: 100px;
-  //   transition: all .2s;
-  //   background-color: #ea5413;
-  //   border: 2px solid #920783;
-  //   box-shadow: 0 0 0 4px #ea5413, 0 0 0 4px #920783;
-
-  //   &:hover {
-  //     opacity: .8;
-  //   }
-  // }
+  form {
+    margin-top: 3rem;
 
-  // p {
-  //   text-align: center;
-  // }
+    p {
+      font-size: 2rem;
+      font-weight: bold;
+    }
 
-  // h2 {
-  //   color: white;
-  //   font-size: 2.5rem;
+    label {
+      font-weight: bold;
+    }
 
-  //   @media (max-width: 575px) {
-  //     font-size: 2rem;
-  //     margin-bottom: 15px;
-  //   }
-  // }
+    .btn-primary {
+      background-color: #ea5413;
+      border-color: #ea5413;
+      transition: all .3s;
+
+      &:hover {
+        opacity: .8;
+      }
+    }
+  }
+
+  hr {
+    margin: 5rem 0;
+    color: #b3b3b3;
+  }
+
+  .content {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    line-height: 2;
+
+    h1 {
+      margin-bottom: 3rem;
+      text-align: center;
+      font-weight: bold;
+    }
+
+    h2 {
+      padding-bottom: .5rem;
+      margin: 2rem 0 1rem;
+      font-size: 1.5rem;
+      font-weight: bold;
+      border-bottom: 3px solid #ea5413;
+      // border-left: 2px solid #ea5413;
+    }
+
+    h3 {
+      margin-top: 2rem;
+      font-size: 1.5rem;
+      font-weight: bold;
+    }
+
+    p {
+      text-align: center;
+    }
+  }
 }

+ 10 - 2
webSite/config.toml

@@ -74,11 +74,19 @@ page = ["HTML"]
     parent = "home"
     params = { name_en = "Gen SEO" }
 
+[[menu.main]]
+    identifier="global-yt"
+    name = "全球 YT 推廣服務"
+    url = "/global-yt/dm/"
+    weight = 2
+    parent = "home"
+    params = { name_en = "Global YT" }
+
 [[menu.main]]
     identifier="video-editing"
     name = "影片剪輯服務"
     url = "/video-editing/dm/"
-    weight = 2
+    weight = 3
     parent = "home"
     params = { name_en = "Video Editing" }
 
@@ -86,7 +94,7 @@ page = ["HTML"]
     identifier="ai-transform-video"
     name = "現有影片 AI 化"
     url = "/ai-transform-video/dm/"
-    weight = 3
+    weight = 4
     parent = "home"
     params = { name_en = "AI Transform Video" }
 

+ 29 - 0
webSite/content/global-yt/dm.md

@@ -0,0 +1,29 @@
++++
+title = "全球 YT 推廣服務"
++++
+
+# 全球 YouTube 推廣服務
+
+想讓您的影片快速被全世界看到嗎?  
+我們專注於 **YouTube 廣告投放**,幫助您的內容在全球市場脫穎而出!
+
+## 服務特色
+
+- **全球曝光**:精準將您的影片推送到目標觀眾手中
+- **快速見效**:從提交資料到開始投放,僅需短短時間
+- **專業投放**:依據您的需求設定最佳廣告策略
+- **無須繁瑣操作**:您只需提供資訊,其餘交給我們
+
+## 使用方式
+
+1. 輸入您的 **電子郵件**
+2. 提供您的 **YouTube 影片或頻道連結**
+3. 我們將開始為您投放全球廣告
+
+## 適合對象
+
+- 想要提升觀看數與訂閱數的 YouTuber
+- 想在國際市場推廣的品牌與企業
+- 有優質內容,卻缺乏曝光機會的創作者
+
+### **立即行動** — 讓全世界看見您的影片!

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä