Browse Source

Homepage updates for beta

pull/2301/head
Artur Arseniev 9 years ago
parent
commit
c05bc0fbbe
  1. 489
      d-nl.html
  2. 689
      demo-newsletter-editor.html
  3. 33
      demo.html
  4. BIN
      fonts/FontAwesome.otf
  5. BIN
      fonts/fontawesome-webfont.eot
  6. 3320
      fonts/fontawesome-webfont.svg
  7. BIN
      fonts/fontawesome-webfont.ttf
  8. BIN
      fonts/fontawesome-webfont.woff
  9. BIN
      fonts/fontawesome-webfont.woff2
  10. BIN
      img/grapesjs-front-page-m.jpg
  11. BIN
      img/grapesjs-logo-cl.png
  12. BIN
      img/hn-logo.png
  13. BIN
      img/ph-logo.png
  14. BIN
      img/sc-grapesjs-newsletter-demo.jpg
  15. BIN
      img/speckyboy-logo.png
  16. BIN
      img/t3n-logo.png
  17. BIN
      img/wdd-logo.png
  18. 223
      index.html
  19. 21
      js/grapesjs-preset-newsletter.min.js
  20. 13
      js/main.js
  21. 7
      js/toastr.min.js
  22. 2337
      stylesheets/font-awesome.css
  23. 1
      stylesheets/fw.min.css
  24. 2
      stylesheets/grapesjs-preset-newsletter.css
  25. 250
      stylesheets/stylesheet.css
  26. 6
      stylesheets/toastr.min.css

489
d-nl.html

