{"id":17,"date":"2026-08-19T16:20:06","date_gmt":"2026-08-19T16:20:06","guid":{"rendered":"https:\/\/blockset.wp.philiprehberger.com\/?page_id=17"},"modified":"2026-08-19T16:20:12","modified_gmt":"2026-08-19T16:20:12","slug":"code-snippet","status":"publish","type":"page","link":"https:\/\/blockset.wp.philiprehberger.com\/?page_id=17","title":{"rendered":"Code snippet"},"content":{"rendered":"\n<main class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-606407ee wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--70);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--80);padding-left:var(--wp--preset--spacing--50)\">\n\n<p class=\"has-text-color has-small-font-size wp-block-paragraph\" style=\"color:var(--wp--preset--color--accent-dark);font-family:var(--wp--preset--font-family--mono);font-weight:700;letter-spacing:0.12em;text-transform:uppercase\">SFP-BLOCKS\/CODE-SNIPPET<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" style=\"font-family:var(--wp--preset--font-family--serif);font-weight:500;letter-spacing:-0.02em;margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)\">Code snippet<\/h1>\n\n\n\n<p class=\"has-text-color has-large-font-size wp-block-paragraph\" style=\"color:var(--wp--preset--color--muted);line-height:1.55\">A styled code snippet block with language label, optional caption, and a copy-to-clipboard button. New as of Blockset; you&rsquo;re reading the result on this page already &mdash; every example markup on every per-block docs page is rendered by code-snippet.<\/p>\n\n\n<h2 class=\"wp-block-heading\" style=\"font-family:var(--wp--preset--font-family--serif);font-size:clamp(1.119rem, 1.119rem + ((1vw - 0.2rem) * 1.147), 1.75rem);font-weight:500;letter-spacing:-0.015em;margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--40)\">Live<\/h2>\n\n<figure class=\"sfp-code-snippet sfp-code-snippet--html wp-block-sfp-blocks-code-snippet\">\n\t<header class=\"sfp-code-snippet__header\">\n\t\t<span class=\"sfp-code-snippet__lang\">html<\/span>\n\t\t\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"sfp-code-snippet__copy\"\n\t\t\t\tdata-sfp-copy-target=\"sfp-code-1\"\n\t\t\t\taria-label=\"Copy code to clipboard\"\n\t\t\t>\n\t\t\t\t<span class=\"sfp-code-snippet__copy-label\">Copy<\/span>\n\t\t\t<\/button>\n\t\t\t<\/header>\n\t<pre class=\"sfp-code-snippet__pre\"><code id=\"sfp-code-1\" class=\"sfp-code-snippet__code language-html\">&lt;!-- wp:paragraph --&gt;\n&lt;p&gt;Hello, block.&lt;\/p&gt;\n&lt;!-- \/wp:paragraph --&gt;<\/code><\/pre>\n\t<\/figure>\n\n\n<h2 class=\"wp-block-heading\" style=\"font-family:var(--wp--preset--font-family--serif);font-size:clamp(1.119rem, 1.119rem + ((1vw - 0.2rem) * 1.147), 1.75rem);font-weight:500;letter-spacing:-0.015em;margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--40)\">Attributes<\/h2>\n\n\n<figure class=\"wp-block-table is-style-stripes blockset-attrs has-text-color\" style=\"font-size:0.875rem\"><table><thead><tr><th>Attribute<\/th><th>Type<\/th><th>Default<\/th><th>Description<\/th><\/tr><\/thead><tbody>\n<tr><td><code>code<\/code><\/td><td>string<\/td><td><code>sample markup<\/code><\/td><td>The code body. Plain text; rendered as-is in a &lt;code&gt; element<\/td><\/tr>\n<tr><td><code>language<\/code><\/td><td>string<\/td><td><code>\"html\"<\/code><\/td><td>Language tag shown in the header label (display only; no syntax highlighting)<\/td><\/tr>\n<tr><td><code>caption<\/code><\/td><td>string<\/td><td><code>empty<\/code><\/td><td>Optional italic caption below the code<\/td><\/tr>\n<tr><td><code>showCopy<\/code><\/td><td>boolean<\/td><td><code>true<\/code><\/td><td>Show the copy-to-clipboard button<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n<h2 class=\"wp-block-heading\" style=\"font-family:var(--wp--preset--font-family--serif);font-size:clamp(1.119rem, 1.119rem + ((1vw - 0.2rem) * 1.147), 1.75rem);font-weight:500;letter-spacing:-0.015em;margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--40)\">Example markup<\/h2>\n\n<figure class=\"sfp-code-snippet sfp-code-snippet--html wp-block-sfp-blocks-code-snippet\">\n\t<header class=\"sfp-code-snippet__header\">\n\t\t<span class=\"sfp-code-snippet__lang\">html<\/span>\n\t\t\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"sfp-code-snippet__copy\"\n\t\t\t\tdata-sfp-copy-target=\"sfp-code-2\"\n\t\t\t\taria-label=\"Copy code to clipboard\"\n\t\t\t>\n\t\t\t\t<span class=\"sfp-code-snippet__copy-label\">Copy<\/span>\n\t\t\t<\/button>\n\t\t\t<\/header>\n\t<pre class=\"sfp-code-snippet__pre\"><code id=\"sfp-code-2\" class=\"sfp-code-snippet__code language-html\">&lt;!-- wp:sfp-blocks\/code-snippet {&quot;code&quot;:&quot;function greet() {\\n  console.log(\\&quot;hello\\&quot;);\\n}&quot;,&quot;language&quot;:&quot;javascript&quot;,&quot;caption&quot;:&quot;A tiny example.&quot;} \/--&gt;<\/code><\/pre>\n\t\t\t<figcaption class=\"sfp-code-snippet__caption\">Paste this in any block-editor view (or in a theme template) to drop the block in.<\/figcaption>\n\t<\/figure>\n\n\n<div class=\"wp-block-group has-white-background-color has-background has-border-color is-layout-flow wp-block-group-is-layout-flow\" style=\"border-color:var(--wp--preset--color--border);border-width:1px;border-radius:6px;margin-top:var(--wp--preset--spacing--60);padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)\">\n\n<p class=\"has-text-color has-small-font-size wp-block-paragraph\" style=\"color:var(--wp--preset--color--accent-dark);font-family:var(--wp--preset--font-family--mono);font-weight:700;letter-spacing:0.1em;text-transform:uppercase\">SOURCE<\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/philiprehberger\/wp-portfolio-platform\/tree\/main\/plugins\/sfp-blocks\/src\/code-snippet\">plugins\/sfp-blocks\/src\/code-snippet\/ on GitHub \u2192<\/a><\/p>\n\n<\/div>\n\n<\/main>\n\n","protected":false},"excerpt":{"rendered":"<p>Styled code block with language label and copy-to-clipboard. New.<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":7,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-17","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17"}],"version-history":[{"count":1,"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages\/17\/revisions"}],"predecessor-version":[{"id":24,"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages\/17\/revisions\/24"}],"up":[{"embeddable":true,"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=\/wp\/v2\/pages\/7"}],"wp:attachment":[{"href":"https:\/\/blockset.wp.philiprehberger.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}