You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by fl...@apache.org on 2021/07/26 09:27:32 UTC

svn commit: r1891804 [1/2] - in /tinkerpop/site: ./ gremlint/ gremlint/static/js/ img/

Author: florianhockmann
Date: Mon Jul 26 09:27:32 2021
New Revision: 1891804

URL: http://svn.apache.org/viewvc?rev=1891804&view=rev
Log:
Deploy TinkerPop homepage

Added:
    tinkerpop/site/gremlint/static/js/main.500181c5.chunk.js
    tinkerpop/site/gremlint/static/js/main.500181c5.chunk.js.map
    tinkerpop/site/img/discord_logo.png   (with props)
    tinkerpop/site/img/join_discord.png   (with props)
Modified:
    tinkerpop/site/downloads.html
    tinkerpop/site/gremlin.html
    tinkerpop/site/gremlint/asset-manifest.json
    tinkerpop/site/gremlint/index.html
    tinkerpop/site/index.html
    tinkerpop/site/policy.html
    tinkerpop/site/providers.html

Modified: tinkerpop/site/downloads.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/downloads.html?rev=1891804&r1=1891803&r2=1891804&view=diff
==============================================================================
--- tinkerpop/site/downloads.html (original)
+++ tinkerpop/site/downloads.html Mon Jul 26 09:27:32 2021
@@ -75,16 +75,16 @@ limitations under the License.
                   Documentation <b class="caret"></b>
                   </a>
                   <ul class="dropdown-menu">
-                     <li class="dropdown-header">Latest: 3.5.0 (3-May-2021)</li>
-                     <li><a href="https://tinkerpop.apache.org/docs/current">TinkerPop 3.5.0</a></li>
+                     <li class="dropdown-header">Latest: 3.5.1 (19-July-2021)</li>
+                     <li><a href="https://tinkerpop.apache.org/docs/current">TinkerPop 3.5.1</a></li>
                      <li><a href="https://tinkerpop.apache.org/docs/current/upgrade">Upgrade Information</a></li>
                      <li><a href="https://tinkerpop.apache.org/javadocs/current/core/">Core Javadoc API</a></li>
                      <li><a href="https://tinkerpop.apache.org/javadocs/current/full/">Full Javadoc API</a></li>
                      <li role="separator" class="divider"></li>
-                     <li class="dropdown-header">Maintenance: 3.4.11 (3-May-2021)</li>
-                     <li><a href="https://tinkerpop.apache.org/docs/3.4.11/">TinkerPop 3.4.11</a></li>
-                     <li><a href="https://tinkerpop.apache.org/javadocs/3.4.11/core/">Core Javadoc API</a></li>
-                     <li><a href="https://tinkerpop.apache.org/javadocs/3.4.11/full/">Full Javadoc API</a></li>
+                     <li class="dropdown-header">Maintenance: 3.4.12 (19-July-2021)</li>
+                     <li><a href="https://tinkerpop.apache.org/docs/3.4.12/">TinkerPop 3.4.12</a></li>
+                     <li><a href="https://tinkerpop.apache.org/javadocs/3.4.12/core/">Core Javadoc API</a></li>
+                     <li><a href="https://tinkerpop.apache.org/javadocs/3.4.12/full/">Full Javadoc API</a></li>
                      <li role="separator" class="divider"></li>
                      <li><a href="https://tinkerpop.apache.org/docs/">Documentation Archives</a></li>
                      <li><a href="https://tinkerpop.apache.org/javadocs/">Javadoc Archives</a></li>
@@ -112,6 +112,7 @@ limitations under the License.
                   <ul class="dropdown-menu">
                      <li><a href="https://groups.google.com/group/gremlin-users">User Mailing List</a></li>
                      <li><a href="https://lists.apache.org/list.html?dev@tinkerpop.apache.org">Developer Mailing List</a></li>
+                     <li><a href="https://discord.gg/ndMpKZcBEE" target="_blank"><img src="img/discord_logo.png" class="nav-icon"/>Join us on Discord</a></li>
                      <li><a href="https://issues.apache.org/jira/browse/TINKERPOP/">Issue Tracker</a></li>
                      <li><a href="https://tinkerpop.apache.org/docs/current/dev/developer/#_contributing">Contributing</a></li>
                      <li><a href="providers.html">Providers</a></li>
@@ -166,40 +167,40 @@ limitations under the License.
     <table class="table">
         <tr>
             <td>
-                <strong>3.5.0</strong> (latest, stable)
+                <strong>3.5.1</strong> (latest, stable)
             </td>
             <td>
-                3-May-2021
+                19-July-2021
             </td>
             <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.5.0/CHANGELOG.asciidoc#release-3-5-0">release notes</a> |
-                <a href="https://tinkerpop.apache.org/docs/3.5.0/upgrade/#_tinkerpop_3_5_0">upgrade</a> |
-                <a href="https://tinkerpop.apache.org/docs/3.5.0/">documentation</a> |
-                <a href="#" data-toggle="modal" data-target="#contributors-3_5_0">contributors</a>
+                <a href="https://github.com/apache/tinkerpop/blob/3.5.1/CHANGELOG.asciidoc#release-3-5-1">release notes</a> |
+                <a href="https://tinkerpop.apache.org/docs/3.5.1/upgrade/#_tinkerpop_3_5_1">upgrade</a> |
+                <a href="https://tinkerpop.apache.org/docs/3.5.1/">documentation</a> |
+                <a href="#" data-toggle="modal" data-target="#contributors-3_5_1">contributors</a>
             </td>
             <td align="right">
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.5.0/apache-tinkerpop-gremlin-console-3.5.0-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.5.0/apache-tinkerpop-gremlin-server-3.5.0-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.5.0/apache-tinkerpop-3.5.0-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.5.1/apache-tinkerpop-gremlin-console-3.5.1-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.5.1/apache-tinkerpop-gremlin-server-3.5.1-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.5.1/apache-tinkerpop-3.5.1-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
             </td>
         </tr>
         <tr>
             <td>
-                <strong>3.4.11</strong> (maintenance)
+                <strong>3.4.12</strong> (maintenance)
             </td>
             <td>
-                3-May-2021
+                19-July-2021
             </td>
             <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.4.11/CHANGELOG.asciidoc#release-3-4-11">release notes</a> |
