4,6d3 < < < 9,53d5 < < var wlh=""; //window.location.hash; < var thatone=0, lastisin=-1; < < var toastIn=["Welcome to ... Ansible Core - Introduction to Playbooks Tutorial", < "Environment Today ... ", < "Good to haves ... ", < "References Today ... ", < "Server Configuration Management and Deployment Orchestration Tool", < "DevOps -> Development -> Operations ... so people like ...", < "Install as root ... via Python package manager ... pip ...", < "Simplifies deployment tasks", < "Contains default information for Ansible variables etcetera", < "Contains host information", < "Configuration Management Script", < "Here is our tutorial about this simple Ansible ( on Mac OS X install could be ... sudo pip install ansible ... or via a git ( https://github.com/ ) clone ) deployment project ... but before that ... take a look at a book VirtualBox sandwich ... to help understand our test virtual machine test server", < "Here is our tutorial about this nonTLS Ansible nginx web server example ... which we will also show in Mac OS X Terminal as well later ... cd /Library/pgAgent/mybox/playbooks ... first thesetup.jpg then Vagrantfile and ansible.cfg and hosts files ...", < "And now we examine a complex application deployment Playbook from page 115 of Ansible Up and Running ...", < "PHPStorm IDE integrates well with Ansible and Git for commercial PHP Development Stack work ...", < "Git tutorial ...", < "PHPStorm Xdebug Unit Testing integration ...", < "PHPStorm PHPUnit Unit Testing integration ...", < "Commercial solutions in this field ...", < "Time for questions and answers ..."]; < var toastOut=["For all those automation enthusiasts! Read on ...", < "We're on a Mac Book Pro using Mac OS X ...", < "Git is source control and PHPStorm is an IDE ...", < "Ansible Up and Running by Lorin Hochstein (chapters 1 and 2) ... ISBN: 978-1-491-91532-5 ...", < "With Ansible, remember what you did to make things work deployment wise ...", < "Ansible is not just for Operations and not just for Developers ...", < "Ansible install methods depend on your environment ...", < "Learn ssh and learn playbooks to learn Ansible ...", < "Ansible's configuration layer above ...", < "Ansible's inventory file can be static or dynamic. Read on ...", < "Ansible playbooks are deployment action scripts ...", < "Our first Ansible playbook ... remember that Ansible is hugely scalable, as you consider this ...", < "Ansible deployments can dynamically install. And they can have status decision making and 'do once' commands ...", < "Ansible playbooks can be much mode complex ...", < "PHPStorm IDE integrates with Ansible regarding code unit testing, for instance ...", < "Let's see a Git example ...", < "Xdebug unit testing ...", < "PHPUnit unit testing ...", < "There is help and commercial expertise out there ...", < "So what do you want to ask?"]; < 198,229d149 < var hideTimeout = 5000; //how many ms to wait before hiding after displaying < < function customAlert() { // thanks to http://stackoverflow.com/questions/30746977/how-to-realize-an-alert-that-disappears-after-some-seconds < < //display the box < var customAlert = document.getElementById("custom-alert-1"); < customAlert.style.visibility = 'visible'; < < var isin=toastIn.indexOf(eval(arrname + "[" + eval(-1 + thisone) + "]")); < < if (isin != -1 && isin != lastisin && document.URL.indexOf('notoast=') == -1) { < < document.getElementById("custom-alert-1").innerHTML = toastOut[isin]; < lastisin = isin; < //alert(eval(arrname + "[" + thatone + "]")); < < //set up a timer to hide it, a.k.a a setTimeout() < setTimeout(function() { < customAlert.style.visibility = 'hidden'; < }, hideTimeout); < } < } < < function hashlook() { < if (wlh != window.location.hash) { < wlh = window.location.hash; < //alert(wlh); < customAlert(); < //document.getElementById("mydbut").click(); < } < setTimeout(hashlook, 1000); < } 285,286d204 < thatone=thisone; < setTimeout(movedown, 500); 290c208 < //if (inb.indexOf('file:') == 0) alert('why0 inb=' + inb + ' ourinb=' + ourinb); --- > if (inb.indexOf('file:') == 0) alert('why0 inb=' + inb + ' ourinb=' + ourinb); 293c211 < //if (inb.indexOf('file:') == 0) alert('why00 inb=' + inb + ' ourinb=' + ourinb); --- > if (inb.indexOf('file:') == 0) alert('why00 inb=' + inb + ' ourinb=' + ourinb); 302,303d219 < thatone=thisone; < //setTimeout(movedown, 500); 308,309d223 < thatone=thisone; < //setTimeout(movedown, 500); 313,326c227 < thisone--; < if (thatone != thisone && thatone >= 0) { < var kjisin=toastIn.indexOf(inb); < if (kjisin != -1 && (document.URL + '~').indexOf('#l' + thisone + '~') == -1 && document.URL.indexOf('notoast=') == -1) { < //alert('movedown ' + kjisin + ' ' + inb + ' ' + document.URL); < document.getElementById('rest').innerHTML='
  • ' + inb.replace('file:///Library/pgAgent', '$HOME') + '
  • '; < setTimeout(movedown, 500); < } else { < document.getElementById('rest').innerHTML+='
  • ' + inb.replace('file:///Library/pgAgent', '$HOME') + '
  • '; < } < } else { < document.getElementById('rest').innerHTML+='
  • ' + inb.replace('file:///Library/pgAgent', '$HOME') + '
  • '; < } < thisone++; --- > document.getElementById('rest').innerHTML+='
  • ' + inb.replace('file:///Library/pgAgent', '$HOME') + '
  • '; 328c229 < } --- > } 334,339d234 < function movedown() { < window.location.hash='#li' + eval(-1 + thisone); < location.href='#li' + eval(-1 + thisone); < //alert('=' + window.location.hash); < } < 451,466d345 < button { < display: none; < margin: 0 auto; < margin-top: 32px; < } < < .custom-alert { < display: inline-block; < visibility: hidden; < background-color: #666; < color: #fff; < text-align: enter; < margin: 5% auto; < padding: 12px 48px; < } < 469c348 < --- > 474,475d352 <
    <