A root configuration file that defines languages that have their own configuration files.
A map of the languages supported to filenames, a structure that separates each language into a separate Tribble file.
Each additional property must conform to the following schema
Type: stringA configuration file for a single language.
The error message when a user doesn't fill out a mandatory field. This is allowed to enable i18n at an arbitrary scale. This field does not support Markdown.
All the workflow in this Tribble instance. Each workflow is a separate contribution experience, and multiple workflows are generally best suited for things like separate products.
Each additional property must conform to the following schema
Type: objectThe components of a workflow.
The endpoints that the user can exit the process from.
Each additional property must conform to the following schema
Type: objectThe possible endpoint types (endpoints are sections that allow the user to exit the contribution process).
A report endpoint, which gives the user a formatted report in Markdown to send to the project.
The text of a button for sending teh user to wherever they'll report the issue. This does not support Markdown.
A URL to send the user to so that they can report the issue. If the platform supports interpolating text to be sent into the URL, you can do so by interpolating %s
into this field.
The preamble text to display before the actual formatted report. Markdown can be used here.
The formatted report. The UI will not allow the user to edit this, but will provide a copy button. Interpolation of form values is allowed here with ${form_id}
syntax. This should be written in the appropriate templating language for your issue reporting system (e.g. Markdown for GitHub issues), and will be displayed as a raw, pre-formatted string.
An instructional endpoint, which tells the user to do something. This supports Markdown.
The section to start on, which must be a valid key in the sections
map.
The sections that the page can make use of.
Each additional property must conform to the following schema
Type: arrayThe possible parts of a section.
Simple text to be displayed to the user. Markdown is supported here, and this will be rendered to HTML to be interpolated into the page.
A progression option for moving to another section.
The name of the section to navigate to. If this is prefixed with endpoint:
, it will navigate to an endpoint instead of a section.
The text to display to the user. This does not support Markdown, as it goes inside an HTML button
.
A form input that the user can fill out. This must have an associated ID, because its value can be referenced later in an endpoint.
Type: objectThe properties of an input element. This needs to be passed around, so it's broken out of the SectionElem
input.
Simple text.
A boolean input.
A multiline text input.
A color picker (only in supported browsers).
A simple text element (default).
A date input.
A datetime input, with no time offset (by UTC has been deprecated at the standard-level).
An email input.
A month input.
A numerical input.
The largest number the user can input.
The smallest number the user can input.
A password input (characters are obfuscated).
A range slider.
The maximum value on the slider.
The minimum value on the slider.
A telephone number input.
A time picker.
A URL input.
A week input.
A select element that provides a dropdown for the user to select a single option.
Whether or not the user can select multiple options.
The options that the user can select from.
The properties for an option for a select element. The text of this MUST NOT contain commas, otherwise all sorts of runtime errors WILL occur!
A select element that simply has a value.
The displayed text of the option. This does not support Markdown.
The default value for the input. If the input is optional, this will be the value used for interpolation. If the input is not optional, this will be the default, which means it will be left as this if the user doesn't fill it in. If a value should be provided, you should make it mandatory and set a default, as optional fields should be assumed to potentially not contain any value (even though they always will if a default value is provided).
If the input is a Select
, this must correspond to an entry in options
.
The input's ID, which can be used to reference its value later for interpolation in a formatted report.
The label for the input. This does not support Markdown.
Whether or not the input is optional.
The title of the page dedicated to this workflow (appears in tabs).