Pregenerate permalinks for the viewers

This commit is contained in:
Petr Sloup 2016-03-17 10:51:16 +01:00
parent 837cb7d1fb
commit 403bc949a5
2 changed files with 16 additions and 7 deletions

View file

@ -20,19 +20,19 @@
<h3>{{name}}</h3>
<span>(id: {{@key}})</span>
{{#if serving_style}}
<a href="/styles/{{@key}}/?vector">Viewer (vector)</a>
<a href="/styles/{{@key}}/?vector{{viewer_hash}}">Viewer (vector)</a>
{{/if}}
{{#if serving_raster}}
<a href="/styles/{{@key}}/?raster">Viewer (raster)</a>
<a href="/styles/{{@key}}/?raster{{viewer_hash}}">Viewer (raster)</a>
{{/if}}
{{#if serving_style}}
{{#if serving_raster}}
<a href="/styles/{{@key}}/">Viewer (auto)</a>
<a href="/styles/{{@key}}/{{viewer_hash}}">Viewer (auto)</a>
{{/if}}
{{/if}}
{{#if serving_raster}}
<a href="/raster/{{@key}}.json">TileJSON</a>
{{/if}}
{{/if}}
</li>
{{/each}}
</ul>

View file

@ -180,9 +180,18 @@ module.exports = function(opts, callback) {
serveTemplate(/^\/$/, 'index', function() {
var styles = clone(config.styles || {});
Object.keys(styles).forEach(function(id) {
styles[id].name = (serving.styles[id] || serving.raster[id]).name;
styles[id].serving_style = serving.styles[id];
styles[id].serving_raster = serving.raster[id];
var style = styles[id];
style.name = (serving.styles[id] || serving.raster[id] || {}).name;
style.serving_style = serving.styles[id];
style.serving_raster = serving.raster[id];
if (style.serving_raster) {
var center = style.serving_raster.center;
if (center) {
style.viewer_hash = '#' + center[2] + '/' +
center[1].toFixed(5) + '/' +
center[0].toFixed(5);
}
}
});
return {
styles: styles,