mit einem Klick
mofa-publish
// Deploy static sites to GitHub Pages or Mac Mini hosting. Triggers: mofa publish, deploy site, publish website, 发布网站, 部署网页, github pages, deploy to mini, host website, 上线, push to pages, mofa deploy, 发布到GitHub.
// Deploy static sites to GitHub Pages or Mac Mini hosting. Triggers: mofa publish, deploy site, publish website, 发布网站, 部署网页, github pages, deploy to mini, host website, 上线, push to pages, mofa deploy, 发布到GitHub.
AI-generated greeting cards as PNG images. Triggers: greeting card, 贺卡, mofa card, mofa 贺卡, make a card, CNY card, New Year card, 新年贺卡, ink-wash card. Generates full-bleed AI artwork via Gemini in various Chinese art styles.
Shared CLI binary for all mofa skills (slides, cards, comic, infographic, video). Not a user-facing skill.
AI-generated comic strips and illustrations. Triggers: comic, manga, xkcd, 漫画, comic strip, 四格漫画, panel comic, illustration strip, snoopy. Generates multi-panel comics via Gemini with optional Qwen-Edit refinement, stitched into a single image.
AI-generated infographics and visual posters. Triggers: infographic, poster, 信息图, 海报, data poster, visual summary, mofa infographic. Generates multi-section infographic via Gemini with optional Qwen-Edit refinement, stitched into a single tall image.
AI-generated visual presentations with full-bleed Gemini images. Triggers: mofa, mofa ppt, mofa deck, slides, 幻灯片, generative slides, build a mofa ppt, 用mofa做PPT, AI deck, 做个PPT, make slides.
Multi-speaker podcast and dialogue generation with TTS voice cloning. Triggers: podcast, 播客, multi-speaker audio, 多人对话, 多人语音, radio show, talk show, 对话生成, 锵锵三人行, 两人对话, 三人对话, voice dialogue, 用XX的声音, 用XX和XX的风格, 声音模仿, 角色对话, 配音.
| name | mofa-publish |
| version | 0.2.0 |
| description | Deploy static sites to GitHub Pages or Mac Mini hosting. Triggers: mofa publish, deploy site, publish website, 发布网站, 部署网页, github pages, deploy to mini, host website, 上线, push to pages, mofa deploy, 发布到GitHub. |
| requires_bins | gh,git,curl,ssh,scp |
| requires_env | null |
Deploys a built static site to GitHub Pages or Mac Mini local hosting. Handles the full workflow: repo creation, branch setup, Pages configuration, file transfer, and verification.
Use the bundled helper for deterministic deployments:
bash mofa-publish/scripts/publish_site.sh \
--site-dir ./docs \
--target github-pages \
--slug 3b1b-calculus \
--repo ymote/3b1b-calculus
| Target | Invocation | URL shape |
|---|---|---|
github-pages | --target github-pages --slug <name> --repo <owner>/<name> | https://<owner>.github.io/<repo-name>/ |
mini | --target mini --slug <name> --mini-host mini1|mini3 | https://crew.ominix.io/sites/<slug>/ |
For GitHub Pages, the public path is derived from the repo name (not slug) — set slug to match the repo basename unless you have a reason not to. Mini deploys land under the Caddy file_server root and need no proxy config for static sites.
The skill ships with deeper references under docs/ — read them on demand:
docs/github-pages.md — full GitHub Pages workflow, setup_ci workflow YAML, onboarding checks.docs/mini.md — Mac Mini steps, all SSH flags (--ssh-key, --ssh-password-env, --ssh-port, --remote-root), host table, troubleshooting.docs/dynamic-apps.md — reverse-proxy shape for dynamic Node apps on Mini, basePath requirements, launchd notes.docs/site-detection.md — pipeline stages, auto-detected output dirs (Quarto/Astro/Next/plain), composability with mofa-site, dual-deploy pattern.mofa_site.slug and the GitHub repo name are not interchangeable — the public URL uses the repo name.scp -r <site_dir>/. (trailing /.) is intentional so dotfiles like .nojekyll are not skipped.file_server path will not work — see docs/dynamic-apps.md.gh CLI (reads ~/.config/gh/hosts.yml).scripts/publish_site.sh — deterministic publish helper.examples/Caddyfile.proxy.example — sample reverse-proxy Caddyfile.