Docs tweaks.

This commit is contained in:
WrinklyNinja
2013-10-26 11:38:59 +01:00
parent cc640bfbaf
commit 880f594261
2 changed files with 15 additions and 6 deletions
+12 -4
View File
@@ -105,12 +105,20 @@ h3{
</ul>
<p>Some important points that are more specific to how BOSS uses YAML:
<ul>
<li>BOSS's support for YAML syntax is incomplete. A list of known limitations can be found <a href="https://github.com/WrinklyNinja/yaml-cpp/issues?labels=bug&state=open">here</a>. The only major missing piece is support for merge keys (<code>&lt;&lt;:</code>).
<li>Child data nodes should be indented two spaces from their parents. This isn't a strict requirement, but is the best trade-off between compactness and readability.
<li>Strings should be enclosed in single quotes if they contain any of the following characters: <code>-?:,[]{}#&amp;*!|&gt;"%@`</code>, unless they also contain any single quotes, in which case the string should be enclosed in double quotes instead. This isn't always strictly necessary, but it's better to err on the side of caution. If you really want to only quote strings when absolutely necessary, be sure to check what you write by copy/pasting the whole data structure the string appears into a YAML parser such as <a href="http://yaml-online-parser.appspot.com/">this one</a> and making sure that what it outputs is correct.
<li>Any backslashes or double quotes within a double-quoted string should be escaped with a backslash, ie. <code>"</code> &#x2192; <code>\"</code> and <code>\</code> &#x2192; <code>\\</code>. Note that this doesn't include backslashes that are in quoted sections of a string. For example, <code>condition: not file("meshes\Characters\_1stperson.nif")</code> will work as intended, because the condition string as a whole is not double-quoted. If it was, then the string would have to be <code>condition: "not file(\"meshes\\Characters\\_1stperson.nif\")"</code>.
<li>It's best to avoid using backslashes (except for the purpose of escaping) wherever possible, due to its double meaning. In file paths, a forwardslash can be used instead.
<li>Strings are case-sensitive, apart from file paths, regular expressions and checksums.
<li><em>Merge keys</em> (syntax: <code>&lt;&lt;:</code>) are not supported. This is a limitation of the library BOSS uses for YAML support.
<li>Strings should be enclosed in single quotes if they contain any of the following characters: <code>-?:,[]{}#&amp;*!|&gt;"%@`</code>, unless they also contain any single quotes, in which case the string should be enclosed in double quotes instead. This isn't always strictly necessary, but it's better to err on the side of caution. If you really want to only quote strings when absolutely necessary, be sure to check what you write by copy/pasting the whole data structure the string appears into a YAML parser such as <a href="http://yaml-online-parser.appspot.com/">this one</a> and making sure that what it outputs is correct.
<li>In a double-quoted string, any backslashes and double quotes (excluding those quoting the whole string) need to be escaped with a backlash, ie. <code>"</code> &#x2192; <code>\"</code> and <code>\</code> &#x2192; <code>\\</code>. It's best to avoid using backslashes (except for the purpose of escaping) wherever possible, due to its double meaning. In file paths, a forwardslash can be used instead.
<p>For example, the following condition nodes are all equivalent:
<ul>
<li><code>condition: not file("meshes\Characters\_1stperson.nif")</code>
<li><code>condition: 'not file("meshes\Characters\_1stperson.nif")'</code>
<li><code>condition: "not file(\"meshes\\Characters\\_1stperson.nif\")"</code>
<li><code>condition: not file("meshes/Characters/_1stperson.nif")</code>
<li><code>condition: 'not file("meshes/Characters/_1stperson.nif")'</code>
<li><code>condition: "not file(\"meshes/Characters/_1stperson.nif\")"</code>
</ul>
</ul>
<p>These docs give all example syntax in YAML's least compact representation: you can also use a more compact representation, but make sure that you do not sacrifice readability when doing so.
<p>Some properties of file paths as used by BOSS:
+3 -2
View File
@@ -116,7 +116,7 @@ h3{
<p>BOSS is a plugin load order optimiser for TES IV: Oblivion, TES V: Skyrim, Fallout 3 and Fallout: New Vegas. It is designed to assist mod users in avoiding detrimental conflicts, by automatically calculating a load order that satisfies all plugin dependencies and maximises each plugin's impact on the user's game.
<p>BOSS also provides some load order error checking, including checks for requirements, incompatibilities and cyclic dependencies. In addition, it provides a large number of plugin-specific usage notes, bug warnings and Bash Tag suggestions.
<p>BOSS also provides some load order error checking, including checks for requirements, incompatibilities and cyclic dependencies. In addition, it provides a large number of plugin-specific usage notes, bug warnings and Bash Tag suggestions for Wrye Bash.
<p>While BOSS is able to calculate correct load order positions for the vast majority of plugins using only their content, it cannot do so for all plugins. As such, BOSS provides a mechanism for supplying additional plugin metadata so that it may sort them correctly.
@@ -127,7 +127,8 @@ h3{
<blockquote class="warning">Version 3 is incompatible with earlier versions, which should be removed. Any existing user rules must be manually recreated in BOSS's user interface. Some plugins sorted correctly in v2 may be sorted incorrectly by v3 until their metadata has been recorded. Please <a href="#contrib">notify the team</a> if you observe any load order issues.</blockquote>
<p>BOSS can be installed either using its automated installer or manually. To install BOSS manually:
<p>BOSS requires the <a href="https://www.microsoft.com/visualstudio/eng/downloads#d-vc-redist-expando">
Visual C++ Redistributable for Visual Studio 2013 (x86)</a>. BOSS can be installed either using its automated installer or manually. To install BOSS manually:
<ol>
<li>Extract the downloaded archive to a location of your choice.
</ol>