DOC: Add script to randomly link to a gallery image.

This commit is contained in:
Stefan van der Walt
2012-01-26 17:06:16 -08:00
parent a438cddca7
commit 945f85cf64
2 changed files with 64 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
function insert_gallery() {
var images = ['http://scikits-image.org/docs/dev/_images/plot_otsu.png', 'http://scikits-image.org/docs/dev/_images/plot_canny.png', 'http://scikits-image.org/docs/dev/_images/plot_medial_transform.png', 'http://scikits-image.org/docs/dev/_images/plot_skeleton.png', 'http://scikits-image.org/docs/dev/_images/plot_glcm.png', 'http://scikits-image.org/docs/dev/_images/plot_lena_tv_denoise.png', 'http://scikits-image.org/docs/dev/_images/plot_equalize.png', 'http://scikits-image.org/docs/dev/_images/plot_watershed.png', 'http://scikits-image.org/docs/dev/_images/plot_convex_hull.png', 'http://scikits-image.org/docs/dev/_images/plot_contours.png', 'http://scikits-image.org/docs/dev/_images/plot_hough_transform.png', 'http://scikits-image.org/docs/dev/_images/plot_radon_transform.png'];
var links = ['http://scikits-image.org/docs/dev/auto_examples/plot_plot_otsu.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_canny.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_medial_transform.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_skeleton.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_glcm.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_lena_tv_denoise.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_equalize.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_watershed.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_convex_hull.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_contours.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_hough_transform.html', 'http://scikits-image.org/docs/dev/auto_examples/plot_plot_radon_transform.html'];
ix = Math.floor(Math.random() * images.length);
document.write(
'<div class="gallery_image"> <a href="URL"><img src="IMG"/></a></div>'.replace('IMG', images[ix]).replace('URL', links[ix])
);
console.log('<div class="gallery_image"> <a href="URL"><img src="IMG"/></a></div>'.replace('IMG', images[ix]).replace('URL', links[ix]));
};
+51
View File
@@ -0,0 +1,51 @@
# Generate a javascript snippet that links to a random gallery example
import os
import glob
base = os.path.abspath(os.path.dirname(__file__))
example_dir = os.path.join(base, 'auto_examples')
js_fn = os.path.join(base, '_static/random.js')
javascript = '''\
function insert_gallery() {
var images = {{IMAGES}};
var links = {{LINKS}};
ix = Math.floor(Math.random() * images.length);
document.write(
'{{GALLERY_DIV}}'.replace('IMG', images[ix]).replace('URL', links[ix])
);
console.log('{{GALLERY_DIV}}'.replace('IMG', images[ix]).replace('URL', links[ix]));
};
'''
gallery_div = '''\
<div class="gallery_image">
<a href="URL"><img src="IMG"/></a>
</div>\
'''
examples = glob.glob(os.path.join(example_dir, 'plot_*.py'))
images, links = [], []
image_url = 'http://scikits-image.org/docs/dev/_images/%s.png'
link_url = 'http://scikits-image.org/docs/dev/auto_examples/plot_%s.html'
for e in examples:
e = os.path.basename(e)
e = e[:-len('.py')]
images.append(image_url % e)
links.append(link_url % e)
javascript = javascript.replace('{{IMAGES}}', str(images))
javascript = javascript.replace('{{LINKS}}', str(links))
javascript = javascript.replace('{{GALLERY_DIV}}', ''.join(gallery_div.split('\n')))
f = open(js_fn, 'w')
f.write(javascript)
f.close()