Repository: zeppelin
Updated Branches:
  refs/heads/master 399c49b4e -> ee51a84e8


[ZEPPELIN-1088] Add Htmlhint

### What is this PR for?
Adding Htmlhint to check our HTML files.
This is mainly helping with making sure HTML tags are closed correctly

### What type of PR is it?
Improvement

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1088

### How should this be tested?
Remove a closing tag and see an error being shown in the terminal

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Damien CORNEAU <[email protected]>

Closes #1132 from corneadoug/add/htmlhint and squashes the following commits:

efa264c [Damien CORNEAU] Add Htmlhint and fix warnings


Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/ee51a84e
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/ee51a84e
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/ee51a84e

Branch: refs/heads/master
Commit: ee51a84e856aed3ca60dd13099db0bce66e9b93e
Parents: 399c49b
Author: Damien CORNEAU <[email protected]>
Authored: Tue Jul 5 16:26:15 2016 +0900
Committer: Prabhjyot Singh <[email protected]>
Committed: Thu Jul 7 13:34:22 2016 +0530

----------------------------------------------------------------------
 zeppelin-web/Gruntfile.js                       | 19 ++++++++
 zeppelin-web/package.json                       |  1 +
 zeppelin-web/src/404.html                       |  4 +-
 zeppelin-web/src/app/credential/credential.html |  5 +--
 zeppelin-web/src/app/home/home.html             | 16 +++----
 .../interpreter-create/interpreter-create.html  |  4 +-
 .../src/app/interpreter/interpreter.html        | 10 ++---
 .../src/app/notebook/notebook-actionBar.html    |  4 +-
 zeppelin-web/src/app/notebook/notebook.html     | 46 ++++++++++++--------
 .../paragraph/paragraph-chart-selector.html     |  7 ++-
 .../paragraph/paragraph-graphOptions.html       |  4 +-
 .../paragraph-parameterizedQueryForm.html       |  2 +-
 .../notebook/paragraph/paragraph-results.html   |  7 +--
 .../src/app/notebook/paragraph/paragraph.html   |  2 +-
 zeppelin-web/src/components/login/login.html    |  6 +--
 zeppelin-web/src/components/navbar/navbar.html  | 15 ++++---
 .../noteName-create/note-name-dialog.html       |  4 +-
 .../noteName-import/note-import-dialog.html     |  8 ++--
 .../repository-create/repository-dialog.html    | 10 ++---
 zeppelin-web/src/index.html                     | 42 +++++++++---------
 20 files changed, 120 insertions(+), 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/Gruntfile.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/Gruntfile.js b/zeppelin-web/Gruntfile.js
index 5574daf..824984c 100644
--- a/zeppelin-web/Gruntfile.js
+++ b/zeppelin-web/Gruntfile.js
@@ -56,6 +56,18 @@ module.exports = function (grunt) {
       }
     },
 
