<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Index | 匠活筆記 | 用思考與科技買回時間的踩坑紀錄</title>
    <link>https://anelive.today/tags/index/</link>
      <atom:link href="https://anelive.today/tags/index/index.xml" rel="self" type="application/rss+xml" />
    <description>Index</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>zh-Hant</language><lastBuildDate>Sun, 22 Dec 2024 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://anelive.today/media/icon_hu13349831664580004083.png</url>
      <title>Index</title>
      <link>https://anelive.today/tags/index/</link>
    </image>
    
    <item>
      <title>自用 Hugo Blox 語法整理</title>
      <link>https://anelive.today/tech-library/hugo/official-extention/official-shortcodes/hugo-blox-summary/</link>
      <pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://anelive.today/tech-library/hugo/official-extention/official-shortcodes/hugo-blox-summary/</guid>
      <description>&lt;p&gt;Welcome 👋&lt;/p&gt;
&lt;p&gt;我在這邊整理了 Hugo Blox 的基本語法，包含 Hugo Blox 內建的用法，也包含自定義元件、 Shortcode 的用法與 Demo。&lt;/p&gt;
&lt;div class=&#34;flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900&#34;&gt;
&lt;span class=&#34;pr-3 pt-1 text-primary-600 dark:text-primary-300&#34;&gt;
  &lt;svg height=&#34;24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;1.5&#34; d=&#34;m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z&#34;/&gt;&lt;/svg&gt;
&lt;/span&gt;
  &lt;span class=&#34;dark:text-neutral-300&#34;&gt;下稱「&lt;strong&gt;內建&lt;/strong&gt;」的是 Hugo Blox 內建的，不是 Hugo 內建的。
可以把 Hugo Blox 當作是以 Hugo 為基礎，已經整合多方套件後的解決方案，所以 Hugo 的語法也可以使用。&lt;/span&gt;
&lt;/div&gt;
&lt;div class=&#34;toc-section&#34;&gt;
  &lt;div class=&#34;toc-content&#34;&gt;
    
    
    
    &lt;div class=&#34;toc-header &#34; onclick=&#34;toggleTOC(this)&#34;&gt;
      &lt;h4&gt;
        &lt;span class=&#34;toggle-icon&#34;&gt;▼&lt;/span&gt;
        本文目錄
      &lt;/h4&gt;
    &lt;/div&gt;
    &lt;div class=&#34;toc-body&#34;&gt;
      
      
      &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#shortcode-範例&#34;&gt;Shortcode 範例&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#表單&#34;&gt;表單&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#自建-shortcode--form&#34;&gt;自建 Shortcode- Form&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#目錄-table-of-contents&#34;&gt;目錄 Table of Contents&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#內建-shortcode--toc&#34;&gt;內建 Shortcode- TOC&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#自定義-shortcode-toc&#34;&gt;自定義 Shortcode-TOC&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#universal-announcement&#34;&gt;Universal Announcement&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#雷達圖&#34;&gt;雷達圖&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#自定義-callouts&#34;&gt;自定義 Callouts&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#callouts&#34;&gt;Callouts&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#note&#34;&gt;Note&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#tip&#34;&gt;Tip&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#warning&#34;&gt;Warning&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#charts-圖表類&#34;&gt;Charts 圖表類&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#diagrams&#34;&gt;Diagrams&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#data-frames&#34;&gt;Data Frames&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#mindmaps&#34;&gt;Mindmaps&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#文字類&#34;&gt;文字類&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#highlighting&#34;&gt;Highlighting&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#隱藏-防劇透&#34;&gt;隱藏-防劇透&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#code&#34;&gt;Code&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#inline-images&#34;&gt;Inline Images&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#callouts-1&#34;&gt;Callouts&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#嵌入媒體檔案&#34;&gt;嵌入媒體檔案&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#video&#34;&gt;Video&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#math&#34;&gt;Math&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.toc-section {
  padding: 0.375rem;
  border-radius: 8px;
  margin: 0.25rem 0;
  border: 1px solid currentColor;
  color: var(--bs-body-color);
}

.toc-header {
  cursor: pointer;
  user-select: none;
}

.toc-header h4 {
  margin-top: 0;
  color: #b4913c;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem;
}

.toggle-icon {
  font-size: 0.8em;
  transition: transform 0.2s ease;
}

.toc-header.collapsed .toggle-icon {
  transform: rotate(-90deg);
}

.toc-body {
  transition: max-height 0.3s ease-out;
  overflow: hidden;
  max-height: 1000px;
}

.toc-header.collapsed + .toc-body {
  max-height: 0;
}

 
.toc-section nav#TableOfContents {
  font-size: 0.9rem;
}

.toc-section nav#TableOfContents ul {
  list-style: disc;
  padding-left: 1rem;
}

.toc-section nav#TableOfContents &gt; ul &gt; li {
  margin-bottom: 0.125rem;
}

 
.toc-section nav#TableOfContents ul ul {
  padding-left: 1rem;
  margin-top: 0.075rem;
}

 
.toc-section nav#TableOfContents a {
  color: inherit;
  text-decoration: underline;
  display: inline-block;
  padding: 0.05rem 0;
  transition: all 0.2s ease;
}

.toc-section nav#TableOfContents a:hover,
.toc-section nav#TableOfContents li a:hover {
  color: #b4913c !important;
  text-decoration: none !important;
  opacity: 0.85;
}
&lt;/style&gt;

&lt;script&gt;
function toggleTOC(header) {
  header.classList.toggle(&#39;collapsed&#39;);
}
&lt;/script&gt; 
&lt;h2 id=&#34;shortcode-範例&#34;&gt;Shortcode 範例&lt;/h2&gt;
&lt;h3 id=&#34;表單&#34;&gt;表單&lt;/h3&gt;
&lt;h4 id=&#34;自建-shortcode--form&#34;&gt;自建 Shortcode- Form&lt;/h4&gt;
&lt;div class=&#34;newsletter-form-container&#34;&gt;
  &lt;div class=&#34;newsletter-content&#34;&gt;
    &lt;h2&gt;精準工作，重拾生活中的優雅&lt;/h2&gt;
    &lt;h3&gt;只要 1111 ，讓我們一起成長、一起成為更理想的自己&lt;/h3&gt;
    &lt;p class=&#34;newsletter-benefits&#34;&gt; 1 則思維筆記&lt;br&gt;1 個思考問題&lt;br&gt;1 則好好生活練習紀錄&lt;br&gt;1 則來自你分享的好好生活練習紀錄
    &lt;/p&gt;
  &lt;/div&gt;
  
  &lt;form id=&#34;newsletter-form&#34; class=&#34;newsletter-form&#34; onsubmit=&#34;handleSubmit(event)&#34; data-page-slug=&#34;hugo-blox-summary&#34;&gt;
    &lt;div class=&#34;form-inputs&#34;&gt;
      &lt;div class=&#34;form-group&#34;&gt;
        &lt;input type=&#34;text&#34; id=&#34;name&#34; name=&#34;name&#34; required placeholder=&#34;怎麼稱呼您&#34;&gt;
      &lt;/div&gt;
      &lt;div class=&#34;form-group&#34;&gt;
        &lt;input type=&#34;email&#34; id=&#34;email&#34; name=&#34;email&#34; required placeholder=&#34;您的 Email&#34;&gt;
      &lt;/div&gt;

    &lt;/div&gt;
    &lt;button type=&#34;submit&#34; class=&#34;submit-btn&#34;&gt;
      &lt;span class=&#34;btn-text&#34;&gt;免費訂閱&lt;/span&gt;
      &lt;span class=&#34;loading-spinner&#34; style=&#34;display: none;&#34;&gt;處理中...&lt;/span&gt;
    &lt;/button&gt;
    &lt;p class=&#34;form-note&#34;&gt;每個周末，跟你分享簡單有效的小指南 💡&lt;/p&gt;
  &lt;/form&gt;
&lt;/div&gt;

&lt;style&gt;
.newsletter-form-container {
  width: 100%;
  max-width: 800px;
  margin: 2rem auto;
  padding: 2rem;
  border-radius: 12px;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
}

.newsletter-content {
  text-align: left;
  margin-bottom: 1.5rem;
}

.newsletter-content h2 {
  font-size: 1.8rem;
  margin: 0;
  color: var(--bs-heading-color);
}

.newsletter-content h3 {
  font-size: 1.4rem;
  margin: 0.5rem 0;
  color: var(--bs-heading-color);
}

.newsletter-description {
  font-size: 1.1rem;
  color: var(--bs-secondary-color);
  margin: 0.5rem 0;
}

.newsletter-benefits {
  font-size: 0.95rem;
  color: var(--bs-secondary-color);
  margin: 1rem 0;
  line-height: 1.6;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 600px;
  margin: 0;
}

.form-inputs {
  display: flex;
  gap: 1rem;
  width: 100%;
}

@media (max-width: 640px) {
  .form-inputs {
    flex-direction: column;
  }
  
  .newsletter-form-container {
    padding: 1.5rem;
  }
  
  .newsletter-content {
    text-align: center;
  }
  
  .newsletter-content h2 {
    font-size: 1.5rem;
  }
  
  .newsletter-form {
    margin: 0 auto;
  }
  
  .form-note {
    text-align: center;
  }
}

.form-group {
  flex: 1;
}

.form-group input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #b4913c;
  border-radius: 6px;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-size: 1rem;
}

