projects
/
Ultimately_Untrue_Thought.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
long confrontation 8: pulling in the cosplay photo example
[Ultimately_Untrue_Thought.git]
/
plugins
/
tag_cloud.py
diff --git
a/plugins/tag_cloud.py
b/plugins/tag_cloud.py
index
775977e
..
6672e2b
100644
(file)
--- a/
plugins/tag_cloud.py
+++ b/
plugins/tag_cloud.py
@@
-36,6
+36,15
@@
def init_default_config(pelican):
set_default_settings(pelican.settings)
set_default_settings(pelican.settings)
+def alphabetic_sort_key(element):
+ tag = element[0].name
+ if tag[0] == "æ": # exceptional case
+ return "ae"+tag[1:]
+ # `.lower()` to avoid putting all uppercase tags lexicographically
+ # before lowercase tags —ZMD
+ return tag.lower()
+
+
def generate_tag_cloud(generator):
tag_cloud = defaultdict(int)
for article in generator.articles:
def generate_tag_cloud(generator):
tag_cloud = defaultdict(int)
for article in generator.articles:
@@
-69,9
+78,7
@@
def generate_tag_cloud(generator):
sorting = generator.settings.get('TAG_CLOUD_SORTING')
if sorting == 'alphabetically':
sorting = generator.settings.get('TAG_CLOUD_SORTING')
if sorting == 'alphabetically':
- # `.lower()` to avoid putting all uppercase tags lexicographically
- # before lowercase tags —ZMD
- tag_cloud.sort(key=lambda elem: elem[0].name.lower())
+ tag_cloud.sort(key=alphabetic_sort_key)
elif sorting == 'alphabetically-rev':
tag_cloud.sort(key=lambda elem: elem[0].name, reverse=True)
elif sorting == 'size':
elif sorting == 'alphabetically-rev':
tag_cloud.sort(key=lambda elem: elem[0].name, reverse=True)
elif sorting == 'size':