]> Kevux Git Server - kevux.org-website/commitdiff
Update: Out of date specification documentation.
authorKevin Day <kevin@kevux.org>
Fri, 29 Mar 2024 21:46:40 +0000 (16:46 -0500)
committerKevin Day <kevin@kevux.org>
Fri, 29 Mar 2024 21:46:40 +0000 (16:46 -0500)
Make sure the version dates are present.
Working on this led to the discovery of some bugs in the iki specification that have been fixed in the original source.

documentation/fake/specifications/settings.html
documents/standards/fll/specifications/iki.txt
fll/specifications.html
fll/specifications/fss/fss-000a.html
fll/specifications/iki/iki-0000.html

index 5382889c0befed61aaef26a079ad36ed90d0cb2e..608e99673803e167b4c4b39b5387495eae99e1ae 100644 (file)
               <li><code class="code">path_program_shared</code>: Must be a single valid path.</li>
               <li><code class="code">path_program_static</code>: Must be a single valid path.</li>
               <li><code class="code">path_sources</code>: Must only be a valid directory path or not specified.</li>
+              <li><code class="code">path_sources_headers</code>: Must only be a valid directory path or not specified.</li>
+              <li><code class="code">path_sources_library</code>: Must only be a valid directory path or not specified.</li>
               <li><code class="code">path_sources_object</code>: Must only be a valid directory path or not specified.</li>
+              <li><code class="code">path_sources_program</code>: Must only be a valid directory path or not specified.</li>
+              <li><code class="code">path_sources_script</code>: Must only be a valid directory path or not specified.</li>
               <li><code class="code">preserve_path_headers</code>: Must only be one of <code class="code">yes</code> or <code class="code">no</code>.</li>
               <li><code class="code">process_post</code>: Must contain only a single valid filename.</li>
               <li><code class="code">process_pre</code>: Must contain only a single valid filename.</li>
index 1bc219df985b7eef139f975af1978c6c87ae21fc..a6c4fea1c3b44b9752996c648857f17fad6bf2b8 100644 (file)
@@ -1,7 +1,7 @@
 # fss-0002 iki-0000
 #
 # license open-standard-license-1.0
-# version 2024/01/15
+# version 2024/03/29
 #
 # This file (assumed to be named iki.txt) can be more easily read using the following iki_read commands:
 #   iki_read iki.txt +Q -w -WWW character "'" "'" code '"' '"' italic '"' '"'
@@ -57,35 +57,37 @@ IKI Specifications:
     code:""
 
   Example\:
-    code\:'# fss-000c iki-0000
+    code:'# fss-000c iki-0000
 
     This is my sentence, anything can go here but sometimes I want to italic\:"emphasize some text".
 
-    Other times I want to render a url such as this example url: url\:'http://www.example.com/url with space/'.
+    Other times I want to render a url such as this example url: url\:\'http://www.example.com/url with space/\'.
 
     There are no comments, except for maybe the FSS\:"Featureless Settings Specification" header (which would not resolve to any IKI syntax anyway).
 
     Quotes may be included, such as: code\:"const char *string = \"My \\\"quoted\\\" C string.\";".
 
-    The following italic\:"is escaped to not be treated as IKI data".'
+    The following italic\:"is escaped to not be treated as IKI data".
 
-    The conditionally optional open and close brackets allow for putting a variable directly next to another word character like: [context]\:"strong"this[context]\:"strong".
+    The conditionally optional open and close brackets allow for putting a variable directly next to another word character like: [context]\:"strong"this[context]\:"strong".'
 
   Objects (also called vocabulary or variable name) would be\:
-    1) FSS
-    2) italic
-    3) url
+    1) italic
+    2) url
+    3) FSS
     4) code
-    5) context
+    5) italic
     6) context
+    7) context
 
   Contents (also called variable value) would be\:
-    1.1) Featureless Settings Specification
-    2.1) emphasize some text
-    3.1) http://www.example.com/url with space/
+    1.1) emphasize some text
+    2.1) http://www.example.com/url with space/
+    3.1) Featureless Settings Specification
     4.1) const char *string = "My \"quoted\" C string.";
-    5.1) strong
+    5.1) is escaped to not be treated as IKI data
     6.1) strong
+    7.1) strong
 
   The following are core specifications (each with a common name associated with the specification number)\:
   - fss-0000: Unrestricted
