mirror of
https://github.com/chinchang/web-maker.git
synced 2025-02-23 06:33:52 +01:00
1051 lines
30 KiB
HTML
1051 lines
30 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
<title>Web Maker - A blazing fast & offline web playground</title>
|
|
<meta property="og:title" content="Web Maker">
|
|
<meta name="viewport" content="width=device-width">
|
|
<meta name="description" content="A blazing fast & offline web playground">
|
|
<meta property="og:description" content="A blazing fast & offline web playground">
|
|
<meta property="og:image" content="https://webmakerapp.com/ss1.png">
|
|
<link rel="image_src" href="ss1.png?v3.0.0" />
|
|
<meta name="twitter:image" content="https://webmakerapp.com/ss1.png" />
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<link rel="icon" href="/icon-128.png">
|
|
|
|
<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/lkfkkhfhhdkiemehlpkgjeojomhpccnh">
|
|
<style>
|
|
/*Hint.css*/
|
|
|
|
[data-hint] {
|
|
position: relative;
|
|
display: inline-block
|
|
}
|
|
|
|
[data-hint]:after,
|
|
[data-hint]:before {
|
|
position: absolute;
|
|
-webkit-transform: translate3d(0, 0, 0);
|
|
-moz-transform: translate3d(0, 0, 0);
|
|
transform: translate3d(0, 0, 0);
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
z-index: 1000000;
|
|
pointer-events: none;
|
|
-webkit-transition: .3s ease;
|
|
-moz-transition: .3s ease;
|
|
transition: .3s ease;
|
|
-webkit-transition-delay: 0ms;
|
|
-moz-transition-delay: 0ms;
|
|
transition-delay: 0ms
|
|
}
|
|
|
|
[data-hint]:hover:after,
|
|
[data-hint]:hover:before {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
-webkit-transition-delay: 100ms;
|
|
-moz-transition-delay: 100ms;
|
|
transition-delay: 100ms
|
|
}
|
|
|
|
[data-hint]:before {
|
|
content: '';
|
|
position: absolute;
|
|
background: 0 0;
|
|
border: 6px solid transparent;
|
|
z-index: 1000001
|
|
}
|
|
|
|
[data-hint]:after {
|
|
content: attr(data-hint);
|
|
background: #383838;
|
|
color: #fff;
|
|
padding: 8px 10px;
|
|
font-size: 12px;
|
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
line-height: 12px;
|
|
white-space: nowrap
|
|
}
|
|
|
|
[data-hint='']:after,
|
|
[data-hint='']:before {
|
|
display: none !important
|
|
}
|
|
|
|
.hint--top-left:before,
|
|
.hint--top-right:before,
|
|
.hint--top:before {
|
|
border-top-color: #383838
|
|
}
|
|
|
|
.hint--bottom-left:before,
|
|
.hint--bottom-right:before,
|
|
.hint--bottom:before {
|
|
border-bottom-color: #383838
|
|
}
|
|
|
|
.hint--top:after,
|
|
.hint--top:before {
|
|
bottom: 100%;
|
|
left: 50%
|
|
}
|
|
|
|
.hint--top:before {
|
|
margin-bottom: -11px;
|
|
left: calc(50% - 6px)
|
|
}
|
|
|
|
.hint--top:after {
|
|
-webkit-transform: translateX(-50%);
|
|
-moz-transform: translateX(-50%);
|
|
transform: translateX(-50%)
|
|
}
|
|
|
|
.hint--top:focus:before,
|
|
.hint--top:hover:before {
|
|
-webkit-transform: translateY(-8px);
|
|
-moz-transform: translateY(-8px);
|
|
transform: translateY(-8px)
|
|
}
|
|
|
|
.hint--top:focus:after,
|
|
.hint--top:hover:after {
|
|
-webkit-transform: translateX(-50%) translateY(-8px);
|
|
-moz-transform: translateX(-50%) translateY(-8px);
|
|
transform: translateX(-50%) translateY(-8px)
|
|
}
|
|
|
|
.hint--bottom:after,
|
|
.hint--bottom:before {
|
|
top: 100%;
|
|
left: 50%
|
|
}
|
|
|
|
.hint--bottom:before {
|
|
margin-top: -11px;
|
|
left: calc(50% - 6px)
|
|
}
|
|
|
|
.hint--bottom:after {
|
|
-webkit-transform: translateX(-50%);
|
|
-moz-transform: translateX(-50%);
|
|
transform: translateX(-50%)
|
|
}
|
|
|
|
.hint--bottom:focus:before,
|
|
.hint--bottom:hover:before {
|
|
-webkit-transform: translateY(8px);
|
|
-moz-transform: translateY(8px);
|
|
transform: translateY(8px)
|
|
}
|
|
|
|
.hint--bottom:focus:after,
|
|
.hint--bottom:hover:after {
|
|
-webkit-transform: translateX(-50%) translateY(8px);
|
|
-moz-transform: translateX(-50%) translateY(8px);
|
|
transform: translateX(-50%) translateY(8px)
|
|
}
|
|
|
|
.hint--right:before {
|
|
border-right-color: #383838;
|
|
margin-left: -11px;
|
|
margin-bottom: -6px
|
|
}
|
|
|
|
.hint--right:after {
|
|
margin-bottom: -14px
|
|
}
|
|
|
|
.hint--right:after,
|
|
.hint--right:before {
|
|
left: 100%;
|
|
bottom: 50%
|
|
}
|
|
|
|
.hint--right:focus:after,
|
|
.hint--right:focus:before,
|
|
.hint--right:hover:after,
|
|
.hint--right:hover:before {
|
|
-webkit-transform: translateX(8px);
|
|
-moz-transform: translateX(8px);
|
|
transform: translateX(8px)
|
|
}
|
|
|
|
.hint--left:before {
|
|
border-left-color: #383838;
|
|
margin-right: -11px;
|
|
margin-bottom: -6px
|
|
}
|
|
|
|
.hint--left:after {
|
|
margin-bottom: -14px
|
|
}
|
|
|
|
.hint--left:after,
|
|
.hint--left:before {
|
|
right: 100%;
|
|
bottom: 50%
|
|
}
|
|
|
|
.hint--left:focus:after,
|
|
.hint--left:focus:before,
|
|
.hint--left:hover:after,
|
|
.hint--left:hover:before {
|
|
-webkit-transform: translateX(-8px);
|
|
-moz-transform: translateX(-8px);
|
|
transform: translateX(-8px)
|
|
}
|
|
|
|
.hint--top-left:after,
|
|
.hint--top-left:before {
|
|
bottom: 100%;
|
|
left: 50%
|
|
}
|
|
|
|
.hint--top-left:before {
|
|
margin-bottom: -11px;
|
|
left: calc(50% - 6px)
|
|
}
|
|
|
|
.hint--top-left:after {
|
|
-webkit-transform: translateX(-100%);
|
|
-moz-transform: translateX(-100%);
|
|
transform: translateX(-100%);
|
|
margin-left: 12px
|
|
}
|
|
|
|
.hint--top-left:focus:before,
|
|
.hint--top-left:hover:before {
|
|
-webkit-transform: translateY(-8px);
|
|
-moz-transform: translateY(-8px);
|
|
transform: translateY(-8px)
|
|
}
|
|
|
|
.hint--top-left:focus:after,
|
|
.hint--top-left:hover:after {
|
|
-webkit-transform: translateX(-100%) translateY(-8px);
|
|
-moz-transform: translateX(-100%) translateY(-8px);
|
|
transform: translateX(-100%) translateY(-8px)
|
|
}
|
|
|
|
.hint--top-right:after,
|
|
.hint--top-right:before {
|
|
bottom: 100%;
|
|
left: 50%
|
|
}
|
|
|
|
.hint--top-right:before {
|
|
margin-bottom: -11px;
|
|
left: calc(50% - 6px)
|
|
}
|
|
|
|
.hint--top-right:after {
|
|
-webkit-transform: translateX(0);
|
|
-moz-transform: translateX(0);
|
|
transform: translateX(0);
|
|
margin-left: -12px
|
|
}
|
|
|
|
.hint--top-right:focus:after,
|
|
.hint--top-right:focus:before,
|
|
.hint--top-right:hover:after,
|
|
.hint--top-right:hover:before {
|
|
-webkit-transform: translateY(-8px);
|
|
-moz-transform: translateY(-8px);
|
|
transform: translateY(-8px)
|
|
}
|
|
|
|
.hint--bottom-left:after,
|
|
.hint--bottom-left:before {
|
|
top: 100%;
|
|
left: 50%
|
|
}
|
|
|
|
.hint--bottom-left:before {
|
|
margin-top: -11px;
|
|
left: calc(50% - 6px)
|
|
}
|
|
|
|
.hint--bottom-left:after {
|
|
-webkit-transform: translateX(-100%);
|
|
-moz-transform: translateX(-100%);
|
|
transform: translateX(-100%);
|
|
margin-left: 12px
|
|
}
|
|
|
|
.hint--bottom-left:focus:before,
|
|
.hint--bottom-left:hover:before {
|
|
-webkit-transform: translateY(8px);
|
|
-moz-transform: translateY(8px);
|
|
transform: translateY(8px)
|
|
}
|
|
|
|
.hint--bottom-left:focus:after,
|
|
.hint--bottom-left:hover:after {
|
|
-webkit-transform: translateX(-100%) translateY(8px);
|
|
-moz-transform: translateX(-100%) translateY(8px);
|
|
transform: translateX(-100%) translateY(8px)
|
|
}
|
|
|
|
.hint--bottom-right:after,
|
|
.hint--bottom-right:before {
|
|
top: 100%;
|
|
left: 50%
|
|
}
|
|
|
|
.hint--bottom-right:before {
|
|
margin-top: -11px;
|
|
left: calc(50% - 6px)
|
|
}
|
|
|
|
.hint--bottom-right:after {
|
|
-webkit-transform: translateX(0);
|
|
-moz-transform: translateX(0);
|
|
transform: translateX(0);
|
|
margin-left: -12px
|
|
}
|
|
|
|
.hint--bottom-right:focus:after,
|
|
.hint--bottom-right:focus:before,
|
|
.hint--bottom-right:hover:after,
|
|
.hint--bottom-right:hover:before {
|
|
-webkit-transform: translateY(8px);
|
|
-moz-transform: translateY(8px);
|
|
transform: translateY(8px)
|
|
}
|
|
|
|
.hint--large:after,
|
|
.hint--medium:after,
|
|
.hint--small:after {
|
|
white-space: normal;
|
|
line-height: 1.4em
|
|
}
|
|
|
|
.hint--small:after {
|
|
width: 80px
|
|
}
|
|
|
|
.hint--medium:after {
|
|
width: 150px
|
|
}
|
|
|
|
.hint--large:after {
|
|
width: 300px
|
|
}
|
|
|
|
.hint--always:after,
|
|
.hint--always:before {
|
|
opacity: 1;
|
|
visibility: visible
|
|
}
|
|
|
|
.hint--always.hint--top:before {
|
|
-webkit-transform: translateY(-8px);
|
|
-moz-transform: translateY(-8px);
|
|
transform: translateY(-8px)
|
|
}
|
|
|
|
.hint--always.hint--top:after {
|
|
-webkit-transform: translateX(-50%) translateY(-8px);
|
|
-moz-transform: translateX(-50%) translateY(-8px);
|
|
transform: translateX(-50%) translateY(-8px)
|
|
}
|
|
|
|
.hint--always.hint--top-left:before {
|
|
-webkit-transform: translateY(-8px);
|
|
-moz-transform: translateY(-8px);
|
|
transform: translateY(-8px)
|
|
}
|
|
|
|
.hint--always.hint--top-left:after {
|
|
-webkit-transform: translateX(-100%) translateY(-8px);
|
|
-moz-transform: translateX(-100%) translateY(-8px);
|
|
transform: translateX(-100%) translateY(-8px)
|
|
}
|
|
|
|
.hint--always.hint--top-right:after,
|
|
.hint--always.hint--top-right:before {
|
|
-webkit-transform: translateY(-8px);
|
|
-moz-transform: translateY(-8px);
|
|
transform: translateY(-8px)
|
|
}
|
|
|
|
.hint--always.hint--bottom:before {
|
|
-webkit-transform: translateY(8px);
|
|
-moz-transform: translateY(8px);
|
|
transform: translateY(8px)
|
|
}
|
|
|
|
.hint--always.hint--bottom:after {
|
|
-webkit-transform: translateX(-50%) translateY(8px);
|
|
-moz-transform: translateX(-50%) translateY(8px);
|
|
transform: translateX(-50%) translateY(8px)
|
|
}
|
|
|
|
.hint--always.hint--bottom-left:before {
|
|
-webkit-transform: translateY(8px);
|
|
-moz-transform: translateY(8px);
|
|
transform: translateY(8px)
|
|
}
|
|
|
|
.hint--always.hint--bottom-left:after {
|
|
-webkit-transform: translateX(-100%) translateY(8px);
|
|
-moz-transform: translateX(-100%) translateY(8px);
|
|
transform: translateX(-100%) translateY(8px)
|
|
}
|
|
|
|
.hint--always.hint--bottom-right:after,
|
|
.hint--always.hint--bottom-right:before {
|
|
-webkit-transform: translateY(8px);
|
|
-moz-transform: translateY(8px);
|
|
transform: translateY(8px)
|
|
}
|
|
|
|
.hint--always.hint--left:after,
|
|
.hint--always.hint--left:before {
|
|
-webkit-transform: translateX(-8px);
|
|
-moz-transform: translateX(-8px);
|
|
transform: translateX(-8px)
|
|
}
|
|
|
|
.hint--always.hint--right:after,
|
|
.hint--always.hint--right:before {
|
|
-webkit-transform: translateX(8px);
|
|
-moz-transform: translateX(8px);
|
|
transform: translateX(8px)
|
|
}
|
|
|
|
[data-hint]:after {
|
|
text-transform: initial !important;
|
|
}
|
|
|
|
</style>
|
|
<style type="text/css">
|
|
body {
|
|
text-align: center;
|
|
font-family: Arial;
|
|
background: white;
|
|
min-height: 100vh;
|
|
font-size: 18px;
|
|
line-height: 1.4;
|
|
padding: 0;
|
|
margin: 0;
|
|
color: #555;
|
|
}
|
|
|
|
.ml-1 {
|
|
margin-left: 1rem;
|
|
}
|
|
|
|
.ml-2 {
|
|
margin-left: 2rem;
|
|
}
|
|
|
|
.mb-1 {
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.mb-2 {
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.logo {
|
|
vertical-align: middle;
|
|
position: relative;
|
|
top: -10px;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 4em;
|
|
margin: 0;
|
|
padding: 0.25em 0 0;
|
|
text-shadow: 0 6px 1px rgba(0, 0, 0, 0.1);
|
|
font-family: 'Arial', cursive;
|
|
}
|
|
|
|
@media screen and (max-width: 400px) {
|
|
body {
|
|
font-size: 14px;
|
|
}
|
|
}
|
|
|
|
@media screen and (max-width: 700px) {
|
|
.logo {
|
|
display: block;
|
|
margin: 0 auto;
|
|
}
|
|
h2 {
|
|
padding: 0 10px;
|
|
}
|
|
}
|
|
|
|
img {
|
|
max-width: 90%;
|
|
}
|
|
|
|
a {
|
|
color: #1A5A7A;
|
|
outline: none;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.flex {
|
|
display: flex;
|
|
}
|
|
|
|
.header {
|
|
margin-top: 2em;
|
|
}
|
|
|
|
.btn {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
padding: 10px 20px;
|
|
display: inline-block;
|
|
border-radius: 8px;
|
|
text-transform: uppercase;
|
|
transition: 0.25s ease;
|
|
color: rgba(0, 0, 0, 0.7);
|
|
}
|
|
|
|
.btn:not(.disabled):hover {
|
|
transform: scale(1.2);
|
|
}
|
|
|
|
.download-btn {
|
|
color: white;
|
|
background-color: #4d7bd6;
|
|
border: 2px solid #4569b1;
|
|
line-height: 2.5rem;
|
|
margin: 1rem 0 0;
|
|
width: 80%;
|
|
}
|
|
|
|
.download-btn.disabled {
|
|
filter: grayscale(50);
|
|
}
|
|
|
|
.web-app-btn {
|
|
position: relative;
|
|
}
|
|
|
|
/* .web-app-btn:after {
|
|
content: 'New';
|
|
font-size: 1rem;
|
|
position: absolute;
|
|
background-color: #96b835;
|
|
padding: 0px 9px;
|
|
letter-spacing: 2px;
|
|
color: white;
|
|
border-radius: 4px;
|
|
transform: rotate(-9deg);
|
|
right: 5px;
|
|
top: -10px;
|
|
transition: 0.25s ease;
|
|
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.web-app-btn:before {
|
|
content: '🎊';
|
|
font-size: 5.2rem;
|
|
position: absolute;
|
|
right: 10px;
|
|
top: -5px;
|
|
transition: 0.25s ease 0.1s;
|
|
} */
|
|
|
|
.web-app-btn:hover:after {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
.web-app-btn:hover:before {
|
|
transform: rotate(-10deg);
|
|
}
|
|
|
|
.btn>img {
|
|
vertical-align: middle;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.screenshot {
|
|
box-shadow: 0 51px 33px -40px rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
.footer {
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
a svg {
|
|
fill: rgba(255, 255, 255, 0.6);
|
|
}
|
|
|
|
a:hover svg {
|
|
fill: white;
|
|
}
|
|
|
|
.social-bar {
|
|
margin-top: 2em;
|
|
transition: 0.25s ease;
|
|
}
|
|
|
|
.social-bar>a {
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.social-bar:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
.feature-box {
|
|
flex-wrap: wrap;
|
|
margin-top: 2em;
|
|
justify-content: center;
|
|
}
|
|
|
|
.feature {
|
|
flex-basis: 100%;
|
|
max-width: 100%;
|
|
padding: 0.5em 1em;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.feature svg {
|
|
width: 32px;
|
|
height: 32px;
|
|
fill: #444;
|
|
}
|
|
|
|
.info {
|
|
display: none;
|
|
}
|
|
|
|
.people-say {
|
|
margin: 4em 0 4em;
|
|
/* width: 100vw; */
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
.people-say-top {
|
|
align-items: flex-end;
|
|
}
|
|
|
|
.people-say-bottom {
|
|
align-items: flex-start;
|
|
}
|
|
|
|
/* .people-say:hover .say {
|
|
flex-shrink: initial;
|
|
} */
|
|
|
|
/* .people-say:hover .people-say-bottom {
|
|
transform: translateX(0);
|
|
} */
|
|
|
|
.say {
|
|
color: inherit;
|
|
padding: 10px 20px;
|
|
margin: 10px 10px;
|
|
display: block;
|
|
flex-shrink: 0;
|
|
border-radius: 5px;
|
|
font-size: 0.95rem;
|
|
background: #f8f8f8;
|
|
text-align: left;
|
|
border: 1px solid rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.say:hover {
|
|
border-color: rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.say p {
|
|
margin: 10px 0 0 0;
|
|
}
|
|
|
|
.say__name {
|
|
font-weight: bold;
|
|
color: #555;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.say__name img {
|
|
height: 40px;
|
|
border-radius: 50%;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.say__handle {
|
|
opacity: 0.7;
|
|
font-weight: normal;
|
|
}
|
|
|
|
@media (min-width: 751px) {
|
|
.header {
|
|
position: fixed;
|
|
width: 460px;
|
|
left: 0;
|
|
}
|
|
body {
|
|
padding-left: 460px;
|
|
}
|
|
.download-btn {
|
|
/* margin: 1rem 0; */
|
|
/* margin: 0 1rem; */
|
|
width: 300px;
|
|
}
|
|
.web-app-btn:after {
|
|
right: -50px;
|
|
}
|
|
.web-app-btn:before {
|
|
right: -22px;
|
|
}
|
|
.social-bar {
|
|
display: none;
|
|
position: fixed;
|
|
top: 30px;
|
|
right: 20px;
|
|
opacity: 0.5;
|
|
}
|
|
.social-bar>a {
|
|
display: block;
|
|
margin-top: 10px;
|
|
}
|
|
.feature-box {
|
|
min-width: 400px;
|
|
/* width: 80vw; */
|
|
margin: 0 auto;
|
|
}
|
|
.feature {
|
|
flex-basis: 50%;
|
|
max-width: 50%;
|
|
padding: 0.5em 2em;
|
|
}
|
|
.info {
|
|
display: block;
|
|
background: white;
|
|
box-shadow: 0 -10px 35px rgba(0, 0, 0, 0.15);
|
|
padding: 2rem;
|
|
position: fixed;
|
|
will-change: transform;
|
|
bottom: 0;
|
|
transform: translateY(101%);
|
|
width: 70vw;
|
|
margin-left: -35vw;
|
|
left: 50%;
|
|
text-align: left;
|
|
font-size: 0.9em;
|
|
transition: 0.4s cubic-bezier(0.77, -0.1, 0.13, 0.9);
|
|
}
|
|
.info.show {
|
|
transform: translateY(0);
|
|
}
|
|
.people-say-top,
|
|
.people-say-bottom {
|
|
display: flex;
|
|
overflow: scroll;
|
|
}
|
|
.say {
|
|
width: 18vw;
|
|
flex-shrink: 0;
|
|
padding: 20px;
|
|
}
|
|
.say p {
|
|
margin: 20px 0 0 0;
|
|
}
|
|
}
|
|
|
|
</style>
|
|
<script>
|
|
function changeLabel(label) {
|
|
document.querySelector('.download-btn span').innerHTML = label;
|
|
}
|
|
|
|
function closeInfo(label) {
|
|
info.classList.remove('show');
|
|
}
|
|
|
|
function addToChrome() {
|
|
_gaq && _gaq.push(['_trackEvent', 'webmaker', 'install-start']);
|
|
info.classList.add('show');
|
|
changeLabel('Installing...');
|
|
chrome.webstore.install(undefined, function () {
|
|
cta.innerHTML = 'Successfully installed!';
|
|
closeInfo();
|
|
_gaq && _gaq.push(['_trackEvent', 'webmaker', 'install-done']);
|
|
});
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<header class="header">
|
|
<svg class="logo" width="160" height="84">
|
|
<use xlink:href="#logo"></use>
|
|
</svg>
|
|
<h1>
|
|
Web Maker
|
|
</h1>
|
|
<h2 style="margin-bottom:0.4em;">A blazing fast & offline web playground in your browser</h2>
|
|
<div style="margin-top: 30px;" id="cta" class="mb-2">
|
|
<a aria-label="Open web app" class="btn download-btn web-app-btn" href="/app/">
|
|
<span>Open Web App</span>
|
|
</a>
|
|
<p style="margin-top:3px;">Recommended: More features. More fun!</p>
|
|
<a aria-label="Install chrome extension" class="btn download-btn js-chrome-btn hint--top-right" href="javascript:void(0)"
|
|
onclick="addToChrome()">
|
|
<img src="chrome-logo.png" height="40" alt="">
|
|
<span>Add Chrome extension</span>
|
|
</a>
|
|
</div>
|
|
<script>
|
|
if (navigator.userAgent.indexOf('Chrome') === -1) {
|
|
document.querySelector('.js-chrome-btn').classList.add('disabled');
|
|
document.querySelector('.js-chrome-btn').setAttribute('data-hint', 'Check back on Google Chrome browser')
|
|
}
|
|
|
|
</script>
|
|
<div>
|
|
<a href="/docs" class="">Docs</a>
|
|
<a href="https://medium.com/web-maker/" class="ml-1">Blog</a>
|
|
<a href="https://github.com/chinchang/web-maker/" class="ml-1">Github</a>
|
|
<a class="hint--top-right ml-1" data-hint="Share on Twitter" href="https://twitter.com/share?url=https://webmakerapp.com/&text=Web Maker - A blazing fast %26 offline web playground!&via=webmakerApp&related=webmakerApp"
|
|
target="_blank" class="tweet-link">Share</a>
|
|
</div>
|
|
</header>
|
|
|
|
<div style="margin-top:30px;">
|
|
<img class="screenshot" src="ss1.png?v3.0.0beta" height="" alt="Web Maker working screen">
|
|
</div>
|
|
<script>
|
|
if (top !== self) {
|
|
var btn = document.querySelector('.download-btn');
|
|
btn.href = 'https://chrome.google.com/webstore/detail/web-maker/lkfkkhfhhdkiemehlpkgjeojomhpccnh';
|
|
btn.target = '_blank';
|
|
}
|
|
|
|
</script>
|
|
|
|
<div class="flex feature-box">
|
|
<div class="feature">
|
|
<!-- <svg viewBox="0 0 24 24">
|
|
<path d="M2.28,3L1,4.27L2.47,5.74C2.04,6 1.61,6.29 1.2,6.6L3,9C3.53,8.6 4.08,8.25 4.66,7.93L6.89,10.16C6.15,10.5 5.44,10.91 4.8,11.4L6.6,13.8C7.38,13.22 8.26,12.77 9.2,12.47L11.75,15C10.5,15.07 9.34,15.5 8.4,16.2L12,21L14.46,17.73L17.74,21L19,19.72M12,3C9.85,3 7.8,3.38 5.9,4.07L8.29,6.47C9.5,6.16 10.72,6 12,6C15.38,6 18.5,7.11 21,9L22.8,6.6C19.79,4.34 16.06,3 12,3M12,9C11.62,9 11.25,9 10.88,9.05L14.07,12.25C15.29,12.53 16.43,13.07 17.4,13.8L19.2,11.4C17.2,9.89 14.7,9 12,9Z" />
|
|
</svg> -->
|
|
<h2>Works Offline</h2>
|
|
<p>Lives completely in your browser. There is no network involved, so it opens and shows previews instantly.</p>
|
|
</div>
|
|
<div class="feature">
|
|
<h2>Preprocessor Support</h2>
|
|
<p>Be it Markdown, Jade, SCSS, LESS, Atomic CSS, JSX, CoffeeScript or TypeScript - you get it all.</p>
|
|
</div>
|
|
<div class="feature">
|
|
<h2>Quick Add Libraries</h2>
|
|
<p>Drop in any library from the available list or put a URL of any other library you wish to add.
|
|
</p>
|
|
</div>
|
|
<div class="feature">
|
|
<h2>Multiple Layouts</h2>
|
|
<p>Get exact same layout in front of you, that you last saved the creation in. Plus, a full screen layout to see your work
|
|
in actual browser window.
|
|
</p>
|
|
</div>
|
|
<div class="feature">
|
|
<h2>Preview screenshot capture</h2>
|
|
<p>Feel like taking a screenshot of your awesome creation, just hit the Capture button to get a beautiful screenshot of
|
|
your result.
|
|
</p>
|
|
</div>
|
|
<div class="feature">
|
|
<h2>Open in Codepen</h2>
|
|
<p>Done with your creation and want to share it with the world? One click and have your work open in CodePen.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="people-say">
|
|
<h3 style="color:red;font-size: 2em;margin:0;">♥</h3>
|
|
<div class="people-say-top">
|
|
<a target="_blank" href="https://blog.codepen.io/2017/01/19/web-maker/" class="say">
|
|
<div class="say__name">
|
|
<img src="https://pbs.twimg.com/profile_images/883049860332609537/IsUISvAq_400x400.jpg" alt="">
|
|
<div>Chris Coyier</div>
|
|
</div>
|
|
<p>If you're looking for a CodePen-like offline editor, and use Chrome, check out Web-Maker by Kushagra Gour.</p>
|
|
</a>
|
|
<a target="_blank" href="https://twitter.com/Ryan_Random/status/832242636970930177" class="say say--twitter">
|
|
<div class="say__name">
|
|
<img src="https://pbs.twimg.com/profile_images/777487197532401665/hsnFGGH2_bigger.jpg" alt="">
|
|
<div>Ryan Davidson
|
|
<div class="say__handle">@Ryan_Random</div>
|
|
</div>
|
|
</div>
|
|
<p>Really enjoying using Web Maker - super fast offline web playground.</p>
|
|
</a>
|
|
<a target="_blank" href="https://twitter.com/NashVail/status/831126444486975489" class="say say--twitter">
|
|
<div class="say__name">
|
|
<img src="https://pbs.twimg.com/profile_images/798582099691212800/15i7-mX-_400x400.jpg" alt="">
|
|
<div>Nishant Verma
|
|
<div class="say__handle">@NashVail</div>
|
|
</div>
|
|
</div>
|
|
<p>Finding awesome pens on @CodePen and recreating them in @webmakerApp is my new hobby</p>
|
|
</a>
|
|
<a target="_blank" href="https://chrome.google.com/webstore/detail/web-maker/lkfkkhfhhdkiemehlpkgjeojomhpccnh/reviews" class="say">
|
|
<div class="say__name">
|
|
<img src="https://plus.google.com/_/focus/photos/public/AIbEiAIAAABECLSb76_ywaCj7gEiC3ZjYXJkX3Bob3RvKigyMTBmZjI0YjYxM2VkZWZiNmYyNTkwZjEwN2RlNjBlYjRkOTE2YmJlMAHafGv-p112HZJ-KreQxPF8-yn0EQ"
|
|
alt="">
|
|
<div>Joacim Nilsson</div>
|
|
</div>
|
|
<p>This is something I will be using alot. Thank you! :D</p>
|
|
</a>
|
|
<a target="_blank" href="https://chrome.google.com/webstore/detail/web-maker/lkfkkhfhhdkiemehlpkgjeojomhpccnh/reviews" class="say">
|
|
<div class="say__name">
|
|
<img src="https://plus.google.com/_/focus/photos/public/AIbEiAIAAABDCK_Jvffnu_2AXSILdmNhcmRfcGhvdG8qKDk3Njg3NDE2NjI1YThmNDgyMDk4OWM3MTBiMTMxNmUzOWQwZGNhMWEwAbe0xm_6UPdrZFAaScMLUOpKFfHP"
|
|
alt="">
|
|
<div>Oksana Borukh</div>
|
|
</div>
|
|
<p>It's fantastic! I'm glad I've discovered it! Thanks!
|
|
</p>
|
|
</a>
|
|
</div>
|
|
<div class="people-say-bottom">
|
|
<a target="_blank" href="https://twitter.com/labnol/status/816576061622235136" class="say say--twitter">
|
|
<div class="say__name">
|
|
<img src="https://pbs.twimg.com/profile_images/905692103883104256/J0feWkQe_normal.jpg" alt="">
|
|
<div>Amit Agarwal
|
|
<div class="say__handle">@labnol</div>
|
|
</div>
|
|
</div>
|
|
<p>This is like having your own copy of Codepen that also works offline.</p>
|
|
</a>
|
|
<a target="_blank" href="https://twitter.com/Armstrong/status/832191260026888197" class="say say--twitter">
|
|
<div class="say__name">
|
|
<img src="https://pbs.twimg.com/profile_images/974909553/Screen_shot_2010-06-09_at_19.14.22_bigger.png" alt="">
|
|
<div>Chris Armstrong
|
|
<div class="say__handle">@Armstrong</div>
|
|
</div>
|
|
</div>
|
|
<p>@webmakerApp looks like a good offline alternative to @CodePen.</p>
|
|
</a>
|
|
<a target="_blank" href="https://twitter.com/sitepointdotcom/status/832987050597085184" class="say say--twitter">
|
|
<div class="say__name">
|
|
<img src="https://pbs.twimg.com/profile_images/851318206807420928/etT-R3rp_bigger.jpg" alt="">
|
|
<div>SitePoint
|
|
<div class="say__handle">@sitepointdotcom</div>
|
|
</div>
|
|
</div>
|
|
<p>Meet Web Maker, an Offline, Browser-based CodePen Alternative.</p>
|
|
</a>
|
|
<a target="_blank" href="https://twitter.com/fedorloenko/status/835186942354534400" class="say">
|
|
<div class="say__name">
|
|
<img src="https://pbs.twimg.com/profile_images/947822663061393408/zhC3vxBL_bigger.jpg" alt="">
|
|
<div>Fedor Loenko
|
|
<div class="say__handle">@fedorloenko</div>
|
|
</div>
|
|
</div>
|
|
<p>Great Chrome extension via @chinchang457. I need offline CodePen from time to time.</p>
|
|
</a>
|
|
<a target="_blank" href="https://chrome.google.com/webstore/detail/web-maker/lkfkkhfhhdkiemehlpkgjeojomhpccnh/reviews" class="say">
|
|
<div class="say__name">
|
|
<img src="https://plus.google.com/_/focus/photos/public/AIbEiAIAAABDCNn44MXB2a_DZSILdmNhcmRfcGhvdG8qKDM2YTNiMDhkYzEyMmVkY2IyZjM2YzY0NTAzNTdjMWU5YWVhM2JmM2MwAc4a1i_Vddj6AIdGg9rpk_xdMePf"
|
|
alt="">
|
|
<div>Steve Lack</div>
|
|
</div>
|
|
<p>Thanks for creating this. What a great tool for productivity!</p>
|
|
</a>
|
|
|
|
<a target="_blank" href="https://chrome.google.com/webstore/detail/web-maker/lkfkkhfhhdkiemehlpkgjeojomhpccnh/reviews" class="say">
|
|
<div class="say__name">
|
|
<img src="https://plus.google.com/_/focus/photos/public/AIbEiAIAAABECOrDgpLHt4jwzwEiC3ZjYXJkX3Bob3RvKig2ZWNkNGM4MmM0MDY2ZmFkMDUzZmE3MGY4MWE3NWM5OTIzZjA4MGRlMAEmU4uVE7yiEAzp6wGGR7B3MMjErg"
|
|
alt="">
|
|
<div>Margaret H</div>
|
|
</div>
|
|
<p>Decided to use it to work on my latest project, it's pretty awesome! Thank you for making this!</p>
|
|
</a>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="info" class="info">
|
|
<p>Web Maker needs the following permissions to work with full capabilities. In words of Chrome extensions:</p>
|
|
|
|
<p>
|
|
<strong>Read & change all your data on the websites that you visit</strong> - Worry not. This is just required for the new tab
|
|
replacement feature where Web Maker shows up only if the new tab url is chrome://newtab/. Nothing is read, stored or
|
|
changed.
|
|
</p>
|
|
|
|
<h3>Disclaimer</h3>
|
|
<p>Web Maker
|
|
<strong>does not track</strong> any user specific data. It uses Google Analytics to track aggregated events to improve user experience
|
|
based on what features are used more. If still you want to opt-out of Google Analytics tracking, please visit
|
|
<a href="https://tools.google.com/dlpage/gaoptout" target="_blank">https://tools.google.com/dlpage/gaoptout</a> or you can set up a filter in Adblock Plus or similar ad blocker tools like
|
|
AdBlock, uBlock or Adblock Pro.</p>
|
|
<div style="text-align: center;">
|
|
<a class="btn" href="javascript:void(0)" onclick="closeInfo()">Close</a>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="social-bar">
|
|
<a class="hint--bottom-left" data-hint="I am on Github" href="https://github.com/chinchang/web-maker/" target="_blank" class="tweet-lin">
|
|
<svg viewBox="0 0 16 16" style="width:32px;height:32px;fill:#666;">
|
|
<path d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"></path>
|
|
</svg>
|
|
</a>
|
|
<a class="hint--bottom-left" data-hint="Share on Twitter" href="https://twitter.com/share?url=https://webmakerapp.com/&text=Web Maker - A blazing fast %26 offline web playground!&via=webmakerApp&related=webmakerApp"
|
|
target="_blank" class="tweet-link">
|
|
<svg viewBox="0 0 16 16" style="width:32px;height:32px;fill:#55ACEE;">
|
|
<path d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809
|
|
c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"
|
|
/>
|
|
</svg>
|
|
</a>
|
|
<!--<a class="hint--bottom-left" data-hint="Featured on ProductHunt" href="https://www.producthunt.com/tech/web-maker-2-0" target="_blank">
|
|
<svg width="32" height="32" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M40 20c0 11.046-8.954 20-20 20S0 31.046 0 20 8.954 0 20 0s20 8.954 20 20" fill="#DA552F"></path><path d="M22.667 20H17v-6h5.667c1.656 0 3 1.343 3 3s-1.344 3-3 3m0-10H13v20h4v-6h5.667c3.866 0 7-3.134 7-7s-3.134-7-7-7" fill="#FFF"></path></g></svg>
|
|
</a>-->
|
|
</div>
|
|
|
|
<div style="margin:2em 0 1em">Follow
|
|
<a style="color:#1da1f2" href="https://twitter.com/intent/follow?screen_name=webmakerApp" target="_blank">@webmakerApp</a> for updates</div>
|
|
|
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" style="display:none">
|
|
<symbol id="logo" viewBox="-145 -2 372 175">
|
|
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(-145.000000, -1.000000)">
|
|
<polygon id="Path-1" fill="#FF4600" points="31 0 232 0 132 173.310547"></polygon>
|
|
<polygon id="Path-1" fill="#FF6C00" points="0 0 201 0 101 173.310547"></polygon>
|
|
<polygon id="Path-1" fill="#FF6C00" transform="translate(271.500000, 86.500000) scale(1, -1) translate(-271.500000, -86.500000) "
|
|
points="171 0 372 0 272 173.310547"></polygon>
|
|
<polygon id="Path-1" fill="#FF4600" transform="translate(241.500000, 86.500000) scale(1, -1) translate(-241.500000, -86.500000) "
|
|
points="141 0 342 0 242 173.310547"></polygon>
|
|
</g>
|
|
</symbol>
|
|
</svg>
|
|
<script type="text/javascript">
|
|
if (location.host.indexOf('localhost') === -1) {
|
|
|
|
var _gaq = _gaq || [];
|
|
_gaq.push(['_setAccount', 'UA-87786708-1']);
|
|
_gaq.push(['_trackPageview']);
|
|
|
|
(function () {
|
|
var ga = document.createElement('script');
|
|
ga.type = 'text/javascript';
|
|
ga.async = true;
|
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
var s = document.getElementsByTagName('script')[0];
|
|
s.parentNode.insertBefore(ga, s);
|
|
})();
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|