.form-group input:focus {
  outline: none;
  border-color: #e6a5a5;
  box-shadow: 0 0 0 1px #b4913c;
}

.form-group input::placeholder {
  color: var(--bs-secondary-color);
  opacity: 0.8;
}

.submit-btn {
  padding: 0.75rem 1.5rem;
  background: #b4913c;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s ease;
  font-size: 1rem;
}

.submit-btn:hover {
  background: #e6a5a5;
  transform: translateY(-1px);
}

.submit-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
  transform: none;
}

.loading-spinner {
  display: inline-block;
}

.form-note {
  text-align: left;
  font-size: 0.9rem;
  color: var(--bs-secondary-color);
  margin: 0;
}
&lt;/style&gt;

&lt;script&gt;
async function handleSubmit(event) {
  event.preventDefault();
  
  const form = event.target;
  const submitBtn = form.querySelector(&#39;.submit-btn&#39;);
  const btnText = submitBtn.querySelector(&#39;.btn-text&#39;);
  const spinner = submitBtn.querySelector(&#39;.loading-spinner&#39;);
  
  submitBtn.disabled = true;
  btnText.style.display = &#39;none&#39;;
  spinner.style.display = &#39;inline-block&#39;;

  try {
    const formData = {
      name: form.name.value.trim(),
      email: form.email.value.trim(),
      source_slug: form.dataset.pageSlug || &#39;default&#39;,
      source_form_type: &#39;newsletter-form&#39;
    };

    console.log(&#39;正在發送數據:&#39;, formData);

    const response = await fetch(&#39;https://cloudflare-agent.anelive.today&#39;, {
      method: &#39;POST&#39;,
      headers: {
        &#39;Content-Type&#39;: &#39;application/json&#39;,
        &#39;Accept&#39;: &#39;application/json&#39;
      },
      mode: &#39;cors&#39;,
      body: JSON.stringify(formData)
    });

    const data = await response.json();

    if (response.ok) {
      alert(&#39;訂閱成功！歡迎加入我們的社群！&#39;);
      form.reset();
    } else {
      throw new Error(data.message || &#39;提交失敗，請稍後重試&#39;);
    }
  } catch (error) {
    console.error(&#39;錯誤詳情:&#39;, error);
    alert(error.message || &#39;提交失敗，請稍後重試&#39;);
  } finally {
    submitBtn.disabled = false;
    btnText.style.display = &#39;inline-block&#39;;
    spinner.style.display = &#39;none&#39;;
  }
}

function validateName(name) {
  const re = /^[\u4e00-\u9fa5a-zA-Z\s]{1,15}$/;
  return re.test(name);
}
&lt;/script&gt; 
&lt;h3 id=&#34;目錄-table-of-contents&#34;&gt;目錄 Table of Contents&lt;/h3&gt;
&lt;h4 id=&#34;內建-shortcode--toc&#34;&gt;內建 Shortcode- TOC&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{{&amp;lt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;toc&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;mobile_only&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;is_open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900&#34;&gt;
&lt;span class=&#34;pr-3 pt-1 text-primary-600 dark:text-primary-300&#34;&gt;
  &lt;svg height=&#34;24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;1.5&#34; d=&#34;m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z&#34;/&gt;&lt;/svg&gt;
&lt;/span&gt;
  &lt;span class=&#34;dark:text-neutral-300&#34;&gt;&lt;h3 id=&#34;attention&#34;&gt;Attention&lt;/h3&gt;
&lt;p&gt;有時候 TOC 會出現，有時候不會出現，這是因為有下了參數：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mobile_only=true 如果是手機版 / 較窄的視窗，才會顯示 TOC&lt;/li&gt;
&lt;li&gt;is_open=true 預設是關閉的，如果想要預設打開，可以下 is_open=true&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;
&lt;/div&gt;



&lt;details class=&#34;print:hidden xl:hidden&#34; open&gt;
  &lt;summary&gt;目錄&lt;/summary&gt;
  &lt;div class=&#34;text-sm&#34;&gt;
  &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#shortcode-範例&#34;&gt;Shortcode 範例&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#表單&#34;&gt;表單&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#自建-shortcode--form&#34;&gt;自建 Shortcode- Form&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#目錄-table-of-contents&#34;&gt;目錄 Table of Contents&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#內建-shortcode--toc&#34;&gt;內建 Shortcode- TOC&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#自定義-shortcode-toc&#34;&gt;自定義 Shortcode-TOC&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#universal-announcement&#34;&gt;Universal Announcement&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#雷達圖&#34;&gt;雷達圖&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#自定義-callouts&#34;&gt;自定義 Callouts&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#callouts&#34;&gt;Callouts&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#note&#34;&gt;Note&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#tip&#34;&gt;Tip&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#warning&#34;&gt;Warning&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#charts-圖表類&#34;&gt;Charts 圖表類&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#diagrams&#34;&gt;Diagrams&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#data-frames&#34;&gt;Data Frames&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#mindmaps&#34;&gt;Mindmaps&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#文字類&#34;&gt;文字類&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#highlighting&#34;&gt;Highlighting&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#隱藏-防劇透&#34;&gt;隱藏-防劇透&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#code&#34;&gt;Code&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#inline-images&#34;&gt;Inline Images&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#callouts-1&#34;&gt;Callouts&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#嵌入媒體檔案&#34;&gt;嵌入媒體檔案&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#video&#34;&gt;Video&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#math&#34;&gt;Math&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;h4 id=&#34;自定義-shortcode-toc&#34;&gt;自定義 Shortcode-TOC&lt;/h4&gt;
&lt;div class=&#34;toc-section&#34;&gt;
  &lt;div class=&#34;toc-content&#34;&gt;
    
    
    
    &lt;div class=&#34;toc-header &#34; onclick=&#34;toggleTOC(this)&#34;&gt;
      &lt;h4&gt;
        &lt;span class=&#34;toggle-icon&#34;&gt;▼&lt;/span&gt;
        本文目錄
      &lt;/h4&gt;
    &lt;/div&gt;
    &lt;div class=&#34;toc-body&#34;&gt;
      
      
      &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#shortcode-範例&#34;&gt;Shortcode 範例&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#表單&#34;&gt;表單&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#自建-shortcode--form&#34;&gt;自建 Shortcode- Form&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#目錄-table-of-contents&#34;&gt;目錄 Table of Contents&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#內建-shortcode--toc&#34;&gt;內建 Shortcode- TOC&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#自定義-shortcode-toc&#34;&gt;自定義 Shortcode-TOC&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#universal-announcement&#34;&gt;Universal Announcement&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#雷達圖&#34;&gt;雷達圖&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#自定義-callouts&#34;&gt;自定義 Callouts&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#callouts&#34;&gt;Callouts&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#note&#34;&gt;Note&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#tip&#34;&gt;Tip&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#warning&#34;&gt;Warning&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#charts-圖表類&#34;&gt;Charts 圖表類&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#diagrams&#34;&gt;Diagrams&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#data-frames&#34;&gt;Data Frames&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#mindmaps&#34;&gt;Mindmaps&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#文字類&#34;&gt;文字類&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#highlighting&#34;&gt;Highlighting&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#隱藏-防劇透&#34;&gt;隱藏-防劇透&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#code&#34;&gt;Code&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#inline-images&#34;&gt;Inline Images&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#callouts-1&#34;&gt;Callouts&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#嵌入媒體檔案&#34;&gt;嵌入媒體檔案&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#video&#34;&gt;Video&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#math&#34;&gt;Math&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.toc-section {
  padding: 0.375rem;
  border-radius: 8px;
  margin: 0.25rem 0;
  border: 1px solid currentColor;
  color: var(--bs-body-color);
}

.toc-header {
  cursor: pointer;
  user-select: none;
}

.toc-header h4 {
  margin-top: 0;
  color: #b4913c;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem;
}

.toggle-icon {
  font-size: 0.8em;
  transition: transform 0.2s ease;
}

.toc-header.collapsed .toggle-icon {
  transform: rotate(-90deg);
}

.toc-body {
  transition: max-height 0.3s ease-out;
  overflow: hidden;
  max-height: 1000px;
}

.toc-header.collapsed + .toc-body {
  max-height: 0;
}

 
.toc-section nav#TableOfContents {
  font-size: 0.9rem;
}

.toc-section nav#TableOfContents ul {
  list-style: disc;
  padding-left: 1rem;
}

.toc-section nav#TableOfContents &gt; ul &gt; li {
  margin-bottom: 0.125rem;
}

 
.toc-section nav#TableOfContents ul ul {
  padding-left: 1rem;
  margin-top: 0.075rem;
}

 
.toc-section nav#TableOfContents a {
  color: inherit;
  text-decoration: underline;
  display: inline-block;
  padding: 0.05rem 0;
  transition: all 0.2s ease;
}

.toc-section nav#TableOfContents a:hover,
.toc-section nav#TableOfContents li a:hover {
  color: #b4913c !important;
  text-decoration: none !important;
  opacity: 0.85;
}
&lt;/style&gt;