+    htmlhint: {
+      options: {
+        'tagname-lowercase': true,
+        'attr-lowercase': true,
+        'space-tab-mixed-disabled': 'space',
+        'tag-pair': true,
+        'tag-self-close': true,
+        'attr-no-duplication': true
+      },
+      src: ['src/**/*.html']
+    },
+
     'goog-webfont-dl': {
       patuaOne: {
         options: {
@@ -120,6 +132,12 @@ module.exports = function (grunt) {
           livereload: '<%= connect.options.livereload %>'
         }
       },
+      html: {
+        files: [
+          '<%= yeoman.app %>/**/*.html'
+        ],
+        tasks: ['newer:htmlhint']
+      },
       jsTest: {
         files: ['test/spec/{,*/}*.js'],
         tasks: ['newer:jshint:test', 'karma']
@@ -488,6 +506,7 @@ module.exports = function (grunt) {
 
   grunt.registerTask('build', [
     'jshint:all',
+    'htmlhint',
     'clean:dist',
     'wiredep',
     'goog-webfont-dl',

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/package.json
----------------------------------------------------------------------
diff --git a/zeppelin-web/package.json b/zeppelin-web/package.json
index bc25f62..d3f6741 100644
--- a/zeppelin-web/package.json
+++ b/zeppelin-web/package.json
@@ -23,6 +23,7 @@
     "grunt-contrib-watch": "^0.6.1",
     "grunt-filerev": "^0.2.1",
     "grunt-goog-webfont-dl": "^0.1.2",
+    "grunt-htmlhint": "^0.9.13",
     "grunt-karma": "~0.8.3",
     "grunt-newer": "^0.7.0",
     "grunt-ng-annotate": "^0.10.0",

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/404.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/404.html b/zeppelin-web/src/404.html
index 35eb1b1..4af26ab 100644
--- a/zeppelin-web/src/404.html
+++ b/zeppelin-web/src/404.html
@@ -14,8 +14,8 @@ limitations under the License.
 -->
 <html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta charset="utf-8"/>
     <title>Page Not Found :(</title>
     <style>
       ::-moz-selection {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/credential/credential.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/credential/credential.html 
b/zeppelin-web/src/app/credential/credential.html
index aa43604..46d83d9 100644
--- a/zeppelin-web/src/app/credential/credential.html
+++ b/zeppelin-web/src/app/credential/credential.html
@@ -22,14 +22,13 @@ limitations under the License.
     </div>
     <div class="row">
       <div class="col-md-12">
-        Add credentials for entities one at a time.<br>
+        Add credentials for entities one at a time.<br/>
       </div>
     </div>
   </div>
 </div>
 
-<div class="box width-full"
-     >
+<div class="box width-full">
   <div>
     <div class="row interpreter">
     <div class="col-md-12">

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/home/home.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/home/home.html 
b/zeppelin-web/src/app/home/home.html
index c53813a..1959a47 100644
--- a/zeppelin-web/src/app/home/home.html
+++ b/zeppelin-web/src/app/home/home.html
@@ -39,8 +39,8 @@ limitations under the License.
       <h1 class="box-heading" id="welcome">
         Welcome to Zeppelin!
       </h1>
-      Zeppelin is web-based notebook that enables interactive data 
analytics.<br>
-      You can make beautiful data-driven, interactive, collaborative document 
with SQL, code and even more!<br>
+      Zeppelin is web-based notebook that enables interactive data 
analytics.<br/>
+      You can make beautiful data-driven, interactive, collaborative document 
with SQL, code and even more!<br/>
 
       <div class="row">
         <div class="col-md-4" ng-if="ticket">
@@ -78,15 +78,15 @@ limitations under the License.
         <div class="col-md-6">
           <h4>Help</h4>
           Get started with <a style="text-decoration: none;" target="_blank"
-                              
href="http://zeppelin.apache.org/docs/{{zeppelinVersion}}/index.html";>Zeppelin 
documentation</a><br>
+                              
href="http://zeppelin.apache.org/docs/{{zeppelinVersion}}/index.html";>Zeppelin 
documentation</a><br/>
 
           <h4>Community</h4>
-          Please feel free to help us to improve Zeppelin, <br>
-          Any contribution are welcome!<br><br>
+          Please feel free to help us to improve Zeppelin, <br/>
+          Any contribution are welcome!<br/><br/>
           <a style="text-decoration: none;" 
href="http://zeppelin.apache.org/community.html";
-             target="_blank"><i style="font-size: 15px;" class="fa 
fa-users"></i> Mailing list</a><br>
+             target="_blank"><i style="font-size: 15px;" class="fa 
fa-users"></i> Mailing list</a><br/>
           <a style="text-decoration: none;" 
href="https://issues.apache.org/jira/browse/ZEPPELIN";
-             target="_blank"><i style="font-size: 15px;" class="fa 
fa-bug"></i> Issues tracking</a><br>
+             target="_blank"><i style="font-size: 15px;" class="fa 
fa-bug"></i> Issues tracking</a><br/>
           <a style="text-decoration: none;" 
href="https://github.com/apache/zeppelin";
              target="_blank"><i style="font-size: 20px;" class="fa 
fa-github"></i> Github</a>
         </div>
@@ -100,7 +100,7 @@ limitations under the License.
   <div ng-show="home.notebookHome" 
id="{{currentParagraph.id}}_paragraphColumn_main"
        ng-repeat="currentParagraph in home.note.paragraphs"
        ng-controller="ParagraphCtrl"
-       ng-Init="init(currentParagraph, home.note)"
+       ng-init="init(currentParagraph, home.note)"
        ng-class="columnWidthClass(currentParagraph.config.colWidth)"
        class="paragraph-col">
     <div id="{{currentParagraph.id}}_paragraphColumn"

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/interpreter/interpreter-create/interpreter-create.html
----------------------------------------------------------------------
diff --git 
a/zeppelin-web/src/app/interpreter/interpreter-create/interpreter-create.html 
b/zeppelin-web/src/app/interpreter/interpreter-create/interpreter-create.html
index d802b53..97e3103 100644
--- 
a/zeppelin-web/src/app/interpreter/interpreter-create/interpreter-create.html
+++ 
b/zeppelin-web/src/app/interpreter/interpreter-create/interpreter-create.html
@@ -69,11 +69,11 @@ limitations under the License.
           <span>Interpreter for note</span>
         </div>
         <br />
-        
+
         <div class="col-md-12" style="padding-left:0px">
           <div class="checkbox">
             <span class="input-group">
-              <label><input type="checkbox" style="width:0%;height:0%" 
ng-model="newInterpreterSetting.option.isExistingProcess"> </input> Connect to 
existing process </label>
+              <label><input type="checkbox" style="width:0%;height:0%" 
ng-model="newInterpreterSetting.option.isExistingProcess"/> Connect to existing 
process </label>
             </span>
           </div>
         </div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/interpreter/interpreter.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/interpreter/interpreter.html 
b/zeppelin-web/src/app/interpreter/interpreter.html
index 7f516c5..af3b844 100644
--- a/zeppelin-web/src/app/interpreter/interpreter.html
+++ b/zeppelin-web/src/app/interpreter/interpreter.html
@@ -39,7 +39,7 @@ limitations under the License.
     </div>
 
     <div class="input-group col-md-4" style="margin-top: 10px">
-      <input type="text" ng-model="searchInterpreter" class="form-control 
ng-pristine ng-untouched ng-valid ng-empty" placeholder="Search interpreters">
+      <input type="text" ng-model="searchInterpreter" class="form-control 
ng-pristine ng-untouched ng-valid ng-empty" placeholder="Search interpreters"/>
       <span class="input-group-btn">
         <button type="submit" class="btn btn-default" 
ng-disabled="!navbar.connected">
           <i class="glyphicon glyphicon-search"></i>
@@ -60,9 +60,9 @@ limitations under the License.
              popover-placement="right"
              popover-html-unsafe="
                <label>URL: </label>
-               {{repo.url}}<br>
+               {{repo.url}}<br/>
                <label>Snapshot: </label>
-               {{repo.snapshotPolicy.enabled}}<br>
+               {{repo.snapshotPolicy.enabled}}<br/>
                <label>Username: </label>
                {{repo.authentication.username}}">
             <span class="fa fa-database"></span>
@@ -157,8 +157,8 @@ limitations under the License.
       <div class="col-md-12">
         <div class="checkbox">
           <span class="input-group">
-            <label><input type="checkbox" style="width:0%;height:0%" 
id="isExistingProcess" ng-model="setting.option.isExistingProcess" 
ng-disabled="!valueform.$visible"> </input>
-            Connect to existing process <label>
+            <label><input type="checkbox" style="width:0%;height:0%" 
id="isExistingProcess" ng-model="setting.option.isExistingProcess" 
ng-disabled="!valueform.$visible"/>
+            Connect to existing process </label>
           </span>
         </div>
       </div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/notebook/notebook-actionBar.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/notebook/notebook-actionBar.html 
b/zeppelin-web/src/app/notebook/notebook-actionBar.html
index 4f7d984..dc7a3ec 100644
--- a/zeppelin-web/src/app/notebook/notebook-actionBar.html
+++ b/zeppelin-web/src/app/notebook/notebook-actionBar.html
@@ -118,7 +118,7 @@ limitations under the License.
           <li>
             <div class="cron-preset-container">
               Run note with cron scheduler.
-              Either choose from preset or write your own <a 
href="http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger";
 target=_blank>cron expression</a>.
+              Either choose from preset or write your own <a 
href="http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger";
 target="_blank">cron expression</a>.
               <div>
                 <span>- Preset</span>
                 <a class="cron-preset" ng-repeat="cr in cronOption"
@@ -147,7 +147,7 @@ limitations under the License.
                 <span>- auto-restart interpreter on cron execution </span>
                 <input type="checkbox"
                        ng-model="note.config.releaseresource"
-                       
ng-click="setReleaseResource(note.config.releaseresource)">
+                       
ng-click="setReleaseResource(note.config.releaseresource)"/>
               </div>
             </div>
           </li>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/notebook/notebook.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/notebook/notebook.html 
b/zeppelin-web/src/app/notebook/notebook.html
index 9b60dd7..f0e87a7 100644
--- a/zeppelin-web/src/app/notebook/notebook.html
+++ b/zeppelin-web/src/app/notebook/notebook.html
@@ -70,40 +70,48 @@ limitations under the License.
       </p>
       <div class="permissionsForm"
            data-ng-model="permissions">
-        <p><span  class="owners">Owners </span><input   
ng-model="permissions.owners"
-                           placeholder="search for users"
-                           class="input"
-                           ng-keydown="checkKeyDown($event,'owners')"
-                           ng-keyup="checkKeyUp($event)"> Owners can change 
permissions,read
-          and write the note.</p>
+        <p><span  class="owners">Owners </span>
+          <input ng-model="permissions.owners"
+                 placeholder="search for users"
+                 class="input"
+                 ng-keydown="checkKeyDown($event,'owners')"
+                ng-keyup="checkKeyUp($event)"/>
+                Owners can change permissions,read and write the note.
+        </p>
         <div ng-if="role === 'owners'" class="userlist" >
           <ul>
             <li ng-repeat="suggestion in suggestions"
                 ng-class="{active : selectIndex === $index  }"
-                ng-click="assignValueAndHide($index,'owners')" >
+                ng-click="assignValueAndHide($index,'owners')">
               {{suggestion}}
             </li>
           </ul>
         </div>
-        <p><span  class="readers">Readers </span><input   
ng-model="permissions.readers"
-                             placeholder="search for users"
-                             class="input"
-                             ng-keydown="checkKeyDown($event,'readers')"
-                             ng-keyup="checkKeyUp($event)"> Readers can only 
read the note.</p>
+        <p><span class="readers">Readers </span>
+          <input ng-model="permissions.readers"
+                 placeholder="search for users"
+                 class="input"
+                 ng-keydown="checkKeyDown($event,'readers')"
+                 ng-keyup="checkKeyUp($event)"/>
+            Readers can only read the note.
+        </p>
         <div ng-if="role === 'readers'" class="userlist">
           <ul>
             <li ng-repeat="suggestion in suggestions"
                 ng-class="{active : selectIndex === $index  }"
-                ng-click="assignValueAndHide($index,'readers')" >
+                ng-click="assignValueAndHide($index,'readers')">
               {{suggestion}}
             </li>
           </ul>
         </div>
-        <p><span  class="writers">Writers </span><input   
ng-model="permissions.writers"
-                              placeholder="search for users"
-                              class="input"
-                              ng-keydown="checkKeyDown($event,'writers')"
-                              ng-keyup="checkKeyUp($event)"> Writers can read 
and write the note.</p>
+        <p><span class="writers">Writers </span>
+          <input ng-model="permissions.writers"
+                 placeholder="search for users"
+                 class="input"
+                 ng-keydown="checkKeyDown($event,'writers')"
+                 ng-keyup="checkKeyUp($event)"/>
+            Writers can read and write the note.
+        </p>
         <div ng-if="role === 'writers'" class="userlist">
           <ul>
             <li ng-repeat="suggestion in suggestions"
@@ -128,7 +136,7 @@ limitations under the License.
   <div id="{{currentParagraph.id}}_paragraphColumn_main"
        ng-repeat="currentParagraph in note.paragraphs"
        ng-controller="ParagraphCtrl"
-       ng-Init="init(currentParagraph, note)"
+       ng-init="init(currentParagraph, note)"
        ng-class="columnWidthClass(currentParagraph.config.colWidth)"
        class="paragraph-col">
     <div class="new-paragraph" ng-click="insertNew('above')" ng-hide="viewOnly 
|| asIframe">

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/notebook/paragraph/paragraph-chart-selector.html
----------------------------------------------------------------------
diff --git 
a/zeppelin-web/src/app/notebook/paragraph/paragraph-chart-selector.html 
b/zeppelin-web/src/app/notebook/paragraph/paragraph-chart-selector.html
index 507c57f..0c76318 100644
--- a/zeppelin-web/src/app/notebook/paragraph/paragraph-chart-selector.html
+++ b/zeppelin-web/src/app/notebook/paragraph/paragraph-chart-selector.html
@@ -15,7 +15,7 @@ limitations under the License.
 <div id="{{paragraph.id}}_switch"
      ng-if="(paragraph.result.type == 'TABLE' || apps.length > 0 || 
suggestion.available && suggestion.available.length > 0) && !asIframe && 
!viewOnly"
      class="btn-group"
-     style='margin-bottom: 10px;'>
+     style="margin-bottom: 10px;">
 
   <button type="button" class="btn btn-default btn-sm"
           ng-if="paragraph.result.type == 'TABLE'"
@@ -47,7 +47,7 @@ limitations under the License.
           ng-class="{'active': isGraphMode('scatterChart')}"
           ng-click="setGraphMode('scatterChart', true)"><i class="cf 
cf-scatter-chart"></i>
   </button>
-  
+
   <button type="button"
           ng-if="paragraph.result.type != 'TABLE'"
           ng-click="switchApp()"
@@ -67,7 +67,7 @@ limitations under the License.
 <div id="{{paragraph.id}}_helium"
      ng-if="(suggestion.available && suggestion.available.length > 0) && 
!asIframe && !viewOnly"
      class="btn-group"
-     style='margin-bottom: 10px;'>
+     style="margin-bottom: 10px;">
   <button type="button"
           class="btn btn-default btn-sm dropdown-toggle"
           ng-if="suggestion.available && suggestion.available.length > 0"
@@ -120,4 +120,3 @@ limitations under the License.
     settings <span ng-class="paragraph.config.graph.optionOpen ? 'fa 
fa-caret-up' : 'fa fa-caret-down'"></span>
   </a>
 </span>
-

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/notebook/paragraph/paragraph-graphOptions.html
----------------------------------------------------------------------
diff --git 
a/zeppelin-web/src/app/notebook/paragraph/paragraph-graphOptions.html 
b/zeppelin-web/src/app/notebook/paragraph/paragraph-graphOptions.html
index d4df1a4..496f1b7 100644
--- a/zeppelin-web/src/app/notebook/paragraph/paragraph-graphOptions.html
+++ b/zeppelin-web/src/app/notebook/paragraph/paragraph-graphOptions.html
@@ -16,7 +16,7 @@ limitations under the License.
     <label>
       <input type="checkbox"
              ng-model="paragraph.config.graph.forceY"
-             ng-click="onGraphOptionChange()">
+             ng-click="onGraphOptionChange()" />
       force Y to 0
     </label>
     <br/>
@@ -24,7 +24,7 @@ limitations under the License.
     <label>
       <input type="checkbox"
              ng-model="paragraph.config.graph.lineWithFocus"
-             ng-click="toggleLineWithFocus()">
+             ng-click="toggleLineWithFocus()" />
       show line chart with focus
     </label>
   </div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/notebook/paragraph/paragraph-parameterizedQueryForm.html
----------------------------------------------------------------------
diff --git 
a/zeppelin-web/src/app/notebook/paragraph/paragraph-parameterizedQueryForm.html 
b/zeppelin-web/src/app/notebook/paragraph/paragraph-parameterizedQueryForm.html
index 8ecb3c4..86bb7c6 100644
--- 
a/zeppelin-web/src/app/notebook/paragraph/paragraph-parameterizedQueryForm.html
+++ 
b/zeppelin-web/src/app/notebook/paragraph/paragraph-parameterizedQueryForm.html
@@ -16,7 +16,7 @@ limitations under the License.
       class=" paragraphForm form-horizontal row">
   <div class="form-group col-sm-6 col-md-6 col-lg-4"
        ng-repeat="formulaire in paragraph.settings.forms"
-       ng-Init="loadForm(formulaire, paragraph.settings.params)">
+       ng-init="loadForm(formulaire, paragraph.settings.params)">
     <label class="control-label input-sm" ng-class="{'disable': 
paragraph.status == 'RUNNING' || paragraph.status == 'PENDING' 
}">{{formulaire.name}}</label>
     <div>
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/notebook/paragraph/paragraph-results.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph-results.html 
b/zeppelin-web/src/app/notebook/paragraph/paragraph-results.html
index fd608c5..95bd6a4 100644
--- a/zeppelin-web/src/app/notebook/paragraph/paragraph-results.html
+++ b/zeppelin-web/src/app/notebook/paragraph/paragraph-results.html
@@ -14,7 +14,7 @@ limitations under the License.
 <div
   id="p{{paragraph.id}}_resize"
   ng-if="!paragraph.config.helium.activeApp"
-  style='padding-bottom: 5px;'
+  style="padding-bottom: 5px;"
   resize='{"allowresize": "{{!asIframe && !viewOnly}}", "graphType": 
"{{getResultType()}}"}'
      resizable on-resize="resizeParagraph(width, height);">
   <div ng-include src="'app/notebook/paragraph/paragraph-graph.html'"></div>
@@ -52,8 +52,7 @@ limitations under the License.
 
   <img id="{{paragraph.id}}_img"
        ng-if="getResultType() == 'IMG'"
-       ng-src="{{getBase64ImageSrc(paragraph.result.msg)}}">
-  </img>
+       ng-src="{{getBase64ImageSrc(paragraph.result.msg)}}" />
 
   <div id="{{paragraph.id}}_error"
        class="error text"
@@ -67,5 +66,3 @@ limitations under the License.
        ng-show="paragraph.config.helium.activeApp == app.id">
   </div>
 </div>
-
-

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/app/notebook/paragraph/paragraph.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph.html 
b/zeppelin-web/src/app/notebook/paragraph/paragraph.html
index 0157c02..54d15af 100644
--- a/zeppelin-web/src/app/notebook/paragraph/paragraph.html
+++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.html
@@ -54,7 +54,7 @@ limitations under the License.
     <div ng-include 
src="'app/notebook/paragraph/paragraph-parameterizedQueryForm.html'"></div>
 
     <!-- Rendering -->
-    <div class='tableDisplay' ng-show="!paragraph.config.tableHide">
+    <div class="tableDisplay" ng-show="!paragraph.config.tableHide">
       <div ng-include 
src="'app/notebook/paragraph/paragraph-chart-selector.html'"></div>
       <div ng-include 
src="'app/notebook/paragraph/paragraph-pivot.html'"></div>
       <div ng-include 
src="'app/notebook/paragraph/paragraph-results.html'"></div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/components/login/login.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/login/login.html 
b/zeppelin-web/src/components/login/login.html
index 5200040..28aca16 100644
--- a/zeppelin-web/src/components/login/login.html
+++ b/zeppelin-web/src/components/login/login.html
@@ -13,7 +13,7 @@ limitations under the License.
 -->
 
   <div id="loginModal" class="modal fade" role="dialog"
-       tabindex='-1'>
+       tabindex="-1">
     <div class="modal-dialog">
 
       <!-- Modal content-->
@@ -30,14 +30,14 @@ limitations under the License.
             <label for="userName">User Name</label>
             <input placeholder="User Name" type="text" class="form-control" 
id="userName"
                    ng-keypress="loginParams.errorText = ''"
-                   ng-model="loginParams.userName">
+                   ng-model="loginParams.userName" />
           </div>
           <div class="form-group">
             <label for="password">Password</label>
             <input placeholder="Password" type="password" class="form-control" 
id="password"
                    ng-enter="login()"
                    ng-keypress="loginParams.errorText = ''"
-                   ng-model="loginParams.password">
+                   ng-model="loginParams.password" />
           </div>
 
         </div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/components/navbar/navbar.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/navbar/navbar.html 
b/zeppelin-web/src/components/navbar/navbar.html
index be88a9b..cc2df26 100644
--- a/zeppelin-web/src/components/navbar/navbar.html
+++ b/zeppelin-web/src/components/navbar/navbar.html
@@ -19,7 +19,7 @@ limitations under the License.
         <span class="icon-bar"></span>
       </button>
       <a class="navbar-brand" href="#/">
-        <img style="margin-top: -7px;" src="assets/images/zepLogoW.png" 
width="50" alt="I'm zeppelin"> Zeppelin
+        <img style="margin-top: -7px;" src="assets/images/zepLogoW.png" 
width="50" alt="I'm zeppelin" /> Zeppelin
       </a>
     </div>
 
@@ -69,6 +69,7 @@ limitations under the License.
               </span>
             </div>
           </form>
+        </li>
         <li class="nav-component">
           <i ng-if="navbar.connected" class="fa fa-circle server-connected"
              tooltip="WebSocket Connected" tooltip-placement="bottom"></i>
@@ -103,7 +104,7 @@ limitations under the License.
   </div>
 </div>
 <div id="aboutModal" class="modal fade" role="dialog"
-     tabindex='-1'>
+     tabindex="-1">
   <div class="modal-dialog">
 
     <!-- Modal content-->
@@ -116,17 +117,17 @@ limitations under the License.
 
         <div class="about">
           <div class="logo">
-            <img src="assets/images/zepLogo.png" alt="Apache Zeppelin" 
title="Apache Zeppelin">
+            <img src="assets/images/zepLogo.png" alt="Apache Zeppelin" 
title="Apache Zeppelin" />
           </div>
           <div class="content">
             <h3>Apache Zeppelin</h3>
-            <br>
+            <br/>
             <span id="i18n-14">Version</span>
             {{zeppelinVersion}}
-            <br>
-            <br>
+            <br/>
+            <br/>
             <a href="http://zeppelin.apache.org/"; target="_blank"><span 
id="i18n-15">Get involved!</span></a>
-            <br>
+            <br/>
             <a href="http://www.apache.org/licenses/LICENSE-2.0"; 
target="_blank"><span id="i18n-16">Licensed under the Apache License, Version 
2.0</span></a>
           </div>
         </div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/components/noteName-create/note-name-dialog.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/components/noteName-create/note-name-dialog.html 
b/zeppelin-web/src/components/noteName-create/note-name-dialog.html
index f0f12a2..1f90085 100644
--- a/zeppelin-web/src/components/noteName-create/note-name-dialog.html
+++ b/zeppelin-web/src/components/noteName-create/note-name-dialog.html
@@ -12,7 +12,7 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 -->
   <div id="noteNameModal" class="modal fade" role="dialog" modalvisible 
previsiblecallback="notenamectrl.preVisible"
-    targetinput="noteName" tabindex='-1'>
+    targetinput="noteName" tabindex="-1">
     <div class="modal-dialog">
 
       <!-- Modal content-->
@@ -26,7 +26,7 @@ limitations under the License.
           <div class="form-group">
             <label for="noteName">Note Name</label> <input
               placeholder="Note name" type="text" class="form-control"
-              id="noteName" ng-model="note.notename" 
ng-enter="notenamectrl.handleNameEnter()">
+              id="noteName" ng-model="note.notename" 
ng-enter="notenamectrl.handleNameEnter()"/>
           </div>
           Use '/' to create folders. Example: /NoteDirA/Notebook1
         </div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/components/noteName-import/note-import-dialog.html
----------------------------------------------------------------------
diff --git 
a/zeppelin-web/src/components/noteName-import/note-import-dialog.html 
b/zeppelin-web/src/components/noteName-import/note-import-dialog.html
index 524e4d2..4922cb8 100644
--- a/zeppelin-web/src/components/noteName-import/note-import-dialog.html
+++ b/zeppelin-web/src/components/noteName-import/note-import-dialog.html
@@ -13,7 +13,7 @@ limitations under the License.
 -->
 
   <div id="noteImportModal" class="modal fade" role="dialog"
-       tabindex='-1'>
+       tabindex="-1">
     <div class="modal-dialog">
 
       <!-- Modal content-->
@@ -27,7 +27,7 @@ limitations under the License.
           <div class="form-group">
             <label for="noteImportName">Import AS</label>
             <input placeholder="Note name" type="text" class="form-control" 
id="noteImportName"
-                   ng-model="note.noteImportName">
+                   ng-model="note.noteImportName" />
           </div>
 
           <div class="form-group" ng-show="note.errorText">
@@ -42,7 +42,7 @@ limitations under the License.
             </div>
             <div style="display: none">
               <input placeholder="Note name" type="file" class="form-control" 
id="noteImportFile"
-                     ng-model="note.importFile" 
onchange="angular.element(this).scope().importFile(this)">
+                     ng-model="note.importFile" 
onchange="angular.element(this).scope().importFile(this)" />
             </div>
             <div class="display-inline">
               <a href="javascript:void(0);" ng-click="uploadURL()" class="fa 
fa-link">
@@ -55,7 +55,7 @@ limitations under the License.
 
             <label for="noteImportUrl">URL</label>
             <input placeholder="Note name" type="text" class="form-control" 
id="noteImportUrl"
-                   ng-model="note.importUrl">
+                   ng-model="note.importUrl" />
           </div>
 
         </div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/components/repository-create/repository-dialog.html
----------------------------------------------------------------------
diff --git 
a/zeppelin-web/src/components/repository-create/repository-dialog.html 
b/zeppelin-web/src/components/repository-create/repository-dialog.html
index 98b1469..1bc7b07 100644
--- a/zeppelin-web/src/components/repository-create/repository-dialog.html
+++ b/zeppelin-web/src/components/repository-create/repository-dialog.html
@@ -13,7 +13,7 @@ limitations under the License.
 -->
 
 <div id="repoModal" class="modal fade" role="dialog"
-     tabindex='-1'>
+     tabindex="-1">
   <div class="modal-dialog">
 
     <!-- Modal content-->
@@ -29,7 +29,7 @@ limitations under the License.
               <label class="control-label col-sm-2" for="repoId">ID</label>
               <div class="col-sm-10">
                 <input type="text" class="form-control" id="repoId" 
ng-model="newRepoSetting.id"
-                       placeholder="Repository id" required>
+                       placeholder="Repository id" required />
               </div>
             </div>
             <div class="form-group">
@@ -37,7 +37,7 @@ limitations under the License.
               <div class="col-sm-10">
                 <input type="text" pattern="(http|https|file)://.*" 
title="Please enter URL starts with http://, https:// or file://"
                        class="form-control" id="repoUrl" 
ng-model="newRepoSetting.url"
-                       placeholder="Repository url" required>
+                       placeholder="Repository url" required />
               </div>
             </div>
             <div class="form-group">
@@ -52,13 +52,13 @@ limitations under the License.
             <div class="form-group">
               <label class="control-label col-sm-2" 
for="repoUsername">Username</label>
               <div class="col-sm-10">
-                <input type="text" class="form-control" id="repoUsername" 
ng-model="newRepoSetting.username">
+                <input type="text" class="form-control" id="repoUsername" 
ng-model="newRepoSetting.username" />
               </div>
             </div>
             <div class="form-group">
               <label class="control-label col-sm-2" 
for="repoPassword">Password</label>
               <div class="col-sm-10">
-                <input type="password" class="form-control" id="repoPassword" 
ng-model="newRepoSetting.password">
+                <input type="password" class="form-control" id="repoPassword" 
ng-model="newRepoSetting.password" />
               </div>
             </div>
         </div>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/ee51a84e/zeppelin-web/src/index.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/index.html b/zeppelin-web/src/index.html
index cb03939..142d3ef 100644
--- a/zeppelin-web/src/index.html
+++ b/zeppelin-web/src/index.html
@@ -14,8 +14,8 @@ limitations under the License.
 -->
 <html ng-controller="MainCtrl" class="no-js">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta charset="utf-8" />
     <title></title>
     <!-- disable caches for all browser -->
     <meta http-equiv="cache-control" content="max-age=0" />
@@ -25,8 +25,8 @@ limitations under the License.
     <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
     <meta http-equiv="pragma" content="no-cache" />
 
-    <meta name="description" content="">
-    <meta name="viewport" content="width=device-width">
+    <meta name="description" content="" />
+    <meta name="viewport" content="width=device-width" />
 
     <!-- ACE CSS autocomplition issue workarounds -->
     <style type="text/css">
@@ -50,24 +50,24 @@ limitations under the License.
     <link rel="stylesheet" 
href="bower_components/jquery-ui/themes/base/all.css" />
     <!-- endbuild -->
     <!-- build:css(.tmp) styles/main.css -->
-    <link rel="stylesheet" href="app/home/home.css">
-    <link rel="stylesheet" href="app/search/search.css">
-    <link rel="stylesheet" href="app/notebook/notebook.css">
-    <link rel="stylesheet" href="app/notebook/paragraph/paragraph.css">
-    <link rel="stylesheet" href="app/interpreter/interpreter.css">
-    <link rel="stylesheet" href="app/credential/credential.css">
-    <link rel="stylesheet" href="app/configuration/configuration.css">
-    <link rel="stylesheet" href="components/expandCollapse/expandCollapse.css">
-    <link rel="stylesheet" href="fonts/font-awesome.min.css">
-    <link rel="stylesheet" href="fonts/simple-line-icons.css">
-    <link rel="stylesheet" href="fonts/custom-font.css">
-    <link rel="stylesheet" href="fonts/Patua-One.css">
-    <link rel="stylesheet" href="fonts/Source-Code-Pro.css">
-    <link rel="stylesheet" href="fonts/Roboto.css">
+    <link rel="stylesheet" href="app/home/home.css" />
+    <link rel="stylesheet" href="app/search/search.css" />
+    <link rel="stylesheet" href="app/notebook/notebook.css" />
+    <link rel="stylesheet" href="app/notebook/paragraph/paragraph.css" />
+    <link rel="stylesheet" href="app/interpreter/interpreter.css" />
+    <link rel="stylesheet" href="app/credential/credential.css" />
+    <link rel="stylesheet" href="app/configuration/configuration.css" />
+    <link rel="stylesheet" href="components/expandCollapse/expandCollapse.css" 
/>
+    <link rel="stylesheet" href="fonts/font-awesome.min.css" />
+    <link rel="stylesheet" href="fonts/simple-line-icons.css" />
+    <link rel="stylesheet" href="fonts/custom-font.css" />
+    <link rel="stylesheet" href="fonts/Patua-One.css" />
+    <link rel="stylesheet" href="fonts/Source-Code-Pro.css" />
+    <link rel="stylesheet" href="fonts/Roboto.css" />
     <!-- endbuild -->
-    <link rel="stylesheet" ng-href="assets/styles/looknfeel/{{looknfeel}}.css">
+    <link rel="stylesheet" ng-href="assets/styles/looknfeel/{{looknfeel}}.css" 
/>
   </head>
-  <body ng-class="{'bodyAsIframe': asIframe}" >
+  <body ng-class="{'bodyAsIframe': asIframe}">
     <!--[if lt IE 7]>
     <p class="browsehappy">You are using an <strong>outdated</strong> browser. 
Please <a href="http://browsehappy.com/";>upgrade your browser</a> to improve 
your experience.</p>
     <![endif]-->
@@ -80,7 +80,7 @@ limitations under the License.
     <!-- Modal ::  Keyboard shortcuts -->
     <div ng-include 
src="'components/modal-shortcut/modal-shortcut.html'"></div>
     <div ng-controller="NotenameCtrl as notenamectrl">
-                <div id="note-modal-container" ng-include 
src="'components/noteName-create/note-name-dialog.html'"></div>
+      <div id="note-modal-container" ng-include 
src="'components/noteName-create/note-name-dialog.html'"></div>
     </div>
     <div ng-controller="NoteImportCtrl as noteimportctrl">
       <div id="note-import-container" ng-include 
src="'components/noteName-import/note-import-dialog.html'"></div>

Reply via email to