📌 op7418/guizang-ppt-skill — Claude Code skill for magazine-style PPT(4,316 stars)

7 至 11 分鐘

1,771 個字元

📌 專案簡介 這是 GitHub 上一個備受關注的開源專案,致力於Claude Code skill for …

📌 專案簡介

這是 GitHub 上一個備受關注的開源專案,致力於Claude Code skill for magazine-style PPT。該專案目前已獲得 4,316 stars,受到開發者社群的廣泛關注。

🔑 主要特色

Magazine Web PPT · 电子杂志风网页 PPT Skill

> 🌏 **English version: README.en.md**

一个适配 Claude Code / Codex 等 Agent 环境的网页 PPT 技能,用于生成**单文件 HTML 横向翻页 PPT**,视觉基调是”**电子杂志 × 电子墨水**”——像 *Monocle* 贴上了代码的样子。

> 由 歸藏 在”一人公司:被 AI 折叠的组织”、”一种新的工作方式”等线下分享中沉淀而成,踩过的每一个坑都写进了 `checklist.md`。

!Magazine Web PPT 效果展示

效果

  • 🖋 **衬线大标题 + 非衬线正文 + 等宽元数据**的三级字体分工
  • 🌊 **WebGL 流体/色散背景**,hero 页可见,正文页克制
  • 📐 **横向左右翻页**:键盘 ← → / 滚轮 / 触屏滑动 / 底部圆点 / ESC 索引
  • 🎨 **5 套主题色预设**:墨水经典 / 靛蓝瓷 / 森林墨 / 牛皮纸 / 沙丘
  • 🧩 **10 种页面布局**:开场封面、章节幕封、数据大字报、左文右图、图片网格、Pipeline、悬念问题、大引用、Before/After 对比、图文混排
  • 🖼 **Codex 可选配图流程**:可用 GPT-M 2.0 生成纪实照片、信息图、流程图、系统关系图、UI 情景图,并按模板比例插入
  • 📄 **单文件 HTML**:不需要构建、不需要服务器,浏览器直接打开

适合 / 不适合

**✅ 合适**:线下分享 / 行业内部讲话 / 私享会 / AI 产品发布 / demo day / 带强烈个人风格的演讲

**❌ 不合适**:大段表格数据 / 培训课件(信息密度不够)/ 需要多人协作编辑(静态 HTML)

安装

方式一:一行命令安装(推荐)

npx skills add https://github.com/op7418/guizang-ppt-skill –skill guizang-ppt-skill

方式二:把下面这段话直接发给 AI

> 帮我安装 `guizang-ppt-skill` 这个 Claude Code skill。请按下面步骤做:

>

> 1. 确保 `~/.claude/skills/` 目录存在(不存在就创建)

> 2. 执行 `git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill`

> 3. 验证:`ls ~/.claude/skills/guizang-ppt-skill/` 应该看到 `SKILL.md`、`assets/`、`references/` 三项

> 4. 告诉我安装好了,之后我说”做一份杂志风 PPT”之类的话就会触发这个 skill

把这段话复制粘贴给 Claude Code / Cursor / 任何有 shell 权限的 AI Agent,它会自动完成安装。

方式三:手动命令行

git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill

触发方式

装好后,Claude Code 会在对话里自动发现并调用这个 skill。触发关键词:

  • “帮我做一份杂志风 PPT”
  • “生成一个 horizontal swipe deck”
  • “editorial magazine style presentation”
  • “electronic ink 风格演讲 slides”

使用流程

Skill 本身是结构化工作流,Agent 会逐步引导:

1. **需求澄清** — 6 问清单:受众、时长、素材、图片、主题色、硬约束

