{"body":"@@ -248,11 +279,27 @@ sub process-pod-source(:$kind, :$pod, :$\n     }\n }\n\n+my %tm = <\n+    % percent\n+    # hash\n+    - dash\n+    . dot\n+    ? question\n+    / slash\n+    \\ blackslash\n+    \" quote\n+>;\n+sub english-for-tokens {\n+  $^a.comb.map({ %tm{$_} ?? \"-%tm{$_}-\" !! $_ })\n+     .join.subst(/'--'/, '-', :g)\n+     .subst: /^\\-|\\-<before \\s>|<after \\s>\\-|\\-$/, '', :g\n+};\n+\n # XXX: Generalize\n multi write-type-source($doc) {\n     sub href_escape($ref) {\n         # only valid for things preceded by a protocol, slash, or hash\n-        return uri_escape($ref).subst('%3A%3A', '::', :g);\n+        return uri_escape(english-for-tokens($ref)).subst('%3A%3A', '::', :g);\n     }\n     my $pod     = $doc.pod;\n     my $podname = $doc.name;\n@@ -641,7 +688,7 @@ sub write-search-file() {\n     say 'Writing html/js/search.js ...';\n     my $template = slurp(\"template/search_template.js\");\n     sub escape(Str $s) {\n-        $s.trans([</ \\\\ \">] => [<\\\\/ \\\\\\\\ \\\\\">]);\n+        english-for-tokens($s)\n     }\n     my @items = $*DR.get-kinds.map(-> $kind {\n         $*DR.lookup($kind, :by<kind>).categorize({escape .name})\\\n","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/yN7My85e","modified":1465858628,"id":"yN7My85e","size":1111,"lines":38,"own_paste":false,"theme":"","date":1465858628}