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

View file

@ -180,9 +180,18 @@ module.exports = function(opts, callback) {
serveTemplate(/^\/$/, 'index', function() { serveTemplate(/^\/$/, 'index', function() {
var styles = clone(config.styles || {}); var styles = clone(config.styles || {});
Object.keys(styles).forEach(function(id) { Object.keys(styles).forEach(function(id) {
styles[id].name = (serving.styles[id] || serving.raster[id]).name; var style = styles[id];
styles[id].serving_style = serving.styles[id]; style.name = (serving.styles[id] || serving.raster[id] || {}).name;
styles[id].serving_raster = serving.raster[id]; 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 { return {
styles: styles, styles: styles,