Skip to content

Commit

Permalink
add site template
Browse files Browse the repository at this point in the history
  • Loading branch information
kinlane committed Sep 19, 2013
1 parent 2a3d94a commit 07bd312
Show file tree
Hide file tree
Showing 96 changed files with 28,162 additions and 578 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Dev-Hub
=======

This is a template developer hub to show what is possible when you launch an API and data portal on Github.
20 changes: 20 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
title : Dev Hub

safe: true
lsi: false
pygments: true
auto: true

source: dev-hub
destination: dev-hub

permalink: /:categories/:year/:month/:day/:title
exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"]

production_url : http://kinlane.github.io/dev-hub/

BASE_PATH : http://kinlane.github.io/dev-hub/

archive_path: /archive.html
categories_path : /categories.html
tags_path : /tags.html
14 changes: 14 additions & 0 deletions _includes/analytics.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

<script src="/dev-hub/js/jquery.js"></script>
<script src="/dev-hub/js/bootstrap-transition.js"></script>
<script src="/dev-hub/js/bootstrap-alert.js"></script>
<script src="/dev-hub/js/bootstrap-modal.js"></script>
<script src="/dev-hub/js/bootstrap-dropdown.js"></script>
<script src="/dev-hub/js/bootstrap-scrollspy.js"></script>
<script src="/dev-hub/js/bootstrap-tab.js"></script>
<script src="/dev-hub/js/bootstrap-tooltip.js"></script>
<script src="/dev-hub/js/bootstrap-popover.js"></script>
<script src="/dev-hub/js/bootstrap-button.js"></script>
<script src="/dev-hub/js/bootstrap-collapse.js"></script>
<script src="/dev-hub/js/bootstrap-carousel.js"></script>
<script src="/dev-hub/js/bootstrap-typeahead.js"></script>
13 changes: 13 additions & 0 deletions _includes/footer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<footer>

<hr />

<ul class="legal">
<li><a href="/dev-hub/legal/terms-of-use.html">Terms of Use</a></li>
<li><a href="/dev-hub/legal/privacy-policy.html">Privacy Policy</a></li>
<li><a href="/dev-hub/legal/branding-guidelines.html">Branding Guidelines</a></li>
<li><a href="/dev-hub/sitemap.html">Sitemap</a></li>
</ul>

</footer>

23 changes: 23 additions & 0 deletions _includes/header.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<header>
<a href="https://github.com/kinlane/dev-hub"><img style="position: absolute; top: 0; right: 0; border: 0; z-index: 1050;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub"></a>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="index.html">Dev Hub</a>
<div class="nav-collapse collapse">
<ul class="nav">
<li class="active"><a href="index.html">Home</a></li>
<li><a href="api.html">APIs</a></li>
<li><a href="data.html">Data</a></li>
<li><a href="code.html">Code</a></li>
<li><a href="gallery.html">Gallery</a></li>
<li><a href="support.html">Support</a></li>
<li><a href="roadmap.html">Roadmap</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>
</div>
</div>
</div>
</div>

</header>
55 changes: 55 additions & 0 deletions _includes/top.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="utf-8">
<title>Dev Hub</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="This is a prototype site for the Department of Veterans Affairs">
<meta name="author" content="Kin Lane">

<!-- Le styles -->
<link href="/gsa-dev-hub/css/bootstrap.css" rel="stylesheet">
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
.sidebar-nav {
padding: 9px 0;
}

@media (max-width: 980px) {
/* Enable use of floated navbar text */
.navbar-text.pull-right {
float: none;
padding-left: 5px;
padding-right: 5px;
}
}
</style>

<link href="/gsa-dev-hub/css/bootstrap-responsive.css" rel="stylesheet">
<link href='/gsa-dev-hub/css/hightlight.default.css' media='screen' rel='stylesheet' type='text/css'/>

<script type="text/javascript" src="js/shred.bundle.js" /></script>
<script src='/gsa-dev-hub/js/jquery-1.8.0.min.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js/jquery.slideto.min.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js/jquery.wiggle.min.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js/jquery.ba-bbq.min.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js/handlebars-1.0.rc.1.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js/underscore-min.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js/backbone-min.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js/swagger.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js/swagger-ui.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js//highlight.7.3.pack.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js//highlight.7.3.pack.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js//mustache.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js//injector.js' type='text/javascript'></script>
<script src='/gsa-dev-hub/js//utilities.js' type='text/javascript'></script>

<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="../assets/js/html5shiv.js"></script>
<![endif]-->