@ -1,489 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>GrapesJS Newsletter Editor</title>
<link rel="stylesheet" href="./stylesheets/grapes.min.css">
<link rel="stylesheet" href="./stylesheets/material.css">
<link rel="stylesheet" href="./stylesheets/tooltip.css">
<link rel="stylesheet" href="./stylesheets/grapesjs-preset-newsletter.css">
<script src="./js/jquery.js"></script>
<script src="./js/grapes.min.js"></script>
<script src="./js/grapesjs-preset-newsletter.min.js"></script>
<script src="./js/ajaxable.min.js"></script>
</head>
<style>
body, html{ height: 100%; margin: 0;}
</style>
<body>
<div id="gjs" style="height:0px; overflow:hidden"></div>
<form id="test-form" class="test-form" action="http://grapes.16mb.com/s" method="POST" style="display:none">
<div class="putsmail-c">
<a href="https://putsmail.com/" target="_blank">
<img src="./img/putsmail.png" style="opacity:0.85; width:177px" />
</a>
<div class="gjs-sm-property" style="font-size: 10px">
Message delivering offered by PutsMail
<span class="form-status" style="opacity: 0">
<i class="fa fa-refresh anim-spin" aria-hidden="true"></i>
</span>
</div>
</div>
<div class="gjs-sm-property">
<div class="gjs-field">
<span id="gjs-sm-input-holder">
<input type="email" name="email" placeholder="Email" required>
</span>
</div>
</div>
<div class="gjs-sm-property">
<div class="gjs-field">
<span id="gjs-sm-input-holder">
<input type="text" name="subject" placeholder="Subject" required>
</span>
</div>
</div>
<input type="hidden" name="body">
<button class="gjs-btn-prim gjs-btn-import" style="width: 100%">SEND</button>
</form>
<script type="text/javascript">
// Custom template
var templateImport = `
<table class="c654">
<tr class="row">
<td class="cell">
<table class="container">
<tr>
<td class="container-cell">
<table class="table100 c1790">
<tr>
<td class="top-cell" id="c1793">
<u class="browser-link" id="c307">View in browser
</u>
</td>
</tr>
</table>
<table class="c1766">
<tr>
<td class="cell c1769">
<img class="c926" src="https://raw.githubusercontent.com/artf/grapesjs/gh-pages/img/grapesjs-logo.png" alt="GrapesJS."/>
</td>
<td class="cell c1776">
<div class="c1144 darkerfont">GrapesJS Newsletter Editor
<br/>
</div>
</td>
</tr>
</table>
<table class="card">
<tr>
<td class="card-cell">
<img class="c1271" src="http://placehold.it/550x250/78c5d6/fff/" alt="Big image here"/>
<table class="table100 c1357">
<tr>
<td class="card-content">
<h1 class="card-title">Build your newsletters faster than ever
<br/>
</h1>
<p class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
</p>
<table class="c1542">
<tr>
<td class="card-footer" id="c1545">
<a class="button">Button here
</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<style>.row{
vertical-align:top;
}
.c654{
min-height:150px;
padding-top:5px;
padding-right:5px;
padding-bottom:5px;
padding-left:5px;
margin-top:auto;
margin-right:auto;
margin-bottom:auto;
margin-left:auto;
width:100%;
height:100%;
background-color:rgb(234, 236, 237);
}
.cell{
text-align:left;
font-size:12px;
font-family:Helvetica,serif;
font-weight:300;
color:rgb(111, 119, 125);
padding-top:0px;
padding-right:0px;
padding-bottom:0px;
padding-left:0px;
vertical-align:top;
margin-top:0px;
margin-right:0px;
margin-bottom:0px;
margin-left:0px;
}
.c926{
color:rgb(158, 83, 129);
width:100%;
font-size:50px;
}
.cell.c849{
width:11%;
}
.c1144{
padding-top:10px;
padding-right:10px;
padding-bottom:10px;
padding-left:10px;
font-size:17px;
}
.card{
min-height:150px;
padding-top:5px;
padding-right:5px;
padding-bottom:5px;
padding-left:5px;
margin-top:20px;
height:0px;
}
.card-cell{
background-color:rgb(255, 255, 255);
overflow-x:hidden;
overflow-y:hidden;
border-top-left-radius:3px;
border-top-right-radius:3px;
border-bottom-right-radius:3px;
border-bottom-left-radius:3px;
padding-top:0px;
padding-right:0px;
padding-bottom:0px;
padding-left:0px;
text-align:center;
}
.card.sector{
background-color:rgb(255, 255, 255);
border-top-left-radius:3px;
border-top-right-radius:3px;
border-bottom-right-radius:3px;
border-bottom-left-radius:3px;
border-collapse:separate;
}
.c1271{
width:100%;
margin-top:0px;
margin-right:0px;
margin-bottom:15px;
margin-left:0px;
font-size:50px;
color:rgb(120, 197, 214);
line-height:250px;
text-align:center;
}
.table100{
width:100%;
}
.c1357{
min-height:150px;
padding-top:5px;
padding-right:5px;
padding-bottom:5px;
padding-left:5px;
margin-top:auto;
margin-right:auto;
margin-bottom:auto;
margin-left:auto;
height:0px;
}
.darkerfont{
color:rgb(65, 69, 72);
}
.button{
font-size:12px;
padding-top:10px;
padding-right:20px;
padding-bottom:10px;
padding-left:20px;
background-color:rgb(217, 131, 166);
color:rgb(255, 255, 255);
text-align:center;
border-top-left-radius:3px;
border-top-right-radius:3px;
border-bottom-right-radius:3px;
border-bottom-left-radius:3px;
font-weight:300;
}
.table100.c1437{
text-align:left;
}
.cell.cell-bottom{
text-align:center;
height:51px;
}
.card-title{
font-size:25px;
font-weight:300;
color:rgb(68, 68, 68);
}
.card-content{
font-size:13px;
line-height:20px;
color:rgb(111, 119, 125);
padding-top:10px;
padding-right:20px;
padding-bottom:0px;
padding-left:20px;
}
.container{
min-height:150px;
padding-top:5px;
padding-right:5px;
padding-bottom:5px;
padding-left:5px;
margin-top:auto;
margin-right:auto;
margin-bottom:auto;
margin-left:auto;
height:0px;
width:90%;
max-width:550px;
}
.cell.c856{
vertical-align:middle;
}
.container-cell{
vertical-align:top;
font-size:medium;
padding-top:0px;
padding-right:0px;
padding-bottom:0px;
padding-left:0px;
}
.c1790{
min-height:150px;
padding-top:5px;
padding-right:5px;
padding-bottom:5px;
padding-left:5px;
margin-top:auto;
margin-right:auto;
margin-bottom:auto;
margin-left:auto;
height:0px;
}
.table100.c1790{
min-height:30px;
border-collapse:separate;
margin-top:0px;
margin-right:0px;
margin-bottom:10px;
margin-left:0px;
}
.browser-link{
font-size:12px;
}
.top-cell{
text-align:right;
color:rgb(152, 156, 165);
}
.table100.c1357{
margin-top:0px;
margin-right:0px;
margin-bottom:0px;
margin-left:0px;
border-collapse:collapse;
}
.c1769{
width:30%;
}
.c1776{
width:70%;
}
.c1766{
margin-top:0px;
margin-right:auto;
margin-bottom:10px;
margin-left:auto;
padding-top:5px;
padding-right:5px;
padding-bottom:5px;
padding-left:5px;
width:100%;
min-height:30px;
}
.cell.c1769{
width:11%;
}
.cell.c1776{
vertical-align:middle;
}
.c1542{
margin-top:0px;
margin-right:auto;
margin-bottom:10px;
margin-left:auto;
padding-top:5px;
padding-right:5px;
padding-bottom:5px;
padding-left:5px;
width:100%;
}
.card-footer{
padding:20px 0px 20px 0px;
text-align:center;
}
.quote {
color: #6a6a6a;
font-style: italic;
font-weight: 200;
}
</style>
`;
// Set up GrapesJS editor with the Newsletter plugin
var editor = grapesjs.init({
height: '100%',
noticeOnUnload: 0,
storageManager:{
autoload: 0,
},
assetManager: {
upload: 0,
uploadText: 'Uploading is not available in this demo',
},
container : '#gjs',
plugins: ['gjs-preset-newsletter'],
pluginsOpts: {
'gjs-preset-newsletter': {
inlineCss: 0,
modalLabelImport: 'Paste all your code here below and click import',
modalLabelExport: 'Copy the code and use it wherever you want',
codeViewerTheme: 'material',
defaultTemplate: templateImport,
importPlaceholder: templateImport
}
}
});
// Let's add in this demo the possibility to test our newsletters
var mdlClass = 'gjs-mdl-dialog-sm';
var pnm = editor.Panels;
var cmdm = editor.Commands;
var testContainer = document.getElementById("test-form");
var contentEl = testContainer.querySelector('input[name=body]');
var md = editor.Modal;
cmdm.add('send-test', {
run(editor, sender) {
sender.set('active', 0);
var modalContent = md.getContentEl();
var mdlDialog = document.querySelector('.gjs-mdl-dialog');
var cmdGetCode = cmdm.get('gjs-get-inlined-html');
contentEl.value = cmdGetCode && cmdGetCode.run(editor);
mdlDialog.className += ' ' + mdlClass;
testContainer.style.display = 'block';
md.setTitle('Test your Newsletter');
md.setContent('');
md.setContent(testContainer);
md.open();
md.getModel().once('change:open', function() {
mdlDialog.className = mdlDialog.className.replace(mdlClass, '');
//clean status
})
}
});
pnm.addButton('options', {
id: 'send-test',
className: 'fa fa-paper-plane',
command: 'send-test',
attributes: {
'title': 'Test Newsletter',
'data-tooltip-pos': 'bottom',
},
});
//fa fa-refresh
var statusFormElC = document.querySelector('.form-status');
var statusFormEl = document.querySelector('.form-status i');
var ajaxTest = ajaxable(testContainer).
onStart(function(){
statusFormEl.className = 'fa fa-refresh anim-spin';
statusFormElC.style.opacity = '1';
statusFormElC.className = 'form-status';
})
.onResponse(function(res){
if (res.data) {
statusFormElC.style.opacity = '0';
statusFormEl.removeAttribute('data-tooltip');
md.close();
} else if(res.errors){
statusFormEl.className = 'fa fa-exclamation-circle';
statusFormEl.setAttribute('data-tooltip', res.errors);
statusFormElC.className = 'form-status text-danger';
}
});
// Add a link to a github page
cmdm.add('open-github', {
run(editor, sender) {
sender.set('active',false);
window.open('https://github.com/artf/grapesjs','_blank');
}
});
pnm.addButton('options', {
id: 'view-github',
className: 'fa fa-github',
command: 'open-github'
});
$(document).ready(function () {
// Beautify tooltips
$('*[title]').each(function () {
var el = $(this);
var title = el.attr('title').trim();
if(!title)
return;
el.attr('data-tooltip', el.attr('title'));
el.attr('title', '');
});
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-74284223-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>

689
demo-newsletter-editor.html

@ -0,0 +1,689 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>GrapesJS Newsletter Editor</title>
<link rel="stylesheet" href="./stylesheets/grapes.min.css">
<link rel="stylesheet" href="./stylesheets/material.css">
<link rel="stylesheet" href="./stylesheets/tooltip.css">
<link rel="stylesheet" href="./stylesheets/toastr.min.css">
<link rel="stylesheet" href="./stylesheets/grapesjs-preset-newsletter.css">
<script src="./js/jquery.js"></script>
<script src="./js/grapes.min.js"></script>
<script src="./js/grapesjs-preset-newsletter.min.js"></script>
<script src="./js/toastr.min.js"></script>
<script src="./js/ajaxable.min.js"></script>
</head>
<style>
body, html{ height: 100%; margin: 0;}
.nl-link {
color: inherit;
}
.info-link {
text-decoration: none;
}
#info-cont {
line-height: 17px;
}
.grapesjs-logo {
display: block;
height: 90px;
margin: 0 auto;
width: 90px;
}
.grapesjs-logo path{
stroke: #eee !important;
stroke-width: 8 !important;
}
#toast-container {
font-size: 13px;
font-weight: lighter;
}
#toast-container > div,
#toast-container > div:hover{
box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
font-family: Helvetica, sans-serif;
}
#toast-container > div{
opacity: 0.95;
}
</style>
<body>
<div id="gjs" style="height:0px; overflow:hidden">
<table class="main-body">
<tr class="row">
<td class="main-body-cell">
<table class="container">
<tr>
<td class="container-cell">
<table class="table100 c1790">
<tr>
<td class="top-cell" id="c1793">
<u class="browser-link" id="c307">View in browser
</u>
</td>
</tr>
</table>
<table class="c1766">
<tr>
<td class="cell c1769">
<img class="c926" src="https://raw.githubusercontent.com/artf/grapesjs/gh-pages/img/grapesjs-logo.png" alt="GrapesJS."/>
</td>
<td class="cell c1776">
<div class="c1144">GrapesJS Newsletter Builder
<br/>
</div>
</td>
</tr>
</table>
<table class="card">
<tr>
<td class="card-cell">
<img class="c1271" src="./img/tmp-header-txt.jpg" alt="Big image here"/>
<table class="table100 c1357">
<tr>
<td class="card-content">
<h1 class="card-title">Build your newsletters faster than ever
<br/>
</h1>
<p class="card-text">Import, build, test and export responsive newsletter templates faster than ever using the GrapesJS Newsletter Builder.
</p>
<table class="c1542">
<tr>
<td class="card-footer" id="c1545">
<a class="button" href="https://github.com/artf/grapesjs">Free and Open Source
</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="list-item">
<tr>
<td class="list-item-cell">
<table class="list-item-content">
<tr class="list-item-row">
<td class="list-cell-left">
<img class="list-item-image" src="./img/tmp-blocks.jpg" alt="Image1"/>
</td>
<td class="list-cell-right">
<h1 class="card-title">Built-in Blocks
</h1>
<p class="card-text">Drag and drop built-in blocks from the right panel and style them in a matter of seconds
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="list-item">
<tr>
<td class="list-item-cell">
<table class="list-item-content">
<tr class="list-item-row">
<td class="list-cell-left">
<img class="list-item-image" src="./img/tmp-tgl-images.jpg" alt="Image2"/>
</td>
<td class="list-cell-right">
<h1 class="card-title">Toggle images
</h1>
<p class="card-text">Build a good looking newsletter even without images enabled by the email clients
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="grid-item-row">
<tr>
<td class="grid-item-cell2-l">
<table class="grid-item-card">
<tr>
<td class="grid-item-card-cell">
<img class="grid-item-image" src="./img/tmp-send-test.jpg" alt="Image1"/>
<table class="grid-item-card-body">
<tr>
<td class="grid-item-card-content">
<h1 class="card-title">Test it
</h1>
<p class="card-text">You can send email tests directly from the editor and check how are looking on your email clients
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td class="grid-item-cell2-r">
<table class="grid-item-card">
<tr>
<td class="grid-item-card-cell">
<img class="grid-item-image" src="./img/tmp-devices.jpg" alt="Image2"/>
<table class="grid-item-card-body">
<tr>
<td class="grid-item-card-content">
<h1 class="card-title">Responsive
</h1>
<p class="card-text">Using the device manager you'll always send a fully responsive contents
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="footer">
<tr>
<td class="footer-cell">
<div class="c2577">
<p class="footer-info">GrapesJS Newsletter Builder is a free and open source preset (plugin) used on top of the GrapesJS core library.
For more information about and how to integrate it inside your applications check<p>
<a class="link" href="https://github.com/artf/grapesjs-preset-newsletter">GrapesJS Newsletter Preset</a>
<br/>
</div>
<div class="c2421">
MADE BY <a class="link" href="https://github.com/artf">ARTUR ARSENIEV</a>
<p>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<style>
.link {
color: rgb(217, 131, 166);
}
.row{
vertical-align:top;
}
.main-body{
min-height:150px;
padding: 5px;
width:100%;
height:100%;
background-color:rgb(234, 236, 237);
}
.c926{
color:rgb(158, 83, 129);
width:100%;
font-size:50px;
}
.cell.c849{
width:11%;
}
.c1144{
padding: 10px;
font-size:17px;
font-weight: 300;
}
.card{
min-height:150px;
padding: 5px;
margin-bottom:20px;
height:0px;
}
.card-cell{
background-color:rgb(255, 255, 255);
overflow:hidden;
border-radius: 3px;
padding: 0;
text-align:center;
}
.card.sector{
background-color:rgb(255, 255, 255);
border-radius: 3px;
border-collapse:separate;
}
.c1271{
width:100%;
margin: 0 0 15px 0;
font-size:50px;
color:rgb(120, 197, 214);
line-height:250px;
text-align:center;
}
.table100{
width:100%;
}
.c1357{
min-height:150px;
padding: 5px;
margin: auto;
height:0px;
}
.darkerfont{
color:rgb(65, 69, 72);
}
.button{
font-size:12px;
padding: 10px 20px;
background-color:rgb(217, 131, 166);
color:rgb(255, 255, 255);
text-align:center;
border-radius: 3px;
font-weight:300;
}
.table100.c1437{
text-align:left;
}
.cell.cell-bottom{
text-align:center;
height:51px;
}
.card-title{
font-size:25px;
font-weight:300;
color:rgb(68, 68, 68);
}
.card-content{
font-size:13px;
line-height:20px;
color:rgb(111, 119, 125);
padding: 10px 20px 0 20px;
vertical-align:top;
}
.container{
font-family: Helvetica, serif;
min-height:150px;
padding: 5px;
margin:auto;
height:0px;
width:90%;
max-width:550px;
}
.cell.c856{
vertical-align:middle;
}
.container-cell{
vertical-align:top;
font-size:medium;
padding-bottom:50px;
}
.c1790{
min-height:150px;
padding: 5px;
margin:auto;
height:0px;
}
.table100.c1790{
min-height:30px;
border-collapse:separate;
margin: 0 0 10px 0;
}
.browser-link{
font-size:12px;
}
.top-cell{
text-align:right;
color:rgb(152, 156, 165);
}
.table100.c1357{
margin: 0;
border-collapse:collapse;
}
.c1769{
width:30%;
}
.c1776{
width:70%;
}
.c1766{
margin: 0 auto 10px 0;
padding: 5px;
width:100%;
min-height:30px;
}
.cell.c1769{
width:11%;
}
.cell.c1776{
vertical-align:middle;
}
.c1542{
margin: 0 auto 10px auto;
padding:5px;
width:100%;
}
.card-footer{
padding: 20px 0;
text-align:center;
}
.c2280{
height:150px;
margin:0 auto 10px auto;
padding:5px 5px 5px 5px;
width:100%;
}
.c2421{
padding:10px;
}
.c2577{
padding:10px;
}
.footer{
margin-top: 50px;
color:rgb(152, 156, 165);
text-align:center;
font-size:11px;
padding: 5px;
}
.quote {
font-style: italic;
}
.list-item{
height:auto;
width:100%;
margin: 0 auto 10px auto;
padding: 5px;
}
.list-item-cell{
background-color:rgb(255, 255, 255);
border-radius: 3px;
overflow: hidden;
padding: 0;
}
.list-cell-left{
width:30%;
padding: 0;
}
.list-cell-right{
width:70%;
color:rgb(111, 119, 125);
font-size:13px;
line-height:20px;
padding: 10px 20px 0px 20px;
}
.list-item-content{
border-collapse: collapse;
margin: 0 auto;
padding: 5px;
height:150px;
width:100%;
}
.list-item-image{
color:rgb(217, 131, 166);
font-size:45px;
width: 100%;
}
.grid-item-image{
line-height:150px;
font-size:50px;
color:rgb(120, 197, 214);
margin-bottom:15px;
width:100%;
}
.grid-item-row {
margin: 0 auto 10px;
padding: 5px 0;
width: 100%;
}
.grid-item-card {
width:100%;
padding: 5px 0;
margin-bottom: 10px;
}
.grid-item-card-cell{
background-color:rgb(255, 255, 255);
overflow: hidden;
border-radius: 3px;
text-align:center;
padding: 0;
}
.grid-item-card-content{
font-size:13px;
color:rgb(111, 119, 125);
padding: 0 10px 20px 10px;
width:100%;
line-height:20px;
}
.grid-item-cell2-l{
vertical-align:top;
padding-right:10px;
width:50%;
}
.grid-item-cell2-r{
vertical-align:top;
padding-left:10px;
width:50%;
}
</style>
</div>
<form id="test-form" class="test-form" action="http://grapes.16mb.com/s" method="POST" style="display:none">
<div class="putsmail-c">
<a href="https://putsmail.com/" target="_blank">
<img src="./img/putsmail.png" style="opacity:0.85;" />
</a>
<div class="gjs-sm-property" style="font-size: 10px">
Test delivering offered by <a class="nl-link" href="https://litmus.com/" target="_blank">Litmus</a> with <a class="nl-link" href="https://putsmail.com/" target="_blank">Putsmail</a>
<span class="form-status" style="opacity: 0">
<i class="fa fa-refresh anim-spin" aria-hidden="true"></i>
</span>
</div>
</div>
<div class="gjs-sm-property">
<div class="gjs-field">
<span id="gjs-sm-input-holder">
<input type="email" name="email" placeholder="Email" required>
</span>
</div>
</div>
<div class="gjs-sm-property">
<div class="gjs-field">
<span id="gjs-sm-input-holder">
<input type="text" name="subject" placeholder="Subject" required>
</span>
</div>
</div>
<input type="hidden" name="body">
<button class="gjs-btn-prim gjs-btn-import" style="width: 100%">SEND</button>
</form>
<div id="info-cont" style="display:none">
<br/>
<svg class="grapesjs-logo" xmlns="http://www.w3.org/2000/svg" version="1"><g id="gjs-logo"><path d="M40 5l-12.9 7.4 -12.9 7.4c-1.4 0.8-2.7 2.3-3.7 3.9 -0.9 1.6-1.5 3.5-1.5 5.1v14.9 14.9c0 1.7 0.6 3.5 1.5 5.1 0.9 1.6 2.2 3.1 3.7 3.9l12.9 7.4 12.9 7.4c1.4 0.8 3.3 1.2 5.2 1.2 1.9 0 3.8-0.4 5.2-1.2l12.9-7.4 12.9-7.4c1.4-0.8 2.7-2.2 3.7-3.9 0.9-1.6 1.5-3.5 1.5-5.1v-14.9 -12.7c0-4.6-3.8-6-6.8-4.2l-28 16.2" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:10;stroke:#fff"/></g></svg>
<br/>
<div class="gjs-import-label">
<b>GrapesJS Newsletter Builder</b> is a showcase of what/how is possible to build an editor using the
<a class="info-link gjs-color-active" target="_blank" href="http://artf.github.io/grapesjs/">GrapesJS</a>
core library. Is not intended to represent a complete builder solution.
<br/><br/>
For any tip about this demo (or newsletters construction in general) check the
<a class="info-link gjs-color-active" target="_blank" href="https://github.com/artf/grapesjs-preset-newsletter">Newsletter Preset repository</a>
and open an issue. For any problem with the builder itself, open an issue on the main
<a class="info-link gjs-color-active" target="_blank" href="https://github.com/artf/grapesjs">GrapesJS repository</a>.
<br/><br/>
Being a free and open source project contributors and supporters are extremely welcome.
</div>
</div>
<script type="text/javascript">
var images = [
'http://grapesjs.com/img/grapesjs-logo.png',
'./img/tmp-blocks.jpg',
'./img/tmp-tgl-images.jpg',
'./img/tmp-send-test.jpg',
'./img/tmp-devices.jpg',
];
// Set up GrapesJS editor with the Newsletter plugin
var editor = grapesjs.init({
height: '100%',
noticeOnUnload: 0,
storageManager:{
autoload: 0,
},
assetManager: {
upload: 0,
uploadText: 'Uploading is not available in this demo',
},
container : '#gjs',
fromElement: true,
assetManager: {assets: images},
plugins: ['gjs-preset-newsletter'],
pluginsOpts: {
'gjs-preset-newsletter': {
modalLabelImport: 'Paste all your code here below and click import',
modalLabelExport: 'Copy the code and use it wherever you want',
codeViewerTheme: 'material',
//defaultTemplate: templateImport,
importPlaceholder: '<table class="table"><tr><td class="cell">Hello world!</td></tr></table>',
cellStyle: {
'font-size': '12px',
'font-weight': 300,
'vertical-align': 'top',
color: 'rgb(111, 119, 125)',
margin: 0,
padding: 0,
}
}
}
});
// Let's add in this demo the possibility to test our newsletters
var mdlClass = 'gjs-mdl-dialog-sm';
var pnm = editor.Panels;
var cmdm = editor.Commands;
var testContainer = document.getElementById("test-form");
var contentEl = testContainer.querySelector('input[name=body]');
var md = editor.Modal;
cmdm.add('send-test', {
run(editor, sender) {
sender.set('active', 0);
var modalContent = md.getContentEl();
var mdlDialog = document.querySelector('.gjs-mdl-dialog');
var cmdGetCode = cmdm.get('gjs-get-inlined-html');
contentEl.value = cmdGetCode && cmdGetCode.run(editor);
mdlDialog.className += ' ' + mdlClass;
testContainer.style.display = 'block';
md.setTitle('Test your Newsletter');
md.setContent('');
md.setContent(testContainer);
md.open();
md.getModel().once('change:open', function() {
mdlDialog.className = mdlDialog.className.replace(mdlClass, '');
//clean status
})
}
});
pnm.addButton('options', {
id: 'send-test',
className: 'fa fa-paper-plane',
command: 'send-test',
attributes: {
'title': 'Test Newsletter',
'data-tooltip-pos': 'bottom',
},
});
//fa fa-refresh
var statusFormElC = document.querySelector('.form-status');
var statusFormEl = document.querySelector('.form-status i');
var ajaxTest = ajaxable(testContainer).
onStart(function(){
statusFormEl.className = 'fa fa-refresh anim-spin';
statusFormElC.style.opacity = '1';
statusFormElC.className = 'form-status';
})
.onResponse(function(res){
if (res.data) {
statusFormElC.style.opacity = '0';
statusFormEl.removeAttribute('data-tooltip');
md.close();
} else if(res.errors){
statusFormEl.className = 'fa fa-exclamation-circle';
statusFormEl.setAttribute('data-tooltip', res.errors);
statusFormElC.className = 'form-status text-danger';
}
});
// Add info command
var infoContainer = document.getElementById("info-cont");
cmdm.add('open-info', {
run(editor, sender) {
sender.set('active', 0);
var mdlDialog = document.querySelector('.gjs-mdl-dialog');
mdlDialog.className += ' ' + mdlClass;
infoContainer.style.display = 'block';
md.setTitle('About this demo');
md.setContent('');
md.setContent(infoContainer);
md.open();
md.getModel().once('change:open', function() {
mdlDialog.className = mdlDialog.className.replace(mdlClass, '');
})
}
});
pnm.addButton('options', {
id: 'view-info',
className: 'fa fa-question-circle',
command: 'open-info',
attributes: {
'title': 'About',
'data-tooltip-pos': 'bottom',
},
});
// Simple warn notifier
var origWarn = console.warn;
toastr.options = {
closeButton: true,
preventDuplicates: true,
showDuration: 250,
hideDuration: 150
};
console.warn = function (msg) {
toastr.warning(msg);
origWarn(msg);
};
$(document).ready(function () {
// Beautify tooltips
$('*[title]').each(function () {
var el = $(this);
var title = el.attr('title').trim();
if(!title)
return;
el.attr('data-tooltip', el.attr('title'));
el.attr('title', '');
});
});
</script>
</body>
</html>