-                <a href="https://tinkerpop.apache.org/docs/3.4.11/upgrade/#_tinkerpop_3_4_11">upgrade</a> |
-                <a href="https://tinkerpop.apache.org/docs/3.4.11/">documentation</a> |
-                <a href="#" data-toggle="modal" data-target="#contributors-3_4_11">contributors</a>
+                <a href="https://github.com/apache/tinkerpop/blob/3.4.12/CHANGELOG.asciidoc#release-3-4-12">release notes</a> |
+                <a href="https://tinkerpop.apache.org/docs/3.4.12/upgrade/#_tinkerpop_3_4_12">upgrade</a> |
+                <a href="https://tinkerpop.apache.org/docs/3.4.12/">documentation</a> |
+                <a href="#" data-toggle="modal" data-target="#contributors-3_4_12">contributors</a>
             </td>
             <td align="right">
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.4.11/apache-tinkerpop-gremlin-console-3.4.11-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.4.11/apache-tinkerpop-gremlin-server-3.4.11-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.4.11/apache-tinkerpop-3.4.11-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.4.12/apache-tinkerpop-gremlin-console-3.4.12-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.4.12/apache-tinkerpop-gremlin-server-3.4.12-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.4.12/apache-tinkerpop-3.4.12-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
             </td>
         </tr>
     </table>
@@ -208,7 +209,9 @@ limitations under the License.
     <div class="form-group row">
         <div class="col-xs-3">
     <select id="dropdownArchives" class="form-control">
-        <option selected="selected">3.4.10 (18-Jan-2021)</option>
+        <option selected="selected">3.5.0 (3-May-2021)</option>
+        <option>3.4.11 (3-May-2021)</option>
+        <option>3.4.10 (18-Jan-2021)</option>
         <option>3.4.9 (7-Dec-2020)</option>
         <option>3.4.8 (3-Aug-2020)</option>
         <option>3.4.7 (1-Jun-2020)</option>
@@ -279,11 +282,63 @@ limitations under the License.
          </tr>
      </table>
     <p><strong>Note</strong> that upgrade documentation was only introduced at 3.1.1-incubating which is why there are no "upgrade" links in versions prior to that one.
+    <p><strong>Note</strong> this page lists official Apache releases only. TinkerPop occasionally produces unofficial binary release candidates (denoted by the suffix "-RC") which are NOT promoted or announced as actual release versions. <i>Such releases are for early development and evaluation purposes only.</i></p>
     <p>As a convenience, TinkerPop also deploys packaged artifacts to the following locations:</p>
-    <p><a href="https://hub.docker.com/u/tinkerpop/">Docker</a> | <a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.tinkerpop%22">Maven Central</a> | <a href="https://pypi.python.org/pypi/gremlinpython/">PyPI</a> | <a href="https://www.npmjs.com/package/gremlin">npm</a> | <a href="https://www.nuget.org/packages/Gremlin.Net/">NuGet</a></p>
-
-     <p><strong>Note</strong> this page lists official Apache releases only. TinkerPop occasionally produces unofficial binary release candidates (denoted by the suffix "-RC") which are NOT promoted or announced as actual release versions. <i>Such releases are for early development and evaluation purposes only.</i></p>
-
+    <table class="table">
+        <tr>
+            <th>Repository</th>
+            <th>Artifacts</th>
+            <th>&nbsp;</th>
+        </tr>
+        <tr>
+            <td><strong>Docker</strong></td>
+            <td>
+                <p><a href="https://hub.docker.com/r/tinkerpop/gremlin-server">Gremlin Server</a></p>
+                <p><a href="https://hub.docker.com/r/tinkerpop/gremlin-console">Gremlin Console</a></p>
+            </td>
+            <td><pre><code>docker pull tinkerpop/gremlin-server
+docker pull tinkerpop/gremlin-console</code></pre></td>
+        </tr>
+        <tr>
+            <td><strong>Maven Central</strong></td>
+            <td><a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.tinkerpop%22">groupId: org.apache.tinkerpop</a></td>
+            <td>
+                <pre><code>&lt;!-- gremlin-driver is a common dependency but there are others --&gt;
+&lt;dependency&gt;
+    &lt;groupId&gt;org.apache.tinkerpop&lt;/groupId&gt;
+    &lt;artifactId&gt;gremlin-driver&lt;/artifactId&gt;
+    &lt;version&gt;3.5.1&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+            </td>
+        </tr>
+        <tr>
+            <td><strong>PyPI</strong></td>
+            <td><a href="https://pypi.python.org/pypi/gremlinpython/">gremlinpython</a></td>
+            <td><pre><code>pip install gremlinpython</code></pre></td>
+        </tr>
+        <tr>
+            <td><strong>npm</strong></td>
+            <td>
+                <p><a href="https://www.npmjs.com/package/gremlin">gremlin</a></p>
+                <p><a href="https://www.npmjs.com/package/gremlint">gremlint</a></p>
+            </td>
+            <td>
+                <pre><code>npm i gremlin
+npm i gremlint</code></pre>
+            </td>
+        </tr>
+        <tr>
+            <td><strong>NuGet</strong></td>
+            <td>
+                <p><a href="https://www.nuget.org/packages/Gremlin.Net/">Gremlin.Net</a></p>
+                <p><a href="https://www.nuget.org/packages/Gremlin.Net.Template/">Gremlin.Net.Template</a></p>
+            </td>
+            <td>
+                <pre><code>dotnet add package Gremlin.Net --version 3.5.1
+dotnet add package Gremlin.Net.template --version 3.5.1</code></pre>
+            </td>
+        </tr>
+    </table>
     <a name="verify"></a>
     <h4>Verifying Downloads</h4>
     <p>All downloads have associated PGP and SHA512 signatures to help verify a distribution provided by a mirror. To verify a distribution via PGP or GPG first download the
@@ -317,6 +372,31 @@ limitations under the License.
  </div>
 
     <!-- Contributor Modals -->
+    <!-- 3.5.1 -->
+    <div class="modal fade" id="contributors-3_5_1" tabindex="-1" role="dialog">
+        <div class="modal-dialog" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+                    <h4 class="modal-title">3.5.1</h4>
+                </div>
+                <div class="modal-body">
+                    <p>Release Manager: Florian Hockmann</p>
+                    <pre><code>$ git shortlog -sn 3.5.0..3.5.1
+    69  Stephen Mallette
+    36  Florian Hockmann
+     9  dependabot[bot]
+     4  oyvindsabo
+     1  Clement de Groc
+     1  Ebrahim</code></pre>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
     <!-- 3.5.0 -->
     <div class="modal fade" id="contributors-3_5_0" tabindex="-1" role="dialog">
         <div class="modal-dialog" role="document">
