2026-06-03 23:08:41 +08:00
|
|
|
{%- macro code_preview(id, code, class=None, default_code=false) -%}
|
2025-04-25 16:42:10 +08:00
|
|
|
{% from "./code_block.njk" import code_block %}
|
2025-05-01 12:50:40 +08:00
|
|
|
{% set code_panel = code_block(code, class="") %}
|
2025-04-25 16:42:10 +08:00
|
|
|
{% set preview_panel %}
|
|
|
|
|
<div class="ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 relative rounded-md border">
|
|
|
|
|
<div class="preview flex min-h-[350px] w-full justify-center p-10 items-center">
|
2025-04-26 11:59:53 +08:00
|
|
|
<div {% if class %}class="{{ class }}"{% endif %}>
|
2025-04-25 16:42:10 +08:00
|
|
|
{{ code | safe }}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{% endset %}
|
|
|
|
|
|
2025-04-27 23:19:52 +08:00
|
|
|
<div class="relative my-6">
|
2025-05-01 20:53:03 +08:00
|
|
|
{% from "tabs.njk" import tabs %}
|
2025-04-25 16:42:10 +08:00
|
|
|
{% set tabsets = [
|
|
|
|
|
{ tab: "Preview", panel: preview_panel },
|
|
|
|
|
{ tab: "Code", panel: code_panel }
|
|
|
|
|
] %}
|
|
|
|
|
|
|
|
|
|
{{ tabs(
|
|
|
|
|
tabsets=tabsets,
|
2025-06-16 17:58:01 +08:00
|
|
|
default_tab_index=(2 if default_code else 1)
|
2025-04-25 16:42:10 +08:00
|
|
|
) }}
|
|
|
|
|
</div>
|
2026-06-03 23:08:41 +08:00
|
|
|
{%- endmacro -%}
|