See also https://docs.moodle.org/dev/Page_API for more background about how that blank_page.php is set up
You can also see examples in some themes, such as https://github.com/roelmann/moodle-theme_flexibase/tree/master/pages and also Essential theme (and probably a few others)