</head>
21 changes: 21 additions & 0 deletions _layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{% include top.html %}

<body class="wrap">

{% include header.html %}

<section>

<div class="container">

{{ content }}

</div>

</section>

{% include footer.html %}
{% include analytics.html %}

</body>
</html>
39 changes: 39 additions & 0 deletions _layouts/post.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{% include top.html %}

<body class="wrap">

{% include header.html %}

<section>

<div class="container">

{{ content }}

<div class="row" align="center" style="padding-top: 10px; padding-botto: 10px;">
<div class="pagination">
<ul>
{% if page.previous %}
<li class="prev"><a href="{{BASE_PATH}}{{ page.previous.url }}" title="{{ page.previous.title }}">&larr; Previous</a></li>
{% else %}
<li class="prev disabled"><a>&larr; Previous</a></li>
{% endif %}
<li><a href="{{BASE_PATH}}blog/">Return to Main Blog Page</a></li>
{% if page.next %}
<li class="next"><a href="{{BASE_PATH}}{{ page.next.url }}" title="{{ page.next.title }}">Next &rarr;</a></li>
{% else %}
<li class="next disabled"><a>Next &rarr;</a>
{% endif %}
</ul>
</div>
</div>

</div>

</section>

{% include footer.html %}
{% include analytics.html %}

</body>
</html>
19 changes: 19 additions & 0 deletions _posts/2013-09-01-introducing-the-va-developers-portal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
layout: post
title: Introducing the Dev Hub
image: "https://s3.amazonaws.com/kinlane-productions/federal-government/va/developers-va-portal-screenshot.png"
published: true
---

# Introducing the Dev Hub
08/20/2013
<img src="https://s3.amazonaws.com/kinlane-productions/federal-government/va/developers-va-portal-screenshot.png" alt="" width="275" align="right" />
I needed to work with data from the federal government, but I had so many projects to tackle, I needed to standardize how I'm working with the core data sources. I went to the existing government developers portal and the web services section, and none it was acceptable for me to use in my projects.

I needed a standardized way to hange data and APIs within a portal that met my "building block" standards. I knew I wanted it to run on Github and be portable, so that anyone can use as a template for their own projects, in addition to me replicating as I needed for my projects.

The result of my work is this Dev Hub portal, which I'm intending to use for my own projects, but also hopefully encourage others at the VA and beyond to build off my work.

This project is in a work in progress, and I hope to keep refining over my time in DC. Stay tuned and return often to keep up to date on the changes I'm making.


Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
layout: post
title: Baseline for Federal Government Open Data and API Portals
image: "https://s3.amazonaws.com/kinlane-productions/bw-icons/bw-portal.jpg"
published: true
---

# Baseline for Federal Government Open Data and API Portals
08/20/2013

<img src="https://s3.amazonaws.com/kinlane-productions/bw-icons/bw-portal.jpg" alt="" width="275" align="right" />
I have a whole list of projects around open data and APIs in the federal government. Additionally I have numerous other open data and API projects I'd like to tackle across other federal agencies. As I do with other areas of my work, I needed a standardized way to stabilize the datasets and APis I will need for my projects, in the same way any open data and API provider should do for their consumers.

To help support my work, and hopefully the work of others I wanted to create a baseline portal that I could use at any agency for showing what is possible when hanging open datasets and APIs, in a full featured portal. The success of any open data and / or API portal starts with the technical building blocks, like data and APIs, but have a set of business and political building blocks that are essential to their adoption and growth.