&lt;script&gt;
function toggleTOC(header) {
  header.classList.toggle(&#39;collapsed&#39;);
}
&lt;/script&gt; 
&lt;h4 id=&#34;universal-announcement&#34;&gt;Universal Announcement&lt;/h4&gt;
&lt;div class=&#34;sync-section&#34;&gt;
  &lt;div class=&#34;sync-content&#34;&gt;
    &lt;h3&gt;最新消息&lt;/h3&gt;
    &lt;ul&gt;
      
      
      
      &lt;li&gt;
        &lt;a href=&#34;https://ai-conference-2024.com&#34; target=&#34;_blank&#34;&gt;
          2024 AI 研討會報名開始
        &lt;/a&gt;
      &lt;/li&gt;
      
      &lt;li&gt;
        &lt;a href=&#34;https://your-course-link.com&#34; target=&#34;_blank&#34;&gt;
          新課程上線：機器學習實戰
        &lt;/a&gt;
      &lt;/li&gt;
      
      &lt;li&gt;
        &lt;a href=&#34;https://your-docs-link.com&#34; target=&#34;_blank&#34;&gt;
          技術文件更新通知
        &lt;/a&gt;
      &lt;/li&gt;
      
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.sync-section {
  padding: 1.5rem;
  border-radius: 8px;
  margin: 1rem 0;
  border: 1px solid currentColor;
  color: var(--bs-body-color);
}

.sync-section h3 {
  margin-top: 0;
  color: inherit;
}

.sync-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sync-section li {
  margin: 0.5rem 0;
}

.sync-section a {
  color: #dda408;
  text-decoration: none;
}

.sync-section a:hover {
  text-decoration: underline;
}
&lt;/style&gt; 
&lt;h3 id=&#34;雷達圖&#34;&gt;雷達圖&lt;/h3&gt;
&lt;div class=&#34;radar-form-container&#34;&gt;
  &lt;div class=&#34;radar-content&#34;&gt;
    &lt;h2&gt;生活維度分析&lt;/h2&gt;
    &lt;h3&gt;探索理想與現實的差距&lt;/h3&gt;

  &lt;/div&gt;
  
  &lt;form id=&#34;radar-form&#34; class=&#34;radar-form&#34; onsubmit=&#34;handleRadarSubmit(event)&#34;&gt;
    &lt;input type=&#34;hidden&#34; name=&#34;page_slug&#34; value=&#34;hugo-blox-summary&#34;&gt;
    &lt;div class=&#34;personal-info&#34;&gt;
        &lt;div class=&#34;form-group&#34;&gt;
            &lt;input type=&#34;text&#34; id=&#34;name&#34; name=&#34;name&#34; placeholder=&#34;怎麼稱呼您&#34; maxlength=&#34;15&#34; required&gt;
        &lt;/div&gt;
        &lt;div class=&#34;form-group&#34;&gt;
            &lt;input type=&#34;email&#34; id=&#34;email&#34; name=&#34;email&#34; placeholder=&#34;您的 Email&#34; required&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&#34;form-description&#34;&gt;
        &lt;p&gt;請為每個維度評分：&lt;/p&gt;
        &lt;ul&gt;
            &lt;li&gt;維度名稱：可以自行填寫，或使用預設的維度&lt;/li&gt;
            &lt;li&gt;理想值：自許期望達到的程度 (0-10分)&lt;/li&gt;
            &lt;li&gt;實際值：自評目前的實際狀況 (0-10分)&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p&gt;0分代表最不滿意，10分代表非常滿意&lt;/p&gt;
    &lt;/div&gt;
       

    &lt;div class=&#34;dimensions-container&#34;&gt;
      
      &lt;div class=&#34;dimension-row&#34;&gt;
        &lt;div class=&#34;dimension-name&#34;&gt;
          &lt;input type=&#34;text&#34; name=&#34;dimension1&#34; value=&#34;身心靈健康&#34; required&gt;
        &lt;/div&gt;
        &lt;div class=&#34;dimension-values&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;理想值&#34; name=&#34;ideal1&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;實際值&#34; name=&#34;actual1&#34;&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&#34;dimension-row&#34;&gt;
        &lt;div class=&#34;dimension-name&#34;&gt;
          &lt;input type=&#34;text&#34; name=&#34;dimension2&#34; value=&#34;自我實現&#34; required&gt;
        &lt;/div&gt;
        &lt;div class=&#34;dimension-values&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;理想值&#34; name=&#34;ideal2&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;實際值&#34; name=&#34;actual2&#34;&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&#34;dimension-row&#34;&gt;
        &lt;div class=&#34;dimension-name&#34;&gt;
          &lt;input type=&#34;text&#34; name=&#34;dimension3&#34; value=&#34;財務狀況&#34; required&gt;
        &lt;/div&gt;
        &lt;div class=&#34;dimension-values&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;理想值&#34; name=&#34;ideal3&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;實際值&#34; name=&#34;actual3&#34;&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&#34;dimension-row&#34;&gt;
        &lt;div class=&#34;dimension-name&#34;&gt;
          &lt;input type=&#34;text&#34; name=&#34;dimension4&#34; value=&#34;家庭、伴侶&#34; required&gt;
        &lt;/div&gt;
        &lt;div class=&#34;dimension-values&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;理想值&#34; name=&#34;ideal4&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;實際值&#34; name=&#34;actual4&#34;&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&#34;dimension-row&#34;&gt;
        &lt;div class=&#34;dimension-name&#34;&gt;
          &lt;input type=&#34;text&#34; name=&#34;dimension5&#34; value=&#34;人際社交&#34; required&gt;
        &lt;/div&gt;
        &lt;div class=&#34;dimension-values&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;理想值&#34; name=&#34;ideal5&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;實際值&#34; name=&#34;actual5&#34;&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&#34;dimension-row&#34;&gt;
        &lt;div class=&#34;dimension-name&#34;&gt;
          &lt;input type=&#34;text&#34; name=&#34;dimension6&#34; value=&#34;社會貢獻&#34; required&gt;
        &lt;/div&gt;
        &lt;div class=&#34;dimension-values&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;理想值&#34; name=&#34;ideal6&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;實際值&#34; name=&#34;actual6&#34;&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&#34;dimension-row&#34;&gt;
        &lt;div class=&#34;dimension-name&#34;&gt;
          &lt;input type=&#34;text&#34; name=&#34;dimension7&#34; value=&#34;生活環境&#34; required&gt;
        &lt;/div&gt;
        &lt;div class=&#34;dimension-values&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;理想值&#34; name=&#34;ideal7&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;實際值&#34; name=&#34;actual7&#34;&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&#34;dimension-row&#34;&gt;
        &lt;div class=&#34;dimension-name&#34;&gt;
          &lt;input type=&#34;text&#34; name=&#34;dimension8&#34; value=&#34;事業、職涯&#34; required&gt;
        &lt;/div&gt;
        &lt;div class=&#34;dimension-values&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;理想值&#34; name=&#34;ideal8&#34;&gt;
          &lt;input type=&#34;number&#34; min=&#34;0&#34; max=&#34;10&#34; required placeholder=&#34;實際值&#34; name=&#34;actual8&#34;&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

   

    &lt;div class=&#34;consent-group&#34;&gt;
      &lt;input type=&#34;radio&#34; id=&#34;consent&#34; name=&#34;consent&#34; required&gt;
      &lt;label for=&#34;consent&#34;&gt;我同意資料供分析使用並製圖&lt;/label&gt;
    &lt;/div&gt;

    &lt;div class=&#34;newsletter-group&#34;&gt;
      &lt;div class=&#34;newsletter-header&#34;&gt;
        &lt;h3 class=&#34;newsletter-title&#34;&gt;
          立刻訂閱 1111 成長週報，解鎖應用分析結果的 SOP&lt;span class=&#34;required&#34;&gt;*&lt;/span&gt;
        &lt;/h3&gt;
      &lt;/div&gt;
      
      &lt;p class=&#34;newsletter-description&#34;&gt;
        每週一小步，一年一大步&lt;br&gt;讓我們一起探索生活的平衡，與你分享整理好的生活靈感、工作技巧與心靈成長。
      &lt;/p&gt;
      
      &lt;div class=&#34;newsletter-options&#34;&gt;
        &lt;label class=&#34;newsletter-option&#34;&gt;
          &lt;input type=&#34;radio&#34; name=&#34;newsletter-consent&#34; value=&#34;yes&#34; checked required&gt;
          &lt;span class=&#34;option-text&#34;&gt;我願意，反正不想訂閱再取消就好&lt;/span&gt;
        &lt;/label&gt;
        &lt;label class=&#34;newsletter-option&#34;&gt;
          &lt;input type=&#34;radio&#34; name=&#34;newsletter-consent&#34; value=&#34;no&#34; required&gt;
          &lt;span class=&#34;option-text&#34;&gt;不，我要忍痛拒絕各項好康資訊&lt;/span&gt;
        &lt;/label&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;button type=&#34;submit&#34; class=&#34;submit-btn&#34;&gt;
      &lt;span class=&#34;btn-text&#34;&gt;生成分析圖&lt;/span&gt;
      &lt;span class=&#34;loading-spinner&#34; style=&#34;display: none;&#34;&gt;處理中...&lt;/span&gt;
    &lt;/button&gt;
  &lt;/form&gt;

  &lt;div class=&#34;chart-container&#34; style=&#34;display: none;&#34;&gt;
    &lt;div class=&#34;chart-box&#34;&gt;
      &lt;h2 class=&#34;chart-title&#34;&gt;&lt;/h2&gt;
      &lt;div class=&#34;chart-note&#34;&gt;
        &lt;span&gt;由 匠活筆記 製圖 | IG anelive.today&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;chart-wrapper&#34;&gt;
        &lt;canvas id=&#34;radarChart&#34;&gt;&lt;/canvas&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.radar-form-container {
  width: 100%;
  max-width: 800px;
  margin: 2rem auto;
  padding: 1.5rem;
  border-radius: 12px;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
}

