{
  "path": "/3m57coqoojc2g",
  "site": "at://did:plc:xg2vq45muivyy3xwatcehspu/site.standard.publication/3m3zpxhfl3c2s",
  "$type": "site.standard.document",
  "title": "Dev Log 13: 2025-11-09",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [],
              "plaintext": "Beacon"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Formatters are HARD to implement"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "That's pretty much all I did today, along with a ton of documentation and will probably consume today 🥲"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [],
              "plaintext": "Storm"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 15,
                          "byteStart": 14
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#code"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 102,
                          "byteStart": 85
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#code"
                          }
                        ]
                      }
                    ],
                    "plaintext": "A lot of Go's x packages do so much awesome stuff. Storm has TTY detection thanks to golang.org/x/term "
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 42,
                          "byteStart": 33
                        },
                        "features": [
                          {
                            "uri": "https://towncrier.readthedocs.io/en/stable/tutorial.html",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "Partials: These are sort of like fragments in towncrier and there are commands to build & modify these."
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [],
              "plaintext": "Portfolio"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "I made my personal site open source today. I'm still not sure if I'm ready to make the switch to the new theme."
                  },
                  "children": [
                    {
                      "$type": "pub.leaflet.blocks.unorderedList#listItem",
                      "content": {
                        "$type": "pub.leaflet.blocks.text",
                        "facets": [],
                        "plaintext": "The plan today is to experiment with different font-sizes."
                      },
                      "children": []
                    }
                  ]
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [],
              "plaintext": "VoltX"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "I got some feedback after posting about this on reddit yesterday! The docs are broken and out of date so I have to address that."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "I may plan out a small LSP/extension. Unsure about what language to write it in"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 88,
                    "byteStart": 84
                  },
                  "features": [
                    {
                      "uri": "https://bsky.app/profile/did:plc:xg2vq45muivyy3xwatcehspu/post/3m54v22kmfk25",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "I saw a post on bluesky yesterday discussing markdown slides & leaflet. I commented this and want to document it here to hold myself accountable. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 140,
                          "byteStart": 137
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#code"
                          }
                        ]
                      }
                    ],
                    "plaintext": "Basically, I'd like to create a way to take leaflet & markdown and generate slides on the fly using sections like this one (delimited by ---)."
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.horizontalRule"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 241,
                    "byteStart": 235
                  },
                  "features": [
                    {
                      "uri": "https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "Do you ever have a random conversation with someone and decide to make something out of it? I talked to someone about writing color schemes and quickly walked through my process of going from the base16 spec to TextMate scopes used by VSCode. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://github.com/tinted-theming/home/blob/main/styling.md",
              "$type": "pub.leaflet.blocks.website",
              "title": "home/styling.md at main · tinted-theming/home",
              "description": "Style systems and smart build tooling for crafting high fidelity color schemes and easily using them in all your favorite apps.  - tinted-theming/home",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreih6i67ktvy2mcxbaaf4fvs5qnwor6vbd7edjh5osudzkirdgjhrqa"
                },
                "mimeType": "image/png",
                "size": 39032
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://macromates.com/manual/en/scope_selectors",
              "$type": "pub.leaflet.blocks.website",
              "title": "Scope Selectors — TextMate 1.x Manual",
              "description": "A scope selector is a pattern much like a CSS selector which is matched against the scope of the caret (i.e. current context) and the outcome is either a match or a non-match (see also: ranking matches further down).",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreid26fhrnjhqti7ifig656c4usbj3lvzss2idrep4hfp4fsix37e74"
                },
                "mimeType": "image/png",
                "size": 38887
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "The takeaway for me was to write a tutorial based on what the color scheme I made. I'm still editing it, but I'm excited to share it!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://github.com/desertthunder/verdant-vscode-theme",
              "$type": "pub.leaflet.blocks.website",
              "title": "GitHub - desertthunder/verdant-vscode-theme: A minty green color theme for vscode",
              "description": "A minty green color theme for vscode. Contribute to desertthunder/verdant-vscode-theme development by creating an account on GitHub.",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreietiipi3pojte4bs7i3p35mwe3fp7bbgc472xavcjmuxhtcg25lfm"
                },
                "mimeType": "image/png",
                "size": 26460
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          }
        ]
      }
    ]
  },
  "bskyPostRef": {
    "cid": "bafyreidhvs7uvb7rzipjvtfurkuv6ayfjw44rejw5gzsh3ltfnqw3kwuma",
    "uri": "at://did:plc:xg2vq45muivyy3xwatcehspu/app.bsky.feed.post/3m57coxcqnk2g",
    "commit": {
      "cid": "bafyreieqkylfzo6rsonva4yjolxbkb4fay6mgjq6g3zsm44watniqmusjq",
      "rev": "3m57coxf52u26"
    },
    "validationStatus": "valid"
  },
  "description": "Is my life just walking along abstract syntax trees now?",
  "publishedAt": "2025-11-09T14:23:42.785Z"
}