index 116635f6eeeaa6e97c6808cdf679d6eb39e0e3d0..bb938078a6efe6bde47169379199e3774bf5d448 100644 (file)
@@ -378,25 +378,34 @@ Object_2 This is multiple\" Contents and the trailing quote does not need to be
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2024/01/15</code>.
+              </p>
+              <p class="p">
                 IKI is a minimally structured WIKI-like syntax meant to be simpler than WIKI syntax.
               </p>
               <p class="p">
-                The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted code that is associated with the given vocabulary name.
+                The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted value that is associated with the given vocabulary name.
                 The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
-                The variable name is considered the <em class="em">Object</em>.
+                The variable name is considered the <em class="em">Object</em> and is also considered the vocabulary.
                 The variable value is considered the <em class="em">Content</em>.
+                The variable name may be wrapped by a single open bracket, <code class="code">[</code> (<code class="code">U+005B</code>), at the start and a single close bracket, <code class="code">]</code> (<code class="code">U+005D</code>), at the end.
+              </p>
+              <p class="p">
+                The wrapping characters characters are not part of the variable name and must not be contained within a variable name.
+                The wrapping characters do not support escaping.
+                Both wrapping characters must be specified or neither.
               </p>
               <p class="p">
                 The IKI format will use <code class="code">iki-0000</code> to represent an IKI with no explicitly defined vocabulary.
                 Whereas <code class="code">iki-0001</code> and beyond represent a specific IKI vocabulary.
               </p>
               <p class="p">
-                A potential IKI variable name starts on word (or <code class="code">_</code>, <code class="code">-</code>, <code class="code">+</code>) characters.
-                White space and non-word (and non <code class="code">_</code>, <code class="code">-</code>, <code class="code">+</code>) character punctuations may not exist as part of the variable name.
+                A potential IKI variable name starts on word character or one of <code class="code">_</code> (<code class="code">U+005F</code>), <code class="code">-</code> (<code class="code">U+002D</code>), <code class="code">+</code> (<code class="code">U+002B</code>), <code class="code">[</code> (<code class="code">U+005B</code>)).
+                White space, non-word, and non <code class="code">_</code> (<code class="code">U+005F</code>), <code class="code">-</code> (<code class="code">U+002D</code>), <code class="code">+</code> (<code class="code">U+002B</code>)) character punctuations may not exist as part of the variable name.
                 The only Unicode dash-like characters allowed as a "dash" are those intended to connect, such as the Unicode hyphens (<code class="code">U+2010</code> and <code class="code">U+2011</code>).
               </p>
               <p class="p">
-                Any valid IKI data may be escaped to make it treated as non-IKI data by prepending a backslash <code class="code">" before the colon code:</code>:" that is before the opening quote (single or double).
+                Any potential IKI data must be escaped to make it treated as non-IKI data by prepending a backslash <code class="code">\</code> before the colon <code class="code">:</code> that is before the opening quote (single, double, or backtic). Potential IKI data refers to any valid IKI sequence without considering the closing single quote <code class="code">'</code> (<code class="code">U+0027</code>), closing double quote <code class="code">"</code> (<code class="code">U+0022</code>), or closing grave <code class="code">`</code> (<code class="code">U+0060)</code>.
               </p>
               <p class="p">
                 Unicode punctuation connector characters are supported just like <code class="code">_</code>, except when they connect outside the current line (such as <code class="code">U+FE33</code> <code class="code">︳</code>).
@@ -406,14 +415,16 @@ Object_2 This is multiple\" Contents and the trailing quote does not need to be
                 Key:
               </p>
               <ul>
