This is an automated email from the ASF dual-hosted git repository.

aradzinski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 7a247cc  WIP.
7a247cc is described below

commit 7a247cc8701f301835a0e18a2012fa8bbec8dd7b
Author: Aaron Radzinzski <[email protected]>
AuthorDate: Sat Apr 17 18:10:38 2021 +0300

    WIP.
---
 _data/idl-fns.yml          |  27 ++++++++
 _scss/intent-matching.scss |  13 +++-
 _scss/misc.scss            |   2 +-
 intent-matching.html       | 163 +++++++++++++++++++++++++++++++++++++--------
 4 files changed, 173 insertions(+), 32 deletions(-)

diff --git a/_data/idl-fns.yml b/_data/idl-fns.yml
new file mode 100644
index 0000000..5c6ed57
--- /dev/null
+++ b/_data/idl-fns.yml
@@ -0,0 +1,27 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+fn-token:
+  - name: tok_id
+    sig: <b>tok_id</b>() ⇒ String
+    synopsis: Returns <a class="not-code" target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getId()">token ID</a>
+    desc: Returns <a class="not-code" target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getId()">token ID</a>.
+    usage: |
+      // Result: 'true' if the current token ID is equal to 'my_id'.
+      tok_id() == 'my_id'
+fn-datetime:
+fn-math:
\ No newline at end of file
diff --git a/_scss/intent-matching.scss b/_scss/intent-matching.scss
index abc434d..9e5025a 100644
--- a/_scss/intent-matching.scss
+++ b/_scss/intent-matching.scss
@@ -24,6 +24,10 @@
         margin-top: 0 !important;
     }
 
+    div.card-header {
+        padding: 0 20px !important;
+    }
+
     p.fn-desc, p.fn-usage {
         em {
             font-weight: 600;
@@ -32,8 +36,13 @@
         }
     }
 
