summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
Diffstat (limited to 'script')
-rw-r--r--script/unicodify.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/script/unicodify.rb b/script/unicodify.rb
new file mode 100644
index 0000000..aac8cbd
--- /dev/null
+++ b/script/unicodify.rb
@@ -0,0 +1,23 @@
+#
+# unicodify.rb
+# Charlotte Koch <charlotte@magentastripe.com>
+#
+# This file is part of Willora.
+#
+# This script translates HTML entities on the standard input to numerical
+# Unicode codepoints on the standard output. This script uses a whole bunch
+# of memory in order to keep it fast.
+#
+
+require 'json'
+
+entities = JSON.load(File.read("./private/entities.min.json"))
+
+out = $stdin.read
+
+entities.each do |entity, value|
+ result = value["codepoints"].map { |n| sprintf('&#%d;', n) }.join("")
+ out.gsub!(entity, result)
+end
+
+$stdout.write(out)