id = "biber"
name = "Biber"
homepage = "https://github.com/plk/biber"
description = "Backend processor for BibLaTeX"
executables = ["biber"]
[dotfiles]
paths = [
"~/.biber.conf",
"[configHome]/biber/biber.conf",
"~/Library/biber/biber.conf",
"%APPDATA%/biber.conf",
]
secret = []
[commands]
format = 1
label = "Process bibliography"
description = "Run biber on a .bcf control file, or in tool mode on a datasource. Covers common output and validation options; sorting, encoding and macro options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
revision = "biber 2.14"
evidence = """
biber [options] file[.bcf]
biber [options] --tool <datasource>
--configfile|-g [file]
--debug|-D
--input-directory [directory]
--nolog
--output-directory [directory]
--output-file|-O [file]
--output-format=dot|bibtex|biblatexml|bbl|bblxml
--output-resolve
--quiet|-q
--tool
--validate-datamodel|-V
"""
[[commands.field]]
id = "tool"
label = "Tool mode"
description = "Treat the input as a datasource and write a processed copy instead of a .bbl."
type = "boolean"
option = ["--tool"]
sources = ["help"]
[[commands.field]]
id = "output_format"
label = "Output format"
type = "enum"
option = ["--output-format"]
choices = [
{ value = "dot", label = "DOT" },
{ value = "bibtex", label = "BibTeX" },
{ value = "biblatexml", label = "BibLaTeXML" },
{ value = "bbl", label = "bbl" },
{ value = "bblxml", label = "bblXML" },
]
sources = ["help"]
[[commands.field]]
id = "output_file"
label = "Output file"
type = "path"
option = ["--output-file", "-O"]
path = { kind = "file", role = "output" }
effect = "overwrite"
sources = ["help"]
[[commands.field]]
id = "output_directory"
label = "Output directory"
type = "path"
option = ["--output-directory"]
path = { kind = "directory", role = "output" }
sources = ["help"]
[[commands.field]]
id = "input_directory"
label = "Input directory"
type = "path"
option = ["--input-directory"]
path = { kind = "directory", role = "input" }
sources = ["help"]
[[commands.field]]
id = "configfile"
label = "Config file"
type = "path"
option = ["--configfile", "-g"]
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "resolve"
label = "Resolve xdata, crossrefs and sets in output"
type = "boolean"
option = ["--output-resolve"]
sources = ["help"]
[[commands.field]]
id = "validate"
label = "Validate against data model"
type = "boolean"
option = ["--validate-datamodel", "-V"]
sources = ["help"]
[[commands.field]]
id = "quiet"
label = "Quiet"
type = "boolean"
option = ["--quiet", "-q"]
sources = ["help"]
[[commands.field]]
id = "nolog"
label = "No log file"
type = "boolean"
option = ["--nolog"]
sources = ["help"]
[[commands.field]]
id = "input"
label = "Input (.bcf or datasource)"
type = "path"
position = 0
min = 1
path = { kind = "file", role = "input", must_exist = true }
sources = ["help"]
[[commands.task]]
id = "run"
label = "Process a .bcf file"
fields = ["input", "quiet", "output_directory"]
required = ["input"]
[[commands.task]]
id = "tool"
label = "Convert a datasource (tool mode)"
fields = ["tool", "input", "output_format", "output_file", "resolve"]
required = ["tool", "input"]
set = { tool = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["input", "tool", "output_format", "output_file", "output_directory"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["input_directory", "configfile", "resolve", "validate", "quiet", "nolog"]