33
demo.html

@ -3,8 +3,10 @@
<head>
<meta charset="utf-8">
<title>GrapesJS Demo</title>
<link rel="stylesheet" href="stylesheets/toastr.min.css">
<link rel="stylesheet" href="stylesheets/grapes.min.css">
<script src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
<script src="js/toastr.min.js"></script>
<style type="text/css">
body, html{ height: 100%; margin: 0; }
#wte-pn-options2.wte-pn-panel{box-shadow: none;}
@ -82,6 +84,21 @@
}
#wte-sm-flex-grow, #wte-sm-flex-shrink{ width:30%;}
#wte-sm-flex-basis{ width:40%;}
#toast-container {
font-size: 13px;
font-weight: lighter;
}
#toast-container > div,
#toast-container > div:hover {
box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
font-family: Helvetica, sans-serif;
}
#toast-container > div {
opacity: 0.95;
}
</style>
</head>
<body>
@ -855,7 +872,6 @@
display:none;
}
}
pc-regular
</style>
</div>
<script src="js/grapes.min.js"></script>
@ -1192,7 +1208,7 @@
);
// Add extra buttons
//Add extra buttons
gr.Panels.addButton('options', [{
id: 'undo',
className: 'fa fa-undo icon-undo',
@ -1217,6 +1233,19 @@
window.editor = gr;
// Simple warn notifier
var origWarn = console.warn;
toastr.options = {
closeButton: true,
preventDuplicates: true,
showDuration: 250,
hideDuration: 150
};
console.warn = function (msg) {
toastr.warning(msg);
origWarn(msg);
};
</script>
<script>

BIN
fonts/FontAwesome.otf

Binary file not shown.

BIN
fonts/fontawesome-webfont.eot

Binary file not shown.

3320
fonts/fontawesome-webfont.svg

File diff suppressed because it is too large

Before

Width:  |  Height:  |  Size: 357 KiB

After

Width:  |  Height:  |  Size: 434 KiB

BIN
fonts/fontawesome-webfont.ttf

Binary file not shown.

BIN
fonts/fontawesome-webfont.woff

Binary file not shown.

BIN
fonts/fontawesome-webfont.woff2

Binary file not shown.

BIN
img/grapesjs-front-page-m.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

BIN
img/grapesjs-logo-cl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
img/hn-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
img/ph-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
img/sc-grapesjs-newsletter-demo.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
img/speckyboy-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
img/t3n-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
img/wdd-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

223
index.html

@ -14,72 +14,160 @@
<meta property="og:image" content="http://grapesjs.com/img/share-image.jpg" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,300' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/animate.css" media="screen">
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
<link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen">
<link href="https://fonts.googleapis.com/css?family=Quicksand:300,400,500" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="stylesheets/animate.css">
<link rel="stylesheet" type="text/css" href="stylesheets/fw.min.css">
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheets/github-light.css">
<link rel="stylesheet" type="text/css" href="stylesheets/font-awesome.css">
</head>
<body>
<section class="page-header">
<a href="https://github.com/artf/grapesjs" class="github-ribbon" target="_blank">Star me on GitHub</a>
<div class="title-cont">
<h1 class="project-name">
<svg class="grapesjs-logo" xmlns="http://www.w3.org/2000/svg" version="1"><g id="gjs-logo"><path d="M40 5l-12.9 7.4 -12.9 7.4c-1.4 0.8-2.7 2.3-3.7 3.9 -0.9 1.6-1.5 3.5-1.5 5.1v14.9 14.9c0 1.7 0.6 3.5 1.5 5.1 0.9 1.6 2.2 3.1 3.7 3.9l12.9 7.4 12.9 7.4c1.4 0.8 3.3 1.2 5.2 1.2 1.9 0 3.8-0.4 5.2-1.2l12.9-7.4 12.9-7.4c1.4-0.8 2.7-2.2 3.7-3.9 0.9-1.6 1.5-3.5 1.5-5.1v-14.9 -12.7c0-4.6-3.8-6-6.8-4.2l-28 16.2" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:10;stroke:#fff"/></g></svg>
GrapesJS
<span class="b-badge">alpha</span>
</h1>
<div class="width-all top-header">
<div class="columns">
<div class="column col-6 col-md-12 text-left">
<span class="logo-cont no-sel">
<img class="top-logo-grapesjs" src="img/grapesjs-logo-cl.png"/>
GrapesJS <span class="b-badge" style="display: none">beta</span>
</span>
</div>
<div class="column col-6 col-md-12 text-right">
<nav class="top-nav">
<span class="nav-item">
<a class="top-nav-link scroll-link" data-target=".main-content" href="##">Features</a>
</span>
<span class="nav-item">
<a class="top-nav-link" href="https://github.com/artf/grapesjs" target="_blank">
<i class="fa fa-github" aria-hidden="true"></i> Github
</a>
</span>
<span class="nav-item">
<a class="top-nav-link tooltip tooltip-bottom" href="https://twitter.com/GrapesJS_feed" target="_blank" data-tooltip="Stay Tuned">
<i class="fa fa-twitter" aria-hidden="true"></i> Twitter
</a>
</span>
</nav>
</div>
</div>
</div>
<h2 class="project-tagline">Free and Open source Web Template Editor<br/>
<!--
<div class="title-cont">
<h1 class="project-name">
<svg class="grapesjs-logo" xmlns="http://www.w3.org/2000/svg" version="1"><g id="gjs-logo"><path d="M40 5l-12.9 7.4 -12.9 7.4c-1.4 0.8-2.7 2.3-3.7 3.9 -0.9 1.6-1.5 3.5-1.5 5.1v14.9 14.9c0 1.7 0.6 3.5 1.5 5.1 0.9 1.6 2.2 3.1 3.7 3.9l12.9 7.4 12.9 7.4c1.4 0.8 3.3 1.2 5.2 1.2 1.9 0 3.8-0.4 5.2-1.2l12.9-7.4 12.9-7.4c1.4-0.8 2.7-2.2 3.7-3.9 0.9-1.6 1.5-3.5 1.5-5.1v-14.9 -12.7c0-4.6-3.8-6-6.8-4.2l-28 16.2" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:8;stroke:#fff"/></g></svg>
GrapesJS
<span class="b-badge">beta</span>
</h1>
</div>
-->
<h2 class="project-tagline">
Free and Open Source Web Builder Framework<br/>
<span>Next generation tool for building templates without coding</span>
</h2>
<div class="bann-cont">
<img class="banner-img" src="img/grapesjs-frames2.png">
</div>
<div class="btns-cont">
<!--a href="https://github.com/artf/grapesjs" class="btn btn-rnd">View on GitHub</a-->
<a href="./demo.html" class="btn try btn-rnd"> Try it now </a>
<a href="./demo.html" class="btn try btn-rnd">Webpage Demo</a>
<a href="./demo-newsletter-editor.html" class="btn try btn-rnd">Newsletter Demo</a>
<div class="device-small">Sorry but your device is too small for the editor. See below for more information</div>
<!--a href="https://github.com/artf/grapesjs/zipball/master" class="btn btn-rnd">Download</a-->
</div>
<div class="ddown-c">
<div class="ddown-icon-c animated fadeInDown">
<div id="ddown-icon">&lang;&lang;</div>
<div class="bann-cont-c">
<div class="bann-cont">
<img class="banner-img" src="img/grapesjs-front-page-m.jpg">
</div>
</div>
<!-- Load Facebook SDK for JavaScript -->
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="site-footer">
<div class="btn-share">
<div class="fb-share-button" data-href="http://grapesjs.com?test" data-layout="button"></div>
<a href="https://twitter.com/share" class="twitter-share-button"{count} data-url="http://grapesjs.com" data-text="GrapesJS: next generation tool for building templates without coding" data-hashtags="grapesjs">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<div class="ddown-c">
<div class="ddown-icon-c animated fadeInDown scroll-link" data-target=".what-sect">
<div id="ddown-icon" style="cursor:pointer">&lang;</div>
</div>
</div>
<div class="ddown-sharer">
<div>
<a class="btn-share sh-tw tooltip" data-tooltip="Tweet" target="_blank" href="https://twitter.com/intent/tweet?hashtags=grapesjs&ref_src=twsrc%5Etfw&text=GrapesJS%3A%20next%20generation%20tool%20for%20building%20templates%20without%20coding&tw_p=tweetbutton&url=http%3A%2F%2Fgrapesjs.com"><i class="fa fa-twitter" aria-hidden="true"></i></a>
<a class="btn-share sh-fb tooltip" data-tooltip="Share" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgrapesjs.com"><i class="fa fa-facebook-official" aria-hidden="true"></i></a>
</div>
<span style="visibility:hidden" class="site-footer-owner"><a href="https://github.com/artf/grapesjs">GrapesJS</a> is maintained by <a href="https://github.com/artf">artf</a></span>
</div>
</section>
<section class="section-container what-sect">
<div class="width-all">
<h1 class="section-title primary-title">What is it?</h1>
<div class="section-content">
GrapesJS is an open-source, multi-purpose, Web Builder Framework which combines different tools and features with the goal to help you (or users of your application) to build HTML templates
without any knowledge of coding. It's a perfect solution to replace the common WYSIWYG editors, which are good for content editing but inappropriate for
creating HTML structures. You can see it in action with the
<a class="scroll-link" data-target=".logo-cont" href="##">official demos</a>,
but using its
<a target="_blank" href="https://github.com/artf/grapesjs/wiki/API-Reference">API</a>
you're able to
build your own editors.
<br/>
<br/>
If you're here just to build stuff faster, open and bookmark the official demos and use them when you need it.
</div>
</div>
</section>
<section class="main-content">
<div class="body-c body1 width-all">
<h1>Available end-user features</h1>
<div class="info-card fadeInBlock" id="card1">
<div id="desc">Design the structure with already built-in commands</div>
<div id="img-c">
<img data-gifffer="./img/gif-struct-m.gif"/>
<div class="info-card fadeInBlock columns">
<div class="column col-6">
<div class="info-card-title">Drag&Drop Built-in Blocks</div>
<div class="info-card-description">GrapesJS comes with a set of built-in blocks, in this way you're able to
build your design content faster. If the default set is not enough you can add your own custom blocks.</div>
</div>
<div class="column col-6">
<div id="img-c">
<img data-gifffer="./img/gif-struct-m.gif"/>
</div>
</div>
</div>
<div class="info-card fadeInBlock columns">
<div class="column col-6">
<div id="img-c">
<img data-gifffer="./img/gif-struct-m.gif"/>
</div>
</div>
<div class="column col-6">
<div class="info-card-title">Responsive by design</div>
<div class="info-card-description">GrapesJS gives you all the necessary tools that you need to optimize your
templates to look awesomely on any device. In this way you're able to provide various viewing experience.
In case more device options are required, you can easily add them to the editor.</div>
</div>
<div class="clearfix"></div>
</div>
<div class="info-card fadeInBlock columns">
<div class="column col-6">
<div class="info-card-title">No coding required</div>
<div class="info-card-description">Create any kind of templates without any knowledge in coding</div>
</div>
<div class="column col-6">
<div id="img-c">
<img data-gifffer="./img/gif-struct-m.gif"/>
</div>
</div>
</div>
<div class="info-card fadeInBlock" id="card2">
<div id="desc">Easily insert images and text contents</div>
<div id="img-c">
@ -111,7 +199,21 @@
</div>
<div class="clearfix"></div>
</div>
<!--
--- End user features ---
No coding
Create any kind of templates without any knowledge in coding
Fast
GrapesJS gives you great performances so you can
manage large nested templates without losing frame rates
Clean output
Under the hood GrapesJS generates a clean and optimized code,
without unnecessary parts.
-->
<!--div class="info-card fadeInBlock" id="card4">
<div id="desc">With any CSS property, even transitions or 3D (experimental)</div>
<div id="img-c">
@ -131,17 +233,54 @@
</div><!-- close body1 -->
</section>
<section class="featured">
<div class="featured-title">FEATURED ON</div>
<div class="featured-cards">
<div class="featured-card">
<img class="featured-logo hn-logo" src="./img/hn-logo.png"/>
</div>
<div class="featured-card">
<img class="featured-logo ph-logo" src="./img/ph-logo.png"/>
</div>
<div class="featured-card">
<img class="featured-logo t3n-logo" src="./img/t3n-logo.png"/>
</div>
<div class="featured-card">
<img class="featured-logo wdd-logo" src="./img/wdd-logo.png"/>
</div>
<div class="featured-card">
<img class="featured-logo speckyboy-logo" src="./img/speckyboy-logo.png"/>
</div>
</div>
</section>
<section class="footer-content">
<div class="footer-c width-all">
<div class="title">The project is still in alpha, so stay tuned for new features</div>
<div class="title">The project is still in beta, so stay tuned for new features</div>
<div class="btns-c">
<a class="btn btn-gjs" href="https://github.com/artf/grapesjs/wiki" target="_blank">View Docs</a>
</div>
</div>
<div class="madewith-c">
<span class="madewith">Site built with <br/>
<span class="logo-bot-c"><img class="bot-logo-made" src="img/grapesjs-logo-cl.png"/> rapesJS</span>
</span>
</div>
</section>
<section class="copyr-content">
<div class="copyr-c width-all">
made with <3 by <a href="https://github.com/artf">artf</a>
made with <span class="animated pulse infinite" style="display: inline-block"></span> by <a href="https://github.com/artf">Artur Arseniev</a>
</div>
</section>

21
js/grapesjs-preset-newsletter.min.js

File diff suppressed because one or more lines are too long

13
js/main.js

@ -2,12 +2,23 @@ $(document).ready(function(){
var aniEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
var $header = $('section.page-header');
var viewportH = $(window).height();
var $root = $('html');
$header.css('min-height', viewportH);
//$('#yourElement').one(aniEnd, doSomething);
//
var $win = $(window);
var $els = $('.fadeInBlock');
$('.scroll-link').click(function() {
var target = $($.attr(this, 'data-target'));
if( target.length ){
$root.animate({
scrollTop: (target.offset().top -70 )
}, 500);
return false;
}
});
$win.scroll( function(){
var winH = $win.height();
var winScrollT = $win.scrollTop();
@ -27,4 +38,4 @@ $(document).ready(function(){
$win.trigger('scroll');
Gifffer();
})
})

7
js/toastr.min.js

File diff suppressed because one or more lines are too long

2337
stylesheets/font-awesome.css

File diff suppressed because it is too large

1
stylesheets/fw.min.css

File diff suppressed because one or more lines are too long

2
stylesheets/grapesjs-preset-newsletter.css

@ -64,7 +64,7 @@
.gjs-import-label,
.gjs-export-label {
margin-bottom: 10px;
font-size: 12px; }
font-size: 13px; }
.gjs-mdl-dialog .gjs-btn-import {
margin-top: 10px; }

250
stylesheets/stylesheet.css

@ -1,18 +1,36 @@
* {
box-sizing: border-box; }
box-sizing: border-box;
}
.tooltip::after {
font-size: 0.8rem;
padding: 0.3rem 0.5rem;
}
.top-nav-link.tooltip::after {
white-space: nowrap;
}
body {
padding: 0;
margin: 0;
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-family: "Quicksand", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 1.5;
color: #606c71;
font-weight: 300;
}
.no-sel {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
a {
color: #6f2943;
color: #c64563;
text-decoration: none; }
a:hover {
text-decoration: underline; }
@ -33,7 +51,7 @@ a {
.btn.try{
padding: 0.75rem 3rem;
font-size: 25px;
font-size: 20px;
}
.btn:hover {
@ -46,13 +64,46 @@ a {
}
.bann-cont {
border: 2px solid #444;
border-radius: 5px;
margin: 0 auto 30px;
max-width: 750px;
max-width: 1100px;
overflow: hidden;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.35), 0 0 15px rgba(0, 0, 0, 0.1);
box-sizing: border-box;
width: 90%;
opacity: 0.2;
filter: blur(7px);
}
.bann-cont img {
width: 100%;
display: block;
}
.bann-cont img{
width:100%;
.bann-cont-c {
bottom: -240px;
left: 0;
position: absolute;
width: 100%;
z-index: 1;
}
.section-container {
padding: 5rem 6rem 7rem;
}
.section-title {
font-size: 3rem;
font-weight: lighter;
text-align: center;
margin-top: 0;
}
.primary-title {
color: #c64563;
}
.fb-share-button{ display: inline !important; }
.fb-share-button > span, .fb-share-button iframe{ width:60px !important; height: 20px !important;}
.fb-share-button > span{vertical-align: baseline !important; }
@ -94,22 +145,51 @@ a {
display:block;
}
}
.page-header, .gjs-playground {
text-shadow: 0 2px 0 #793d7b;
min-height:100px;
.page-header,
.gjs-playground {
text-shadow: 0 2px 2px rgba(0, 0, 0, 0.35);
min-height: 100px;
color: #fff;
text-align: center;
background-color: #6f2943;
/*linear-gradient(120deg, #d781a5, #7f3a71)*/
/* linear-gradient(120deg, #d781a5, #7f3a71) */
background-image: linear-gradient(120deg, #d983a6, #4d114f);
overflow: auto;
position: relative;
overflow: hidden;
}
.page-header {
min-height: 1000px;
}
.logo-cont {
font-size: 2rem;
line-height: 55px;
cursor: default;
}
.top-logo-grapesjs {
height: 55px;
vertical-align: bottom;
}
.top-nav {
padding-top: 22px;
}
.nav-item {
margin-left: 25px;
}
.top-nav-link {
color: inherit; text-decoration: none !important;
}
@media screen and (min-width: 64em) {
.page-header {
padding: 3rem 6rem 0; } }
padding: 1rem 6rem 0; } }
@media screen and (min-width: 42em) and (max-width: 64em) {
.page-header {
@ -123,6 +203,7 @@ a {
margin-top: 0;
margin-bottom: 0.1rem;
position: relative;
font-weight: 300;
}
.b-badge {
@ -134,9 +215,6 @@ a {
position: absolute;
text-shadow: none;
}
.project-name {
font-weight: 400;
}
@media screen and (min-width: 64em) {
.project-name {
@ -157,17 +235,22 @@ a {
}
.project-tagline {
margin-bottom: 3rem;
font-weight: normal;
opacity: 0.7; }
margin-top: 5rem;
margin-bottom: 5rem;
font-weight: lighter;
opacity: 0.9;
position: relative;
z-index: 10;
}
.project-tagline > span {
font-size: 15px;
font-size: 1.15rem;
opacity: 0.85;
}
@media screen and (min-width: 64em) {
.project-tagline {
font-size: 1.25rem; } }
font-size: 2rem; } }
@media screen and (min-width: 42em) and (max-width: 64em) {
.project-tagline {
@ -286,7 +369,7 @@ a {
}
#ddown-icon {
cursor: default;
font-size: 30px;
font-size: 35px;
transform: rotate(-90deg);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
@ -297,6 +380,7 @@ a {
margin-bottom: 20px;
position: absolute;
width: 100%;
z-index: 20;
}
@media screen and (min-width: 64em) {
.main-content {
@ -317,6 +401,13 @@ a {
.btns-cont {
margin-bottom: 70px;
position: relative;
z-index: 10;
}
.top-header {
position: relative;
z-index: 10;
}
.site-footer {
@ -376,7 +467,7 @@ a {
}
.width-all{
max-width: 980px;
max-width: 1120px;
width: 90%;
margin: 0 auto;
}
@ -386,6 +477,16 @@ a {
margin: 0 0 250px;
clear: both;
}
.info-card-title {
font-size: 2.5rem;
line-height: 5rem;
}
.info-card-description {
font-size: 1rem;
}
.body-c > h1{
text-align: center;
margin: 50px 0 100px !important;
@ -408,14 +509,18 @@ a {
max-width: 685px;
width: 70%;
}
.fadeInBlock{opacity: 0;}
.footer-content{
background-color: #222222;
.fadeInBlock {
opacity: 0;
}
.footer-content {
background-color: #222;
min-height: 350px;
color: #eee;
}
.footer-c .title {
color: #eee;
font-size: 20px;
font-weight: 300;
padding: 80px 0;
@ -433,20 +538,33 @@ a {
text-align: center;
color: #eee;
}
.btn.btn-rnd {
/*
background-color: transparent;
border: 2px solid #fff;
border-radius: 40px;
color: #fff;
*/
border: 2px solid #fff;
border-radius: 10px;
background-color: white;
color: #9e5381;
text-shadow: none;
opacity: 0.9;
transition: opacity 0.35s;
}
.btn.btn-rnd:hover {
background-color: white;
color: #9e5381;
text-shadow: none;
opacity: 1;
}
.copyr-content {
background-color: #333333;
background-color: #333;
}
.copyr-c {
color: #bbb;
font-weight: 300;
@ -490,4 +608,74 @@ a {
.info-card #img-c > div{}
}
}
.featured {
background-color: rgba(0, 0, 0, 0.05);
}
.featured-title {
color: rgba(0, 0, 0, 0.25);
font-family: Helvetica, sans-serif;
font-weight: bold;
letter-spacing: 5px;
padding: 50px 0;
text-align: center;
}
.featured-cards {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
padding-bottom: 50px;
}
.featured-card {
margin: 50px 30px;
}
.featured-logo {
opacity: 0.7;
}
.featured-logo.wdd-logo {
opacity: 0.5;
}
.ddown-sharer {
bottom: 5px;
left: 15px;
position: absolute;
font-size: 1.5rem;
z-index: 30;
}
.btn-share {
color: #fff;
margin: 0 5px;
}
.madewith {
font-size: 0.9rem;
line-height: 2rem;
}
.madewith-c {
padding: 100px 0 50px;
text-align: center;
}
.bot-logo-made {
height: 20px;
margin-right: -3px;
padding: 0;
vertical-align: middle;
}
.logo-bot-c {
border: 1px solid;
border-radius: 3px;
font-size: 1rem;
letter-spacing: 1px;
padding: 3px 8px 7px;
}

6
stylesheets/toastr.min.css

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save