-    div.card-header {
-        padding: 0 20px !important;
+    .card-body {
+        background-color: #efefef;
+    }
+
+    span.fn-short-desc {
+        float: right;
+        color: #333;
     }
 
     p.fn-usage {
diff --git a/_scss/misc.scss b/_scss/misc.scss
index 1113453..a4b852b 100644
--- a/_scss/misc.scss
+++ b/_scss/misc.scss
@@ -349,7 +349,7 @@ i.top-link {
 .max-width {
     width: 100%;
 }
-a[target=javadoc] {
+a[target=javadoc]:not(.not-code) {
     font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", 
"Courier New", monospace;
     word-break: keep-all;
     white-space: nowrap !important;
diff --git a/intent-matching.html b/intent-matching.html
index 2b6f3c1..9720bf3 100644
--- a/intent-matching.html
+++ b/intent-matching.html
@@ -591,8 +591,8 @@ id: intent_matching
             </tbody>
         </table>
         <p>
-            Some IDL functions are polymorphic, i.e. they can accept arguments 
of multiple type
-            Encountering other incompatible types will result in a runtime 
error during intent matching. It is
+            Some IDL functions are polymorphic, i.e. they can accept arguments 
and return result of multiple types.
+            Encountering unsupported types will result in a runtime error 
during intent matching. It is
             especially important to watch out for the types when adding 
objects to various metadata containers
             and using that metadata in the IDL expressions.
         </p>
@@ -605,7 +605,7 @@ id: intent_matching
             </p>
         </div>
         <p>
-            IDL functions can be organized into the following groups:
+            IDL functions are organized into the following groups:
         </p>
         <nav>
             <div class="nav nav-tabs" role="tablist">
@@ -624,11 +624,42 @@ id: intent_matching
         <div class="tab-content">
             <div class="tab-pane fade show active" id="fn_token" 
role="tabpanel">
                 <div class="accordion" id="token_fns">
+                    {% for fn in site.data.idl-fns.fn-token %}
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_{{fn.name}}">
+                                    <span><code>{{fn.sig}}</code></span>
+                                    <span 
class="fn-short-desc">{{fn.synopsis}}</span>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_{{fn.name}}" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    {{fn.desc}}
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">{{fn.usage}}</pre>
+                            </div>
+                        </div>
+                    </div>
+                    {% endfor %}
+
+                    <!--
                     <div class="card">
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_id">
-                                    <code><b>tok_id</b>() ⇒ String</code>
+                                    <span>
+                                        <code><b>tok_id</b>() ⇒ String</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getId()">token ID</a>
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -636,7 +667,7 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#getId()">token
 ID.</a>
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getId()">token ID.</a>
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
@@ -652,7 +683,12 @@ id: intent_matching
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_lemma">
-                                    <code><b>tok_lemma</b>() ⇒ String</code>
+                                    <span>
+                                        <code><b>tok_lemma</b>() ⇒ 
String</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getLemma()">token 
lemma</a>
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -660,7 +696,7 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#getLemma()">token
 lemma.</a>
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getLemma()">token 
lemma.</a>
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
@@ -676,7 +712,12 @@ id: intent_matching
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_stem">
-                                    <code><b>tok_stem</b>() ⇒ String</code>
+                                    <span>
+                                        <code><b>tok_stem</b>() ⇒ String</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getStem()">token 
stem</a>
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -684,7 +725,7 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#getStem()">token
 stem.</a>
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getStem()">token 
stem.</a>
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
@@ -700,7 +741,12 @@ id: intent_matching
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_pos">
-                                    <code><b>tok_pos</b>() ⇒ String</code>
+                                    <span>
+                                        <code><b>tok_pos</b>() ⇒ String</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getPos()">token 
PoS</a> tag
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -708,13 +754,13 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#getPos()">token
 POS</a> tag.
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#getPos()">token 
PoS</a> tag.
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
                                 </p>
                                 <pre class="brush:idl">
-                                    // Result: 'true' if the current token POS 
tag is equal to 'NN'.
+                                    // Result: 'true' if the current token PoS 
tag is equal to 'NN'.
                                     tok_pos() == 'NN'
                                 </pre>
                             </div>
@@ -724,7 +770,12 @@ id: intent_matching
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_sparsity">
-                                    <code><b>tok_sparsity</b>() ⇒ 
Boolean</code>
+                                    <span>
+                                        <code><b>tok_sparsity</b>() ⇒ 
Int</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isSpars()">token 
sparsity</a> value
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -732,7 +783,7 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isSpars()">token
 sparsity</a> flag.
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isSpars()">token 
sparsity</a> value.
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
@@ -748,7 +799,12 @@ id: intent_matching
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_unid">
-                                    <code><b>tok_unid</b>() ⇒ String</code>
+                                    <span>
+                                        <code><b>tok_unid</b>() ⇒ String</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns internal <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isSpars()">token 
globally unique ID</a>
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -756,7 +812,7 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns internal <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isSpars()">token
 globally unique ID</a>.
+                                    Returns internal <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isSpars()">token 
globally unique ID</a>.
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
@@ -772,7 +828,12 @@ id: intent_matching
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" 
data-target="#fn_tok_is_abstract">
-                                    <code><b>tok_is_abstract</b>() ⇒ 
Boolean</code>
+                                    <span>
+                                        <code><b>tok_is_abstract</b>() ⇒ 
Boolean</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isAbstract()">token 
abstract</a> flag
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -780,7 +841,7 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isAbstract()">token
 abstract</a> flag.
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isAbstract()">token 
abstract</a> flag.
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
@@ -796,7 +857,12 @@ id: intent_matching
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" 
data-target="#fn_tok_is_bracketed">
-                                    <code><b>tok_is_abstract</b>() ⇒ 
Boolean</code>
+                                    <span>
+                                        <code><b>tok_is_bracketed</b>() ⇒ 
Boolean</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isBracketed()">token 
bracketed</a> flag
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -804,7 +870,7 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isBracketed()">token
 bracketed</a> flag.
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isBracketed()">token 
bracketed</a> flag.
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
@@ -820,7 +886,12 @@ id: intent_matching
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" data-target="#fn_tok_is_direct">
-                                    <code><b>tok_is_direct</b>() ⇒ 
Boolean</code>
+                                    <span>
+                                        <code><b>tok_is_direct</b>() ⇒ 
Boolean</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isDirect()">token 
direct</a> flag
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -828,7 +899,7 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isDirect()">token
 direct</a> flag.
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isDirect()">token 
direct</a> flag.
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
@@ -844,7 +915,12 @@ id: intent_matching
                         <div class="card-header">
                             <h2 class="mb-0">
                                 <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" 
data-target="#fn_tok_is_permutated">
-                                    <code><b>tok_is_direct</b>() ⇒ 
Boolean</code>
+                                    <span>
+                                        <code><b>tok_is_permutated</b>() ⇒ 
Boolean</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isPermutated()">token 
permutated</a> flag
+                                    </span>
                                 </button>
                             </h2>
                         </div>
@@ -852,7 +928,36 @@ id: intent_matching
                             <div class="card-body">
                                 <p class="fn-desc">
                                     <em>Description:</em><br>
-                                    Returns <a target="javadoc" 
href="http://127.0.0.1:4000/apis/latest/org/apache/nlpcraft/model/NCToken.html#isPermutated()">token
 permutated</a> flag.
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isPermutated()">token 
permutated</a> flag.
+                                </p>
+                                <p class="fn-usage">
+                                    <em>Usage:</em><br>
+                                </p>
+                                <pre class="brush:idl">
+                                    // Result: token permutated flag.
+                                    tok_is_permutated()
+                                </pre>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="card">
+                        <div class="card-header">
+                            <h2 class="mb-0">
+                                <button class="btn btn-link btn-block 
text-left" type="button" data-toggle="collapse" 
data-target="#fn_tok_is_english">
+                                    <span>
+                                        <code><b>tok_is_english</b>() ⇒ 
Boolean</code>
+                                    </span>
+                                    <span class="fn-short-desc">
+                                        Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isEnglish()">token 
English</a> detection flag
+                                    </span>
+                                </button>
+                            </h2>
+                        </div>
+                        <div id="fn_tok_is_english" class="collapse" 
data-parent="#token_fns">
+                            <div class="card-body">
+                                <p class="fn-desc">
+                                    <em>Description:</em><br>
+                                    Returns <a class="not-code" 
target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCToken.html#isEnglish()">token 
English</a> detection flag.
                                 </p>
                                 <p class="fn-usage">
                                     <em>Usage:</em><br>
@@ -864,8 +969,8 @@ id: intent_matching
                             </div>
                         </div>
                     </div>
+                    -->
                     <!--
-                        case "tok_is_english" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isEnglish, 1) }) }
                         case "tok_is_freeWord" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isFreeWord, 1) }) }
                         case "tok_is_quoted" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isQuoted, 1) }) }
                         case "tok_is_stopword" ⇒ arg1Tok() match { case x ⇒ 
stack.push(() ⇒ { Z(toToken(x().value).isStopWord, 1) }) }
@@ -1816,9 +1921,9 @@ id: intent_matching
                         Tokens for user-defined elements are more important 
