exp:expstaticgithub
Available since Exponential 6.0.15 (in development, not in a release yet).
Summary
Set a static publishing target up on GitHub (the repository, GitHub Pages from the branch or Actions, the custom domain, HTTPS), show its state there, or sign in with GitHub
Usage
./console exp:expstaticgithub [options]php bin/php/expstaticgithub.php [options]./console exp:static:github [options]
Aliases
exp:static:github
Help
The output of ./console help exp:expstaticgithub (the script run with --help), without the standard options:
Usage: bin/php/expstaticgithub.php [OPTION]... [ACTION] [TARGET]GitHub for a static publishing targetsetup creates the repository when asked (--create-repo, public unless --private), switches GitHub Pageson from the target's branch and folder or from GitHub Actions, and sets the custom domain and HTTPS.status shows the repository, GitHub Pages and the state of the last Pages build. Both sign in with thetarget's Credential (token: or app:). signin signs a user in with GitHub (an OAuth App's device flow,[StaticPublishSettings] GitHubOAuthClientId) and keeps the token as the secret --secret. ./console exp:static:github setup github-public --create-repo./console exp:static:github setup github-public --pages=actions --plan./console exp:static:github status github-public./console exp:static:github signin --secret=github_pages_token Options: --create-repo setup: create the repository when it does not exist (empty; the first publish fills it) --public With --create-repo: a public repository (the default; GitHub Pages on a free plan needs one) --private With --create-repo: a private repository (GitHub Pages serves it only on a paid plan) --pages=VALUE setup: branch or actions instead of the target's Delivery, or off to leave GitHub Pages as it is --domain=VALUE setup: this custom domain instead of the target's CustomDomain (none removes it) --no-https setup: do not enforce HTTPS for the custom domain --plan setup: only say what would be done, change nothing --client-id=VALUE signin: the client id of the OAuth App (default [StaticPublishSettings] GitHubOAuthClientId) --secret=VALUE signin: the name of the secret the token is kept as (Setup > Secrets); the target names it as Credential=token:<secret> --format=VALUE text (default) or json (the machine output exp-static/1)
Options
| Option | Value | Description |
|---|---|---|
| --create-repo | - | setup: create the repository when it does not exist (empty; the first publish fills it) |
| --public | - | With --create-repo: a public repository (the default; GitHub Pages on a free plan needs one) |
| --private | - | With --create-repo: a private repository (GitHub Pages serves it only on a paid plan) |
| --pages | required | setup: branch or actions instead of the target's Delivery, or off to leave GitHub Pages as it is |
| --domain | required | setup: this custom domain instead of the target's CustomDomain (none removes it) |
| --no-https | - | setup: do not enforce HTTPS for the custom domain |
| --plan | - | setup: only say what would be done, change nothing |
| --client-id | required | signin: the client id of the OAuth App (default [StaticPublishSettings] GitHubOAuthClientId) |
| --secret | required | signin: the name of the secret the token is kept as (Setup > Secrets); the target names it as Credential=token:<secret> |
| --format | required | text (default) or json (the machine output exp-static/1) |
Arguments
[action][target]Standard options
Every script also takes the standard options of the script framework: --help, --quiet, --siteaccess, --debug, --colors, --no-colors, --logfiles, --no-logfiles, --verbose and --allow-root-user.
Source
bin/php/expstaticgithub.php, kernel/private/classes/commands/expstaticgithub.php
See also
Generated example: exp:expstaticgithub
Added to the reference for Exponential 6.0.15.
Graham Brookins (05/11/2026 10:34 am)
Graham Brookins (05/11/2026 11:20 am)