From 2b7e391fcd51d3468133f628f2e013574cf16536 Mon Sep 17 00:00:00 2001 From: Waylan Limberg Date: Sat, 9 Aug 2008 22:55:44 -0400 Subject: reorganized the extensions into a seperate dir. Much cleaner looking file system IMO. --- mdx_imagelinks.py | 135 ------------------------------------------------------ 1 file changed, 135 deletions(-) delete mode 100644 mdx_imagelinks.py (limited to 'mdx_imagelinks.py') diff --git a/mdx_imagelinks.py b/mdx_imagelinks.py deleted file mode 100644 index e545b24..0000000 --- a/mdx_imagelinks.py +++ /dev/null @@ -1,135 +0,0 @@ -""" -========================= IMAGE LINKS ================================= - - -Turns paragraphs like - -<~~~~~~~~~~~~~~~~~~~~~~~~ -dir/subdir -dir/subdir -dir/subdir -~~~~~~~~~~~~~~ -dir/subdir -dir/subdir -dir/subdir -~~~~~~~~~~~~~~~~~~~> - -Into mini-photo galleries. - -""" - -import re, markdown -import url_manager - - -IMAGE_LINK = """""" -SLIDESHOW_LINK = """[slideshow]""" -ALBUM_LINK = """ [%s]""" - - -class ImageLinksExtension (markdown.Extension): - - def __init__ (self) : - self.reset() - - def extendMarkdown(self, md, md_globals) : - - self.md = md - - # Stateless extensions do not need to be registered - md.registerExtension(self) - - # Insert a preprocessor before all preprocessors - - preprocessor = ImageLinkPreprocessor() - preprocessor.md = md - md.preprocessors.insert(0, preprocessor) - - def reset(self) : - # May be called by Markdown is state reset is desired - pass - - -class ImageLinkPreprocessor (markdown.Preprocessor): - - def run(self, lines) : - - url = url_manager.BlogEntryUrl(url_manager.BlogUrl("all"), - "2006/08/29/the_rest_of_our") - - - all_images = [] - blocks = [] - in_image_block = False - - new_lines = [] - - for line in lines : - - if line.startswith("<~~~~~~~") : - albums = [] - rows = [] - in_image_block = True - - if not in_image_block : - - new_lines.append(line) - - else : - - line = line.strip() - - if line.endswith("~~~~~~>") or not line : - in_image_block = False - new_block = "

\n" - - album_url_hash = {} - - for row in rows : - for photo_url, title in row : - new_block += " " - new_block += IMAGE_LINK % (photo_url, - photo_url.get_thumbnail(), - title) - - album_url_hash[str(photo_url.get_album())] = 1 - - new_block += "
" - - new_block += "
" - new_block += SLIDESHOW_LINK % url.get_slideshow() - - album_urls = album_url_hash.keys() - album_urls.sort() - - if len(album_urls) == 1 : - new_block += ALBUM_LINK % (album_urls[0], "complete album") - else : - for i in range(len(album_urls)) : - new_block += ALBUM_LINK % (album_urls[i], - "album %d" % (i + 1) ) - - new_lines.append(new_block + "

") - - elif line[1:6] == "~~~~~" : - rows.append([]) # start a new row - else : - parts = line.split() - line = parts[0] - title = " ".join(parts[1:]) - - album, photo = line.split("/") - photo_url = url.get_photo(album, photo, - len(all_images)+1) - all_images.append(photo_url) - rows[-1].append((photo_url, title)) - - if not album in albums : - albums.append(album) - - return new_lines - - -def makeExtension(configs) : - return ImageLinksExtension(configs) - -- cgit v1.2.3