@@ -355,6 +435,29 @@ limitations under the License.
                 </div>
                 <div class="modal-footer">
                     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <!-- 3.4.12 -->
+    <div class="modal fade" id="contributors-3_4_12" tabindex="-1" role="dialog">
+        <div class="modal-dialog" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+                    <h4 class="modal-title">3.4.12</h4>
+                </div>
+                <div class="modal-body">
+                    <p>Release Manager: Florian Hockmann</p>
+                    <pre><code>$ git shortlog -sn 3.4.11..3.4.12
+    22  Stephen Mallette
+    12  Florian Hockmann
+     1  Clement de Groc
+     1  oyvindsabo</code></pre>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                 </div>
             </div>
         </div>

Modified: tinkerpop/site/gremlin.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/gremlin.html?rev=1891804&r1=1891803&r2=1891804&view=diff
==============================================================================
--- tinkerpop/site/gremlin.html (original)
+++ tinkerpop/site/gremlin.html Mon Jul 26 09:27:32 2021
@@ -75,16 +75,16 @@ limitations under the License.
                   Documentation <b class="caret"></b>
                   </a>
                   <ul class="dropdown-menu">
-                     <li class="dropdown-header">Latest: 3.5.0 (3-May-2021)</li>
-                     <li><a href="https://tinkerpop.apache.org/docs/current">TinkerPop 3.5.0</a></li>
+                     <li class="dropdown-header">Latest: 3.5.1 (19-July-2021)</li>
+                     <li><a href="https://tinkerpop.apache.org/docs/current">TinkerPop 3.5.1</a></li>
                      <li><a href="https://tinkerpop.apache.org/docs/current/upgrade">Upgrade Information</a></li>
                      <li><a href="https://tinkerpop.apache.org/javadocs/current/core/">Core Javadoc API</a></li>
                      <li><a href="https://tinkerpop.apache.org/javadocs/current/full/">Full Javadoc API</a></li>
                      <li role="separator" class="divider"></li>
-                     <li class="dropdown-header">Maintenance: 3.4.11 (3-May-2021)</li>
-                     <li><a href="https://tinkerpop.apache.org/docs/3.4.11/">TinkerPop 3.4.11</a></li>
-                     <li><a href="https://tinkerpop.apache.org/javadocs/3.4.11/core/">Core Javadoc API</a></li>
-                     <li><a href="https://tinkerpop.apache.org/javadocs/3.4.11/full/">Full Javadoc API</a></li>
+                     <li class="dropdown-header">Maintenance: 3.4.12 (19-July-2021)</li>
+                     <li><a href="https://tinkerpop.apache.org/docs/3.4.12/">TinkerPop 3.4.12</a></li>
+                     <li><a href="https://tinkerpop.apache.org/javadocs/3.4.12/core/">Core Javadoc API</a></li>
+                     <li><a href="https://tinkerpop.apache.org/javadocs/3.4.12/full/">Full Javadoc API</a></li>
                      <li role="separator" class="divider"></li>
                      <li><a href="https://tinkerpop.apache.org/docs/">Documentation Archives</a></li>
                      <li><a href="https://tinkerpop.apache.org/javadocs/">Javadoc Archives</a></li>
@@ -112,6 +112,7 @@ limitations under the License.
                   <ul class="dropdown-menu">
                      <li><a href="https://groups.google.com/group/gremlin-users">User Mailing List</a></li>
                      <li><a href="https://lists.apache.org/list.html?dev@tinkerpop.apache.org">Developer Mailing List</a></li>
+                     <li><a href="https://discord.gg/ndMpKZcBEE" target="_blank"><img src="img/discord_logo.png" class="nav-icon"/>Join us on Discord</a></li>
                      <li><a href="https://issues.apache.org/jira/browse/TINKERPOP/">Issue Tracker</a></li>
                      <li><a href="https://tinkerpop.apache.org/docs/current/dev/developer/#_contributing">Contributing</a></li>
                      <li><a href="providers.html">Providers</a></li>

Modified: tinkerpop/site/gremlint/asset-manifest.json
URL: http://svn.apache.org/viewvc/tinkerpop/site/gremlint/asset-manifest.json?rev=1891804&r1=1891803&r2=1891804&view=diff
==============================================================================
--- tinkerpop/site/gremlint/asset-manifest.json (original)
+++ tinkerpop/site/gremlint/asset-manifest.json Mon Jul 26 09:27:32 2021
@@ -1,8 +1,8 @@
 {
   "files": {
     "main.css": "/gremlint/static/css/main.1a75189c.chunk.css",
-    "main.js": "/gremlint/static/js/main.ecfcc9bc.chunk.js",
-    "main.js.map": "/gremlint/static/js/main.ecfcc9bc.chunk.js.map",
+    "main.js": "/gremlint/static/js/main.500181c5.chunk.js",
+    "main.js.map": "/gremlint/static/js/main.500181c5.chunk.js.map",
     "runtime-main.js": "/gremlint/static/js/runtime-main.4d1f60ff.js",
     "runtime-main.js.map": "/gremlint/static/js/runtime-main.4d1f60ff.js.map",
     "static/js/2.4c7835bb.chunk.js": "/gremlint/static/js/2.4c7835bb.chunk.js",
@@ -19,6 +19,6 @@
     "static/js/runtime-main.4d1f60ff.js",
     "static/js/2.4c7835bb.chunk.js",
     "static/css/main.1a75189c.chunk.css",
-    "static/js/main.ecfcc9bc.chunk.js"
+    "static/js/main.500181c5.chunk.js"
   ]
 }
\ No newline at end of file

