id = "mark"
name = "mark"
homepage = "https://github.com/kovetskiy/mark"
description = "A tool for updating Atlassian Confluence pages from Markdown"
executables = ["mark"]
[dotfiles]
paths = ["[configHome]/mark.toml"]
secret = []
[[dotfiles.secret_paths]]
file = "[configHome]/mark.toml"
format = "toml"
match = { key_path = ["password"] }
[commands]
format = 1
label = "mark"
description = "Publish markdown files to Confluence. Global options (credentials, base URL, config) and other subcommands are left out; set credentials in the mark config file."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["publish"]
label = "Publish to Confluence"
description = "Compile markdown files into Confluence pages and create or update them."
[[commands.subcommand.source]]
id = "help"
kind = "help"
url = "https://github.com/kovetskiy/mark"
evidence = """ publish publish markdown files to Confluence
--files string, -f string use specified markdown file(s) for converting to html. Supports file globbing patterns (needs to be quoted).
--continue-on-error don't exit if an error occurs while processing a file, continue processing remaining files.
--compile-only show resulting HTML and don't update Confluence page content.
--dry-run resolve page and ancestry, show resulting HTML and exit.
--minor-edit don't send notifications while updating Confluence page.
--space string use specified space key. If the space key is not specified, it must be set in the page metadata.
--parents string A list containing the parents of the document separated by parents-delimiter (default: '/').
--title-from-h1 extract page title from a leading H1 heading.
--drop-h1 don't include the first H1 heading in Confluence output.
--changes-only Avoids re-uploading pages that haven't changed since the last run.
--track-pages Remember which page each file publishes to, so renaming a file or changing its title updates the existing page instead of creating a second one.
--ci run on CI mode. It won't fail if files are not found."""
[[commands.subcommand.field]]
id = "files"
label = "Markdown files"
description = "File path or quoted glob pattern."
type = "string"
option = ["--files", "-f"]
sources = ["help"]
[[commands.subcommand.field]]
id = "space"
label = "Space key"
type = "string"
option = ["--space"]
sources = ["help"]
[[commands.subcommand.field]]
id = "parents"
label = "Parent pages"
description = "Parent page titles separated by /."
type = "string"
option = ["--parents"]
sources = ["help"]
[[commands.subcommand.field]]
id = "dry_run"
label = "Dry run"
type = "boolean"
option = ["--dry-run"]
sources = ["help"]
[[commands.subcommand.field]]
id = "compile_only"
label = "Compile only"
description = "Show the resulting HTML without updating Confluence."
type = "boolean"
option = ["--compile-only"]
sources = ["help"]
[[commands.subcommand.field]]
id = "continue_on_error"
label = "Continue on error"
type = "boolean"
option = ["--continue-on-error"]
sources = ["help"]
[[commands.subcommand.field]]
id = "title_from_h1"
label = "Title from H1"
type = "boolean"
option = ["--title-from-h1"]
sources = ["help"]
[[commands.subcommand.field]]
id = "drop_h1"
label = "Drop first H1"
type = "boolean"
option = ["--drop-h1"]
sources = ["help"]
[[commands.subcommand.field]]
id = "minor_edit"
label = "Minor edit"
description = "Do not send notifications."
type = "boolean"
option = ["--minor-edit"]
sources = ["help"]
[[commands.subcommand.field]]
id = "changes_only"
label = "Changes only"
type = "boolean"
option = ["--changes-only"]
sources = ["help"]
[[commands.subcommand.field]]
id = "track_pages"
label = "Track pages"
type = "boolean"
option = ["--track-pages"]
sources = ["help"]
[[commands.subcommand.field]]
id = "ci"
label = "CI mode"
type = "boolean"
option = ["--ci"]
sources = ["help"]
[[commands.subcommand.task]]
id = "preview"
label = "Preview HTML (no upload)"
set = { compile_only = [true] }
lock = ["compile_only"]
fields = ["files", "compile_only", "title_from_h1", "drop_h1"]
required = ["files"]
[[commands.subcommand.task]]
id = "dry-run"
label = "Dry run"
set = { dry_run = [true] }
lock = ["dry_run"]
fields = ["files", "dry_run", "space", "parents", "changes_only"]
required = ["files"]
[[commands.subcommand.task]]
id = "publish"
label = "Publish pages"
fields = ["files", "space", "parents", "title_from_h1", "minor_edit", "changes_only", "track_pages"]
required = ["files"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["files", "space", "parents", "dry_run", "compile_only"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["continue_on_error", "title_from_h1", "drop_h1", "minor_edit", "changes_only", "track_pages", "ci"]