Bootstrap Converter is now entirely functional
This commit is contained in:
parent
665bb7d00b
commit
2f63abf637
1 changed files with 44 additions and 8 deletions
|
@ -1,8 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Bootstrap to Min converter</title>
|
||||
<link rel="stylesheet" href="http://minfwk.com/entireframework.min.css" type="text/css">
|
||||
<title>Bootstrap to Min converter</title>
|
||||
<link rel="stylesheet" href="http://minfwk.com/entireframework.min.css" type="text/css">
|
||||
<style type="text/css">
|
||||
iframe {
|
||||
width: 800px;
|
||||
|
@ -18,21 +18,31 @@
|
|||
<body>
|
||||
<br>
|
||||
<h1>Bootstrap to Min converter</h1>
|
||||
<textarea id="enteredHTML" placeholder="Enter your HTML here"></textarea>
|
||||
<textarea id="enteredHTML" placeholder="Enter the body of your HTML page here"></textarea>
|
||||
<br>
|
||||
<a onclick="convertHTML(document.getElementById('enteredHTML').value)"><button class="smooth btn-a dontconvert">Convert HTML</button></a>
|
||||
<br>
|
||||
<a onclick="document.getElementById('enteredHTML').value=bootstrapExamples[0]"><button class="smooth btn-b btn-small dontconvert">Load Bootstrap example</button></a>
|
||||
<br><br>
|
||||
<div id="convertedHTMLDiv">
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
bootstrapExamples = [
|
||||
'<div class="navbar navbar-inverse navbar-fixed-top" role="navigation"><div class="container"><div class="navbar-header"><button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-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="#">Project name</a></div><div class="navbar-collapse collapse"><form class="navbar-form navbar-right" role="form"><div class="form-group"><input type="text" placeholder="Email" class="form-control"></div><div class="form-group"><input type="password" placeholder="Password" class="form-control"></div><button type="submit" class="btn btn-success">Sign in</button></form></div><!--/.navbar-collapse --></div></div><!-- Main jumbotron for a primary marketing message or call to action --><div class="jumbotron"><div class="container"><h1>Hello, world!</h1><p>This is a template for a simple marketing or informational website. It includes a large callout called a jumbotron and three supporting pieces of content. Use it as a starting point to create something more unique.</p><p><a class="btn btn-primary btn-lg" role="button">Learn more »</a></p></div></div><div class="container"><!-- Example row of columns --><div class="row"><div class="col-md-4"><h2>Heading</h2><p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p><p><a class="btn btn-default" href="#" role="button">View details »</a></p></div><div class="col-md-4"><h2>Heading</h2><p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p><p><a class="btn btn-default" href="#" role="button">View details »</a></p></div><div class="col-md-4"><h2>Heading</h2><p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p><p><a class="btn btn-default" href="#" role="button">View details »</a></p></div></div><hr><footer><p>© Company 2013</p></footer></div>'
|
||||
]
|
||||
|
||||
function moveFromAToB(a,b) {
|
||||
$(b)[0].innerHTML += $(a)[0].innerHTML;
|
||||
$(a)[0].remove();
|
||||
}
|
||||
|
||||
function convertHTML(htmlToConvert) {
|
||||
convertedHTML = htmlToConvert;
|
||||
convertedHTMLDiv.innerHTML = convertedHTML;
|
||||
|
||||
|
||||
//First, we convert from Bootstrap's columns to Min's columns.
|
||||
var columndivs = $('div[class^="col"]');
|
||||
|
||||
var widthUnaccountedFor = 0;
|
||||
|
||||
for (var i=0; i<columndivs.length; i++) {
|
||||
var htmlText = columndivs[i].innerHTML;
|
||||
var parentElement = $('div[class^="col"]')[0].parentElement;
|
||||
|
@ -46,11 +56,37 @@
|
|||
widthToSet += 1;
|
||||
widthUnaccountedFor = 0;
|
||||
}
|
||||
|
||||
parentElement.innerHTML += '<column class="c'+widthToSet+'">'+htmlText+"</column>";
|
||||
}
|
||||
|
||||
//Next, we convert the navbar.
|
||||
if ($('.navbar-header') && $('.navbar-collapse')) moveFromAToB('.navbar-header', '.navbar-collapse')
|
||||
if ($('.navbar-collapse') && $('.navbar .container')) moveFromAToB('.navbar-collapse', '.navbar .container')
|
||||
if ($('.navbar .container') && $('.navbar')) moveFromAToB('.navbar .container', '.navbar')
|
||||
if ($('.navbar-toggle')[0]) $('.navbar-toggle')[0].remove()
|
||||
|
||||
//Dump the navbar forms stuff right into the navbar
|
||||
//form-group to navbar-form and navbar-form to navbar
|
||||
var navbarFormItems = $('.form-group');
|
||||
for (var i=0; i<navbarFormItems.length; i++) {
|
||||
moveFromAToB('div.form-group','.navbar-form');
|
||||
}
|
||||
moveFromAToB('.navbar-form', '.navbar');
|
||||
|
||||
//Now we make the page name nice and pretty
|
||||
$('.navbar-brand').removeClass('navbar-brand').addClass('pagename')
|
||||
|
||||
$('button').not('[class*="dontconvert"]').addClass('btn-small');
|
||||
//Make sure to convert from Bootstrap's link-buttons to Min's normal buttons.
|
||||
var aButtons = $('a[class^="btn"]');
|
||||
for (var i=0; i<aButtons.length; i++) {
|
||||
var newButton = document.createElement('button');
|
||||
newButton.innerText = aButtons[i].innerText;
|
||||
aButtons[i].innerText = "";
|
||||
aButtons[i].appendChild(newButton);
|
||||
}
|
||||
|
||||
//Now we make the buttons reasonably sized.
|
||||
$('button').not('[class*="dontconvert"]').not('[class^="btn-lg"]').addClass('btn-small');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
|
Loading…
Add table
Reference in a new issue