Compare commits

...
Sign in to create a new pull request.

25 commits

Author SHA1 Message Date
Dave Machado
0e51a860c1 Merge pull request #462 from davemachado/site-plan
Alpha website candidate
2017-08-20 13:02:43 -04:00
davemachado
1150d91844 fix stupid mistakes 2017-08-17 12:54:07 -04:00
davemachado
8dc55bfea1 set fixed table width 2017-08-17 12:46:03 -04:00
davemachado
516a91e006 Add AppCache manifest to site 2017-08-17 12:43:14 -04:00
davemachado
23ea4e186c move assets to new directories 2017-08-17 12:42:21 -04:00
davemachado
6b03ab1af6 Use Vue method to filter search listings 2017-08-17 12:20:52 -04:00
davemachado
271649c9ec Load JS library in correct order 2017-08-17 12:11:47 -04:00
davemachado
7fa69ecfd1 load Vue via async 2017-08-17 11:59:44 -04:00
davemachado
8ffe70daf1 use Vue to fetch JSON 2017-08-17 11:57:55 -04:00
davemachado
089979a9a9 use Roboto font from Google Fonts 2017-08-17 11:16:39 -04:00
davemachado
26ee5a3722 use minified Vue and move to footer 2017-08-17 11:06:10 -04:00
davemachado
67bd0d78ee ignore lock files 2017-08-16 23:50:05 -04:00
davemachado
32481b8f9b use stock JSON entries field for data 2017-08-16 23:27:09 -04:00
davemachado
d148df03db remove extra strings 2017-08-16 23:10:32 -04:00
davemachado
f54ad9e8de update formatting 2017-08-16 23:08:45 -04:00
davemachado
f56df6c2e0 add Section column to query scope 2017-08-16 20:52:07 -04:00
davemachado
621aa054ca Add Github corner ribbon 2017-08-16 20:41:45 -04:00
davemachado
705be057ff Get JSON from rawGithubContent request 2017-08-16 20:39:56 -04:00
davemachado
ca64ce80ee add favicon 2017-08-15 23:38:53 -04:00
davemachado
a710375908 clean up minor formatting 2017-08-15 23:26:09 -04:00
davemachado
f3d76a953b update CSS ordering 2017-08-15 23:13:58 -04:00
davemachado
43780c40b5 add basic table styling 2017-08-15 23:00:45 -04:00
davemachado
bd6fbe4aff switch to raw HTML and CSS concept 2017-08-15 21:51:58 -04:00
davemachado
c9f885fd6b Remove jekyll build dir from VC 2017-08-15 20:13:16 -04:00
davemachado
1482d8fdd1 Inital commit of jekyll source 2017-08-15 20:11:10 -04:00
6 changed files with 153 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
src/_site
src/Gemfile.lock

53
src/css/stylesheet.css Normal file
View file

@ -0,0 +1,53 @@
body {
border-collapse: collapse;
font-family: 'Roboto', sans-serif;
text-align: center;
width: 100%;
}
table {
table-layout: fixed;
width: 100px;
}
#entries td, #entries th {
border: 1px solid #ddd;
padding: 8px;
}
#entries tr:nth-child(even) {
background-color: #f2f2f2;
}
#entries tr:hover {
background-color: #ddd;
}
#entries {
border-collapse: collapse;
border: 1px solid #ddd;
font-size: 18px;
width: 100%;
}
#entries th {
background-color: #4783e5;
color: white;
padding-top: 12px;
padding-bottom: 12px;
text-align: center;
}
.isHidden {
display: none;
}
#searchbox {
border: 1px solid #ddd;
border-radius: 50px;
margin-bottom: 12px;
font-size: 16px;
padding: 12px 20px 12px 40px;
text-align: center;
width: 50%;
}

BIN
src/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

56
src/index.html Normal file
View file

@ -0,0 +1,56 @@
<!doctype html>
<html lang="en" manifest="manifest.appcache">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/stylesheet.css"/>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<script src="https://unpkg.com/vue@2.4.2/dist/vue.min.js"></script>
<title>Public APIs</title>
</head>
<header>
<a href="https://github.com/toddmotto/public-apis" class="github-corner" aria-label="View source on Github"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#4783e5; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
<h1 class="center-text">
Public APIs
</h1>
<h3 class="center-text">
A collective list of free APIs for use in web development
</h3>
<h3 class="center-text">
For information on contributing to this project, please see the <a href="https://github.com/toddmotto/public-apis/blob/master/.github/CONTRIBUTING.md">contributing guide</a>
</h3>
</header>
<body>
<div id="app">
<div class="center-text">
<input type="search" id="searchbox" placeholder="Search APIs" autocomplete="off" spellcheck="false" tabindex="0" v-model="filter">
</div>
<div style="overflow-x:auto;">
<table id="entries">
<thead>
<tr class="tbl-head">
<th>API</th>
<th>Description</th>
<th>Auth</th>
<th>HTTPS</th>
<th>Category</th>
</tr>
</thead>
<tbody>
<tr v-for="item in items" v-show="filtered(item)">
<td><a :href="item.Link">{{ item.API }}</a></td>
<td>{{ item.Description }}</td>
<td>{{ (item.Auth) ? item.Auth : '-' }}</td>
<td>{{ (item.HTTPS) ? '✔' : '✖' }}</td>
<td>{{ item.Category }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
<script src="scripts/main.js"></script>
</html>

6
src/manifest.appcache Normal file
View file

@ -0,0 +1,6 @@
CACHE MANIFEST
index.html
css/stylesheet.css
scripts/main.js
https://unpkg.com/vue@2.4.2/dist/vue.min.js
https://raw.githubusercontent.com/toddmotto/public-apis/master/json/entries.min.json

36
src/scripts/main.js Normal file
View file

@ -0,0 +1,36 @@
new Vue({
data: {
filter: '',
items: ''
},
created() {
fetch('https://raw.githubusercontent.com/toddmotto/public-apis/master/json/entries.min.json')
.then(data => data.json())
.then(data => {
this.items = data.entries;
})
},
methods: {
filtered(item) {
let show = true;
if(this.filter.length) {
show = false;
let filterKeyword = this.filter.toLowerCase();
Object.keys(item).map(function(key) {
if(typeof item[key] === 'string') {
let value = item[key].toString().toLowerCase();
if(value.includes(filterKeyword)) {
show = true;
}
}
});
}
return show;
}
}
}).$mount('#app');