{source} reads the template and the PHP of a page and shows them as tabs, each file coloured as {highlight} colours it. Because the code is read from the files that run, a page that explains itself can never show a sample that has drifted from what it does. Without a parameter it is the page being rendered - inside a {page}, the page that {page} renders.

files= adds more files after the page's, as a text with commas: a path of the application (_lib/orders.php, _tags/card.pad) or www: followed by a file of the application's www/ directory (www:orders.js). only= shows its files alone. A label carries data-side="server" for a file of the application and "client" for one under www/ - what runs on the server, and what the browser gets.

The tabs are a radio button and a label per file, then a panel per file, and work by CSS alone. The default look is written once a page under :where(), so the page's own CSS wins: style .pad-source, .pad-source > label and .pad-source-panel.

It follows the file rule of {highlight file=}: never a file outside the application or its www/ directory, under _config/ or a dotfile. Such a file, one that is not there, and a page that has neither a template nor PHP are errors.