I've spent the last three years studying the business and politics of APIs. During these three years I've looked at almost 10,000 API developer portals, and established a [base set of what I consider the building blocks](http://management.apievangelist.com/building-blocks.html) of successful API portals, with a handful in which I consider essential to success. I've always wanted a simple API portal template that would reflect this research, and my new [Dev Hub](http://kinlane.github.io/dev-hub/) is the first step towards achieving this.

[Dev Hub](http://kinlane.github.io/dev-hub/) is an early stage prototype, I've built to satisfy this need of mine, to deploy gov data. I will polishing this portal and replicating as a single template that can be used for any API and / or open data portal. This portal exists purely as a [Github](https://github.com/) repository and runs on [Github Pages](http://pages.github.com/), using a [Jekyll for managing its pages and blog](http://jekyllrb.com/). Everything else is HTML, CSS, Javascript and JSON, allowing it to be able to run on any server, including other cloud services like Dropbox or Amazon S3.

To start with I've included 20 of what I consider essential API building blocks:

* Landing Page
* Getting Started
* APIs
* Data
* Interactive Docs
* Code
* Gallery
* Support
* Self-Service
* Stack Exchange
* Quora
* Direct Support
* Issue Management
* Twitter
* LinkedIn
* Facebook
* Google+
* Roadmap
* Changelog
* Blog
* Terms of Use
* Privacy Policy
* Branding Guidelines

Beyond this project running completely using open formats and standards, deployable in easy to stand-up cloud environments like Github, Dropbox and Amazon S3, everything is machine readable by default. The portal starts with a [sitemap.json](http://kinlane.github.io/dev-hub/sitemap.json), which links to any other building blocks of the open data and API portal, including a data.json and api.json which provide programmatic access to all resources included in the site:

* [data.json](http://kinlane.github.io/dev-hub/api.json) - Machine readable JSON file of all data assets using common core metadata for easy access to all data stored in the portal
* [api.json](http://kinlane.github.io/dev-hub/data.json) - Machine readable JSON, using the Swagger format describing all API resources available within the portal

Next I wanted all essential building blocks of the portal to also be machine readable by default:

* [Code](http://kinlane.github.io/dev-hub/json/code.json) - JSON library of all code available for use when integrating with datasets and APIs
* [Gallery](http://kinlane.github.io/dev-hub/json/gallery.json) - A JSON gallery of web, mobile apps and visualizations, widgets, excel and other integrations on data and APis
* [Support](http://kinlane.github.io/dev-hub/json/support.json) - A JSON listing of self-service and direct support channels for the portal
* [Roadmap](http://kinlane.github.io/dev-hub/json/roadmap.json) - JSON listings of both the future with a roadmap, providing transparency into portal operations
* [Changelog](http://kinlane.github.io/dev-hub/json/changelog.json) - A JSON listing documenting the past with all changes made to the portal
* [Legal](http://kinlane.github.io/dev-hub/json/legal.json) - A directory of the legal building blocks of the portal with links to terms of use, privacy and branding guidelines

This project is the product of 3 years of research, and 3 days worth of work. So it is rough. I was able to capture my initial vision in 3 days, but still a lot of work to do. I need to let it simmer a little bit, and round off some of the rough edges and apply some polish. Then the next step is to generate a generic template from it, that will become the baseline for any other portal I derive from this work.

If there is anything you'd like to see in the future, go ahead and use any of the [support channels](http://kinlane.github.io/dev-hub/support/) available on the site. Once I get the base template setup, we can use that as a top level project to guide the future of this baseline for open data and API portals.



41 changes: 41 additions & 0 deletions api.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
layout: default
title: APIs @ VA
overview: true
---

<link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>

<script type="text/javascript">
$(function () {
window.swaggerUi = new SwaggerUi({
url: "/dev-hub/api.json",
dom_id: "swagger-ui-container",
supportedSubmitMethods: ['get', 'post', 'put', 'delete'],
onComplete: function(swaggerApi, swaggerUi){
if(console) {
console.log("Loaded SwaggerUI")
}

$('pre code').each(function(i, e) {hljs.highlightBlock(e)});
},
onFailure: function(data) {
if(console) {
console.log("Unable to Load SwaggerUI");
console.log(data);
}
},
docExpansion: "none"
});
window.swaggerUi.load();
});

</script>
<h2>API Resources</h2>
<br />
<p>This area provides access to API resources that allow you to access content and data for the purpose of building applications that support citizens.</p>
<p>These APIs are not currently maintained by the government, it is meant to just be a prototype to help show various stakeholders in federal government, what is possible.</p>
<p style="color:#FF0000; font-size:14px; font-weight: bold; text-align:center;"><strong><i>This page is still having issues displaying in Internet Explorer, try Firefox or Chrome until fixed!</i></strong></p>
<div class="swagger-shell">
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
</div>
21 changes: 21 additions & 0 deletions api.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"apiVersion": "1.0",
"espiVersion": "1.1",
"apis": [
{
"name": "3 Factor X",
"path": "http://api.gsa.apievangelist.com/swagger/3-Factor-X",
"description": "Resources about offices"
},
{
"name": "Offices",
"path": "http://api.gsa.apievangelist.com/swagger/Offices",
"description": "Resources about offices"
},
{
"name": "People",
"path": "http://api.gsa.apievangelist.com/swagger/People",
"description": "Resources about people"
}
]
}
Loading

0 comments on commit 07bd312

Please sign in to comment.