search form
This commit is contained in:
parent
eeea7f792c
commit
e8e676d584
144
public/main.css
Normal file
144
public/main.css
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
@import url(https://fonts.googleapis.com/css?family=Cabin:400);
|
||||||
|
|
||||||
|
.searchform {
|
||||||
|
background: #151515;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform:before,
|
||||||
|
.searchform:after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
height: 1px;
|
||||||
|
left: 50%;
|
||||||
|
margin: 0 0 0 -400px;
|
||||||
|
position: absolute;
|
||||||
|
width: 800px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform:before {
|
||||||
|
background: #444;
|
||||||
|
background: linear-gradient(left, #151515, #444, #151515);
|
||||||
|
top: 192px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform:after {
|
||||||
|
background: #000;
|
||||||
|
background: linear-gradient(left, #151515, #000, #151515);
|
||||||
|
top: 191px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform form {
|
||||||
|
background: #111;
|
||||||
|
background: linear-gradient(#1b1b1b, #111);
|
||||||
|
border: 1px solid #000;
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: inset 0 0 0 1px #272727;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 0px;
|
||||||
|
margin: 150px auto 0;
|
||||||
|
padding: 20px;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform input {
|
||||||
|
background: #222;
|
||||||
|
background: linear-gradient(#333, #222);
|
||||||
|
border: 1px solid #444;
|
||||||
|
border-radius: 5px 0 0 5px;
|
||||||
|
box-shadow: 0 2px 0 #000;
|
||||||
|
color: #888;
|
||||||
|
display: block;
|
||||||
|
float: left;
|
||||||
|
font-family: 'Cabin', helvetica, arial, sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 400;
|
||||||
|
height: 40px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 10px;
|
||||||
|
text-shadow: 0 -1px 0 #000;
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ie .searchform input {
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform input::-webkit-input-placeholder {
|
||||||
|
color: #888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform input:-moz-placeholder {
|
||||||
|
color: #888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform input:focus {
|
||||||
|
animation: glow 800ms ease-out infinite alternate;
|
||||||
|
background: #222922;
|
||||||
|
background: linear-gradient(#333933, #222922);
|
||||||
|
border-color: #393;
|
||||||
|
box-shadow: 0 0 5px rgba(0,255,0,.2), inset 0 0 5px rgba(0,255,0,.1), 0 2px 0 #000;
|
||||||
|
color: #efe;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform input:focus::-webkit-input-placeholder {
|
||||||
|
color: #efe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform input:focus:-moz-placeholder {
|
||||||
|
color: #efe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform button {
|
||||||
|
background: #222;
|
||||||
|
background: linear-gradient(#333, #222);
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: 1px solid #444;
|
||||||
|
border-left-color: #000;
|
||||||
|
border-radius: 0 5px 5px 0;
|
||||||
|
box-shadow: 0 2px 0 #000;
|
||||||
|
color: #fff;
|
||||||
|
display: block;
|
||||||
|
float: left;
|
||||||
|
font-family: 'Cabin', helvetica, arial, sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 400;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
position: relative;
|
||||||
|
text-shadow: 0 -1px 0 #000;
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform button:hover,
|
||||||
|
.searchform button:focus {
|
||||||
|
background: #292929;
|
||||||
|
background: linear-gradient(#393939, #292929);
|
||||||
|
color: #5f5;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchform button:active {
|
||||||
|
background: #292929;
|
||||||
|
background: linear-gradient(#393939, #292929);
|
||||||
|
box-shadow: 0 1px 0 #000, inset 1px 0 1px #222;
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes glow {
|
||||||
|
0% {
|
||||||
|
border-color: #393;
|
||||||
|
box-shadow: 0 0 5px rgba(0,255,0,.2), inset 0 0 5px rgba(0,255,0,.1), 0 2px 0 #000;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
border-color: #6f6;
|
||||||
|
box-shadow: 0 0 20px rgba(0,255,0,.6), inset 0 0 10px rgba(0,255,0,.4), 0 2px 0 #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -16,6 +16,7 @@ const server = express()
|
|||||||
// set template engine
|
// set template engine
|
||||||
server.set('view engine', 'ejs')
|
server.set('view engine', 'ejs')
|
||||||
server.set('views', path.join(__dirname, 'templates'))
|
server.set('views', path.join(__dirname, 'templates'))
|
||||||
|
server.use('/public', express.static('public'))
|
||||||
|
|
||||||
// set up console logs in dev mode
|
// set up console logs in dev mode
|
||||||
if (process.env.NODE_ENV !== 'production') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
@ -29,7 +30,7 @@ server.use(bodyParser.urlencoded({ extended: true }))
|
|||||||
|
|
||||||
server.use('/', (req, res, next) => {
|
server.use('/', (req, res, next) => {
|
||||||
console.log('hello')
|
console.log('hello')
|
||||||
res.render('index')
|
res.render('search')
|
||||||
})
|
})
|
||||||
|
|
||||||
server.use('/search', (req, res, next) => {
|
server.use('/search', (req, res, next) => {
|
||||||
|
|||||||
2
server/templates/footer.ejs
Normal file
2
server/templates/footer.ejs
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -1 +1,4 @@
|
|||||||
<h1>Penis</h1>
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,19 @@
|
|||||||
<% include header %>
|
<% include header %>
|
||||||
<h1>An awesome template</h1>
|
|
||||||
{{>header }}
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<title>Goodreads API</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="/public/main.css"/>
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<section class="searchform">
|
||||||
|
<form class="pure-form "action="" method="">
|
||||||
|
<input type="text" placeholder="Enter ISBN" autofocus required>
|
||||||
|
<button onclick="">Search</button>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<% include footer %>
|
||||||
3
server/templates/result.ejs
Normal file
3
server/templates/result.ejs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<% include header %>
|
||||||
|
|
||||||
|
<% include footer %>
|
||||||
16
server/templates/search.ejs
Normal file
16
server/templates/search.ejs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<% include header %>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<title>Goodreads API</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="/public/main.css"/>
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||||
|
<head>
|
||||||
|
<body>
|
||||||
|
<section class="searchform">
|
||||||
|
<form class="pure-form "action="" method="">
|
||||||
|
<input type="text" placeholder="Enter ISBN" autofocus required>
|
||||||
|
<button>Search</button>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
<% include footer %>
|
||||||
Loading…
Reference in New Issue
Block a user