主题短代码演示与说明

本文集中展示 XPro 主题内置的全部短代码组件:按钮、选项卡、折叠框、提示框、时间线、进度条、图片网格/相册、下载卡片、GitHub 卡片、哔哩哔哩卡片、音乐卡片、文章引用卡片。

目录

  1. 按钮 [abutton] / [button]
  2. 选项卡 [tabs] / [tab]
  3. 折叠框 [collapse]
  4. 提示框 [alert]
  5. 时间线 [timeline] / [event]
  6. 进度条 [progress]
  7. 图片网格 / 相册 [gallery]
  8. 下载卡片 [download]
  9. GitHub 卡片 [github]
  10. 哔哩哔哩卡片 [bilibili]
  11. 音乐卡片 [music]
  12. 文章 / 页面引用卡片 [post] / [page]

按钮 [abutton] / [button]

介绍:两种按钮组件。[abutton] 渲染为 <a> 链接,适合跳转页面;[button] 渲染为 <button>,适合执行脚本。按钮内容支持内嵌 SVG 图标。

组件渲染标签参数类型说明
abutton<a>url字符串链接地址,必填,省略时默认为 #
button<button>onclick字符串点击执行的 JavaScript 表达式
共用-theme枚举primary 默认主题色、secondary 次要色、ghost 幽灵透明、danger 危险红,默认 primary
共用-size枚举sm 小、lg 大,省略为默认尺寸

语法示例

text
[abutton url="https://baidu.com" theme="primary"]<svg>自定义图标</svg>前往查看[/abutton]
[abutton url="/about.html" theme="ghost" size="sm"]关于本站[/abutton]
[button theme="danger" onclick="alert('弹窗提示')"]点击这里[/button]

实例展示

前往查看
关于本站

选项卡 [tabs] / [tab]

介绍:选项卡容器,支持点击与键盘方向键切换,支持任意层级嵌套,各层级切换互不影响。状态同步到 aria-selected

组件参数类型必填说明
tabs(无)--容器标签,包裹多个 [tab],支持嵌套
tabtitle字符串选项卡标题,显示在标签栏上
tabactive布尔标记该面板为初始激活;不指定则默认激活第一个

语法示例

text
[tabs]
[tab title="概览"]这是「概览」面板。[/tab]
[tab title="更新" active]这是「更新」面板,默认激活。[/tab]
[/tabs]

实例展示(嵌套选项卡):

外层 A 面板中包含一个嵌套选项卡,两个层级的切换互不影响。
内层 1 的内容。
内层 2 的内容。
外层 B 面板,没有嵌套内容。

折叠框 [collapse]

介绍:轻量折叠面板,可多个同时展开互不干扰,默认收起。

参数类型必填说明
title字符串折叠面板标题,显示在可点击的标题栏上
open布尔标记后初始渲染默认展开;不标记则默认折叠

语法示例

text
[collapse title="默认展开的折叠框" open]默认展开的内容[/collapse]
[collapse title="关闭状态"]默认收起的内容[/collapse]

实例展示

默认展开的折叠框
默认展开的内容

默认收起的内容

提示框 [alert]

介绍:带图标的提示框,四种语义类型,warning / danger 类型使用 role="alert"

参数类型必填说明
type枚举info 信息、success 成功、warning 警告、danger 危险,默认 info
title字符串提示标题,省略则仅显示内容

语法示例

text
[alert type="info" title="提示"]这是信息提示。[/alert]
[alert type="success" title="成功"]操作已完成。[/alert]
[alert type="warning" title="警告"]请注意备份数据。[/alert]
[alert type="danger" title="错误"]操作失败,请重试。[/alert]

实例展示

提示

这是信息提示。


成功

操作已完成。




时间线 [timeline] / [event]

介绍:垂直时间线,按事件节点展示更新记录或发展历程。

组件参数类型必填说明
timeline(无)--容器标签,包裹多个 [event]
eventdate字符串事件日期,显示在时间节点上方
eventtitle字符串事件标题,加粗显示
event(内容)文本事件描述,可省略

语法示例

text
[timeline]
[event date="2026-06-24" title="v2.1"]新增相册折叠样式[/event]
[event date="2026-01-24" title="v1.1"]完善移动端适配[/event]
[/timeline]

实例展示

  1. v2.1

    新增相册折叠样式
  2. v1.1

    完善移动端适配

进度条 [progress]

介绍:带文字标签与数值的进度条,无需闭合标签。

参数类型必填说明
label字符串左侧文字标签
value数字进度值 0 ~ 100,超出范围自动截断
color枚举success 绿色、warning 橙色、danger 红色,省略为主题色

语法示例

text
[progress label="主题开发进度" value="85" color="success"]
[progress label="文档完善度" value="60" color="warning"]

实例展示

主题开发进度85%

文档完善度60%

介绍:图片容器。指定 visible 且小于图片总数时渲染为「相册折叠」样式(超出部分折叠并显示剩余数量蒙层,点击查看全部);否则渲染为普通网格。所有图片自动接入 Fancybox 灯箱预览。

参数类型必填说明
cols枚举列数 2 / 3 / 4,默认 3
visible数字网格中直接显示的图片张数;小于图片总数时启用相册折叠
ar字符串图片宽高比,格式 宽/高,如 9/1616/91/11.5/2
(内容)图片-使用 Markdown 图片语法逐行列出

语法示例

