diff --git a/docs/BOSS Metadata Syntax.html b/docs/BOSS Metadata Syntax.html index 66cf1125..ffb76d9b 100644 --- a/docs/BOSS Metadata Syntax.html +++ b/docs/BOSS Metadata Syntax.html @@ -73,7 +73,7 @@ h3{
Please test any changes you make before uploading them. One way of doing this is to run BOSS, another is to copy/paste what you've changed into an online parser such as this one, though it won't catch condition syntax errors or non-syntax errors such as having the same file both required and incompatible. -
The root of a metadata file is a key-value map. BOSS will recognise the following keys, none of which are required:
| Key Name | Value Type | Notes
@@ -171,16 +172,16 @@ condition: "file(\"Mart's Monster Mod for OOO.esm\") or file(\"FCOM_Convergence.
File Data Structure-Not to be confused with the structure of the metadata file itself, this structure can be used to hold filenames. It has two forms: the first is a simple string, and the second is a key-value map. All values in the map are strings. + Not to be confused with the structure of the metadata file itself, this structure can be used to hold file paths. It has two forms: the first is a simple string, and the second is a key-value map. All values in the map are strings. The simple form:
where where The map form:
Key Name | Required | Notes
| | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | ✓ | The type string can be one of three keywords, see the table below for their semantics. - | |||||||||||||||||||||
content | ✓ | Either simply a string, or a list of content data structures. If the latter, one of the structures must be for English. + | |||||||||||||||||||||
content | ✓ | Either simply a string, or a list of localised content data structures. If the latter, one of the structures must be for English. | |||||||||||||||||||||
condition | ✗ | A condition string that is evaluated to determine whether the message should be displayed: if it evaluates to true, the message is displayed, otherwise it is not. See Condition Strings for details. |
warnerrorThe content data structure is a key-value map, with all values being strings: +
The localised content data structure is a key-value map, with all values being strings:
| Key Name | Required | Notes |
|---|---|---|
str | ✓ | The actual message content string. URLs in message content strings will be turned into hyperlinks in BOSS's user interface. Recognised URLs are those that start with file:, http: or https:. URLs can be labelled by writing the label after the URL, with a space separating them, and enclosing the URL and label in double quotes.
+ |
str | ✓ | The actual message content string. Double-quoted URLs will be hyperlinked in the BOSS report. See URL Hyperlinking for details. |
lang | ✓ | The language that str is written in, given as an ISO 639-3 language code. The languages BOSS supports are given in Language Codes.
|
BOSS handles messages and languages as follows:
content value is a string, the message will use the string as its content if displayed.
- content value is a list of content structures, then the first structure with a language that matches BOSS's current language will be used as the message's content if displayed. If there are no matches, then the first structure in English will be used.
+ content value is a list of localised content structures, then the first structure with a language that matches BOSS's current language will be used as the message's content if displayed. If there are no matches, then the first structure in English will be used.
Example:
File Hyperlinks may be labelled by writing the label after the URL inside the double quotes, with a space separating the label and URL. If a label is not provided, then the hyperlink will use the URL as its own label.
+ Examples:
+name: "Oscuro's_Oblivion_Overhaul.esm"
+req:
+ - Oblivion.esm # Don't do this, Oblivion.esm is a master of Oscuro's_Oblivion_Overhaul.esm, so BOSS already knows it's required.
+ - name: example.esp
+ display: "http://www.example.com Example Mod"
+ condition: "version(\"Oscuro's_Oblivion_Overhaul.esm\", \"15.0\", ==)"
tag:
- Actors.Spells
- Graphics
@@ -297,10 +303,22 @@ msg:
+http://skyrim.nexusmods.com/mods/19/
or
link: http://steamcommunity.com/sharedfiles/filedetails/?id=87144366
-ver:
+ver:
- 1.3.2c
+URL Hyperlinking
+display strings and message content strings (including the strings in localised content structures) that contain recognised URLs have them displayed as hyperlinks in the BOSS report. Recognised URLs are those that are enclosed in double quotes and that begin with file:, http: or https:.
+"This \"https://en.wikipedia.org/wiki/String_(computer_science) string\" contains a labelled hyperlink."
+would be displayed as
+This string contains a labelled hyperlink.
While
+"This string (see: \"https://en.wikipedia.org/wiki/String_(computer_science)\") contains an unlabelled hyperlink."
+both get displayed as
+
This string (see: https://en.wikipedia.org/wiki/String_(computer_science)) contains an unlabelled hyperlink.+
Condition strings can be used to ensure that data is only acted on by BOSS under certain circumstances. They are very similar to boolean conditional expressions in programming languages such as Python, though more limited. Their EBNF grammar is:
[ negator ], function, { junctor, [ negator ], function } ;