await transaction.commit()
let _out = []
- _out.push('<!DOCTYPE html>')
+ _out.push('<!doctype html>')
html(lang="en") {
head {
+ // Required meta tags
meta(charset="utf-8") {}
- meta(http-equiv="X-UA-Compatible" content="IE=edge") {}
- meta(name="viewport" content="width=device-width,initial-scale=1") {}
- // The above 3 meta tags *must* come first in the head;
- // any other head content must come *after* these tags
-
- link(rel="stylesheet" href="/css/bootstrap.css") {}
- link(rel="stylesheet" href="//fonts.googleapis.com/css?family=Frank+Ruhl+Libre:regular,regularitalic,semibold,semibolditalic,bold,bolditalic,black,blackitalic") {}
- link(rel="stylesheet" href="//fonts.googleapis.com/css?family=Nunito+Sans:regular,regularitalic,semibold,semibolditalic,bold,bolditalic,black,blackitalic") {}
-
- await head(_out)
+ meta(name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no") {}
- // HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries
- // WARNING: Respond.js doesn't work if you view the page via file://
- _out.push('<!--[if lt IE 9]>')
- script(src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js") {}
- script(src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js") {}
- _out.push('<![endif]-->')
+ // Bootstrap CSS
+ link(rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous") {}
- // use favicon generator website to get favicons.zip and favicons.html
- _out.push(favicons)
+ await head(_out) //title {'Hello, world!'}
}
body {
- await body(_out)
-
- // jQuery (necessary for Bootstrap's JavaScript plugins)
- script(src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js") {}
- // Include all compiled plugins (below), or include individual files as needed
- //script(src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous") {}
- script(src="/js/bootstrap.js") {}
+ await body(_out) //h1 {'Hello, world!'}
+
+ // Optional JavaScript; choose one of the two!
+
+ // Option 1: jQuery and Bootstrap Bundle (includes Popper)
+ script(src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous") {}
+ script(src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF" crossorigin="anonymous") {}
+
+ // Option 2: Separate Popper and Bootstrap JS
+ //script(src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous") {}
+ //script(src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous") {}
+ //script(src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" integrity="sha384-VHvPCCyXqtD5DqJeNxl2dtTyhF78xXNXdkwX1CZeRusQfRKp+tA7hAShOK/B/fQ2" crossorigin="anonymous") {}
await scripts(_out)
}