blob: c8fbd67fc649aa86b8536d480740b72e2ffe8286 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="The Apache Software Foundation">
<meta name="keywords" content="python,libcloud,cloud,cloud computing,rackspace,amazon ec2,cloudfiles,openstack,cloudstack" />
<title>Blog | Apache Libcloud</title>
<!-- fav icons -->
<link rel="shortcut icon" href="/images/favicon.png" />
<link rel="apple-touch-icon" href="/images/apple-touch-icon.png" />
<link rel="apple-touch-icon-precomposed" href="/images/apple-touch-icon.png" />
<link href="/blog/atom.xml" type="application/atom+xml" rel="alternate" title="Apache Libcloud Blog Feed" />
<!-- Facebook OpenGraph tags -->
<meta content="Apache Libcloud" property="og:site_name">
<meta content="Blog" property="og:title">
<meta content="website" property="og:type">
<meta content="https://libcloud.apache.org/blog/page/15/" property="og:url">
<link href='/assets/global-1768bfa479597eed443be67c5aec2edc.css' rel='stylesheet' type='text/css' />
</head>
<body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
<nav class="navbar navbar-fixed-top navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/"><img src="/images/libcloud_logo.png" class="navbar-logo" /> Apache Libcloud</a>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li ><a href="/" >Home</a></li>
<li ><a href="/about.html" >About</a></li>
<li ><a href="/getting-started.html" >Quick Start</a></li>
<li ><a href="https://libcloud.readthedocs.org/en/stable/" target="_blank">Documentation</a></li>
<li ><a href="/downloads.html" >Downloads</a></li>
<li ><a href="/community.html" >Community</a></li>
<li ><a href="/blog/" >Blog</a></li>
</ul>
<div class="material-switch pull-right">
<input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
<label for="theme-switch" class="label-default"></label>
<span id="theme-toggle" class="theme-switch">Dark mode</span>
</div>
</div><!-- /.navbar-collapse -->
</div><!-- /.container -->
</nav>
<div class="container main-container">
<div class="row section page-content">
<div class="col-lg-8">
<h1>Blog</h1>
<div class="posts">
<div class="post">
<h2 class="post-title"><a href="/blog/2014/02/08/libcloud-0-14-1-released.html">Libcloud 0.14.1 released</a></h2>
<span class="post-date-author">By Tomaz Muraus on Feb 08, 2014</span>
<div class="post-content">
<p>We are pleased to announce the release of Libcloud 0.14.1!</p>
<p>This release includes some bug-fixes, improvements and new features.</p>
<h3 id="release-highlights">Release highlights</h3>
<ul>
<li>New driver for <a href="https://libcloud.readthedocs.org/en//latest/compute/drivers/cloudsigma.html">CloudSigma API 2.0</a></li>
<li>Improvements in the OpenStack driver</li>
<li>Support for records with multiple values in the Route53 DNS driver</li>
<li>Support for paging through zones and records in the Rackspace DNS driver</li>
</ul>
<p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en//latest/changelog.html#changes-with-apache-libcloud-0-14-1">here</a>.</p>
<h3 id="download">Download</h3>
<p>The release can can be downloaded from
<a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p>
<pre>
pip install apache-libcloud==0.14.1
</pre>
<h3 id="upgrading">Upgrading</h3>
<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
<pre>
pip install --upgrade apache-libcloud==0.14.1
</pre>
<h3 id="upgrade-notes">Upgrade notes</h3>
<p>A page which describes backward incompatible or semi-incompatible
changes and how to preserve the old behavior when this is possible
can be found at <a href="https://libcloud.readthedocs.org/en/latest/upgrade_notes.html#libcloud-0-14-1">https://libcloud.readthedocs.org/en/latest/upgrade_notes.html#libcloud-0-14-1</a></p>
<h3 id="documentation">Documentation</h3>
<p>Regular and API documentation is available at <a href="https://libcloud.readthedocs.org/en/v0.14.1/">https://libcloud.readthedocs.org/en/v0.14.1/</a></p>
<h3 id="bugs--issues">Bugs / Issues</h3>
<p>If you find any bug or issue, please report it on our issue tracker
<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>.
Don’t forget to attach an example and / or test which reproduces your
problem.</p>
<h3 id="thanks">Thanks</h3>
<p>Thanks to everyone who contributed and made this release possible! Full
list of people who contributed to this release can be found in the
<a href="https://libcloud.readthedocs.org/en//latest/changelog.html#changes-with-apache-libcloud-0-14-1">CHANGES file</a>.</p>
<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-users/201309.mbox/%3CCAJMHEmL4-Xuysx13z1EDwq-1K95eDyANqgY2tYGUT-MB5Sz4bQ%40mail.gmail.com%3E">release announcement</a>.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release-announcement.html" rel="tag">release announcement</a></p>
</div>
</div>
</div>
<div class="post">
<h2 class="post-title"><a href="/blog/2014/02/07/new-committer-alex-gaynor-joins-our-team.html">New committer Alex Gaynor joins our team</a></h2>
<span class="post-date-author">By Tomaz Muraus on Feb 07, 2014</span>
<div class="post-content">
<p>The Project Management Committee (PMC) for Apache Libcloud has asked Alex
Gaynor to become a committer and we are pleased to announce that they have
accepted.</p>
<p>We are glad to have him as a committer. Everyone, please help us welcome him
to the team :)</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/new-committer.html" rel="tag">new committer</a></p>
</div>
</div>
</div>
<div class="post">
<h2 class="post-title"><a href="/blog/2014/02/04/libcloud-0-14-and-rackspace.html">Libcloud 0.14 and the Rackspace drivers</a></h2>
<span class="post-date-author">By Tomaz Muraus on Feb 04, 2014</span>
<div class="post-content">
<p>Libcloud 0.14 which has been <a href="/blog/2014/01/22/libcloud-0-14-0-released.html">released recently</a> includes many new features
and improvements. Among those new features is also a better support for working
with multiple regions in the Rackspace drivers.</p>
<p>Brian Curtin, one of the Libcloud commiters wrote a great post about Libcloud
0.14 and the Rackspace drivers on the Rackspace developer blog - <a href="http://developer.rackspace.com/blog/libcloud-0-dot-14-released.html">Libcloud 0.14
Released</a>.</p>
<div class="imginline">
<p><a href="http://www.rackspace.com/cloud/" target="_blank">
<img src="/images/posts/2014-02-04-libcloud-0-14-and-rackspace/rackspace.jpg" class="img-responsive inline" />
</a></p>
</div>
<p>We encourage everyone who wants to learn more about Libcloud and Rackspace
drivers to <a href="http://developer.rackspace.com/blog/libcloud-0-dot-14-released.html">check it out</a>.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/articles.html" rel="tag">articles</a>, <a href="/blog/tags/new-features.html" rel="tag">new features</a></p>
</div>
</div>
</div>
<div class="post">
<h2 class="post-title"><a href="/blog/2014/01/27/libcloud-0-14-and-the-new-exoscale-driver.html">Libcloud 0.14 and the new Exoscale driver</a></h2>
<span class="post-date-author">By Tomaz Muraus on Jan 27, 2014</span>
<div class="post-content">
<p>Libcloud 0.14 which has been <a href="/blog/2014/01/22/libcloud-0-14-0-released.html">released recently</a> includes many new features
and improvements. One of those new features is also a driver for the
<a href="https://www.exoscale.ch/open-cloud/compute/">Exoscale public cloud</a>.</p>
<p>Exoscale is a public cloud service provider based in Switzerland. Their cloud
is powered by an open-source cloud computing platform <a href="https://cloudstack.apache.org/">Apache CloudStack</a>.
As such, the new Exoscale driver heavily relies on the existing
<a href="https://libcloud.readthedocs.org/en/latest/compute/drivers/cloudstack.html">CloudStack driver</a>.</p>
<div class="imginline">
<p><a href="https://www.exoscale.ch" target="_blank">
<img src="/images/posts/2014-01-27-libcloud-0-14-and-the-new-exoscale-driver/exoscale.png" class="img-responsive inline" />
</a></p>
</div>
<p>If you want to learn more about how to get started with the new Exoscale
driver, you should read <a href="https://www.exoscale.ch/syslog/2014/01/27/licloud-guest-post/">Libcloud 0.14 and Exoscale</a> blog post which has
been written by one of our developers and posted on the Exoscale blog.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/articles.html" rel="tag">articles</a>, <a href="/blog/tags/new-features.html" rel="tag">new features</a></p>
</div>
</div>
</div>
<div class="post">
<h2 class="post-title"><a href="/blog/2014/01/23/welcome-to-the-new-website.html">Welcome to the new website</a></h2>
<span class="post-date-author">By Tomaz Muraus on Jan 23, 2014</span>
<div class="post-content">
<p>Today we are pleased to announce a new, improved and more user friendly version
of our website.</p>
<h3 id="background-and-history">Background and History</h3>
<p>Original website was developed and published back in 2009 when the project was
first announced.</p>
<p>A lot has changed since 2009 and during that time the web has been evolving at
a rapid pace. Now we have terms such as <a href="http://getbootstrap.com/">responsive web design</a>, great
front-end frameworks for building responsive websites such as <a href="http://getbootstrap.com/">Bootstrap</a>
and <a href="http://foundation.zurb.com/">Zurb</a> and many other new things which didn’t exist or weren’t widely
used back when we first launched.</p>
<p>During this time we focused most of our efforts on improving the code and
making the library better. This meant the website didn’t receive a lot of
needed love and attention so design-wise, it was mostly stuck in the 2009 era.</p>
<p>Over the years it has become apparent that presentation and documentation is
also equally or even more important then the code itself, so we have decided
to fix some of the “mistakes” we have made in the past.</p>
<p>A couple of months back we launched a <a href="https://libcloud.readthedocs.org/en/latest/">new documentation</a> and today, we are
happy to present you a new and much improved website which was built with
modern tools and principles in mind.</p>
<h3 id="improvements-and-new-features">Improvements and New Features</h3>
<div class="imginline">
<p><img src="/images/posts/tbd/preview.png" class="img-responsive inline" /></p>
<p class="img-caption">Responsive design makes a site pleasure to use on a
variety of devices and screen sizes. Image by placeit.net.</p>
</div>
<p>New website includes many improvements and new features. Some of the more
important ones are listed bellow.</p>
<h4 id="more-modern-and-user-friendly-design">More modern and user-friendly design</h4>
<p>New website now features a more modern and user-friendly design. This includes
bigger fonts, better typography and so on.</p>
<p>On top of that, the new design is fully responsive which means you can now
better enjoy the content on smaller devices such as mobile phones and tablets.</p>
<h4 id="improved-and-re-designed-landing-page">Improved and re-designed landing page</h4>
<p>We know that landing pages are very important so we have decided to totally
re-design and re-organise ours.</p>
<p>New landing page now displays all the important information (project features,
code examples, showcases some companies and projects using Libcloud) and also
features a more clear call to action.</p>
<h4 id="blog-section">Blog section</h4>
<p>New website now features a fully-fledged blog.</p>
<p>We will use the blog to post important project news, keep you up to date with
what is currently going on and post case studies and stories from projects and
companies which are using Libcloud.</p>
<p>If you are using an RSS reader to stay up to date, we also offer an
<a href="/blog/atom.xml">ATOM feed</a>.</p>
<h4 id="updated-credits-page">Updated Credits Page</h4>
<p><a href="/credits.html">Credits</a> page now features an up to date list of people who have
contributed code and documentation.</p>
<p>As noted on that page, the list is automatically generated from the CHANGES
file so it might not be 100% accurate.</p>
<h4 id="search-engine-optimizations">Search Engine Optimizations</h4>
<p>We have made some changes which will make our website a bit more friendly to
the web crawlers and search engines. We hope this will make it easier for you
to more quickly find the content you are looking for.</p>
<p>The changes we have made include improvements to the underlying HTML markup,
addition of the <a href="http://ogp.me/">OpenGraph</a> tags and an addition of a sitemap.</p>
<h3 id="under-the-hood">Under the Hood</h3>
<p>Old website was powered by <a href="http://www.apache.org/dev/cms.html">Apache CMS</a>. It mostly worked good enough for
simple use cases, but a small user base means it lacks a large ecosystem around
it which is pretty standard for many other popular content management systems.</p>
<p>Because of that, we have decided to switch to <a href="http://jekyllrb.com/">Jekyll</a>, a Ruby based static
website and blog engine.</p>
<p>On top of that, the new website is fully responsive and built using
<a href="http://getbootstrap.com/">Bootstrap 3</a> front-end framework.</p>
<p>Similar to the old website, source code is still stored in an SVN repository
so all the benefits we get from version control are preserved.</p>
<p>Source code of the new website can be found in the <a href="https://svn.apache.org/repos/asf/libcloud/site/trunk/">SVN repository</a>.</p>
<h3 id="conclusion">Conclusion</h3>
<p>We hope you will like and enjoy the new website.</p>
<p>We also hope the new website now better reflects the underlying evolution of
the library and the direction we are heading.</p>
<p>If you have any suggestions on how we can make the website even better, don’t
hesitate and share it with us. You can send your feedback to the
<a href="/community.html#mailing-lists">mailing list</a>, or you can <a href="/community.html#website-repository">checkout the website repository</a> and make
the changes yourself.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/infrastructure.html" rel="tag">infrastructure</a>, <a href="/blog/tags/website.html" rel="tag">website</a>, <a href="/blog/tags/git.html" rel="tag">git</a></p>
</div>
</div>
</div>
</div>
<p class="navigation">
<span class="alignleft"><a href="/blog/page/16/">« Previous Page</a></span>
<span class="pull-right"><a href="/blog/page/14/">Next Page »</a></span>
</p>
</div>
<div class="col-lg-3 col-lg-offset-1">
<h2>Archive</h1>
<ul>
<li> <a href="/blog/archives/2023/08/"> August 2023</a> &nbsp;(1)</li><li> <a href="/blog/archives/2023/01/"> January 2023</a> &nbsp;(1)</li><li> <a href="/blog/archives/2022/10/"> October 2022</a> &nbsp;(1)</li><li> <a href="/blog/archives/2022/05/"> May 2022</a> &nbsp;(1)</li><li> <a href="/blog/archives/2022/03/"> March 2022</a> &nbsp;(3)</li><li> <a href="/blog/archives/2021/11/"> November 2021</a> &nbsp;(2)</li><li> <a href="/blog/archives/2021/06/"> June 2021</a> &nbsp;(1)</li><li> <a href="/blog/archives/2021/01/"> January 2021</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/09/"> September 2020</a> &nbsp;(1)</li><li> <a href="/blog/archives/2020/08/"> August 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/06/"> June 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/04/"> April 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/03/"> March 2020</a> &nbsp;(1)</li><li> <a href="/blog/archives/2020/01/"> January 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2019/12/"> December 2019</a> &nbsp;(1)</li><li> <a href="/blog/archives/2019/11/"> November 2019</a> &nbsp;(1)</li><li> <a href="/blog/archives/2019/08/"> August 2019</a> &nbsp;(2)</li><li> <a href="/blog/archives/2019/05/"> May 2019</a> &nbsp;(1)</li><li> <a href="/blog/archives/2018/11/"> November 2018</a> &nbsp;(1)</li><li> <a href="/blog/archives/2018/06/"> June 2018</a> &nbsp;(1)</li><li> <a href="/blog/archives/2018/03/"> March 2018</a> &nbsp;(1)</li><li> <a href="/blog/archives/2017/12/"> December 2017</a> &nbsp;(1)</li><li> <a href="/blog/archives/2017/09/"> September 2017</a> &nbsp;(2)</li><li> <a href="/blog/archives/2017/07/"> July 2017</a> &nbsp;(1)</li><li> <a href="/blog/archives/2017/04/"> April 2017</a> &nbsp;(3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> &nbsp;(4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> &nbsp;(2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> &nbsp;(2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> &nbsp;(8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> &nbsp;(4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> &nbsp;(3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> &nbsp;(2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> &nbsp;(2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> &nbsp;(3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> &nbsp;(1)</li>
</ul>
</div>
</div>
<hr />
<footer>
<div class="row">
<div class="col-lg-12 text-center">
<div class="footer-links">
<p><a href="http://www.apache.org/licenses/">License</a> | <a
href="/security.html">Security</a> | <a
href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
<a href="http://www.apache.org/foundation/thanks.html">Thanks</a> |
<a href="https://www.apache.org/events/">Events</a> |
<a href="/credits.html">Credits</a> | <a href="/media.html">Media</a>
</div>
<div class="footer-text">
<p><a class="acevent" data-format="wide"></a></p>
<p class="">Copyright &copy; 2009-2023 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
<p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
<p class="">Site last updated on 2023-09-09 21:33:21 +0000</p>
</div>
</div>
</div>
</footer>
</div><!-- /.container -->
<!-- JavaScript -->
<script src='/assets/global-20157a00c0e17a775f45ed99ccdf79d7.js' type='text/javascript'></script>
<script type="text/javascript">
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before
"trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '7']);
var d=document, g=d.createElement('script'),
s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<script src="https://www.apachecon.com/event-images/snippet.js"></script>
</body>
</html>