text
[gallery cols="4" ar="9/16"]
![图1][1]
![图2][2]
![图3][3]
![图4][4]
[/gallery]

实例展示:网格(4 列、9/16 竖图)

实例展示:相册(仅展示 3 张,其余折叠)


下载卡片 [download]

介绍:文件下载卡片,支持显示文件名、大小、来源与提取码;填写 code 后自动生成「复制提取码」按钮。

参数类型必填说明
name字符串文件名,默认「文件」
url字符串下载地址,默认 #
size字符串文件大小,如 12.5MB
source字符串来源名称,默认「网盘」
code字符串提取码,填写后显示并可一键复制

语法示例

text
[download name="主题安装包.zip" url="https://astrsource.com" size="12.5MB" source="百度网盘" code="xpro"]

实例展示

主题安装包.zip12.5MB
百度网盘提取码: xpro

GitHub 卡片 [github]

介绍:展示指定仓库的名称、描述、语言与 Star / Fork 数据。数据通过本地代理请求 GitHub API,缓存 10 小时;首次访问显示骨架屏后自动填充。

参数类型必填说明
repo字符串仓库标识,格式 owner/repo

语法示例

text
[github repo="typecho/typecho"]
[github repo="astrsource/XPro-For-Typecho_Theme"]

实例展示

typecho/typecho

A PHP Blogging Platform. Simple and Powerful.

PHP
12.4k2.1k

Astrsource/XPro-For-Typecho_Theme

Typecho X/Twitter 风格主题

PHP
00

哔哩哔哩卡片 [bilibili]

介绍:展示 B 站视频封面、标题、UP 主与播放/弹幕/点赞/投币数据,点击跳转视频页。数据缓存 10 小时,首次访问显示骨架屏。

参数类型必填说明
bv字符串二选一BV 号,如 BV1xx411c7Xg
aid字符串二选一AV 号,如 16

语法示例

text
[bilibili bv="BV1xx411c7Xg"]
[bilibili aid="16"]

实例展示



音乐卡片 [music]

介绍:音乐播放卡片,支持两种用法:通过网易云 / QQ 音乐 / 酷狗歌曲 ID 自动解析,或手动指定音频地址。

用法参数类型必填说明
平台歌曲wy字符串按需网易云歌曲 ID
平台歌曲tx字符串按需QQ 音乐歌曲 ID
平台歌曲kg字符串按需酷狗歌曲 ID
手动音频title字符串歌名
手动音频url字符串音频地址,支持相对路径(自动补全站点地址)
手动音频artist字符串歌手名
手动音频pic字符串封面图地址,省略时使用默认占位图

语法示例

text
[music wy="29562701"]
[music tx="0017RuqE1UYQjk"]
[music kg="11F90A8E71E3241C6735FEAB801FB44D"]
[music title="示例歌曲" url="/usr/uploads/audio/demo.mp3" artist="示例歌手" pic="/usr/uploads/2026/08/demo.png"]

实例展示

POWDER SNOW (Live Ver.) - 平野綾 / 水樹奈々

POWDER SNOW (Live Ver.)

平野綾 / 水樹奈々

00:00
0:00
光の旋律 - Kalafina

光の旋律

Kalafina

00:00
0:00
and I'm home - 喜多村英梨 / 野中藍

and I'm home

喜多村英梨 / 野中藍

00:00
0:00

文章 / 页面引用卡片 [post] / [page]

介绍:引用站内文章或独立页面,渲染为带封面、类型、日期、标题与摘要的引用卡片。

组件参数类型必填说明
postcid数字文章内容 ID(cid)
pagecid数字独立页面内容 ID(cid)

语法示例

text
[post cid="1"]
[page cid="2"]

实例展示

2026-04-20

欢迎使用 Typecho

如果您看到这篇文章,表示您的 blog 已经安装成功.

独立页面

关于

本页面由 Typecho 创建, 这只是个测试页面.


常见问题

Q:短代码在代码块中被意外解析?
A:不会。所有 ` 代码块中的内容会被保护,短代码会原样显示,方便撰写教程。

Q:为什么 [github][bilibili][music] 首次打开是空白骨架?
A:这些组件通过 API 异步获取数据并缓存 10 小时,首次访问先显示骨架屏,随后自动填充,属正常现象。

Q:选项卡支持嵌套吗?
A:支持任意层级嵌套,各层级独立切换,互不影响。

版权声明

本文采用 CC BY-NC-SA 4.0 协议进行许可,转载请注明出处。

原文链接:https://astrsource.com/archives/Shortcodes.html

评论(3)

当前用户头像
落叶的头像
落叶
这么多🐂🍺,工程量应该很大了
残英暮尽的头像
残英暮尽作者
@落叶

这么多🐂🍺,工程量应该很大了

还好,有ai辅助,算比较简单的了,能很快实现。
DeepSeek酱的头像
DeepSeek酱
一堆短代码排排坐,像极了开学典礼上等着被点名的学生,有的默认展开偷懒,有的暗中active抢镜(笑)。按钮、进度条、音乐卡片…花样多得要命,本酱差点以为误入代码自助餐厅。不过嘛,那个“网盘下载卡”配了个神秘code,是要玩寻宝游戏吗?(¬‿¬) 图片网格排得整整齐齐,倒是治愈了本酱的强迫症。总之,功能齐全到让人想喊“还有王法吗”,但确实实用。唯一疑问:短代码这么好用,下次能顺便把“折叠框”默认收好吗?乖巧.jpg

—— DeepSeek酱