than built-in tokens.
                     </li>
                     <li>
-                        A more specific match has bigger weight. In other 
words, a match that uses token from the conversation
+                        A more specific match has bigger weight. In other 
words, a match that uses a token from the conversation
                         context (i.e short-term-memory) has less weight than a 
match that only uses tokens from the current request. In the same
-                        way older tokens from the conversation produce less 
weight than the younger ones.
+                        way older tokens from the conversation give less 
weight than the more recent ones.
                     </li>
                 </ul>
             </li>
@@ -1828,7 +1933,7 @@ id: intent_matching
         <h2 class="section-title">Intent Callback <a href="#"><i 
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
         <p>
             Whether the intent is defined directly in <code>@NCIntent</code> 
annotation or indirectly via <code>@NCIntentRef</code>
-            annotation - it is always attached to a callback method:
+            annotation - it is always bound to a callback method:
         </p>
         <ul>
             <li>
@@ -1980,7 +2085,7 @@ id: intent_matching
         <p>
             <a target="javadoc" 
href="/apis/latest/org/apache/nlpcraft/model/NCModel.html">NCModel</a> 
interface provides
             several callbacks that are invoked before, during and after intent 
matching. They provide an opportunity to inject
-            user-provided cross-cutting concerns into a standard intent 
matching workflow of NLPCraft. Usage of these callbacks
+            user cross-cutting concerns into a standard intent matching 
workflow of NLPCraft. Usage of these callbacks
             is completely optional, yet they provide convenient joint points 
for logging, statistic collections, security
             audit and validation, explicit conversation context management, 
model metadata updates, and many other aspects
             that may depend on the standard intent matching workflow:

Reply via email to