Snippets

SNP 001–153

Loosely organized collection of code snippets. Maybe you'll find something useful here.

Showing 20 of 153 snippets

  1. SNP153

    Find the slowest pages in a Stati 2 build

    The metrics count the templates each page really rendered now, and the cache manifest names them.

    11 lines of sh in 2 blocks, 18 lines of explanation.

    #64A stati cmd
  2. SNP152

    Fail CI when a Stati 2 build falls back

    A broken template still exits with 0, and a misspelled include leaves nothing in the page to find. The build log has all of it.

    16 lines of sh in 1 block, 18 lines of explanation.

    #B21 stati ci
  3. SNP151

    Pick a layout per page in Stati 2

    Layout names are looked up from the page's folder now, the same way as includes. And a typo finally gets a warning.

    18 lines of yaml, text and eta in 4 blocks, 19 lines of explanation.

    #594 stati eta
  4. SNP150

    Template helpers in Stati 2

    Stati 1's filters are helpers now, with a config key of their own. And their parameters can have real types.

    20 lines of ts and eta in 2 blocks, 15 lines of explanation.

    #A31 stati eta
  5. SNP149

    Includes with props in Stati 2

    A card component, included by its path. The guard Stati 1 components needed on their first line can go.

    11 lines of eta in 4 blocks, 19 lines of explanation with 3 notes.

    #2B7 stati eta
  6. SNP148

    A page for every tag in Stati

    One [tag].md template, URLs from Stati's slugify, and links that match them.

    21 lines of yaml and eta in 4 blocks, 18 lines of explanation with 4 notes.

    #415 stati eta
  7. SNP147

    Paginate a listing in Stati

    One line of front matter for numbered pages, and a pager built from stati.pagination.

    31 lines of yaml and eta in 2 blocks, 15 lines of explanation with 5 notes.

    #693 stati eta
  8. SNP146

    Design your own link preview card in Stati

    An og.eta that Satori can draw, a font of your own, and the rules it holds you to.

    12 lines of sh, ts and eta in 3 blocks, 14 lines of explanation with 4 notes.

    #924 stati seo
  9. SNP145

    List a section's posts anywhere in Stati

    The newest posts on the home page from one line of front matter, and prev/next links without a hook.

    23 lines of yaml and eta in 3 blocks, 15 lines of explanation with 4 notes.

    #1B3 stati eta
  10. SNP144

    Images in Stati Markdown and layouts

    Where image paths point, what Stati adds to the images, and stati.image() for covers.

    7 lines of md, eta and ts in 3 blocks, 20 lines of explanation with 4 notes.

  11. SNP143

    Trusted certificates for localhost with mkcert

    HTTPS on your dev server without the browser warning, in three commands.

    8 lines of sh and js in 2 blocks, 10 lines of explanation.

    #46B ssl webdev cmd
  12. SNP142

    Wait a second in GDScript

    Pause a function without blocking the game, the Godot 4 way.

    6 lines of gd in 3 blocks, 6 lines of explanation.

    #5B3 godot gamedev
  13. SNP141

    Fail CI when a Stati build falls back

    A broken config, layout or partial still exits with 0. Two greps catch them.

    15 lines of sh in 1 block, 16 lines of explanation with 3 notes.

    #241 stati ci
  14. SNP140

    Create a database user in MariaDB

    One user per application, with only the rights it needs.

    6 lines of sql in 2 blocks, 6 lines of explanation.

    #925 sql mariadb
  15. SNP139

    Tail CloudWatch logs

    Watch a Lambda's logs live, from the terminal, like tail -f.

    3 lines of sh in 3 blocks, 5 lines of explanation.

    #369 aws cmd
  16. SNP138

    Resize images in bulk with ImageMagick

    Shrink a folder of photos for the web in one command.

    3 lines of sh in 2 blocks, 10 lines of explanation with 4 notes.

  17. SNP137

    Read and write JSON in Python

    The json module, with the two options that make the output readable.

    11 lines of py in 1 block, 5 lines of explanation.

    #694 python
  18. SNP136

    Open WSL folders in Explorer and the other way around

    Moving between the Linux and the Windows side without copying files.

    3 lines of sh in 3 blocks, 9 lines of explanation.

    #A51 wsl windows cmd
  19. SNP135

    Different config for dev and production in Stati

    getEnv() knows which command is running. NODE_ENV doesn't.

    16 lines of ts in 1 block, 12 lines of explanation with 4 notes.

  20. SNP134

    LLM prompt for generating test cases

    Get the edge cases you didn't think of, in your own test framework.

    18 lines of md in 1 block, 2 lines of explanation.

    #3B5 llm prompt