MediaWiki:Common.js: Difference between revisions
No edit summary Tag: Reverted |
No edit summary Tag: Reverted |
||
| Line 117: | Line 117: | ||
rnlimit: 1 | rnlimit: 1 | ||
}).then(function (r) { | }).then(function (r) { | ||
var item = r && r.query && r.query.random && r.query.random[0]; | |||
if (!item) throw new Error('No random page'); | |||
var title = item.title; | |||
// 2) parse HTML + list images (no extensions required) | |||
return api.get({ | |||
action: 'parse', | |||
page: title, | |||
prop: 'text|images', | |||
redirects: 1 | |||
}).then(function (p) { | |||
var html = p.parse && p.parse.text && p.parse.text['*'] || ''; | |||
var images = p.parse && p.parse.images || []; | |||
var excerpt = makeExcerptFromHTML(html, 420); | |||
var fileTitle = pickImageTitle(images); | |||
return getThumbUrl(fileTitle).then(function (thumb) { | |||
render(title, excerpt, thumb); | |||
}); | |||
}); | |||
}).catch(function (e) { | |||
console.warn('Random teaser failed:', e); | |||
box.classList.remove('loading'); | |||
box.innerHTML = '<div class="content"><h3>Random page</h3><p>Could not load a preview.</p></div>'; | |||
}); | |||
} | |||
loadRandom(); | |||
}); | |||