|
1 | | -# Contributing to the LiveCode Dictionary |
| 1 | +# Contributing to LiveCode Documentation |
2 | 2 |
|
3 | | -*Note this document is specifically about contributing to the documentation of LiveCode. |
4 | | -If you are looking for a general guide to contributing to the LiveCode source, see the |
| 3 | +*Note this document is specifically about contributing to the |
| 4 | +documentation of LiveCode. If you are looking for a general guide to |
| 5 | +contributing to the LiveCode source, see the |
5 | 6 | [toplevel CONTRIBUTING.md document](../CONTRIBUTING.md)* |
6 | 7 |
|
7 | | -Have you noticed an error in the documentation? Do you want to add an instructive example? |
8 | | -Or can you explain a concept better than it is currently explained? Please consider submitting |
9 | | -your proposed changes directly to the livecode repo on GitHub. |
| 8 | +Have you noticed an error in the documentation? Do you want to add an |
| 9 | +instructive example? Or can you explain a concept better than it is |
| 10 | +currently explained? Please consider submitting your proposed changes |
| 11 | +directly to the LiveCode repo on GitHub. |
10 | 12 |
|
11 | | -Before you start, please familiarize yourself with the [documentation format specification](../../../../livecode-ide/blob/develop/Documentation/guides/Extending LiveCode.md#documentation-markup). |
| 13 | +If your changes constitute a substantial rewrite of a dictionary entry, |
| 14 | +please familiarize yourself with the |
| 15 | +[documentation format specification](guides/LiveCode Documentation Format Reference.md). |
12 | 16 |
|
13 | 17 | # Documentation Objectives |
14 | 18 |
|
| 19 | +Our objectives for the LiveCode documentation can be categorised as |
| 20 | +- Completeness |
| 21 | +- Correctness |
| 22 | +- Instructiveness |
| 23 | + |
15 | 24 | ## Completeness |
16 | 25 |
|
| 26 | +In the context of the dictionary, completeness clearly entails the |
| 27 | +documentation of all LiveCode syntax. The most basic form of |
| 28 | +incompleteness is a completely missing dictionary entry. If you intend |
| 29 | +to write a missing dictionary entry, please bear these documentation |
| 30 | +objectives in mind and consult the |
| 31 | +[documentation format specification](guides/LiveCode Documentation Format Reference.md), |
| 32 | + |
| 33 | +The dictionary ought to contain *all* the relevant information about a |
| 34 | +particular piece of LiveCode syntax. Every syntax variant should be |
| 35 | +explained in detail in the description. Some of the most commonly |
| 36 | +missing information in our current dictionary is as follows: |
| 37 | +- Inadequate or missing explanation of a parameter's function |
| 38 | +- Omitted description of side effects, especially when `the result` or |
| 39 | +`it` may be affected |
| 40 | +- Omitted description of the function of optional syntax elements |
| 41 | + |
17 | 42 | ## Correctness |
18 | 43 |
|
19 | | -## Runnable examples |
| 44 | +Correctness of documentation comes in two forms. |
20 | 45 |
|
21 | | -Where possible, the `Example:` elements of the docs should be complete and runnable. |
22 | | -This means that where possible one of the following should apply: |
23 | | - * The example can be copied, pasted into the message box and executed to demonstrate |
24 | | - the functionality being described. |
25 | | - * The example contains commented commands and functions which, can be copied and pasted |
26 | | - into the script of an object, and which when called with appropriate parameters |
27 | | - demonstrates the functionality being described. |
| 46 | +Firstly, the information contained in the descriptions of elements |
| 47 | +should be accurate and up-to-date. Some of our documentation was written |
| 48 | +prior to major developments in both our software and the hardware it |
| 49 | +runs on. |
| 50 | + |
| 51 | +Secondly, dictionary Syntax elements must be correct. The |
| 52 | +[documentation format specification](guides/LiveCode Documentation Format Reference.md) |
| 53 | +contains a description of the Syntax element. |
28 | 54 |
|
| 55 | +Thirdly, the dictionary files must be formatted correctly. This means |
| 56 | +conforming to the aforementioned format reference, and also for |
| 57 | +parameters defined in the Syntax elements to correspond exactly to those |
| 58 | +described later on in the entry. |
| 59 | + |
| 60 | +## Instructiveness |
| 61 | + |
| 62 | +One major objective we have with our documentation is to improve our |
| 63 | +code examples. Where possible, the `Example:` elements of the docs |
| 64 | +should be complete and runnable. |
| 65 | +This means that where possible one of the following should apply: |
| 66 | +-The example can be copied, pasted into the message box and executed to |
| 67 | +demonstrate the functionality being described. |
| 68 | +-The example contains commented commands and functions which, can be |
| 69 | +copied and pasted into the script of an object, and which when called |
| 70 | +with appropriate parameters demonstrates the functionality being |
| 71 | +described. |
29 | 72 |
|
30 | | -In general, the way to ensure this is to use constants where possible, rather than |
31 | | -variables and objects: |
| 73 | +In general, the way to ensure this is to use constants where possible, |
| 74 | +rather than variables and objects: |
32 | 75 |
|
33 | 76 | (Good) |
34 | 77 | `put sentence 1 of "Hello! Is it me you're looking for?" -- output is 'Hello! '` |
@@ -72,21 +115,23 @@ end fibonacciNumber |
72 | 115 |
|
73 | 116 | ## Tags |
74 | 117 |
|
75 | | -Tags are a great way to help users find what they want in the dictionary. However badly |
76 | | -coordinated tags can quickly become a hindrance. Ensure the tag you want to add doesn't |
77 | | -exist already in a slightly different form, and consider starting a dialogue about a new |
78 | | -tag and what entries could be most usefully tagged with it. |
| 118 | +Tags are a great way to help users find what they want in the dictionary. |
| 119 | +However badly coordinated tags can quickly become a hindrance. Ensure |
| 120 | +the tag you want to add doesn't exist already in a slightly different |
| 121 | +form, and consider starting a dialogue about a new tag and what entries |
| 122 | +could be most usefully tagged with it. |
79 | 123 |
|
80 | 124 | # Community Documentation Contribution Process |
81 | 125 |
|
82 | | -After creating an account on GitHub at https://github.com/join, there are three main ways |
83 | | -of submitting pull requests. The first exclusively uses the GitHub website, and is most suitable |
84 | | -for people with no experience of git or other version control systems. |
| 126 | +After creating an account on GitHub at https://github.com/join, there |
| 127 | +are three main ways of submitting pull requests. The first exclusively |
| 128 | +uses the GitHub website, and is most suitable for people with no |
| 129 | +experience of git or other version control systems. |
85 | 130 |
|
86 | 131 | ## Using the GitHub Web Interface |
87 | 132 |
|
88 | | -It is possible to contribute to the LiveCode dictionary using the GitHub website, without |
89 | | -having to download any software or use the command line. |
| 133 | +It is possible to contribute to the LiveCode dictionary using the GitHub |
| 134 | +website, without having to download any software or use the command line. |
90 | 135 |
|
91 | 136 | ### Making your dictionary change |
92 | 137 |
|
|
0 commit comments