id = "mark" name = "mark" homepage = "https://github.com/kovetskiy/mark" description = "A tool for updating Atlassian Confluence pages from Markdown" executables = ["mark"] [dotfiles] # mark's upstream README documents the default user config as # ${HOME}/.config/mark.toml (and says it follows os.UserConfigDir for platform # specific config directories). # https://github.com/kovetskiy/mark#usage 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"]