summaryrefslogtreecommitdiff
path: root/pandoc-iri
blob: 0f3fb0cc6e1c4a53f207ee554fbe66e554145887 (plain)
  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. use Pandoc::Filter;
  5. use Pandoc::Elements;
  6. use URI;
  7. use URI::Escape;
  8. use URI::Find;
  9. pandoc_filter(
  10. \&link_normalize,
  11. );
  12. sub link_normalize {
  13. my $self = shift;
  14. return [ Link(
  15. $self->content,
  16. [ pp_uri($self->target->[0]) => '' ]
  17. )]
  18. if ( $self->name eq 'Link' );
  19. return [ Str pp_string($self->content) ]
  20. if ( $self->name eq 'Str' );
  21. return;
  22. }
  23. sub pp_uri {
  24. return URI->new(uri_unescape(shift))->canonical->as_string;
  25. }
  26. sub pp_iri {
  27. return URI->new(uri_unescape(shift))->canonical->as_iri;
  28. }
  29. sub pp_string {
  30. my $string = shift;
  31. my $finder = URI::Find->new( \&pp_iri );
  32. $finder->find(\$string);
  33. return $string;
  34. }
ss='none' style='width: -nan%;'/> -rw-r--r--tags/a3/ef/163165571230.763609.16990888514996843036@swboyd.mtv.corp.google.com/unread0
-rw-r--r--tags/a3/ef/20160905130531.972121C20E@jawa.homebase.dk/inbox0
-rw-r--r--tags/a3/ef/20160905130531.972121C20E@jawa.homebase.dk/old0
-rw-r--r--tags/a3/ef/20190111100002.3754A1CD287@lxp5.free-owl.de/sys0
-rw-r--r--tags/a3/ef/20190111100002.3754A1CD287@lxp5.free-owl.de/unread0
-rw-r--r--tags/a3/ef/20190726120002.0E72E1CD2F3@lxp5.free-owl.de/sys0
-rw-r--r--tags/a3/ef/20190726120002.0E72E1CD2F3@lxp5.free-owl.de/unread0
-rw-r--r--tags/a3/ef/87a9oz5b3a.fsf@vostro.rath.org/debian0
-rw-r--r--tags/a3/ef/CADdDZRk+UsL=amcwUobpmS5K6dNcFiCgZ7rSdz8gZKWvBuo_EQ@mail.gmail.com/attachment0
-rw-r--r--tags/a3/ef/CAJbsTZee8C4U8gTqh9XcSXxjcRuBdP995sQD17j2RoGLf-pxAw@mail.gmail.com/unread0
-rw-r--r--tags/a3/ef/d567802c31c3972417746f7600137e66@presidentialteam.us/inbox0
-rw-r--r--tags/a3/ef/d567802c31c3972417746f7600137e66@presidentialteam.us/old0
15 files changed, 0 insertions, 0 deletions