-                  <li><code class="code">\o</code> = any printable word character, including <code class="code">_</code>, <code class="code">-</code>, <code class="code">+</code> (and Unicode equivalents).</li>
-                  <li><code class="code">\c</code> = any character, including white space and non-printing, and any delimited quote (used as the opening quote) or a any quote (undelimited) not used as the opening quote.</li>
-                  <li><code class="code">\q</code> = either a single quote <code class="code">'</code> or a double quote <code class="code">"</code>.</li>
-                  <li><code class="code">\x</code> = any character.</li>
-                  <li><code class="code">\W</code> = any non-word character, discluding <code class="code">_</code>, <code class="code">-</code>, <code class="code">+</code> (and Unicode equivalents).</li>
-                  <li><code class="code">\e</code> = an optional escape sequence of any number of backslashes, such as <code class="code">\</code>.</li>
-                  <li><code class="code">*</code> = zero or more occurrences.</li>
-                  <li><code class="code">~</code> = one or more occurrences, or zero if at start of file.</li>
+                <li><code class="code">\o</code> = any printable word character, including <code class="code">_</code>, <code class="code">-</code>, <code class="code">+</code> (and Unicode equivalents).</li>
+                <li><code class="code">\c</code> = any character, including white space and non-printing, and any delimited quote (used as the opening quote) or a any quote (undelimited) not used as the opening quote.</li>
+                <li><code class="code">\q</code> = either a single quote <code class="code">'</code> (<code class="code">U+0027</code>), a double quote <code class="code">"</code> (<code class="code">U+0022</code>, or a grave <code class="code">`</code> (<code class="code">U+0060</code>).</li>
+                <li><code class="code">\x</code> = any character.</li>
+                <li><code class="code">\W</code> = any non-word character, discluding <code class="code">_</code>, <code class="code">-</code>, <code class="code">+</code> (and Unicode equivalents).</li>
+                <li><code class="code">\e</code> = an optional escape sequence of any number of backslashes, such as <code class="code">\</code>.</li>
+                <li><code class="code">[</code> = a single conditionally optional open bracket, <code class="code">[</code> (<code class="code">U+005B</code>).</li>
+                <li><code class="code">]</code> = a single conditionally optional close bracket, <code class="code">]</code> (<code class="code">U+005D</code>).</li>
+                <li><code class="code">*</code> = zero or more occurrences.</li>
+                <li><code class="code">~</code> = one or more occurrences, or zero if at start of file.</li>
               </ul>
               <p class="p">
                 Before Structure:
@@ -436,30 +447,40 @@ Object_2 This is multiple\" Contents and the trailing quote does not need to be
               <p class="p">
                 Example File:
               </p><pre class="preserve">
-# FSS-000C iki-0000
+# fss-000c iki-0000
+
+This is my sentence, anything can go here but sometimes I want to italic\:"emphasize some text".
 
-This is my sentence, anything can go here but sometimes I want to emphasis:"emphasize some text".
+Other times I want to render a url such as this example url: url\:'http://www.example.com/url with space/'.
 
-Other times I want to render a url such as this example url: url:'http://www.example.com/url with space/'.
+There are no comments, except for maybe the FSS\:"Featureless Settings Specification" header (which would not resolve to any IKI syntax anyway).
 
-There are no comments, except for maybe the FSS header (which would not resolve to any IKI syntax anyway).
+Quotes may be included, such as: code\:"const char *string = \"My \\\"quoted\\\" C string.\";".
 
-Quotes may be included, such as: code:"const char *string = \"My \\\"quoted\\\" C string.\";".
+The following italic\:"is escaped to not be treated as IKI data".
 
-The following emphasis\:"is escaped to not be treated as IKI data".
+The conditionally optional open and close brackets allow for putting a variable directly next to another word character like: [context]\:"strong"this[context]\:"strong".
 </pre>
               <p class="p">
                 Example Results:
               </p><pre class="preserve">
-Objects would be:
-  1) emphasis
+Objects (also called vocabulary or variable name) would be:
+  1) italic
   2) url
-  3) code
+  3) FSS
+  4) code
+  5) italic
+  6) context
+  7) context
 
-Contents would be:
+Contents (also called variable value) would be:
   1.1) emphasize some text
   2.1) http://www.example.com/url with space/
-  3.1) const char *string = "My \"quoted\" C string.";
+  3.1) Featureless Settings Specification
+  4.1) const char *string = "My \"quoted\" C string.";
+  5.1) is escaped to not be treated as IKI data
+  6.1) strong
+  7.1) strong
 </pre>
               <p class="p">
                 The following are core specifications (each with a common name associated with the specification number):
index 26eda2ff733d4c860e481c0faa7018ee0db5e332..1306a1e8caa42cb7493bb1c4f202fffcde68cff8 100644 (file)
@@ -81,7 +81,7 @@
 
             <div class="section-content">
               <p class="p">
-                The version date of this specification is <code class="code">2024/01/15</code>.
+                The version date of this specification is <code class="code">2023/07/14</code>.
               </p>
               <p class="p">
                 This is based off of <code class="code">fss-0001 (Extended)</code>, except the Object is at the end of the line.
index efe3acfbd9989bd503914ba26aecc48f925432ae..d600e4c272e057817e0d26212b2b1495753905d1 100644 (file)
@@ -83,6 +83,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This specification provides no restrictions on the vocabulary.
               </p>
             </div>
@@ -95,9 +98,6 @@
 
             <div class="section-content">
               <p class="p">
-                The version date of this specification is <code class="code">2023/07/14</code>.
-              </p>
-              <p class="p">
                 IKI is a minimally structured WIKI-like syntax meant to be simpler than WIKI syntax.
               </p>
               <p class="p">