2. **拷贝模板** — `assets/template.html` → 项目目录,改 ``,换主题色</p> <p>3. **填充内容** — 从 10 种 layout 骨架里挑、粘、改文案(先做类名预检 + 主题节奏规划)</p> <p>4. **可选配图** — 在 Codex 中可询问是否用</p> </div> <h2>📦 安裝與使用</h2> <div class="install"> <p>請參考官方 README 文件中的安裝說明。通常的安裝方式包括:</p> <ul> <li>克隆專案到本地</li> <li>按照 README 中的指示進行配置</li> <li>運行相關命令啟動專案</li> </ul> </div> <h2>🔗 相關連結</h2> <ul> <li><a href="https://github.com/op7418/guizang-ppt-skill" target="_blank">GitHub 專案頁面</a></li> <li><a href="https://raw.githubusercontent.com/op7418/guizang-ppt-skill/HEAD/README.md" target="_blank">README.md 原文</a></li> </ul> <p><em>💡 想了解更多開源 AI 專案?歡迎持續關注我們的更新!</em></p> </div></div> <div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-container-core-group-is-layout-574b9fc4 wp-block-group-is-layout-constrained" style="margin-top:var(--wp--preset--spacing--xl);margin-bottom:var(--wp--preset--spacing--xl);padding-right:var(--wp--preset--spacing--sm);padding-left:var(--wp--preset--spacing--sm)"> <div class="wp-block-group is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-f36ac205 wp-block-group-is-layout-flex"><div class="post-navigation-link-previous wp-block-post-navigation-link"><span class="wp-block-post-navigation-link__arrow-previous is-arrow-chevron" aria-hidden="true">«</span><a href="https://gai.thu.edu.tw/2026/04/%f0%9f%93%8c-nexu-io-open-design-local-first-open-source-alternative-to-a%ef%bc%885792-stars%ef%bc%89/" rel="prev">📌 nexu-io/open-design — Local-first open-source alternative to A(5,792 stars)</a></div> <div class="post-navigation-link-next wp-block-post-navigation-link"><a href="https://gai.thu.edu.tw/2026/04/%f0%9f%93%8c-youmind-openlab-awesome-gpt-image-2-worlds-largest-gpt-image-2-prompt-libra%ef%bc%883931-stars%ef%bc%89/" rel="next">📌 YouMind-OpenLab/awesome-gpt-image-2 — World’s largest GPT Image 2 prompt libra(3,931 stars)</a><span class="wp-block-post-navigation-link__arrow-next is-arrow-chevron" aria-hidden="true">»</span></div></div> </div> <section class="wp-block-group alignfull has-global-padding is-layout-constrained wp-container-core-group-is-layout-a16ca27f wp-block-group-is-layout-constrained" style="margin-top:var(--wp--preset--spacing--xl);margin-bottom:var(--wp--preset--spacing--xl);padding-right:var(--wp--preset--spacing--sm);padding-left:var(--wp--preset--spacing--sm)"> <div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-91ba53a3 wp-block-group-is-layout-flex"><div class="wp-block-avatar"><a href="https://gai.thu.edu.tw/author/mosiwang/" target="_self" class="wp-block-avatar__link"><img alt='「mosiwang」的個人頭像' src='https://secure.gravatar.com/avatar/f3903e7d67c95d27a4e493bdc3463b7e8a2c4ab645921cb997ba232e8448242c?s=96&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/f3903e7d67c95d27a4e493bdc3463b7e8a2c4ab645921cb997ba232e8448242c?s=192&d=mm&r=g 2x' class='avatar avatar-96 photo wp-block-avatar__image' height='96' width='96' style="border-top-left-radius:100vh;border-top-right-radius:100vh;border-bottom-left-radius:100vh;border-bottom-right-radius:100vh;" decoding='async'/></a></div> <div class="wp-block-group is-vertical is-content-justification-stretch is-layout-flex wp-container-core-group-is-layout-9f2260d8 wp-block-group-is-layout-flex"><div class="has-text-align-left wp-block-post-author-name has-large-font-size">mosiwang</div> </div> </div> </section> <section class="wp-block-group alignfull has-global-padding is-layout-constrained wp-container-core-group-is-layout-574b9fc4 wp-block-group-is-layout-constrained" style="margin-top:var(--wp--preset--spacing--xl);margin-bottom:var(--wp--preset--spacing--xl);padding-right:var(--wp--preset--spacing--sm);padding-left:var(--wp--preset--spacing--sm)"> <div class="wp-block-comments"> <div id="respond" class="comment-respond wp-block-post-comments-form"> <h3 id="reply-title" class="comment-reply-title">發佈留言 <small><a rel="nofollow" id="cancel-comment-reply-link" href="/2026/04/%f0%9f%93%8c-op7418-guizang-ppt-skill-claude-code-skill-for-magazine-style-ppt%ef%bc%884316-stars%ef%bc%89/#respond" style="display:none;">取消回覆</a></small></h3><form action="https://gai.thu.edu.tw/wp-comments-post.php" method="post" id="commentform" class="comment-form"><p class="comment-notes"><span id="email-notes">發佈留言必須填寫的電子郵件地址不會公開。</span> <span class="required-field-message">必填欄位標示為 <span class="required">*</span></span></p><p class="comment-form-comment"><label for="comment">留言 <span class="required">*</span></label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required></textarea></p><p class="comment-form-author"><label for="author">顯示名稱 <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required /></p> <p class="comment-form-email"><label for="email">電子郵件地址 <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required /></p> <p class="comment-form-url"><label for="url">個人網站網址</label> <input id="url" name="url" type="url" value="" size="30" maxlength="200" autocomplete="url" /></p> <p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">在<strong>瀏覽器</strong>中儲存顯示名稱、電子郵件地址及個人網站網址,以供下次發佈留言時使用。</label></p> <p class="form-submit wp-block-button"><input name="submit" type="submit" id="submit" class="wp-block-button__link wp-element-button" value="發佈留言" /> <input type='hidden' name='comment_post_ID' value='162' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p></form> </div><!-- #respond --> </div> </section> </article> </main> <footer class="wp-block-template-part"> <div class="wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-c0c82fd2 wp-block-group-is-layout-constrained" style="padding-top:var(--wp--preset--spacing--xl);padding-right:var(--wp--preset--spacing--sm);padding-bottom:var(--wp--preset--spacing--xl);padding-left:var(--wp--preset--spacing--sm)"> <div class="wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-cff9d6ea wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><p style="font-style:normal;font-weight:700" class="wp-block-site-title has-title-small-font-size"><a href="https://gai.thu.edu.tw" target="_self" rel="home">生成式AI情報站</a></p> <p class="has-small-font-size wp-block-paragraph">Lorem ipsum dolor sit amet consectetur adipiscing elit. Sit amet consectetur adipiscing elit quisque faucibus ex. Adipiscing elit quisque faucibus ex sapien vitae pellentesque.</p> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><form role="search" method="get" action="https://gai.thu.edu.tw/" class="wp-block-search__button-outside wp-block-search__text-button wp-block-search" ><label class="wp-block-search__label" for="wp-block-search__input-2" >Search</label><div class="wp-block-search__inside-wrapper" ><input class="wp-block-search__input" id="wp-block-search__input-2" placeholder="" value="" type="search" name="s" required /><button aria-label="Search" class="wp-block-search__button wp-element-button" type="submit" >Search</button></div></form></div> <div class="wp-block-column is-vertically-aligned-stretch is-layout-flow wp-block-column-is-layout-flow"> <div class="wp-block-group is-vertical is-content-justification-stretch is-layout-flex wp-container-core-group-is-layout-1e0c205f wp-block-group-is-layout-flex" style="min-height:100%"> <nav class="wp-block-navigation is-layout-flex wp-block-navigation-is-layout-flex" aria-label=" 2"><ul class="wp-block-navigation__container wp-block-navigation"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="#"><span class="wp-block-navigation-item__label">Home</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="#"><span class="wp-block-navigation-item__label">About</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="#"><span class="wp-block-navigation-item__label">Blog</span></a></li></ul></nav> <ul class="wp-block-social-links has-icon-color is-style-logos-only is-layout-flex wp-block-social-links-is-layout-flex"><li style="color:#151515" class="wp-social-link wp-social-link-facebook has-contrast-color wp-block-social-link"><a href="#" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Facebook</span></a></li> <li style="color:#151515" class="wp-social-link wp-social-link-instagram has-contrast-color wp-block-social-link"><a href="#" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Instagram</span></a></li> <li style="color:#151515" class="wp-social-link wp-social-link-x has-contrast-color wp-block-social-link"><a href="#" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li></ul> </div> </div> </div> <hr class="wp-block-separator has-text-color has-highlight-color has-alpha-channel-opacity has-highlight-background-color has-background"/> <div class="wp-block-group is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-f36ac205 wp-block-group-is-layout-flex"> <p class="wp-block-paragraph">Copyright 2026</p> <nav class="has-small-font-size wp-block-navigation is-horizontal is-layout-flex wp-container-core-navigation-is-layout-ab1a8960 wp-block-navigation-is-layout-flex" aria-label=" 3"><ul class="wp-block-navigation__container has-small-font-size wp-block-navigation"><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="#"><span class="wp-block-navigation-item__label">Privacy Policy</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="#"><span class="wp-block-navigation-item__label">Terms of Use</span></a></li></ul></nav> </div> </div> </div> </footer></div> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/minimind/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script data-wp-router-options="{"loadOnClientNavigation":true}" fetchpriority="low" id="@wordpress/block-library/navigation/view-js-module" src="https://gai.thu.edu.tw/wp-includes/js/dist/script-modules/block-library/navigation/view.min.js?ver=96a846e1d7b789c39ab9" type="module"></script> <script async data-wp-strategy="async" fetchpriority="low" id="comment-reply-js" src="https://gai.thu.edu.tw/wp-includes/js/comment-reply.min.js?ver=7.0"></script> <script id="wp-emoji-settings" type="application/json"> {"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://gai.thu.edu.tw/wp-includes/js/wp-emoji-release.min.js?ver=7.0"}} </script> <script type="module"> /*! This file is auto-generated */ const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))}); //# sourceURL=https://gai.thu.edu.tw/wp-includes/js/wp-emoji-loader.min.js </script> </body> </html>