diff --git a/scripts/gen_centered_graph.py b/scripts/gen_centered_graph.py
index b1913c1..a9cc502 100644
--- a/scripts/gen_centered_graph.py
+++ b/scripts/gen_centered_graph.py
@@ -4,6 +4,20 @@ import copy
 import tempfile
 import os
 
+def get_emoji_for_node(node):
+    if node['class'] == 'listing':
+        return '🪧 '
+
+    if 'podcast' in node['shallow_tags']:
+        return '🎙️ '
+
+    if 'webradio' in node['shallow_tags']:
+        return '📻 '
+
+    if 'blog' in node['shallow_tags']:
+        return '📰 '
+
+    return ''
 
 @ops_cache.cache
 def gen(headline_id, graph, doc_to_headline_remapping):
@@ -102,16 +116,12 @@ def gen(headline_id, graph, doc_to_headline_remapping):
         f.write('K=0.3\n')
         f.write('edge[len = 1]\n')
         def draw_subgraph(node_id, depth):
-            emoji = ''
-            if g[node_id]['class'] == 'listing':
-                emoji = '🪧 '
-
             f.write("subgraph cluster_{} {{\n".format(node_id.replace("-", "_")))
             f.write('  URL="./{}.node.html"\n'.format(node_id))
             f.write('  class="{}"\n'.format('cluster-depth-' + str(depth - 1)))
             f.write("  fontname=\"{}\"\n".format(font_name))
             f.write("  label=\"{}\"\n".format(
-                emoji + g[node_id]['title'].replace("\"", "'")
+                get_emoji_for_node(g[node_id]) + g[node_id]['title'].replace("\"", "'")
             ))
             f.write("\n")
 
@@ -122,12 +132,8 @@ def gen(headline_id, graph, doc_to_headline_remapping):
                 if k in in_emacs_tree:
                     draw_subgraph(k, depth=depth + 1)
                 else:
-                    emoji = ''
-                    if v['class'] == 'listing':
-                        emoji = '🪧 '
-
                     print("  _" + k.replace("-", "_")
-                          + "[label=\"" + emoji + v["title"].replace("\"", "'") + "\", "
+                          + "[label=\"" + get_emoji_for_node(v) + v["title"].replace("\"", "'") + "\", "
                           + "URL=\"" + k + ".node.html\", "
                           + "fontname=\"" + font_name + "\", "
                           + "class=\"cluster-depth-" + str(depth) + "\""
@@ -140,12 +146,8 @@ def gen(headline_id, graph, doc_to_headline_remapping):
 
         for k, v in g.items():
             if k not in in_emacs:
-                emoji = ''
-                if v['class'] == 'listing':
-                    emoji = '🪧 '
-
                 print("_" + k.replace("-", "_")
-                      + "[label=\"" + emoji + v["title"].replace("\"", "'") + "\", "
+                      + "[label=\"" + get_emoji_for_node(v) + v["title"].replace("\"", "'") + "\", "
                       + "fontname=\"" + font_name + "\", "
                       + "URL=\"" + k + ".node.html\"];", file=f)