Reopen published code only for content changes.
This commit is contained in:
@@ -230,6 +230,10 @@ rule UpdateScript {
|
||||
ensures: script.file_path = format("scripts/{slug}.lua", slug: script.slug)
|
||||
ensures: ScriptFileWritten(script)
|
||||
ensures: PreviousScriptFileDeleted(script)
|
||||
if script.status = published and not script_changes_affect_published_output(changes):
|
||||
ensures: script.status = published
|
||||
ensures: ScriptFileWritten(script)
|
||||
-- Keep published frontmatter synchronized for metadata-only and no-op content updates.
|
||||
ensures: script.updated_at = now
|
||||
ensures: script.version = script.version + 1
|
||||
}
|
||||
@@ -237,7 +241,8 @@ rule UpdateScript {
|
||||
rule ReopenPublishedScript {
|
||||
when: UpdateScriptRequested(script, changes)
|
||||
requires: script.status = published
|
||||
requires: script_changes_affect_published_output(changes)
|
||||
requires: changes.content != null
|
||||
requires: changes.content != effective_script_content(script)
|
||||
ensures: script.status = draft
|
||||
}
|
||||
|
||||
|
||||
@@ -135,6 +135,10 @@ rule UpdateTemplate {
|
||||
ensures: template.file_path = format("templates/{slug}.liquid", slug: template.slug)
|
||||
ensures: TemplateFileWritten(template)
|
||||
ensures: PreviousTemplateFileDeleted(template)
|
||||
if template.status = published and not template_changes_affect_rendered_output(changes):
|
||||
ensures: template.status = published
|
||||
ensures: TemplateFileWritten(template)
|
||||
-- Keep published frontmatter synchronized for metadata-only and no-op content updates.
|
||||
ensures: template.updated_at = now
|
||||
ensures: template.version = template.version + 1
|
||||
}
|
||||
@@ -142,7 +146,8 @@ rule UpdateTemplate {
|
||||
rule ReopenPublishedTemplate {
|
||||
when: UpdateTemplateRequested(template, changes)
|
||||
requires: template.status = published
|
||||
requires: template_changes_affect_rendered_output(changes)
|
||||
requires: changes.content != null
|
||||
requires: changes.content != effective_template_content(template)
|
||||
ensures: template.status = draft
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user