Modified: tinkerpop/site/gremlint/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/gremlint/index.html?rev=1891804&r1=1891803&r2=1891804&view=diff
==============================================================================
--- tinkerpop/site/gremlint/index.html (original)
+++ tinkerpop/site/gremlint/index.html Mon Jul 26 09:27:32 2021
@@ -1 +1 @@
-<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/gremlint/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><meta name="google-site-verification" content="8rkkiQkZaBwVUAUBxSY6Nj_EBHqCGPEYnEJmlyXuLnw"/><link rel="apple-touch-icon" href="/gremlint/logo192.png"/><link rel="manifest" href="/gremlint/manifest.json"/><title>React App</title><link href="/gremlint/static/css/main.1a75189c.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,i,a=r[0],c=r[1],l=r[2],s=0,p=[];s<a.length;s++)i=a[s],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&p.push(o[i][0]),o[i]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);p.length;)p.shift()();return u.push.apply(u,l||[
 ]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,a=1;a<t.length;a++){var c=t[a];0!==o[c]&&(n=!1)}n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={1:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+"static/js/"+({}[e]||e)+"."+{3:"ba58ae2a"}[e]+".chunk.js"}(e);var c=new Error;u=function(r){a.onerror=a.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:a})}),
 12e4);a.onerror=a.onload=u,document.head.appendChild(a)}return Promise.all(r)},i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="/gremlint/",i.oe=function(e){throw console.error(e),e};var a=this["webpackJsonpgremlint.com"]=this["webpackJsonpgremlint.com"]||[],c=a.push.bind(a);a.push=r,a=a.slice();for(va
 r l=0;l<a.length;l++)r(a[l]);var f=c;t()}([])</script><script src="/gremlint/static/js/2.4c7835bb.chunk.js"></script><script src="/gremlint/static/js/main.ecfcc9bc.chunk.js"></script></body></html>
\ No newline at end of file
+<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/gremlint/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><meta name="google-site-verification" content="8rkkiQkZaBwVUAUBxSY6Nj_EBHqCGPEYnEJmlyXuLnw"/><link rel="apple-touch-icon" href="/gremlint/logo192.png"/><link rel="manifest" href="/gremlint/manifest.json"/><title>React App</title><link href="/gremlint/static/css/main.1a75189c.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,i,a=r[0],c=r[1],l=r[2],s=0,p=[];s<a.length;s++)i=a[s],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&p.push(o[i][0]),o[i]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);p.length;)p.shift()();return u.push.apply(u,l||[
 ]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,a=1;a<t.length;a++){var c=t[a];0!==o[c]&&(n=!1)}n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={1:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+"static/js/"+({}[e]||e)+"."+{3:"ba58ae2a"}[e]+".chunk.js"}(e);var c=new Error;u=function(r){a.onerror=a.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:a})}),
 12e4);a.onerror=a.onload=u,document.head.appendChild(a)}return Promise.all(r)},i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="/gremlint/",i.oe=function(e){throw console.error(e),e};var a=this["webpackJsonpgremlint.com"]=this["webpackJsonpgremlint.com"]||[],c=a.push.bind(a);a.push=r,a=a.slice();for(va
 r l=0;l<a.length;l++)r(a[l]);var f=c;t()}([])</script><script src="/gremlint/static/js/2.4c7835bb.chunk.js"></script><script src="/gremlint/static/js/main.500181c5.chunk.js"></script></body></html>
\ No newline at end of file

