Skip to content

feat(static-site): give FlyWP the site URLs and a content change log - #29

Merged
itsrafsanjani merged 7 commits into
developfrom
feature/static-site
Oct 1, 2026
Merged

itsrafsanjani merged 7 commits into
developfrom
feature/static-site

Conversation

@itsrafsanjani

Copy link
Copy Markdown
Member

Summary

  • FlyWP can publish a static HTML copy of a WordPress site.
  • This plugin does not build the copy. FlyWP builds and publishes it.
  • The plugin gives FlyWP two things:
    • The list of public URLs of the site.
    • A log of content changes, so FlyWP can build only the changed pages.

WP-CLI commands

  • wp flywp static site --output=<file> [--mode=full|incremental] [--origin-url=<url>]
    • Writes the site data as JSON to the output file.
    • Mode incremental also includes the change set.
    • The URLs in the file are on the origin URL. The default is the home URL.
    • A URL that is not valid UTF-8 is dropped. The command writes a warning to STDERR.
  • wp flywp static changes clear --file=<file>
    • Reads the change file that FlyWP wrote. --file=- reads STDIN.
    • Adds a change row for each URL that FlyWP must try again.
    • Deletes the change rows that the build used.
  • Both commands write JSON lines to STDOUT and all other output to STDERR.
  • Both commands run without a FlyWP API key.

Change log

  • The plugin creates the change log table on activation and on a version change.
  • The plugin records changes only when the option flywp_static_enabled is 1.
  • URL changes: post status, post save, post delete, term edit, term delete, approved comment.
  • Global changes: theme, customizer, menus, widgets, plugin activation, permalinks, blogname, blogdescription, home, siteurl.
  • A global change makes the next build a full build.

Version

  • 1.8.0 in the plugin header, composer.json, package.json and readme.txt.

Tests

  • 103 tests, 270 assertions pass.

@itsrafsanjani
itsrafsanjani merged commit 5c36c68 into develop Oct 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant