{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Vale.Rocks Demos",
  "description": "Front-end experiments and code demos.",
  "home_page_url": "https://vale.rocks/demos",
  "feed_url": "https://vale.rocks/demos/feed.json",
  "icon": "https://vale.rocks/assets/favicon.svg",
  "favicon": "https://vale.rocks/assets/favicon.svg",
  "items": [
    {
      "id": "https://vale.rocks/demos/01a166ee-434c-71b3-8daa-0356a8a5e3f6",
      "url": "https://vale.rocks/demos/01a166ee-434c-71b3-8daa-0356a8a5e3f6",
      "title": "&lt;audio&gt; with playing animation",
      "image": "https://01a166ee-434c-71b3-8daa-0356a8a5e3f6.codepen.dev/.codepen/screenshots/475895d94571a535d4618e84ab86decc531decfc2e4b12e98526aea05853f49f/1280.jpg",
      "content_html": "\n\t\t\t<p>An <code>&lt;audio&gt;</code> element with a border which marches around it when playing to showcase the media element pseudo-classes (specifically <code>:playing</code> in this case). This animation would be perfect to use for <code>:buffering</code>, but that is hard to showcase in a Pen.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/01a166ee-434c-71b3-8daa-0356a8a5e3f6\"><img src=\"https://01a166ee-434c-71b3-8daa-0356a8a5e3f6.codepen.dev/.codepen/screenshots/475895d94571a535d4618e84ab86decc531decfc2e4b12e98526aea05853f49f/800.jpg\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>An <code>&lt;audio&gt;</code> element with a border which marches around it when playing to showcase the media element pseudo-classes (specifically <code>:playing</code> in this case). This animation would be perfect to use for <code>:buffering</code>, but that is hard to showcase in a Pen.</p>\n",
      "date_published": "2026-10-23T04:16:40.050284Z",
      "date_modified": "2026-10-23T04:47:54.43175Z"
    },
    {
      "id": "https://vale.rocks/demos/01a157d4-ebe1-7899-93f0-ba7d67239792",
      "url": "https://vale.rocks/demos/01a157d4-ebe1-7899-93f0-ba7d67239792",
      "title": "Npmx Embed Web Component Demo",
      "image": "https://01a157d4-ebe1-7899-93f0-ba7d67239792.codepen.dev/.codepen/screenshots/1d431be0f5edcc3503b4636b3667706685a799b54827d990c4b598cc10c00d5b/1280.jpg",
      "content_html": "\n\t\t\t<p>Demo of my npmx-embed web component which allows embedding details from an npm package on web pages.</p>\n<p><a href=\"https://tangled.org/vale.rocks/npmx-embed\">https://tangled.org/vale.rocks/npmx-embed</a></p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/01a157d4-ebe1-7899-93f0-ba7d67239792\"><img src=\"https://01a157d4-ebe1-7899-93f0-ba7d67239792.codepen.dev/.codepen/screenshots/1d431be0f5edcc3503b4636b3667706685a799b54827d990c4b598cc10c00d5b/800.jpg\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Demo of my npmx-embed web component which allows embedding details from an npm package on web pages.</p>\n<p><a href=\"https://tangled.org/vale.rocks/npmx-embed\">https://tangled.org/vale.rocks/npmx-embed</a></p>\n",
      "date_published": "2026-10-20T05:47:34.129093Z",
      "date_modified": "2026-10-20T07:48:40.85071Z"
    },
    {
      "id": "https://vale.rocks/demos/01a0cc71-09b7-71af-8773-568b96a6a7d5",
      "url": "https://vale.rocks/demos/01a0cc71-09b7-71af-8773-568b96a6a7d5",
      "title": "Simple Scroll Triggered Animation",
      "image": "https://01a0cc71-09b7-71af-8773-568b96a6a7d5.codepen.dev/.codepen/screenshots/dffe648c1845ff48ffa661743da19843c8c18524bd1738d9737ff94e7b22a060/1280.jpg",
      "content_html": "\n\t\t\t\n\t\t\t<p><a href=\"https://vale.rocks/demos/01a0cc71-09b7-71af-8773-568b96a6a7d5\"><img src=\"https://01a0cc71-09b7-71af-8773-568b96a6a7d5.codepen.dev/.codepen/screenshots/dffe648c1845ff48ffa661743da19843c8c18524bd1738d9737ff94e7b22a060/800.jpg\" alt=\"\"></a></p>\n\t\t",
      "date_published": "2026-09-23T04:05:55.405926Z",
      "date_modified": "2026-09-23T04:11:42.70606Z"
    },
    {
      "id": "https://vale.rocks/demos/01a0cc65-6860-7c5c-8967-fcd5180754b3",
      "url": "https://vale.rocks/demos/01a0cc65-6860-7c5c-8967-fcd5180754b3",
      "title": "Simple Scroll Driven Animation",
      "image": "https://01a0cc65-6860-7c5c-8967-fcd5180754b3.codepen.dev/.codepen/screenshots/dab6d928466de7fdb15ff6fd33beed159ef34691916755028afd144c196a86a7/1280.jpg",
      "content_html": "\n\t\t\t\n\t\t\t<p><a href=\"https://vale.rocks/demos/01a0cc65-6860-7c5c-8967-fcd5180754b3\"><img src=\"https://01a0cc65-6860-7c5c-8967-fcd5180754b3.codepen.dev/.codepen/screenshots/dab6d928466de7fdb15ff6fd33beed159ef34691916755028afd144c196a86a7/800.jpg\" alt=\"\"></a></p>\n\t\t",
      "date_published": "2026-09-23T03:54:02.857454Z",
      "date_modified": "2026-09-23T04:00:35.542509Z"
    },
    {
      "id": "https://vale.rocks/demos/01a0cc08-ff54-7c40-a44f-41316eaf7a5a",
      "url": "https://vale.rocks/demos/01a0cc08-ff54-7c40-a44f-41316eaf7a5a",
      "title": "Material You Dynamic Palette with color-mix()",
      "image": "https://01a0cc08-ff54-7c40-a44f-41316eaf7a5a.codepen.dev/.codepen/screenshots/5a145dbdfeb9abdd3026dde8bad28c25261741f576b52a93da8cf9645ad8e4e2/1280.jpg",
      "content_html": "\n\t\t\t\n\t\t\t<p><a href=\"https://vale.rocks/demos/01a0cc08-ff54-7c40-a44f-41316eaf7a5a\"><img src=\"https://01a0cc08-ff54-7c40-a44f-41316eaf7a5a.codepen.dev/.codepen/screenshots/5a145dbdfeb9abdd3026dde8bad28c25261741f576b52a93da8cf9645ad8e4e2/800.jpg\" alt=\"\"></a></p>\n\t\t",
      "date_published": "2026-09-23T02:15:18.835189Z",
      "date_modified": "2026-09-23T02:20:34.692535Z"
    },
    {
      "id": "https://vale.rocks/demos/01a01740-b88b-7a4b-8aff-9250ad37e4e7",
      "url": "https://vale.rocks/demos/01a01740-b88b-7a4b-8aff-9250ad37e4e7",
      "title": "Grouped VCA Faders-style Volume Slider",
      "image": "https://01a01740-b88b-7a4b-8aff-9250ad37e4e7.codepen.dev/.codepen/screenshots/b8f8a59fbb729a4403b6fbbd14dbbba65c69419af62610a6252528d66bce26ea/1280.jpg",
      "content_html": "\n\t\t\t<p>Grouped VCA faders allow controlling multiple faders (audio sliders) simultaneously while maintaining the relative value of each slider. This is a pattern commonly seen on physical audio mixing desks.</p>\n<p>The master slider can be used to reduce the volume of all channels at once, so that you don&#8217;t need to individual scale down each channel&#8217;s volume just to increase one channel&#8217;s volume. The main place I can see such a system being applied is in video game settings interfaces.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/01a01740-b88b-7a4b-8aff-9250ad37e4e7\"><img src=\"https://01a01740-b88b-7a4b-8aff-9250ad37e4e7.codepen.dev/.codepen/screenshots/b8f8a59fbb729a4403b6fbbd14dbbba65c69419af62610a6252528d66bce26ea/800.jpg\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Grouped VCA faders allow controlling multiple faders (audio sliders) simultaneously while maintaining the relative value of each slider. This is a pattern commonly seen on physical audio mixing desks.</p>\n<p>The master slider can be used to reduce the volume of all channels at once, so that you don&#8217;t need to individual scale down each channel&#8217;s volume just to increase one channel&#8217;s volume. The main place I can see such a system being applied is in video game settings interfaces.</p>\n",
      "date_published": "2026-08-19T00:05:16.857605Z",
      "date_modified": "2026-08-19T00:24:21.138801Z"
    },
    {
      "id": "https://vale.rocks/demos/019ff953-590a-7af0-8d5d-d8c93c03b7ec",
      "url": "https://vale.rocks/demos/019ff953-590a-7af0-8d5d-d8c93c03b7ec",
      "title": "Blockquotes With The Cite Attribute",
      "image": "https://019ff953-590a-7af0-8d5d-d8c93c03b7ec.codepen.dev/.codepen/screenshots/a274bc24ff0fc8759d428c8d7bbf88dc445b08b9ba973fda207c1e68bfa9ce07/1280.jpg",
      "content_html": "\n\t\t\t<p>Using HTML&#8217;s <code>cite</code> attribute with the <code>::after</code> pseudo-element to display the source of a blockquote on a page without additional markup.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/019ff953-590a-7af0-8d5d-d8c93c03b7ec\"><img src=\"https://019ff953-590a-7af0-8d5d-d8c93c03b7ec.codepen.dev/.codepen/screenshots/a274bc24ff0fc8759d428c8d7bbf88dc445b08b9ba973fda207c1e68bfa9ce07/800.jpg\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Using HTML&#8217;s <code>cite</code> attribute with the <code>::after</code> pseudo-element to display the source of a blockquote on a page without additional markup.</p>\n",
      "date_published": "2026-08-13T04:57:59.724511Z",
      "date_modified": "2026-08-13T05:05:11.130838Z"
    },
    {
      "id": "https://vale.rocks/demos/019fe98c-2d9b-71e4-849d-726543589635",
      "url": "https://vale.rocks/demos/019fe98c-2d9b-71e4-849d-726543589635",
      "title": "Light/Dark/System Theme Setting",
      "image": "https://019fe98c-2d9b-71e4-849d-726543589635.codepen.dev/.codepen/screenshots/a66b6d43ae51bacf46d0f63d0f8d1067b69fed939d75871845eaea9d5a99d21d/1280.jpg",
      "content_html": "\n\t\t\t<p>This is a light/dark theme switch with three states. It defaults to the system theme setting. Pressing light forces light mode. Pressing dark forces dark mode. Pressing the active setting again returns to the system preference.</p>\n<p>Further details on this approach: <a href=\"https://vale.rocks/micros/20260810-0330\">https://vale.rocks/micros/20260810-0330</a></p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/019fe98c-2d9b-71e4-849d-726543589635\"><img src=\"https://019fe98c-2d9b-71e4-849d-726543589635.codepen.dev/.codepen/screenshots/a66b6d43ae51bacf46d0f63d0f8d1067b69fed939d75871845eaea9d5a99d21d/800.jpg\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>This is a light/dark theme switch with three states. It defaults to the system theme setting. Pressing light forces light mode. Pressing dark forces dark mode. Pressing the active setting again returns to the system preference.</p>\n<p>Further details on this approach: <a href=\"https://vale.rocks/micros/20260810-0330\">https://vale.rocks/micros/20260810-0330</a></p>\n",
      "date_published": "2026-08-10T02:42:46.285345Z",
      "date_modified": "2026-08-18T09:40:09.948604Z"
    },
    {
      "id": "https://vale.rocks/demos/JoExxRJ",
      "url": "https://vale.rocks/demos/JoExxRJ",
      "title": ":has next-sibling combinator demo",
      "image": "https://shots.codepen.io/username/pen/JoExxRJ-1280.jpg?version=1785990082",
      "content_html": "\n\t\t\t\n\t\t\t<p><a href=\"https://vale.rocks/demos/JoExxRJ\"><img src=\"https://shots.codepen.io/username/pen/JoExxRJ-800.jpg?version=1785990082\" alt=\"\"></a></p>\n\t\t",
      "date_published": "2026-08-06T04:20:51.318818Z",
      "date_modified": "2026-08-06T04:21:22.624091Z"
    },
    {
      "id": "https://vale.rocks/demos/pvRGqeQ",
      "url": "https://vale.rocks/demos/pvRGqeQ",
      "title": "Simple Popover Demo",
      "image": "https://shots.codepen.io/username/pen/pvRGqeQ-1280.jpg?version=1785983772",
      "content_html": "\n\t\t\t<p>Simple demonstration of a basic popover.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/pvRGqeQ\"><img src=\"https://shots.codepen.io/username/pen/pvRGqeQ-800.jpg?version=1785983772\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Simple demonstration of a basic popover.</p>\n",
      "date_published": "2026-08-06T01:55:21.49809Z",
      "date_modified": "2026-08-06T02:36:12.068397Z"
    },
    {
      "id": "https://vale.rocks/demos/PwWVOzP",
      "url": "https://vale.rocks/demos/PwWVOzP",
      "title": "Simple @scope Demos",
      "image": "https://shots.codepen.io/username/pen/PwWVOzP-1280.jpg?version=1785916143",
      "content_html": "\n\t\t\t\n\t\t\t<p><a href=\"https://vale.rocks/demos/PwWVOzP\"><img src=\"https://shots.codepen.io/username/pen/PwWVOzP-800.jpg?version=1785916143\" alt=\"\"></a></p>\n\t\t",
      "date_published": "2026-08-05T07:49:03.205017Z",
      "date_modified": "2026-08-05T07:49:03.205017Z"
    },
    {
      "id": "https://vale.rocks/demos/WbRPZvq",
      "url": "https://vale.rocks/demos/WbRPZvq",
      "title": "sibling-count() dynamic list spacing",
      "image": "https://shots.codepen.io/username/pen/WbRPZvq-1280.jpg?version=1785914841",
      "content_html": "\n\t\t\t<p>Dynamically space out the items in a list using sibling-count()</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/WbRPZvq\"><img src=\"https://shots.codepen.io/username/pen/WbRPZvq-800.jpg?version=1785914841\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Dynamically space out the items in a list using sibling-count()</p>\n",
      "date_published": "2026-08-05T05:26:19.262414Z",
      "date_modified": "2026-08-05T07:27:21.4196Z"
    },
    {
      "id": "https://vale.rocks/demos/rajvbBd",
      "url": "https://vale.rocks/demos/rajvbBd",
      "title": "text-box-trim Demo",
      "image": "https://shots.codepen.io/username/pen/rajvbBd-1280.jpg?version=1785983064",
      "content_html": "\n\t\t\t<p>A display of the various <code>text-box-trim</code> values.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/rajvbBd\"><img src=\"https://shots.codepen.io/username/pen/rajvbBd-800.jpg?version=1785983064\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>A display of the various <code>text-box-trim</code> values.</p>\n",
      "date_published": "2026-07-16T03:20:20.700173Z",
      "date_modified": "2026-08-06T02:24:24.475882Z"
    },
    {
      "id": "https://vale.rocks/demos/019f1bb1-b2cc-7ad8-9dea-329cba5724d6",
      "url": "https://vale.rocks/demos/019f1bb1-b2cc-7ad8-9dea-329cba5724d6",
      "title": "FixCSS Demonstration",
      "image": "https://019f1bb1-b2cc-7ad8-9dea-329cba5724d6.codepen.dev/.codepen/screenshots/608214817d32906e6248fc4dfe95251a49c994c215fe3b415c39bab89c5b17ae/1280.jpg",
      "content_html": "\n\t\t\t<p>Demo of a library that fixes the mistakes the CSSWG have identified in the design of CSS to show what should have been.</p>\n<p><a href=\"https://tangled.org/vale.rocks/FixCSS\">https://tangled.org/vale.rocks/FixCSS</a></p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/019f1bb1-b2cc-7ad8-9dea-329cba5724d6\"><img src=\"https://019f1bb1-b2cc-7ad8-9dea-329cba5724d6.codepen.dev/.codepen/screenshots/608214817d32906e6248fc4dfe95251a49c994c215fe3b415c39bab89c5b17ae/800.jpg\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Demo of a library that fixes the mistakes the CSSWG have identified in the design of CSS to show what should have been.</p>\n<p><a href=\"https://tangled.org/vale.rocks/FixCSS\">https://tangled.org/vale.rocks/FixCSS</a></p>\n",
      "date_published": "2026-07-01T04:02:58.68777Z",
      "date_modified": "2026-10-20T05:46:40.38843Z"
    },
    {
      "id": "https://vale.rocks/demos/ZYLeywa",
      "url": "https://vale.rocks/demos/ZYLeywa",
      "title": "3D Globe (No JavaScript)",
      "image": "https://shots.codepen.io/username/pen/ZYLeywa-1280.jpg?version=1782019499",
      "content_html": "\n\t\t\t\n\t\t\t<p><a href=\"https://vale.rocks/demos/ZYLeywa\"><img src=\"https://shots.codepen.io/username/pen/ZYLeywa-800.jpg?version=1782019499\" alt=\"\"></a></p>\n\t\t",
      "date_published": "2026-06-20T11:58:31.572957Z",
      "date_modified": "2026-06-21T05:24:59.998953Z"
    },
    {
      "id": "https://vale.rocks/demos/BypWRox",
      "url": "https://vale.rocks/demos/BypWRox",
      "title": "Ring Sphere (No JavaScript)",
      "image": "https://shots.codepen.io/username/pen/BypWRox-1280.jpg?version=1781947108",
      "content_html": "\n\t\t\t<p>A rotating ring sphere made using only HTML and CSS.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/BypWRox\"><img src=\"https://shots.codepen.io/username/pen/BypWRox-800.jpg?version=1781947108\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>A rotating ring sphere made using only HTML and CSS.</p>\n",
      "date_published": "2026-06-20T09:04:55.39802Z",
      "date_modified": "2026-06-20T09:18:28.290847Z"
    },
    {
      "id": "https://vale.rocks/demos/emJQXOx",
      "url": "https://vale.rocks/demos/emJQXOx",
      "title": "Blobby Navbar Blur",
      "image": "https://shots.codepen.io/username/pen/emJQXOx-1280.jpg?version=1793341241",
      "content_html": "\n\t\t\t<p>Isolated reproduction of the header effect seen at in the original version of the Google Flow website: <a href=\"https://web.archive.org/web/20250520174920/https://labs.google/flow/about\">https://web.archive.org/web/20250520174920/https://labs.google/flow/about</a></p>\n<p>Could be authored cleaner, but this uses the same method as the original.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/emJQXOx\"><img src=\"https://shots.codepen.io/username/pen/emJQXOx-800.jpg?version=1793341241\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Isolated reproduction of the header effect seen at in the original version of the Google Flow website: <a href=\"https://web.archive.org/web/20250520174920/https://labs.google/flow/about\">https://web.archive.org/web/20250520174920/https://labs.google/flow/about</a></p>\n<p>Could be authored cleaner, but this uses the same method as the original.</p>\n",
      "date_published": "2025-11-03T03:09:42.150146Z",
      "date_modified": "2026-10-30T06:20:41.754583Z"
    },
    {
      "id": "https://vale.rocks/demos/WbrgqeL",
      "url": "https://vale.rocks/demos/WbrgqeL",
      "title": "Sci-Fi Clock",
      "image": "https://shots.codepen.io/username/pen/WbrgqeL-1280.jpg?version=1761895792",
      "content_html": "\n\t\t\t<p>Follows normal people date order. HH:MM:SS, DD/MM/YYYY</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/WbrgqeL\"><img src=\"https://shots.codepen.io/username/pen/WbrgqeL-800.jpg?version=1761895792\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Follows normal people date order. HH:MM:SS, DD/MM/YYYY</p>\n",
      "date_published": "2025-10-31T07:29:32.780592Z",
      "date_modified": "2025-10-31T07:29:52.988152Z"
    },
    {
      "id": "https://vale.rocks/demos/NPxLjqX",
      "url": "https://vale.rocks/demos/NPxLjqX",
      "title": "Dots Following Cursor",
      "image": "https://shots.codepen.io/username/pen/NPxLjqX-1280.jpg?version=1761805977",
      "content_html": "\n\t\t\t<p>I&#8217;m forever amazed by how much you can accomplish with so little code. The web is such a powerful platform and canvas is so much fun to experiment with.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/NPxLjqX\"><img src=\"https://shots.codepen.io/username/pen/NPxLjqX-800.jpg?version=1761805977\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>I&#8217;m forever amazed by how much you can accomplish with so little code. The web is such a powerful platform and canvas is so much fun to experiment with.</p>\n",
      "date_published": "2025-10-30T06:30:05.139178Z",
      "date_modified": "2025-10-30T06:32:57.285828Z"
    },
    {
      "id": "https://vale.rocks/demos/jEWpdeR",
      "url": "https://vale.rocks/demos/jEWpdeR",
      "title": "Radio Button Checkboxes",
      "image": "https://shots.codepen.io/username/pen/jEWpdeR-1280.jpg?version=1761731044",
      "content_html": "\n\t\t\t<p>Tune in next time for checkbox radio buttons&#8230;</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/jEWpdeR\"><img src=\"https://shots.codepen.io/username/pen/jEWpdeR-800.jpg?version=1761731044\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Tune in next time for checkbox radio buttons&#8230;</p>\n",
      "date_published": "2025-10-29T09:44:04.459321Z",
      "date_modified": "2025-10-29T09:44:04.459321Z"
    },
    {
      "id": "https://vale.rocks/demos/myVjEPQ",
      "url": "https://vale.rocks/demos/myVjEPQ",
      "title": "Custom Styled Audio Element Without JavaScript",
      "image": "https://shots.codepen.io/username/pen/myVjEPQ-1280.jpg?version=1792739693",
      "content_html": "\n\t\t\t<p>Unfortunately WebKit/Blink only due to the use of vendor prefixed CSS. Doesn&#8217;t work on Safari either, due to forced controls.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/myVjEPQ\"><img src=\"https://shots.codepen.io/username/pen/myVjEPQ-800.jpg?version=1792739693\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Unfortunately WebKit/Blink only due to the use of vendor prefixed CSS. Doesn&#8217;t work on Safari either, due to forced controls.</p>\n",
      "date_published": "2025-10-28T08:17:10.261655Z",
      "date_modified": "2026-10-23T07:14:53.070978Z"
    },
    {
      "id": "https://vale.rocks/demos/ogbyaGw",
      "url": "https://vale.rocks/demos/ogbyaGw",
      "title": "Tiny Colourful Canvas Animation",
      "image": "https://shots.codepen.io/username/pen/ogbyaGw-1280.jpg?version=1761566428",
      "content_html": "\n\t\t\t<p>I made this as brutally small as I could as a bit of a challenge for myself.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/ogbyaGw\"><img src=\"https://shots.codepen.io/username/pen/ogbyaGw-800.jpg?version=1761566428\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>I made this as brutally small as I could as a bit of a challenge for myself.</p>\n",
      "date_published": "2025-10-27T11:49:09.324448Z",
      "date_modified": "2025-10-27T12:00:28.928049Z"
    },
    {
      "id": "https://vale.rocks/demos/WbryGqa",
      "url": "https://vale.rocks/demos/WbryGqa",
      "title": "Two Finger Dial",
      "image": "https://shots.codepen.io/username/pen/WbryGqa-1280.jpg?version=1761465052",
      "content_html": "\n\t\t\t<p>A sorta dial system. My mind goes to the futuristic displays of Minority Report or Iron Man.</p>\n<p>One finger serves as an anchor, while the other rotates around it. Could be cool for volume control or whatsnot.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/WbryGqa\"><img src=\"https://shots.codepen.io/username/pen/WbryGqa-800.jpg?version=1761465052\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>A sorta dial system. My mind goes to the futuristic displays of Minority Report or Iron Man.</p>\n<p>One finger serves as an anchor, while the other rotates around it. Could be cool for volume control or whatsnot.</p>\n",
      "date_published": "2025-10-26T07:38:34.795287Z",
      "date_modified": "2025-10-26T07:50:52.951075Z"
    },
    {
      "id": "https://vale.rocks/demos/bNEMyPG",
      "url": "https://vale.rocks/demos/bNEMyPG",
      "title": "CRT Effect",
      "image": "https://shots.codepen.io/username/pen/bNEMyPG-1280.jpg?version=1761395343",
      "content_html": "\n\t\t\t<p>A simple CRT-ish effect achieved in pure CSS.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/bNEMyPG\"><img src=\"https://shots.codepen.io/username/pen/bNEMyPG-800.jpg?version=1761395343\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>A simple CRT-ish effect achieved in pure CSS.</p>\n",
      "date_published": "2025-10-25T08:42:08.149456Z",
      "date_modified": "2025-10-25T12:29:03.962461Z"
    },
    {
      "id": "https://vale.rocks/demos/xbZjYPr",
      "url": "https://vale.rocks/demos/xbZjYPr",
      "title": "Watercolour Sunset",
      "image": "https://shots.codepen.io/username/pen/xbZjYPr-1280.jpg?version=1785937482",
      "content_html": "\n\t\t\t<p>A sunset with a slightly watercolour look achieved via an SVG filter.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/xbZjYPr\"><img src=\"https://shots.codepen.io/username/pen/xbZjYPr-800.jpg?version=1785937482\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>A sunset with a slightly watercolour look achieved via an SVG filter.</p>\n",
      "date_published": "2025-10-24T12:16:21.801732Z",
      "date_modified": "2026-08-05T13:44:42.621519Z"
    },
    {
      "id": "https://vale.rocks/demos/OPMvGrw",
      "url": "https://vale.rocks/demos/OPMvGrw",
      "title": "Planet Clock New Tab Page",
      "image": "https://shots.codepen.io/username/pen/OPMvGrw-1280.jpg?version=1761211961",
      "content_html": "\n\t\t\t<p>A procedural planet made using Three.js. A clock is also included, making it a fun new tab page in a browser..</p>\n<p>Spacebar generates a new and unique planet.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/OPMvGrw\"><img src=\"https://shots.codepen.io/username/pen/OPMvGrw-800.jpg?version=1761211961\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>A procedural planet made using Three.js. A clock is also included, making it a fun new tab page in a browser..</p>\n<p>Spacebar generates a new and unique planet.</p>\n",
      "date_published": "2025-10-23T09:19:56.893549Z",
      "date_modified": "2025-10-23T09:32:41.272444Z"
    },
    {
      "id": "https://vale.rocks/demos/azdYZRg",
      "url": "https://vale.rocks/demos/azdYZRg",
      "title": "Marquee Text Phasing Effect",
      "image": "https://shots.codepen.io/username/pen/azdYZRg-1280.jpg?version=1761117860",
      "content_html": "\n\t\t\t<p><code>&lt;marquee&gt;</code> truly is so much fun. This effect makes the text stay in place but dissappear and reappear.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/azdYZRg\"><img src=\"https://shots.codepen.io/username/pen/azdYZRg-800.jpg?version=1761117860\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p><code>&lt;marquee&gt;</code> truly is so much fun. This effect makes the text stay in place but dissappear and reappear.</p>\n",
      "date_published": "2025-10-22T07:15:07.643774Z",
      "date_modified": "2025-10-22T07:24:20.136476Z"
    },
    {
      "id": "https://vale.rocks/demos/JoGpvER",
      "url": "https://vale.rocks/demos/JoGpvER",
      "title": "Play Stupid Grids, Win Stupid Prizes",
      "image": "https://shots.codepen.io/username/pen/JoGpvER-1280.jpg?version=1761031490",
      "content_html": "\n\t\t\t<p>Tables are fun. Odd table rendering stuff is funerer.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/JoGpvER\"><img src=\"https://shots.codepen.io/username/pen/JoGpvER-800.jpg?version=1761031490\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Tables are fun. Odd table rendering stuff is funerer.</p>\n",
      "date_published": "2025-10-21T07:24:19.814133Z",
      "date_modified": "2025-10-21T07:24:50.987026Z"
    },
    {
      "id": "https://vale.rocks/demos/vELdLMz",
      "url": "https://vale.rocks/demos/vELdLMz",
      "title": "Ruby Text Hover Effect",
      "image": "https://shots.codepen.io/username/pen/vELdLMz-1280.jpg?version=1760963981",
      "content_html": "\n\t\t\t<p>Excuse the poor Japanese.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/vELdLMz\"><img src=\"https://shots.codepen.io/username/pen/vELdLMz-800.jpg?version=1760963981\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Excuse the poor Japanese.</p>\n",
      "date_published": "2025-10-20T12:39:10.690283Z",
      "date_modified": "2025-10-20T12:39:41.886938Z"
    },
    {
      "id": "https://vale.rocks/demos/ogbpMvv",
      "url": "https://vale.rocks/demos/ogbpMvv",
      "title": "Abstract Table Art",
      "image": "https://shots.codepen.io/username/pen/ogbpMvv-1280.jpg?version=1760854386",
      "content_html": "\n\t\t\t<p>Getting crazy with some table styling (and the ever loved <code>bgcolor</code> attribute) to make a cool, colourful, abstract, thingamabob.</p>\n\n\t\t\t<p><a href=\"https://vale.rocks/demos/ogbpMvv\"><img src=\"https://shots.codepen.io/username/pen/ogbpMvv-800.jpg?version=1760854386\" alt=\"\"></a></p>\n\t\t",
      "summary": "<p>Getting crazy with some table styling (and the ever loved <code>bgcolor</code> attribute) to make a cool, colourful, abstract, thingamabob.</p>\n",
      "date_published": "2025-10-19T06:13:06.768495Z",
      "date_modified": "2025-10-19T06:13:06.768495Z"
    }
  ]
}