<!--
Licensed 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.
-->

<div class="row-fluid">
  <a href="http://couchdb.org" target="_blank"><img src="img/couchdblogo.png"/></a>
  <br/>
</div>
<hr>
<ul class="nav nav-list">
  <!-- <li class="nav-header">Database types</li> -->
  <li class="active"><a class="toggle-view" id="owned">Your databases</a></li>
  <li><a class="btn new" id="new"><i class="icon-plus"></i> New database</a></li>
</ul>
<hr>

<div>
  <a class="twitter-timeline" data-dnt="true" href="https://twitter.com/CouchDB" data-widget-id="314360971646869505">Tweets by @CouchDB</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

</div>
