Salvete, socii. Pulchra pugna servo meo Ab anno MMVI et per annos administrationis suae cursus multum confis et templates cumulavi. Laudavi multum nginx et quodammodo evenit ut etiam centrum nginx centrum in centrum quoque inierim m/
Amici rogaverunt me ut villam illis evolutionem constitueret, et pro certis exemplaribus meis traheret, recordatus sum an interesting consilium , quae spargit in cautes et omnia parat encrypt , etc. Cur non cogitavi? Nihilominus iratus sum eo quod nginxconfig me offert ut archivum zip tabularium in pasco deprimat, sine me permittit ut illud imponatur protinus servo utenti wget/ferch/curl. Quae nugae, quid opus est in navigatro, servo a console opus est. Iratus ivi ad github ut viderem viscera rei, quae ad eius furcam adduxit et, consequenter, petitionem traho. Quod non scriberem si non interesting
Scilicet, antequam in fontes fodiatur, inspexi ubi Chrome generatum archivum avi cum configis trahit, et ibi inscriptio incipiens cum "blob:" exspectabat me geras. Iam patefactum est ministerium non generat aliquid in via, immo totum factum est per js. Re quidem vera archivum avi generatur ab ipso cliente, navigatro, et html ipso. Illae. pulchritudo est in project simpliciter servari potest ut pagina html, ad aliquid uploaded et laborabit) This is a very funny and interesting solution, however, it is terribly inconvenient for setting up servers, in fact, exactly for what this project was created. Download archivum generatum cum pasco, et tunc transfer in servo utens nc... in MMXIX? Negotium mihi constitui inveniendi viam ut perficiendi inde config directe servo.
Post obsitum dum negotium, coepi cogitare quid optiones meae essent. Negotium perplexum fuit eo quod a conditione deviare nolui, ut consilium purum ante-finem maneret, sine fine ullo posteriori. Scilicet, solutio simplicissima esset nodejs evellere ac cogere ut archivum generaret cum fictilibus directis nexus utentibus.
Profecto non multi bene fuerunt. Accuratius tantum in mentem venit. Necesse est nos ficarios erigere et nexum accipere quod effingo servo consolere ut archivum exeamus.
Plures tabellae textuales in archivo zip inde resultantes aliquantum ponderis habent, proprie pauca chiliobyta. Solutio perspicua erat ut chordae base64 ex archivo avi genito acquirerentur et in quiddam mitterent, cum servo cum mandato in console
echo 'base64string' | base64 --decode > config.ziphoc idem zip lima creare potuimus.
in AngularJS scriptus est, ne suspicari quidem possum quid chiliometra codicis opus esset si auctor reactivum compage non elegisset. Sed perfecte imaginari possum, quanto simplicius et pulchrius haec omnia in VueJS perfici possent, quamvis res prorsus alia sit.
In opum exertorum modum videmus archivum ex zip generandi:
$scope.downloadZip = function() {
var zip = new JSZip();
var sourceCodes = $window.document.querySelectorAll('main .file .code.source');
for (var i = 0; i < sourceCodes.length; i++) {
var sourceCode = sourceCodes[i];
var name = sourceCode.dataset.filename;
var content = sourceCode.children[0].children[0].innerText;
if (!$scope.isSymlink() && name.match(/^sites-available//)) {
name = name.replace(/^sites-available//, 'sites-enabled/');
}
zip.file(name, content);
if (name.match(/^sites-available//)) {
zip.file(name.replace(/^sites-available//, 'sites-enabled/'), '../' + name, {
unixPermissions: parseInt('120755', 8),
});
}
}
zip.generateAsync({
type: 'blob',
platform: 'UNIX',
}).then(function(content) {
saveAs(content, 'nginxconfig.io-' + $scope.getDomains().join(',') + '.zip');
});
gtag('event', $scope.getDomains().join(','), {
event_category: 'download_zip',
});
};
omnia satis simplicia sunt, bibliotheca utens A zip factus est ubi limae configurationis positae sunt. Post tabularium avi partum, js illud pasco ad bibliothecam utens :
saveAs(content, 'nginxconfig.io-' + $scope.getDomains().join(',') + '.zip');
ubi contentus est blob consequens obiectum archivi avi.
Ok, omnia facere debebam, aliam conjunctionem iuxta eam addere et cum in ea strepebam, in tabulario avi navigatoris non servavi, sed ex eo codicem basis64 possidebam. Post fiddling circa frenum, cepi 2 modos, pro uno tantum downloadZip:
$scope.downloadZip = function() {
generateZip(function (content) {
saveAs(content, 'nginxconfig.io-' + $scope.getDomains().join(',') + '.zip');
});
gtag('event', $scope.getDomains().join(','), {
event_category: 'download_zip',
});
};
$scope.downloadBase64 = function() {
generateZip(function (content) {
var reader = new FileReader();
reader.readAsDataURL(content);
reader.onloadend = function() {
var base64 = reader.result.replace(/^data:.+;base64,/, '');
// в переменной base64 как раз нужный мне zip архив в виде base64 строки
}
});
gtag('event', $scope.getDomains().join(','), {
event_category: 'download_base64',
});
};
Ut animadvertere licet, ipsum generativum archivi avi generandi ad methodum privatam, et sic porro. Hoc est Angularis, et auctor ipse callbacks haeret nec per promissiones perficit. downloadZip still did saveas as an output, while downloadBase64 did something slightly different. FileReadorem creamus obiectum quod ad nos venit in html5 et iam satis est ad usum. Quod aliquando ex blob filo base64 facere potest, vel potius chorda DataURL facit, sed hoc non ita magnum nobis est, quia DataURL prorsus continet quod opus est. Bingo, aliquantulum snag me expectavit cum haec omnia in quiddam ponere conatus sum. Bibliotheca scriptorum usus est in project quae sino te sine mico, in textu delectae, cum clipboard laborare. Initio statui base64 meam ponere in elemento cum pompa: nulla, sed hoc casu in clipboard non potui ponere quia nulla fit separatio. Itaque pro nemo; feci
position: absolute;
z-index: -1;
opacity: 0;
quod mihi licet utrumque elementum visu occultare et in pagina re vera relinquere. Voila, negotium peractum est, cum in globulis meis strepebam, linea huius modi in quiddam collocabatur:
echo 'base64string' | base64 --decode > config.zipquam in solatium ministranti simpliciter conglutinavi et statim archivum avi cum omnibus formis accepi.
Et sane, viverra petitionem auctoris misi, quia... Propositum est activum et vivax, vellem videre updates ab autore et habere meam ipsius conjunctionem) Pro his, quorum interest, hic est. project et ipse ubi vide quid emendavi/addidi.
Felix progressus omnis)
Source: www.habr.com