Added: tinkerpop/site/gremlint/static/js/main.500181c5.chunk.js
URL: http://svn.apache.org/viewvc/tinkerpop/site/gremlint/static/js/main.500181c5.chunk.js?rev=1891804&view=auto
==============================================================================
--- tinkerpop/site/gremlint/static/js/main.500181c5.chunk.js (added)
+++ tinkerpop/site/gremlint/static/js/main.500181c5.chunk.js Mon Jul 26 09:27:32 2021
@@ -0,0 +1,2 @@
+(this["webpackJsonpgremlint.com"]=this["webpackJsonpgremlint.com"]||[]).push([[0],{30:function(e,n,t){},31:function(e,n,t){},58:function(e,n,t){"use strict";t.r(n);var o,a,i,s,r,c,l,h,d,u,b,p,g,f,j,x,m,v,O,w,y,k,L,V,C,E,S,B,$,A,G,I,q,z,T,N=t(1),_=t.n(N),P=t(19),U=t.n(P),D=(t(30),t(6)),M=t(2),F=(t(31),t(3)),R=t(14),W=t.n(R)()({"/":"Gremlint - Query formatter","/style-guide":"Gremlint - Style guide"}),H=t(4),Q=t(25),Y=t(0),K=F.b.div(o||(o=Object(M.a)(["\n  opacity: ",";\n"])),(function(e){return e.$opacity})),J=function(e){var n=e.children,t=Object(Q.a)(e,["children"]),o=Object(N.useState)(0),a=Object(D.a)(o,2),i=a[0],s=a[1];return Object(N.useEffect)((function(){setTimeout((function(){return s(1)}))}),[]),Object(Y.jsx)(K,Object(H.a)(Object(H.a)({$opacity:i},t),{},{children:n}))},X="slategray",Z="darkslategray",ee="darkslategray",ne="white",te=F.b.span(a||(a=Object(M.a)(["\n  display: inline-block;\n  vertical-align: bottom;\n  padding: 10px;\n  box-sizing: border-box;\n  height: 40px
 ;\n  width: 160px;\n"]))),oe=F.b.a(i||(i=Object(M.a)(["\n  text-decoration: none;\n  display: inline-block;\n  height: 20px;\n  line-height: 20px;\n  font-size: 15px;\n  color: ",";\n  border-bottom: ",";\n  &:hover {\n    color: ",";\n  }\n"])),(function(e){return e.$isSelected?ee:X}),(function(e){return e.$isSelected?"2px solid ".concat("yellowgreen"):"none"}),ee),ae=function(e){var n=e.isSelected,t=e.href,o=e.label;return Object(Y.jsx)(te,{children:Object(Y.jsx)(oe,{href:t,$isSelected:n,children:o})})},ie=F.b.div(s||(s=Object(M.a)(["\n  background: ",";\n  box-shadow: "," 0 0 10px;\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  z-index: 1;\n"])),ne,ne),se=F.b.div(r||(r=Object(M.a)(["\n  width: min(800px, 100vw);\n  margin-left: calc(50vw - min(400px, 50vw));\n"]))),re=F.b.div(c||(c=Object(M.a)(["\n  height: 40px;\n"]))),ce=function(e){var n=e.matchedRoute;return Object(Y.jsxs)("div",{children:[Object(Y.jsx)(ie,{children:Object(Y.jsxs)(se,{children:[Object(Y.jsx)(ae,{i
 sSelected:"/"===n,label:"Query formatter",href:"#/"}),Object(Y.jsx)(ae,{isSelected:"/style-guide"===n,label:"Style guide",href:"#/style-guide"})]})}),Object(Y.jsx)(re,{})]})},le=function(e,n){window.dispatchEvent(new CustomEvent(e,{detail:n}))},he=t(24),de=function(e){var n=e.initialState,t=e.reducers,o=e.routines,a=n,i=[];Object.entries(t).forEach((function(e){var n=Object(D.a)(e,2),t=n[0],o=n[1];window.addEventListener(t,(function(e){var n=o(a,e.detail);a=n,i.forEach((function(e){return e(a)}))}))})),Object.entries(o).forEach((function(e){var n=Object(D.a)(e,2),t=n[0],o=n[1];window.addEventListener(t,(function(e){o(a,e.detail)}))}));return{state:a,addChangeListener:function(e){i=[].concat(Object(he.a)(i),[e])},removeChangeListener:function(e){i=i.filter((function(n){return n!==e}))}}},ue={queryInput:"",queryOutput:"",shouldShowAdvancedOptions:!1,indentation:0,maxLineLength:72,shouldPlaceDotsAfterLineBreaks:!1},be=t(5),pe=t(23),ge="SET_QUERY_INPUT",fe="FORMAT_QUERY",je="TOGGLE_SHOU
 LD_SHOW_ADVANCED_OPTIONS",xe="SET_INDENTATION",me="SET_MAX_LINE_LENGTH",ve="SET_SHOULD_PLACE_DOTS_AFTER_LINE_BREAKS",Oe=de({initialState:ue,reducers:(l={},Object(be.a)(l,ge,(function(e,n){return Object(H.a)(Object(H.a)({},e),{},{queryInput:n})})),Object(be.a)(l,fe,(function(e){return Object(H.a)(Object(H.a)({},e),{},{queryOutput:Object(pe.formatQuery)(e.queryInput,{indentation:e.indentation,maxLineLength:e.maxLineLength,shouldPlaceDotsAfterLineBreaks:e.shouldPlaceDotsAfterLineBreaks})})})),Object(be.a)(l,je,(function(e){return Object(H.a)(Object(H.a)({},e),{},{shouldShowAdvancedOptions:!e.shouldShowAdvancedOptions})})),Object(be.a)(l,xe,(function(e,n){var t=parseInt(n);if(isNaN(t))return Object(H.a)({},e);if(t<0)return Object(H.a)(Object(H.a)({},e),{},{indentation:0});var o=e.maxLineLength;return t>o?Object(H.a)(Object(H.a)({},e),{},{indentation:o}):Object(H.a)(Object(H.a)({},e),{},{indentation:t})})),Object(be.a)(l,me,(function(e,n){var t=parseInt(n);if(isNaN(t))return Object(H.a)(
 {},e);var o=e.indentation;return t<o?Object(H.a)(Object(H.a)({},e),{},{maxLineLength:o}):Object(H.a)(Object(H.a)({},e),{},{maxLineLength:t})})),Object(be.a)(l,ve,(function(e,n){return Object(H.a)(Object(H.a)({},e),{},{shouldPlaceDotsAfterLineBreaks:n})})),l),routines:(h={},Object(be.a)(h,ge,(function(){return le(fe)})),Object(be.a)(h,xe,(function(){return le(fe)})),Object(be.a)(h,me,(function(){return le(fe)})),Object(be.a)(h,ve,(function(){return le(fe)})),h)}),we=F.b.div(d||(d=Object(M.a)(["\n  padding: 10px;\n"]))),ye=F.b.textarea(u||(u=Object(M.a)(["\n  height: calc(100vh / 4);\n  border-radius: 5px;\n  font-family: 'Courier New', Courier, monospace;\n  background: rgba(0, 0, 0, 0.05);\n  outline: none;\n  font-size: 16px;\n  padding: 10px;\n  border: none;\n  resize: none;\n  width: 100%;\n  box-shadow: inset rgba(0, 0, 0, 0.5) 0 0 10px -5px;\n  color: ",";\n  box-sizing: border-box;\n"])),Z),ke=function(e){var n=e.onChange,t=e.value;return Object(Y.jsx)(we,{children:Object(Y.j
 sx)(ye,{onChange:n,value:t,rows:25})})},Le=F.b.span(b||(b=Object(M.a)(["\n  display: inline-block;\n  padding: 10px;\n  box-sizing: border-box;\n"]))),Ve=F.b.button(p||(p=Object(M.a)(["\n  height: 20px;\n  line-height: 20px;\n  font-size: 15px;\n  color: ",";\n  &: {\n    color: ",";\n  }\n  background: none;\n  border: none;\n  cursor: pointer;\n  padding: 0;\n  outline: none;\n"])),X,ee),Ce=function(e){var n=e.label,t=e.onClick;return Object(Y.jsx)(Le,{children:Object(Y.jsx)(Ve,{onClick:t,children:n})})},Ee=F.b.div(g||(g=Object(M.a)(["\n  padding: 10px;\n"]))),Se=F.b.div(f||(f=Object(M.a)(["\n  border-radius: 5px;\n  font-family: 'Courier New', Courier, monospace;\n  background: rgba(0, 0, 0, 0.05);\n  outline: none;\n  font-size: 15px;\n  padding: 10px;\n  border: none;\n  resize: none;\n  box-shadow: inset rgba(0, 0, 0, 0.5) 0 0 10px -5px;\n  white-space: pre-wrap;\n  overflow: auto;\n  position: relative;\n"]))),Be=F.b.div(j||(j=Object(M.a)(["\n  color: ",";\n  line-height: 20p
 x;\n  font-size: 15px;\n"])),X),$e=F.b.div(x||(x=Object(M.a)(["\n  top: 0;\n  left: 0;\n  width: calc(10px + ","ch);\n  border-right: 1px solid ",";\n  position: absolute;\n  height: 100%;\n  pointer-events: none;\n"])),(function(e){return e.$maxLineLength}),"lightgray"),Ae=function(e){var n=e.maxLineLength,t=e.children;return Object(Y.jsx)(Ee,{children:Object(Y.jsxs)(Se,{children:[Object(Y.jsx)(Be,{children:t}),n?Object(Y.jsx)($e,{$maxLineLength:n}):null]})})},Ge=function(e){var n=Object(N.useState)(e.state),t=Object(D.a)(n,2),o=t[0],a=t[1];return Object(N.useEffect)((function(){var n=function(e){a(e)};return e.addChangeListener(n),function(){return e.removeChangeListener(n)}}),[e]),o},Ie=F.b.span(m||(m=Object(M.a)(["\n  display: inline-block;\n  height: ",";\n  width: ",";\n  border-radius: 5px;\n  background: rgba(0, 0, 0, 0.05);\n  box-shadow: inset rgba(0, 0, 0, 0.5) 0 0 10px -5px;\n  position: relative;\n"])),(function(e){return e.$height}),(function(e){return e.$width})),qe=F
 .b.span(v||(v=Object(M.a)(["\n  cursor: pointer;\n  display: inline-block;\n  height: ",";\n  width: calc("," / 2);\n  box-sizing: border-box;\n  padding: 10px;\n  line-height: 20px;\n  font-size: 16px;\n  color: ",";\n  text-align: center;\n"])),(function(e){return e.$height}),(function(e){return e.$width}),X),ze=F.b.span(O||(O=Object(M.a)(["\n  background: ",";\n  cursor: pointer;\n  display: inline-block;\n  position: absolute;\n  top: 0;\n  left: ",";\n  height: 40px;\n  width: 160px;\n  border-radius: 5px;\n  box-sizing: border-box;\n  padding: 10px;\n  line-height: 20px;\n  font-size: 16px;\n  color: ",";\n  text-align: center;\n  border: 1px solid ",";\n  transition: 0.5s;\n"])),ne,(function(e){return e.$checked?"160px":"0"}),ee,"lightgray"),Te=function(e){var n=e.width,t=void 0===n?"320px":n,o=e.height,a=void 0===o?"40px":o,i=e.checked,s=void 0!==i&&i,r=e.labels,c=void 0===r?{checked:"Checked",unchecked:"Unchecked"}:r,l=e.onChange;return Object(Y.jsxs)(Ie,{$width:t,$height:a
 ,children:[Object(Y.jsx)(qe,{$width:t,$height:a,onClick:function(){return l(!1)},children:c.unchecked}),Object(Y.jsx)(qe,{$width:t,$height:a,onClick:function(){return l(!0)},children:c.checked}),Object(Y.jsx)(ze,{$checked:s,children:s?c.checked:c.unchecked})]})},Ne=F.b.div(w||(w=Object(M.a)(["\n  padding: 10px;\n"]))),_e=F.b.div(y||(y=Object(M.a)(["\n  height: 20px;\n  line-height: 20px;\n  font-size: 15px;\n  color: ",";\n"])),X),Pe=F.b.input(k||(k=Object(M.a)(["\n  border-radius: 5px;\n  background: rgba(0, 0, 0, 0.05);\n  outline: none;\n  font-size: 16px;\n  padding: 10px;\n  border: none;\n  box-shadow: inset rgba(0, 0, 0, 0.5) 0 0 10px -5px;\n  color: ",";\n  display: inline-block;\n  vertical-align: bottom;\n  box-sizing: border-box;\n  height: 40px;\n  width: 320px;\n"])),Z),Ue=function(){var e=Ge(Oe);return Object(Y.jsxs)("div",{children:[Object(Y.jsxs)(Ne,{children:[Object(Y.jsx)(_e,{children:"Indentation"}),Object(Y.jsx)(Pe,{type:"number",min:0,max:e.maxLineLength,value:e
 .indentation,onChange:function(e){var n=e.target;le(xe,n.value)}})]}),Object(Y.jsxs)(Ne,{children:[Object(Y.jsx)(_e,{children:"Max line length"}),Object(Y.jsx)(Pe,{type:"number",min:e.indentation,value:e.maxLineLength,onChange:function(e){var n=e.target;le(me,n.value)}})]}),Object(Y.jsxs)(Ne,{children:[Object(Y.jsx)(_e,{children:"Dot placement"}),Object(Y.jsx)(Te,{height:"40px",width:"320px",checked:e.shouldPlaceDotsAfterLineBreaks,labels:{checked:"After line break",unchecked:"Before line break"},onChange:function(e){le(ve,e)}})]})]})},De=F.b.div(L||(L=Object(M.a)(["\n  max-height: ",";\n  box-shadow: inset white 0 0 10px 0;\n  overflow: hidden;\n  transition: 0.5s;\n"])),(function(e){return e.$isExpanded?"240px":"0"})),Me=function(){var e=Ge(Oe);return Object(Y.jsxs)("div",{children:[Object(Y.jsx)(ke,{value:e.queryInput,onChange:function(e){var n=e.target;return le(ge,n.value)}}),Object(Y.jsx)(Ce,{label:e.shouldShowAdvancedOptions?"Hide advanced options":"Show advanced options",onC
 lick:function(){return le(je)}}),Object(Y.jsx)(De,{$isExpanded:e.shouldShowAdvancedOptions,children:Object(Y.jsx)(Ue,{})}),e.queryOutput?Object(Y.jsx)(Ae,{maxLineLength:e.maxLineLength,children:e.queryOutput}):null]})},Fe=F.b.div(V||(V=Object(M.a)(["\n  ","\n"])),(function(e){return e.$hasContent&&Object(F.a)(C||(C=Object(M.a)(["\n      padding: 10px;\n    "])))})),Re=F.b.span(E||(E=Object(M.a)(["\n  color: ",";\n  line-height: 20px;\n  font-size: 15px;\n"])),X),We=function(e){var n=e.children;return Object(Y.jsx)(Fe,{$hasContent:Boolean(n),children:Object(Y.jsx)(Re,{children:n})})},He=F.b.div(S||(S=Object(M.a)(["\n  ","\n"])),(function(e){return e.$hasContent&&Object(F.a)(B||(B=Object(M.a)(["\n      padding: 10px;\n    "])))})),Qe=F.b.div($||($=Object(M.a)(["\n  color: ",";\n  line-height: 30px;\n  font-size: 25px;\n"])),X),Ye=function(e){var n=e.children;return Object(Y.jsx)(He,{$hasContent:Boolean(n),children:Object(Y.jsx)(Qe,{children:n})})},Ke=F.b.div(A||(A=Object(M.a)(["\n  he
 ight: 20px;\n"]))),Je=function(e){var n=e.title,t=e.explanation,o=e.example;return Object(Y.jsxs)("div",{children:[Object(Y.jsx)(Ye,{children:n}),Object(Y.jsx)(We,{children:t}),Object(Y.jsx)(Ae,{children:o}),Object(Y.jsx)(Ke,{})]})},Xe=[{title:"Break long queries into multiple lines",explanation:"What is considered too long depends on your application.\nWhen breaking the query, not all parts of the traversal have to be broken up. First, divide the query into logical groups, based on which steps belong naturally together. For instance, every set of steps which end with an as()-step often belong together, as they together form a new essential step in the query.\n    \nIf anoymous traversals are passed as arguments to another step, like a filter()-step, and it's causing the line to be too long, first split the line at the commas. Only if the traversal arguments are still too long, consider splitting them further.",example:"// Good (80 characters max width)\ng.V().hasLabel('person').whe
 re(outE(\"created\").count().is(P.gte(2))).count()\n    \n// Good (50 characters max width)\ng.V().\n  hasLabel('person').\n  where(outE(\"created\").count().is(P.gte(2))).\n  count()\n    \n// Good (30 characters max width)\ng.V().\n  hasLabel('person').\n  where(\n    outE(\"created\").\n    count().\n    is(P.gte(2))).\n  count()"},{title:"Use soft tabs (spaces) for indentation",explanation:"This ensures that your code looks the same for anyone, regardless of their text editor settings.",example:"// Bad - indented using hard tabs\ng.V().\n  hasLabel('person').as('person').\n  properties('location').as('location').\n  select('person','location').\n    by('name').\n    by(valueMap())\n    \n// Good - indented using spaces\ng.V().\n\u2219\u2219hasLabel('person').as('person').\n\u2219\u2219properties('location').as('location').\n\u2219\u2219select('person','location').\n\u2219\u2219\u2219\u2219by('name').\n\u2219\u2219\u2219\u2219by(valueMap())"},{title:"Use two spaces for indentatio
 n",explanation:"Two spaces makes the intent of the indent clear, but does not waste too much space. Of course, more spaces are allowed when indenting from an already indented block of code.",example:"// Bad - Indented using four spaces\ng.V().\n    hasLabel('person').as('person').\n    properties('location').as('location').\n    select('person','location').\n        by('name').\n        by(valueMap())\n// Good - Indented using two spaces\ng.V().\n  hasLabel('person').as('person').\n  properties('location').as('location').\n  select('person','location').\n    by('name').\n    by(valueMap())"},{title:"Use indents wisely",explanation:"No newline should ever have the same indent as the line starting with the traversal source g.\nUse indents when the step in the new line is a modulator of a previous line.\nUse indents when the content in the new line is an argument of a previous step.\nIf multiple anonymous traversals are passed as arguments to a function, each newline which is not the f
 irst step of the traversal should be indented to make it more clear where the distinction between each argument goes. If this is the case, but the newline would already be indented because the step in the content in the new line is the argument of a previous step, there is no need to double-indent.\nDon't be tempted to add extra indentation to vertically align a step with a step in a previous line.",example:"// Bad - No newline should have the same indent as the line starting with the traversal source g\ng.V().\ngroup().\nby().\nby(bothE().count())\n// Bad - Modulators of a step on a previous line should be indented\ng.V().\n  group().\n  by().\n  by(bothE().count())\n// Good\ng.V().\n  group().\n    by().\n    by(bothE().count())\n// Bad - You have ignored the indent rules to achieve the temporary satisfaction of vertical alignment\ng.V().local(union(identity(),\n                  bothE().count()).\n            fold())\n// Good\ng.V().\n  local(\n    union(\n      identity(),\n    
   bothE().count()).\n    fold())\n// Bad - When multiple anonymous traversals are passed as arguments to a function, each newline which is not the first of line of the step should be indented to make it more clear where the distinction between each argument goes.\ng.V().\n  has('person','name','marko').\n  fold().\n  coalesce(\n    unfold(),\n    addV('person').\n    property('name','marko').\n    property('age',29))\n// Good - We make it clear that the coalesce step takes two traversals as arguments\ng.V().\n  has('person','name','marko').\n  fold().\n  coalesce(\n    unfold(),\n    addV('person').\n      property('name','marko').\n      property('age',29))"},{title:"Keep as()-steps at the end of each line",explanation:"The end of the line is a natural place to assign a label to a step. It's okay if the as()-step is in the middle of the line if there are multiple consecutive label assignments, or if the line is so short that a newline doesn't make sense. Maybe a better way to put i
 t is to not start a line with an as()-step, unless you're using it inside a match()-step of course.",example:"// Bad\ng.V().\n  as('a').\n  out('created').\n  as('b').\n  select('a','b')\n// Good\ng.V().as('a').\n  out('created').as('b').\n  select('a','b')\n// Good\ng.V().as('a').out('created').as('b').select('a','b')"},{title:"Add linebreak after punctuation, not before",explanation:"While adding the linebreak before the punctuation looks good in most cases, it introduces alignment problems when not all lines start with a punctuation. You never know if the next line should be indented relative to the punctuation of the previous line or the method of the previous line. Switching between having the punctuation at the start or the end of the line depending on whether it works in a particular case requires much brainpower (which we don't have), so it's better to be consistent. Adding the punctuation before the linebreak also means that you can know if you have reached the end of the q
 uery without reading the next line.",example:"// Bad - Looks okay, though\ng.V().has('name','marko')\n     .out('knows')\n     .has('age', gt(29))\n     .values('name')\n// Good\ng.V().\n  has('name','marko').\n  out('knows').\n  has('age', gt(29)).\n  values('name')\n// Bad - Punctuation at the start of the line makes the transition from filter to select to count too smooth\ng.V()\n  .hasLabel(\"person\")\n  .group()\n    .by(values(\"name\", \"age\").fold())\n  .unfold()\n  .filter(\n    select(values)\n    .count(local)\n    .is(gt(1)))\n// Good - Keeping punctuation at the end of each line, more clearly shows the query structure\ng.V().\n  hasLabel(\"person\").\n  group().\n    by(values(\"name\", \"age\").fold()).\n  unfold().\n  filter(\n    select(values).\n    count(local).\n    is(gt(1)))"},{title:"Add linebreak and indentation for nested traversals which are long enough to span multiple lines",explanation:"",example:'// Bad - Not newlining the first argument of a function 
 whose arguments span over multipe lines causes the arguments to not align.\ng.V().\n  hasLabel("person").\n  groupCount().\n    by(values("age").\n      choose(is(lt(28)),\n        constant("young"),\n        choose(is(lt(30)),\n          constant("old"),\n          constant("very old"))))\n// Bad - We talked about this in the indentation section, didn\'t we?\ng.V().\n  hasLabel("person").\n  groupCount().\n    by(values("age").\n       choose(is(lt(28)),\n              constant("young"),\n              choose(is(lt(30)),\n                     constant("old"),\n                     constant("very old"))))\n// Good\ng.V().\n  hasLabel("person").\n  groupCount().\n    by(\n      values("age").\n      choose(\n        is(lt(28)),\n        constant("young"),\n        choose(\n          is(lt(30)),\n          constant("old"),\n          constant("very old"))))'},{title:"Place all trailing parentheses on a single line instead of distinct lines",explanation:"Aligning the end parenthesis wi
 th the step to which the start parenthesis belongs might make it easier to check that the number of parentheses is correct, but looks ugly and wastes a lot of space.",example:'// Bad\ng.V().\n  hasLabel("person").\n  groupCount().\n    by(\n      values("age").\n      choose(\n        is(lt(28)),\n        constant("young"),\n        choose(\n          is(lt(30)),\n          constant("old"),\n          constant("very old")\n        )\n      )\n    )\n// Good\ng.V().\n  hasLabel("person").\n  groupCount().\n    by(\n      values("age").\n      choose(\n        is(lt(28)),\n        constant("young"),\n        choose(\n          is(lt(30)),\n          constant("old"),\n          constant("very old"))))'},{title:"Use // for single line comments. Place single line comments on a newline above the subject of the comment.",explanation:"",example:"// Bad\ng.V().\n  has('name','alice').out('bought'). // Find everything that Alice has bought\n  in('bought').dedup().values('name') // Find everyo
 ne who have bought some of the same things as Alice\n// Good\ng.V().\n  // Find everything that Alice has bought\n  has('name','alice').out('bought').\n  // Find everyone who have bought some of the same things as Alice\n  in('bought').dedup().values('name')"},{title:"Use single quotes for strings",explanation:"Use single quotes for literal string values. If the string contains double quotes or single quotes, surround the string with the type of quote which creates the fewest escaped characters.",example:"// Bad - Use single quotes where possible\ng.V().has(\"Movie\", \"name\", \"It's a wonderful life\")\n// Bad - Escaped single quotes are even worse than double quotes\ng.V().has('Movie', 'name', 'It\\'s a wonderful life')\n// Good\ng.V().has('Movie', 'name', \"It's a wonderful life\")"},{title:"Write idiomatic Gremlin code",explanation:"If there is a simpler way, do it the simpler way. Use the Gremlin methods for what they're worth.",example:"// Bad\ng.V().outE().inV()\n// Good\ng.
 V().out()\n// Bad\ng.V().\n  has('name', 'alice').\n  outE().hasLabel('bought').inV().\n  values('name')\n// Good\ng.V().\n  has('name','alice').\n  out('bought').\n  values('name')\n// Bad\ng.V().hasLabel('person').has('name', 'alice')\n// Good\ng.V().has('person', 'name', 'alice')"}],Ze=function(){return Object(Y.jsx)("div",{children:Xe.map((function(e){var n=e.title,t=e.explanation,o=e.example;return Object(Y.jsx)(Je,{title:n,explanation:t,example:o},n)}))})},en=t.p+"static/media/gremlint-loading-logo-colored.7e095463.png",nn=t.p+"static/media/gremlint-loading-logo-grayscale.a64db4a4.png",tn=F.b.div(G||(G=Object(M.a)(["\n  position: fixed;\n  background: ",";\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 2;\n"])),ne),on=F.b.div(I||(I=Object(M.a)(["\n  height: 100%;\n  width: 100%;\n  position: absolute;\n  bottom: calc(50vh - 25vmin);\n"]))),an=F.b.div(q||(q=Object(M.a)(["\n  overflow: hidden;\n  height: ","vmin;\n  width: 100%;\n  position: absolute;\n  bottom: c
 alc(50vh - 25vmin);\n"])),(function(e){return e.$loadingCompletion/2})),sn=F.b.img(z||(z=Object(M.a)(["\n  opacity: ",";\n  transition: 0.25s;\n  height: 50vmin;\n  width: 50vmin;\n  display: block;\n  margin: auto;\n  position: absolute;\n  bottom: 0;\n  left: 50%;\n  transform: translate(-50%, 0);\n"])),(function(e){return e.$opacity})),rn=function(e){var n=e.onLoadingComplete,t=Object(N.useState)(0),o=Object(D.a)(t,2),a=o[0],i=o[1],s=Object(N.useState)(!1),r=Object(D.a)(s,2),c=r[0],l=r[1],h=Object(N.useState)(!1),d=Object(D.a)(h,2),u=d[0],b=d[1];return Object(N.useEffect)((function(){setTimeout((function(){a<100?c&&u&&i(a+1):setTimeout(n,250)}),0===a?250:10)}),[a,c,u,n]),Object(Y.jsxs)(tn,{children:[Object(Y.jsx)(on,{children:Object(Y.jsx)(sn,{src:nn,$opacity:u&&100!==a?1:0,onLoad:function(){return b(!0)}})}),Object(Y.jsx)(an,{$loadingCompletion:a,children:Object(Y.jsx)(sn,{src:en,$opacity:100!==a?1:0,onLoad:function(){return l(!0)}})})]})},cn=F.b.div(T||(T=Object(M.a)(["\n  widt
 h: min(800px, 100vw);\n  margin-left: calc(50vw - min(400px, 50vw));\n"]))),ln=function(){var e=Object(R.useRouter)(W).matchedRoute,n=Object(N.useState)(!1),t=Object(D.a)(n,2),o=t[0],a=t[1];return o?Object(Y.jsx)(J,{children:Object(Y.jsxs)("div",{children:[Object(Y.jsx)(ce,{matchedRoute:e}),Object(Y.jsx)("div",{children:Object(Y.jsx)(cn,{children:"/"===e?Object(Y.jsx)(Me,{}):"/style-guide"===e?Object(Y.jsx)(Ze,{}):null})})]})}):Object(Y.jsx)(rn,{onLoadingComplete:function(){return a(!0)}})},hn=function(e){e&&e instanceof Function&&t.e(3).then(t.bind(null,59)).then((function(n){var t=n.getCLS,o=n.getFID,a=n.getFCP,i=n.getLCP,s=n.getTTFB;t(e),o(e),a(e),i(e),s(e)}))};U.a.render(Object(Y.jsx)(_.a.StrictMode,{children:Object(Y.jsx)(ln,{})}),document.getElementById("root")),hn()}},[[58,1,2]]]);
+//# sourceMappingURL=main.500181c5.chunk.js.map
\ No newline at end of file