.radar-content {
  text-align: left;
  margin-bottom: 1.2rem;
}

.radar-content h2 {
  font-size: 1.5rem;
  margin: 0;
  color: var(--bs-heading-color);
}

.radar-content h3 {
  font-size: 1.2rem;
  margin: 0.5rem 0;
  color: var(--bs-heading-color);
}

 
.chart-container {
  width: 600px;           
  margin: 2rem auto;      
}

 
.chart-box {
  width: 100%;            
  height: 640px;          
  background: white;      
  border: 1px solid var(--bs-border-color);   
  border-radius: 12px;    
  padding: 1rem;        
  display: flex;          
  flex-direction: column; 
}

 
.chart-title {
  text-align: center;     
  margin: 0;
  padding-bottom: 0.4rem; 
  font-size: 1.5rem;      
  color: rgb(68, 68, 68); 
  line-height: 1.5;       
  flex: 0 0 auto;         
}

 
.chart-note {
  text-align: center;     
  margin: 0;
  padding-bottom: 0.1rem; 
  font-size: 0.8rem;      
  color: rgb(68, 68, 68); 
  line-height: 1;       
  flex: 0 0 auto;         
}

 
.chart-wrapper {
  flex: 1;               
  position: relative;     
  display: flex;         
  align-items: center;   
  justify-content: center; 
  margin-bottom: calc(0.9rem);  
}

.dimensions-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.dimension-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
}

.dimension-name {
  flex: 2;
}

.dimension-values {
  flex: 3;
  display: flex;
  gap: 0.5rem;
}

 
.dimension-name input,
.dimension-values input,
.form-group input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #b4913c;
  border-radius: 6px;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-size: 1rem;
}

 
.dimension-name input:focus,
.dimension-values input:focus,
.form-group input:focus {
  outline: none;
  border-color: #e6a5a5;
  box-shadow: 0 0 0 1px #b4913c;
}

 
.dimension-name input::placeholder,
.dimension-values input::placeholder,
.form-group input::placeholder {
  color: var(--bs-secondary-color);
  opacity: 0.8;
}

 
.dimension-name input,
.dimension-values input,
.form-group input {
  color: var(--bs-body-color);
}

