has never been published (Publish, Save Draft etc.)
has been saved as a draft (Publish Draft, etc.)
has been previously published (Republish, Unpublish and Save Draft, etc.)
The one wrinkle is that plugins depend on this button text (hacky yes I know) to determine whether to fire some behaviors. twitter.py checks that action = 'Publish + Tweet' to decide it should automatically tweet.
I'd guess there is a way in HTML to set the action and displayed button text to different values (e.g. value="publish_and_tweet", display="Republish & Tweet"), and only the display text would change in different contexts.
State-sensitive GUI: create/edit GUI always shows publish publish+tweet publish quietly save draft regardless of whether item was already published (should say update update and republish) or a draft (no indication when I view a draft that users can't see it), etc.
Different text if the post:
The one wrinkle is that plugins depend on this button text (hacky yes I know) to determine whether to fire some behaviors. twitter.py checks that
action = 'Publish + Tweet'
to decide it should automatically tweet.I'd guess there is a way in HTML to set the action and displayed button text to different values (e.g. value="publish_and_tweet", display="Republish & Tweet"), and only the display text would change in different contexts.
Suggested by @thedod in https://github.com/thedod/redwind/wiki