<!DOCTYPE html>
<meta charset="utf-8">
<style>
body {
  font-family: "Helvetica Neue", Helvetica, sans-serif;
}
svg {
  background-color: steelblue;
}
path {
  fill: green;
  stroke: #fff;
  stroke-width: .5px;
}
</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v1.min.js"></script>
<script>
var width = 960,
    height = 960;

var projection = d3.geo.mercator()
    .scale(width / 2 / Math.PI)
    .translate([width / 2, height / 2])
    .precision(.1);

var path = d3.geo.path()
    .projection(projection);

var graticule = d3.geo.graticule();

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height);

d3.json("countries.json", function(world) {
  var countries = topojson.feature(world, world.objects.countries).features;
  svg.selectAll(".country")
      .data(countries)
    .enter().insert("path")
      .attr("class", "country")
      .attr("d", path);
});

d3.select(self.frameElement).style("height", height + "px");
</script>
</body>