.personal-info {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

.form-group {
  flex: 1;
}

.consent-group {
  margin: 1rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.consent-group input[type=&#34;checkbox&#34;] {
  width: auto;
}

.submit-btn {
  padding: 0.75rem 1.5rem;
  background: #b4913c;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s ease;
  font-size: 1rem;
}

.submit-btn:hover {
  background: #e6a5a5;
  transform: translateY(-1px);
}

.submit-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
  transform: none;
}

@media (max-width: 640px) {
  .dimension-row {
    flex-direction: column;
    align-items: stretch;
  }
  
  .personal-info {
    flex-direction: column;
  }
  
  .radar-form-container {
    padding: 1.5rem;
  }
  
  .radar-content {
    text-align: center;
  }
  
  .radar-content h2 {
    font-size: 1.5rem;
  }
}

.form-description {
  margin: 1.5rem 0;
  color: var(--bs-secondary-color);
  font-size: 0.95rem;
  line-height: 1.6;
}

.form-description ul {
  margin: 0.5rem 0;
  padding-left: 1.5rem;
}

.form-description li {
  margin: 0.25rem 0;
}

.form-description p {
  margin: 0.5rem 0;
}

 
.newsletter-group {
  margin: 2rem 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

 
.newsletter-header {
  margin-bottom: 0.2rem;
}

 
.newsletter-title {
  font-size: 1rem;
  font-weight: 500;
  color: var(--bs-heading-color);
  margin: 0;
}

 
.required {
  color: #dc3545;
  margin-left: 0.2rem;
}

 
.newsletter-description {
  font-size: 0.9rem;
  color: var(--bs-secondary-color);
  margin: 0;
  line-height: 1.5;
}

 
.newsletter-options {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

 
.newsletter-option {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  cursor: pointer;
}

 
.newsletter-option input[type=&#34;radio&#34;] {
  margin-top: 0.25rem;
  width: 1rem;
  height: 1rem;
}

 
.option-text {
  font-size: 0.95rem;
  color: var(--bs-body-color);
  line-height: 1.5;
}
&lt;/style&gt;

&lt;script src=&#34;https://cdn.jsdelivr.net/npm/chart.js&#34;&gt;&lt;/script&gt;
&lt;script&gt;
let radarChart = null;


const DEFAULT_DIMENSIONS = [
  &#34;身心靈健康&#34;,
  &#34;自我實現&#34;,
  &#34;財務狀況&#34;,
  &#34;家庭、伴侶&#34;,
  &#34;人際社交&#34;,
  &#34;社會貢獻&#34;,
  &#34;生活環境&#34;,
  &#34;事業、職涯&#34;
];

async function handleRadarSubmit(event) {
  event.preventDefault();
  
  const form = event.target;
  const submitBtn = form.querySelector(&#39;.submit-btn&#39;);
  const btnText = submitBtn.querySelector(&#39;.btn-text&#39;);
  const spinner = submitBtn.querySelector(&#39;.loading-spinner&#39;);
  
  submitBtn.disabled = true;
  btnText.style.display = &#39;none&#39;;
  spinner.style.display = &#39;inline-block&#39;;
  
  const dimensions = [];
  const idealData = [];
  const actualData = [];
  const name = form.name.value || &#39;我&#39;;
  
  
  for (let i = 1; i &lt;= 8; i++) {
    dimensions.push(form[`dimension${i}`].value);
    idealData.push(parseFloat(form[`ideal${i}`].value));
    actualData.push(parseFloat(form[`actual${i}`].value));
  }

  
  const isUsingDefaultDimensions = dimensions.every((dim, index) =&gt; 
    dim === DEFAULT_DIMENSIONS[index]
  );

  try {
    
    const formData = {
      name: form.name.value.trim(),
      email: form.email.value.trim(),
      dimensions: dimensions.map((dim, i) =&gt; ({
        dimension: dim,
        ideal_value: idealData[i],
        actual_value: actualData[i]
      })),
      user_consent: form.consent.checked,
      newsletter_consent: form[&#39;newsletter-consent&#39;].value === &#39;yes&#39;,
      source_slug: form.page_slug.value,
      source_form_type: &#39;radar-form&#39;,
      is_default_dimensions: isUsingDefaultDimensions
    };

    console.log(&#39;正在發送數據:&#39;, formData);

    const response = await fetch(&#39;https://cloudflare-agent.anelive.today&#39;, {
      method: &#39;POST&#39;,
      headers: {
        &#39;Content-Type&#39;: &#39;application/json&#39;,
        &#39;Accept&#39;: &#39;application/json&#39;
      },
      mode: &#39;cors&#39;,
      body: JSON.stringify(formData)
    });

    const data = await response.json();

    if (!response.ok) {
      throw new Error(data.message || &#39;提交失敗，請稍後重試&#39;);
    }

    
    document.querySelector(&#39;.chart-container&#39;).style.display = &#39;block&#39;;
    
    
    initChart(dimensions, idealData, actualData, name);

  } catch (error) {
    console.error(&#39;錯誤詳情:&#39;, error);
    alert(error.message || &#39;提交失敗，請稍後重試&#39;);
  } finally {
    submitBtn.disabled = false;
    btnText.style.display = &#39;inline-block&#39;;
    spinner.style.display = &#39;none&#39;;
  }
}

function initChart(dimensions, idealData, actualData, name) {
  const ctx = document.getElementById(&#39;radarChart&#39;).getContext(&#39;2d&#39;);
  
  
  const labels = dimensions.map((dim, i) =&gt; {
    const diff = actualData[i] - idealData[i];
    const sign = diff &gt; 0 ? &#39;+&#39; : &#39;&#39;;
    return `${dim}\n${sign}${diff}`;
  });
  
  document.querySelector(&#39;.chart-title&#39;).textContent = `${name} 的生命平衡輪`;
  
  if (radarChart) {
    radarChart.destroy();
  }

  radarChart = new Chart(ctx, {
    type: &#39;radar&#39;,
    data: {
      labels: labels,
      datasets: [
        {
          label: &#39;理想值&#39;,
          data: idealData,
          borderColor: &#39;#e6a5a5&#39;,
          backgroundColor: &#39;rgba(230, 165, 165, 0.2)&#39;,
          borderWidth: 2,
          pointBackgroundColor: &#39;#e6a5a5&#39;,
          pointBorderColor: &#39;#fff&#39;,
          pointHoverBackgroundColor: &#39;#fff&#39;,
          pointHoverBorderColor: &#39;#e6a5a5&#39;,
          pointRadius: 4,
        },
        {
          label: &#39;實際值&#39;,
          data: actualData,
          borderColor: &#39;#b4913c&#39;,
          backgroundColor: &#39;rgba(180, 145, 60, 0.2)&#39;,
          borderWidth: 2,
          pointBackgroundColor: &#39;#b4913c&#39;,
          pointBorderColor: &#39;#fff&#39;,
          pointHoverBackgroundColor: &#39;#fff&#39;,
          pointHoverBorderColor: &#39;#b4913c&#39;,
          pointRadius: 4,
        }
      ]
    },
    options: {
      responsive: true,
      maintainAspectRatio: true,
      layout: {
        padding: {
          top: 5,
          bottom: 15,
          left: 15,
          right: 15
        }
      },
      scales: {
        r: {
          min: 0,
          max: 10,
          beginAtZero: true,
          backgroundColor: &#39;white&#39;,
          grid: {
            color: &#39;rgba(0, 0, 0, 0.1)&#39;,
          },
          ticks: {
            stepSize: 2,
            font: {
              size: 12, 
              color: &#39;rgb(68, 68, 68)&#39;
            }
          },
          pointLabels: {
            font: {
              size: 14, 
              color: &#39;rgb(68, 68, 68)&#39;,
              weight: 500 
            },
            padding: 5,
            centerPointLabels: false,
            callback: function(value) {
              
              return value.split(&#39;\n&#39;);
            }
          }
        }
      },
      plugins: {
        legend: {
          position: &#39;top&#39;,
          labels: {
            font: {
              size: 12, 
              color: &#39;rgb(68, 68, 68)&#39;
            },
            padding: 10
          }
        }
      }
    }
  });
}
&lt;/script&gt;

&lt;h3 id=&#34;自定義-callouts&#34;&gt;自定義 Callouts&lt;/h3&gt;
&lt;div class=&#34;customized-callout info&#34;&gt;
  &lt;div class=&#34;callout-icon&#34;&gt;
    
    
    
      
      &lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;1.5&#34; stroke=&#34;currentColor&#34; class=&#34;w-6 h-6&#34;&gt;
  &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z&#34; /&gt;
&lt;/svg&gt;

    
  &lt;/div&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
    &lt;div class=&#34;callout-title&#34;&gt;
      
        
          Info
        
      
    &lt;/div&gt;
    &lt;div class=&#34;callout-body&#34;&gt;
      &lt;p&gt;有時候 TOC 會出現，有時候不會出現，這是因為有下了參數：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mobile_only=true 如果是手機版 / 較窄的視窗，才會顯示 TOC&lt;/li&gt;
&lt;li&gt;is_open=true 預設是關閉的，如果想要預設打開，可以下 is_open=true&lt;/li&gt;
&lt;/ul&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.customized-callout {
  display: flex;
  gap: 1rem;
  padding: 0.375rem 1.5rem;
  margin: 0.67rem 0;
  border-radius: 0.5rem;
  color: var(--bs-body-color);
}

.customized-callout.info {
  background-color: rgba(var(--bs-info-rgb), 0.1);
  border-left: 4px solid #085add;
}

.customized-callout.warning {
  background-color: rgba(var(--bs-warning-rgb), 0.1);
  border-left: 4px solid #dda408;
}

.callout-icon {
  flex-shrink: 0;
  margin-top: 0.25rem;
}

.callout-icon svg {
  width: 24px;
  height: 24px;
  color: currentColor;
}

.info .callout-icon svg {
  color: #085add;
}

.warning .callout-icon svg {
  color: #dda408;
}

.callout-content {
  flex-grow: 1;
  min-width: 0;
}

.callout-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.33rem;
  line-height: inherit;
}

.info .callout-title {
  color: #085add;
}

.warning .callout-title {
  color: #dda408;
}

.callout-body {
  color: var(--bs-body-color);
  line-height: var(--bs-body-line-height, 1.5);
}

.callout-body p {
  margin-bottom: 0.33em;
  line-height: inherit;
}

.callout-body p:last-child {
  margin-bottom: 0;
}
&lt;/style&gt; 
&lt;div class=&#34;customized-callout info&#34;&gt;
  &lt;div class=&#34;callout-icon&#34;&gt;
    
    
    
      
      &lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;1.5&#34; stroke=&#34;currentColor&#34; class=&#34;w-6 h-6&#34;&gt;
  &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z&#34; /&gt;
&lt;/svg&gt;

    
  &lt;/div&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
    &lt;div class=&#34;callout-title&#34;&gt;
      
        有 Title
      
    &lt;/div&gt;
    &lt;div class=&#34;callout-body&#34;&gt;
      &lt;p&gt;有時候 TOC 會出現，有時候不會出現，這是因為有下了參數：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mobile_only=true 如果是手機版 / 較窄的視窗，才會顯示 TOC&lt;/li&gt;
&lt;li&gt;is_open=true 預設是關閉的，如果想要預設打開，可以下 is_open=true&lt;/li&gt;
&lt;/ul&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.customized-callout {
  display: flex;
  gap: 1rem;
  padding: 0.375rem 1.5rem;
  margin: 0.67rem 0;
  border-radius: 0.5rem;
  color: var(--bs-body-color);
}

.customized-callout.info {
  background-color: rgba(var(--bs-info-rgb), 0.1);
  border-left: 4px solid #085add;
}

.customized-callout.warning {
  background-color: rgba(var(--bs-warning-rgb), 0.1);
  border-left: 4px solid #dda408;
}

.callout-icon {
  flex-shrink: 0;
  margin-top: 0.25rem;
}

.callout-icon svg {
  width: 24px;
  height: 24px;
  color: currentColor;
}

.info .callout-icon svg {
  color: #085add;
}

.warning .callout-icon svg {
  color: #dda408;
}

.callout-content {
  flex-grow: 1;
  min-width: 0;
}

.callout-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.33rem;
  line-height: inherit;
}

.info .callout-title {
  color: #085add;
}

.warning .callout-title {
  color: #dda408;
}

.callout-body {
  color: var(--bs-body-color);
  line-height: var(--bs-body-line-height, 1.5);
}

.callout-body p {
  margin-bottom: 0.33em;
  line-height: inherit;
}

.callout-body p:last-child {
  margin-bottom: 0;
}
&lt;/style&gt; 
&lt;h2 id=&#34;callouts&#34;&gt;Callouts&lt;/h2&gt;
&lt;p&gt;Callout 是 Hugo Blox 的特色之一，可以參考 &lt;a href=&#34;https://docs.hugoblox.com/reference/markdown/#callouts&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo Blox 官方文件&lt;/a&gt;
有一些 icon 是沒有的，需要自己匯入，我是把 icon 的路徑放在 &lt;code&gt;assets/media/icons/hero/&lt;/code&gt; 裡面。&lt;/p&gt;
&lt;h3 id=&#34;note&#34;&gt;Note&lt;/h3&gt;
&lt;div class=&#34;flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900&#34;&gt;
&lt;span class=&#34;pr-3 pt-1 text-primary-600 dark:text-primary-300&#34;&gt;
  &lt;svg height=&#34;24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;1.5&#34; d=&#34;m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z&#34;/&gt;&lt;/svg&gt;
&lt;/span&gt;
  &lt;span class=&#34;dark:text-neutral-300&#34;&gt;A Markdown aside is useful for displaying notices, hints, or definitions to your readers.&lt;/span&gt;
&lt;/div&gt;
&lt;h3 id=&#34;tip&#34;&gt;Tip&lt;/h3&gt;
&lt;div class=&#34;flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900&#34;&gt;
&lt;span class=&#34;pr-3 pt-1 text-primary-600 dark:text-primary-300&#34;&gt;
  &lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
&lt;svg height=&#34;24&#34; width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
  &lt;path d=&#34;M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20Z&#34; fill=&#34;currentColor&#34;/&gt;
  &lt;path d=&#34;M11 7H13V9H11V7ZM11 11H13V17H11V11Z&#34; fill=&#34;currentColor&#34;/&gt;
&lt;/svg&gt;
&lt;/span&gt;
  &lt;span class=&#34;dark:text-neutral-300&#34;&gt;A Markdown aside is useful for displaying notices, hints, or definitions to your readers.&lt;/span&gt;
&lt;/div&gt;
&lt;h3 id=&#34;warning&#34;&gt;Warning&lt;/h3&gt;
&lt;div class=&#34;flex px-4 py-3 mb-6 rounded-md bg-yellow-100 dark:bg-yellow-900&#34;&gt;
&lt;span class=&#34;pr-3 pt-1 text-red-400&#34;&gt;
  &lt;svg height=&#34;24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;1.5&#34; d=&#34;M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z&#34;/&gt;&lt;/svg&gt;
&lt;/span&gt;
  &lt;span class=&#34;dark:text-neutral-300&#34;&gt;A Markdown aside is useful for displaying notices, hints, or definitions to your readers.&lt;/span&gt;
&lt;/div&gt;
&lt;h2 id=&#34;charts-圖表類&#34;&gt;Charts 圖表類&lt;/h2&gt;
&lt;p&gt;Hugo Blox is designed to give technical content creators a seamless experience. You can focus on the content and Hugo Blox handles the rest.&lt;/p&gt;
&lt;p&gt;Use popular tools such as Plotly, Mermaid, and data frames.&lt;/p&gt;
&lt;p&gt;Hugo Blox supports the popular &lt;a href=&#34;https://plot.ly/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Plotly&lt;/a&gt; format for interactive data visualizations. With Plotly, you can design almost any kind of visualization you can imagine!&lt;/p&gt;
&lt;p&gt;Save your Plotly JSON in your page folder, for example &lt;code&gt;line-chart.json&lt;/code&gt;, and then add the &lt;code&gt;{{&amp;lt; chart data=&amp;quot;line-chart&amp;quot; &amp;gt;}}&lt;/code&gt; shortcode where you would like the chart to appear.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/p&gt;




&lt;div id=&#34;chart-352619487&#34; class=&#34;chart&#34;&gt;&lt;/div&gt;
&lt;script&gt;
  async function fetchChartJSON() {
    console.debug(&#39;Hugo Blox fetching chart JSON...&#39;)
    const response = await fetch(&#39;.\/line-chart.json&#39;);
    return await response.json();
  }

  (function() {
    let a = setInterval( function() {
      if ( typeof window.Plotly === &#39;undefined&#39; ) {
        console.debug(&#39;Plotly not loaded yet...&#39;)
        return;
      }
      clearInterval( a );

      fetchChartJSON().then(chart =&gt; {
        console.debug(&#39;Plotting chart...&#39;)
        window.Plotly.newPlot(&#39;chart-352619487&#39;, chart.data, chart.layout, {responsive: true});
      });
    }, 500 );
  })();
&lt;/script&gt;

&lt;p&gt;You might also find the &lt;a href=&#34;http://plotly-json-editor.getforge.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Plotly JSON Editor&lt;/a&gt; useful.&lt;/p&gt;
&lt;h3 id=&#34;diagrams&#34;&gt;Diagrams&lt;/h3&gt;
&lt;p&gt;Hugo Blox supports the &lt;em&gt;Mermaid&lt;/em&gt; Markdown extension for diagrams.&lt;/p&gt;
&lt;p&gt;An example &lt;strong&gt;flowchart&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
graph TD
A[Hard] --&amp;gt;|Text| B(Round)
B --&amp;gt; C{Decision}
C --&amp;gt;|One| D[Result 1]
C --&amp;gt;|Two| E[Result 2]
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class=&#34;mermaid&#34;&gt;graph TD
A[Hard] --&gt;|Text| B(Round)
B --&gt; C{Decision}
C --&gt;|One| D[Result 1]
C --&gt;|Two| E[Result 2]
&lt;/div&gt;
&lt;p&gt;An example &lt;strong&gt;sequence diagram&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
sequenceDiagram
Alice-&amp;gt;&amp;gt;John: Hello John, how are you?
loop Healthcheck
    John-&amp;gt;&amp;gt;John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John--&amp;gt;&amp;gt;Alice: Great!
John-&amp;gt;&amp;gt;Bob: How about you?
Bob--&amp;gt;&amp;gt;John: Jolly good!
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class=&#34;mermaid&#34;&gt;sequenceDiagram
Alice-&gt;&gt;John: Hello John, how are you?
loop Healthcheck
    John-&gt;&gt;John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John--&gt;&gt;Alice: Great!
John-&gt;&gt;Bob: How about you?
Bob--&gt;&gt;John: Jolly good!
&lt;/div&gt;
&lt;p&gt;An example &lt;strong&gt;class diagram&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
classDiagram
Class01 &amp;lt;|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --&amp;gt; C2 : Where am i?
Class09 --* C3
Class09 --|&amp;gt; Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 &amp;lt;--&amp;gt; C2: Cool label
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class=&#34;mermaid&#34;&gt;classDiagram
Class01 &lt;|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --&gt; C2 : Where am i?
Class09 --* C3
Class09 --|&gt; Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 &lt;--&gt; C2: Cool label
&lt;/div&gt;
&lt;p&gt;An example &lt;strong&gt;state diagram&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
stateDiagram
[*] --&amp;gt; Still
Still --&amp;gt; [*]
Still --&amp;gt; Moving
Moving --&amp;gt; Still
Moving --&amp;gt; Crash
Crash --&amp;gt; [*]
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class=&#34;mermaid&#34;&gt;stateDiagram
[*] --&gt; Still
Still --&gt; [*]
Still --&gt; Moving
Moving --&gt; Still
Moving --&gt; Crash
Crash --&gt; [*]
&lt;/div&gt;
&lt;h2 id=&#34;data-frames&#34;&gt;Data Frames&lt;/h2&gt;
&lt;p&gt;Save your spreadsheet as a CSV file in your page&amp;rsquo;s folder and then render it by adding the &lt;em&gt;Table&lt;/em&gt; shortcode to your page:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{{&amp;lt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;table&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;results.csv&amp;#34;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;header&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;true&amp;#34;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;caption&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Table 1: My results&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;














&lt;table class=&#34;table-auto w-full&#34;&gt;
  
    
    
    &lt;thead&gt;
      &lt;tr&gt;  &lt;th class=&#34;border-b dark:border-slate-600 font-medium p-4 pt-0 pb-3 text-slate-400 dark:text-slate-200 text-left&#34;&gt;customer_id&lt;/th&gt;  &lt;th class=&#34;border-b dark:border-slate-600 font-medium p-4 pt-0 pb-3 text-slate-400 dark:text-slate-200 text-left&#34;&gt;score&lt;/th&gt;  &lt;/tr&gt;
    &lt;/thead&gt;
  
  &lt;tbody&gt;
  
    &lt;tr&gt;
      
        
          &lt;td data-table-dtype=&#34;number&#34; class=&#34;border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400&#34;&gt;1&lt;/td&gt;
        
      
        
          &lt;td data-table-dtype=&#34;number&#34; class=&#34;border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400&#34;&gt;0&lt;/td&gt;
        
      
    &lt;/tr&gt;
  
    &lt;tr&gt;
      
        
          &lt;td data-table-dtype=&#34;number&#34; class=&#34;border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400&#34;&gt;2&lt;/td&gt;
        
      
        
          &lt;td data-table-dtype=&#34;text&#34; class=&#34;border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400&#34;&gt;0.5&lt;/td&gt;
        
      
    &lt;/tr&gt;
  
    &lt;tr&gt;
      
        
          &lt;td data-table-dtype=&#34;number&#34; class=&#34;border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400&#34;&gt;3&lt;/td&gt;
        
      
        
          &lt;td data-table-dtype=&#34;number&#34; class=&#34;border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400&#34;&gt;1&lt;/td&gt;
        
      
    &lt;/tr&gt;
  
  &lt;/tbody&gt;
  
    &lt;caption class=&#34;table-caption&#34;&gt;Table 1: My results&lt;/caption&gt;
  
&lt;/table&gt;

&lt;p&gt;Create a personal knowledge base and share your knowledge with your peers.&lt;/p&gt;
&lt;p&gt;Hugo Blox web framework empowers you with one of the most flexible note-taking capabilities out there.&lt;/p&gt;
&lt;p&gt;Create a powerful knowledge base that works on top of a local folder of plain text Markdown files.&lt;/p&gt;
&lt;p&gt;Use it as your second brain, either publicly sharing your knowledge with your peers via your website, or via a private GitHub repository and password-protected site just for yourself.&lt;/p&gt;
&lt;h2 id=&#34;mindmaps&#34;&gt;Mindmaps&lt;/h2&gt;
&lt;p&gt;Hugo Blox supports a Markdown extension for mindmaps.&lt;/p&gt;
&lt;p&gt;With this open format, can even edit your mindmaps in other popular tools such as Obsidian.&lt;/p&gt;
&lt;p&gt;Simply insert a Markdown code block labelled as &lt;code&gt;markmap&lt;/code&gt; and optionally set the height of the mindmap as shown in the example below.&lt;/p&gt;
&lt;p&gt;Mindmaps can be created by simply writing the items as a Markdown list within the &lt;code&gt;markmap&lt;/code&gt; code block, indenting each item to create as many sub-levels as you need:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;
&lt;code&gt;
```markmap {height=&#34;200px&#34;}
- Hugo Modules
  - Hugo Blox
  - blox-plugins-netlify
  - blox-plugins-netlify-cms
  - blox-plugins-reveal
```
&lt;/code&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class=&#34;markmap&#34; style=&#34;height: 200px;&#34;&gt;

&lt;pre&gt;- Hugo Modules
  - Hugo Blox
  - blox-plugins-netlify
  - blox-plugins-netlify-cms
  - blox-plugins-reveal&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Anh here&amp;rsquo;s a more advanced mindmap with formatting, code blocks, and math:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;
&lt;code&gt;
```markmap
- Mindmaps
  - Links
    - [Hugo Blox Docs](https://docs.hugoblox.com/)
    - [Discord Community](https://discord.gg/z8wNYzb)
    - [GitHub](https://github.com/HugoBlox/hugo-blox-builder)
  - Features
    - Markdown formatting
    - **inline** ~~text~~ *styles*
    - multiline
      text
    - `inline code`
    -
      ```js
      console.log(&#39;hello&#39;);
      console.log(&#39;code block&#39;);
      ```
    - Math: $x = {-b \pm \sqrt{b^2-4ac} \over 2a}$
```
&lt;/code&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class=&#34;markmap&#34; style=&#34;height: 500px;&#34;&gt;

&lt;pre&gt;- Mindmaps
  - Links
    - [Hugo Blox Docs](https://docs.hugoblox.com/)
    - [Discord Community](https://discord.gg/z8wNYzb)
    - [GitHub](https://github.com/HugoBlox/hugo-blox-builder)
  - Features
    - Markdown formatting
    - **inline** ~~text~~ *styles*
    - multiline
      text
    - `inline code`
    -
      ```js
      console.log(&#39;hello&#39;);
      console.log(&#39;code block&#39;);
      ```
    - Math: $x = {-b \pm \sqrt{b^2-4ac} \over 2a}$&lt;/pre&gt;
&lt;/div&gt;

&lt;h2 id=&#34;文字類&#34;&gt;文字類&lt;/h2&gt;
&lt;h3 id=&#34;highlighting&#34;&gt;Highlighting&lt;/h3&gt;
&lt;p&gt;&lt;mark&gt;Highlight&lt;/mark&gt; important text with &lt;code&gt;mark&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;mark&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;Highlighted text&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;mark&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;隱藏-防劇透&#34;&gt;隱藏-防劇透&lt;/h3&gt;
&lt;p&gt;Provide a simple yet fun self-assessment by revealing the solutions to challenges with the &lt;code&gt;spoiler&lt;/code&gt; shortcode:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;spoiler&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;👉 Click to view the solution&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;You found me!
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;spoiler&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;details class=&#34;spoiler &#34;  id=&#34;spoiler-15&#34;&gt;
  &lt;summary class=&#34;cursor-pointer&#34;&gt;👉 Click to view the solution&lt;/summary&gt;
  &lt;div class=&#34;rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2&#34;&gt;
    You found me 🎉
  &lt;/div&gt;
&lt;/details&gt;
&lt;h3 id=&#34;code&#34;&gt;Code&lt;/h3&gt;
&lt;p&gt;Hugo Blox Builder utilises Hugo&amp;rsquo;s Markdown extension for highlighting code syntax. The code theme can be selected in the &lt;code&gt;config/_default/params.yaml&lt;/code&gt; file.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```python
import pandas as pd
data = pd.read_csv(&amp;quot;data.csv&amp;quot;)
data.head()
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;pandas&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;pd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;read_csv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;data.csv&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;head&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;inline-images&#34;&gt;Inline Images&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{{&amp;lt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;icon&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;python&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;}}&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;p&gt;
  &lt;span class=&#34;inline-block  pr-1&#34;&gt;
    &lt;svg style=&#34;height: 1em; transform: translateY(0.1em);&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1em&#34; viewBox=&#34;0 0 448 512&#34; fill=&#34;currentColor&#34;&gt;&lt;path d=&#34;M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z&#34;/&gt;&lt;/svg&gt;
  &lt;/span&gt; Python&lt;/p&gt;
&lt;h3 id=&#34;callouts-1&#34;&gt;Callouts&lt;/h3&gt;
&lt;p&gt;Use &lt;a href=&#34;https://docs.hugoblox.com/reference/markdown/#callouts&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;callouts&lt;/a&gt; (aka &lt;em&gt;asides&lt;/em&gt;, &lt;em&gt;hints&lt;/em&gt;, or &lt;em&gt;alerts&lt;/em&gt;) to draw attention to notes, tips, and warnings.&lt;/p&gt;
&lt;p&gt;By wrapping a paragraph in &lt;code&gt;{{% callout note %}} ... {{% /callout %}}&lt;/code&gt;, it will render as an aside.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{% callout note %}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;A Markdown aside is useful for displaying notices, hints, or definitions to your readers.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{% /callout %}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900&#34;&gt;
&lt;span class=&#34;pr-3 pt-1 text-primary-600 dark:text-primary-300&#34;&gt;
  &lt;svg height=&#34;24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;1.5&#34; d=&#34;m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z&#34;/&gt;&lt;/svg&gt;
&lt;/span&gt;
  &lt;span class=&#34;dark:text-neutral-300&#34;&gt;A Markdown aside is useful for displaying notices, hints, or definitions to your readers.&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Or use the &lt;code&gt;warning&lt;/code&gt; callout type so your readers don&amp;rsquo;t miss critical details:&lt;/p&gt;
&lt;div class=&#34;flex px-4 py-3 mb-6 rounded-md bg-yellow-100 dark:bg-yellow-900&#34;&gt;
&lt;span class=&#34;pr-3 pt-1 text-red-400&#34;&gt;
  &lt;svg height=&#34;24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;1.5&#34; d=&#34;M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z&#34;/&gt;&lt;/svg&gt;
&lt;/span&gt;
  &lt;span class=&#34;dark:text-neutral-300&#34;&gt;A Markdown aside is useful for displaying notices, hints, or definitions to your readers.&lt;/span&gt;
&lt;/div&gt;
&lt;h2 id=&#34;嵌入媒體檔案&#34;&gt;嵌入媒體檔案&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Embed videos, podcasts, code, LaTeX math, and even test students!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On this page, you&amp;rsquo;ll find some examples of the types of technical content that can be rendered with Hugo Blox.&lt;/p&gt;
&lt;h3 id=&#34;video&#34;&gt;Video&lt;/h3&gt;
&lt;p&gt;Teach your course by sharing videos with your students. Choose from one of the following approaches:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;內建-Youtube&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; youtube D2vj0WcvH5c &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/p&gt;


    
    &lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/D2vj0WcvH5c?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;
      &gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&lt;strong&gt;內建-Bilibili&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; bilibili BV1WV4y1r7DF &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;w-full h-auto aspect-video relative&#34;&gt;
  &lt;iframe src=&#34;//player.bilibili.com/player.html?bvid=BV1WV4y1r7DF&amp;page=1&#34;
  allow=&#34;accelerometer; clipboard-write; encrypted-media; gyroscope; fullscreen; picture-in-picture;&#34;
  class=&#34;w-full h-full&#34;
  &gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;內建-影片檔&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Videos may be added to a page by either placing them in your &lt;code&gt;assets/media/&lt;/code&gt; media library or in your &lt;a href=&#34;https://gohugo.io/content-management/page-bundles/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;page&amp;rsquo;s folder&lt;/a&gt;, and then embedding them with the &lt;em&gt;video&lt;/em&gt; shortcode:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; video src=&amp;quot;my_video.mp4&amp;quot; controls=&amp;quot;yes&amp;quot; &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;內建-MP3 檔&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can add a podcast or music to a page by placing the MP3 file in the page&amp;rsquo;s folder or the media library folder and then embedding the audio on your page with the &lt;em&gt;audio&lt;/em&gt; shortcode:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; audio src=&amp;quot;ambient-piano.mp3&amp;quot; &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/p&gt;








  








&lt;audio controls &gt;
  &lt;source src=&#34;https://anelive.today/tech-library/hugo/official-extention/official-shortcodes/hugo-blox-summary/ambient-piano.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
&lt;/audio&gt;

&lt;h2 id=&#34;math&#34;&gt;Math&lt;/h2&gt;
&lt;p&gt;Hugo Blox Builder supports a Markdown extension for $\LaTeX$ math. Enable math by setting the &lt;code&gt;math: true&lt;/code&gt; option in your page&amp;rsquo;s front matter, or enable math for your entire site by toggling math in your &lt;code&gt;config/_default/params.yaml&lt;/code&gt; file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;features&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;math&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;enable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To render &lt;em&gt;inline&lt;/em&gt; or &lt;em&gt;block&lt;/em&gt; math, wrap your LaTeX math with &lt;code&gt;$...$&lt;/code&gt; or &lt;code&gt;$$...$$&lt;/code&gt;, respectively.&lt;/p&gt;
&lt;p&gt;Example &lt;strong&gt;math block&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-latex&#34; data-lang=&#34;latex&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sb&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\gamma&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;_{n} &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\frac&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{ &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\left&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; | &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\left&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; x_{n} &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; x_{n&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;} &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\right&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;^T &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\left&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\nabla&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; F &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; x_{n}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\nabla&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; F &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; x_{n&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\right&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\right&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; |}{&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\left&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\|\nabla&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; F&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{x}_{n}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\nabla&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; F&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{x}_{n&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\right&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\|&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;^&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;$$&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
$$\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}$$&lt;p&gt;Example &lt;strong&gt;inline math&lt;/strong&gt; &lt;code&gt;$\nabla F(\mathbf{x}_{n})$&lt;/code&gt; renders as $\nabla F(\mathbf{x}_{n})$.&lt;/p&gt;
&lt;p&gt;Example &lt;strong&gt;multi-line math&lt;/strong&gt; using the math linebreak (&lt;code&gt;\\&lt;/code&gt;):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-latex&#34; data-lang=&#34;latex&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sb&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;k;p_{&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}^{&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\begin&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{cases}p_{&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}^{&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;} &amp;amp; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\text&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{if }k&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\\&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;p_{&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}^{&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;} &amp;amp; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\text&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{if }k&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\end&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{cases}&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;$$&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
$$
f(k;p_{0}^{*}) = \begin{cases}p_{0}^{*} &amp; \text{if }k=1, \\
1-p_{0}^{*} &amp; \text{if }k=0.\end{cases}
$$</description>
    </item>
    
  </channel>
</rss>
