web / views /layout.hbs
Closure-RI's picture
aaa
7cf32bc
raw
history blame
2.66 kB
<!DOCTYPE html>
<html>
<head>
<title>{{title}}</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
<script src="/socket.io/socket.io.js"></script>
<!-- Place this tag in your head or just before your close body tag. -->
<script async defer src="https://buttons.github.io/buttons.js"></script>
</head>
<body>
{{{body}}}
</body>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-120895783-4"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-120895783-4');
</script>
<script>
var numberOfFiles = 0;
const downloadWebsite = document.getElementsByClassName('btn-success')[0];
// connect to current socket.io server
var socket = io.connect(document.URL);
if(!localStorage['token'])
localStorage['token']=generateToken(20);
// wait for events for this token
socket.on(localStorage['token'],(event)=>{
console.log(event)
document.getElementById('progress').hidden=false;
if(event.progress=="Converting")
{
log.innerHTML=(`<h5>100%! Compressing your website...</h5><br>`)
}
else if(event.progress=="Completed")
{
document.getElementById('progress').hidden=true;
log.innerHTML=(`<code>Compressing completed successfully !</code><br>`)
downloadWebsite.style='display:'
downloadWebsite.onclick=function()
{
window.location='/tmp/'+event.file+".zip";
}
}
else
{
const log = document.getElementById('log');
if(event.progress.includes('200 OK'))
numberOfFiles++;
document.getElementById('nFilesP').hidden=false;
document.getElementById('nFiles').innerHTML=numberOfFiles
log.innerHTML=(`<code> ${event.progress}</code><br>`)
}
})
// Download a website on click
const downloadBtn = document.getElementById("download");
downloadBtn.onclick=()=>{
var website = document.getElementById('website').value
console.log("Now downloading the website ... %s",website)
socket.emit('request', { token: localStorage['token'] , website});
}
// Generate token for each user for the first time.
function generateToken(n) {
var chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
var token = '';
for(var i = 0; i < n; i++) {
token += chars[Math.floor(Math.random() * chars.length)];
}
return token;
}
</script>
</html>