diff --git a/content/blog/2024-01-06-out-of-tree-qmk.md b/content/blog/2024-01-07-out-of-tree-qmk.md
similarity index 98%
rename from content/blog/2024-01-06-out-of-tree-qmk.md
rename to content/blog/2024-01-07-out-of-tree-qmk.md
index 08d78d5..9136b86 100644
--- a/content/blog/2024-01-06-out-of-tree-qmk.md
+++ b/content/blog/2024-01-07-out-of-tree-qmk.md
@@ -1,10 +1,10 @@
 ---
 title: Building QMK Keyboard Firmware Out of Tree
 description: Side-stepping the QMK monorepo for my own sanity
-date: 2024-01-06
+date: 2024-01-07
 tags:
   - keyboards
-draft: true
+draft: false
 extra:
   auto_center_images: true
 aliases:
diff --git a/content/blog/dump_tags.py b/content/blog/dump_tags.py
new file mode 100644
index 0000000..f2e520a
--- /dev/null
+++ b/content/blog/dump_tags.py
@@ -0,0 +1,47 @@
+import argparse
+import sys
+import logging
+import frontmatter
+from pathlib import Path
+
+SCRIPT_DIR = Path(__file__).parent.resolve()
+
+logger = logging.getLogger(__name__)
+
+def main() -> int:
+    # Handle program arguments
+    ap = argparse.ArgumentParser()
+    ap.add_argument('-v', '--verbose', help='Enable verbose logging', action='store_true')
+    args = ap.parse_args()
+
+    # Configure logging
+    logging.basicConfig(
+        level=logging.DEBUG if args.verbose else logging.INFO,
+        format='%(levelname)s:	%(message)s',
+    )
+    
+    # Loop through each md file in the directory
+    md_files = SCRIPT_DIR.glob('*.md')
+    all_tags = []
+    for file in md_files:
+        with open(file, 'r') as f:
+            front = frontmatter.load(f)
+            if "tags" in front.keys():
+                if isinstance(front["tags"], list):
+                    all_tags.extend(front["tags"])
+                else:
+                    all_tags.append(front["tags"])
+                    
+    # Remove duplicates
+    all_tags = [tag.split(" ") for tag in all_tags]
+    all_tags = [item for sublist in all_tags for item in sublist]
+    all_tags = list(dict.fromkeys(all_tags))
+    
+    # Print all tags
+    for tag in all_tags:
+        print(tag)
+
+    return 0
+
+if __name__ == "__main__":
+    sys.exit(main())
\ No newline at end of file