summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/relativedate.pm
blob: 99265676b7cfd3bde4067e469af1b09bbb99dd51 (plain)
  1. #!/usr/bin/perl
  2. package IkiWiki::Plugin::relativedate;
  3. use warnings;
  4. use strict;
  5. use IkiWiki 2.00;
  6. sub import { #{{{
  7. add_underlay("javascript");
  8. hook(type => "format", id => "relativedate", call => \&format);
  9. } # }}}
  10. sub getsetup () { #{{{
  11. return
  12. plugin => {
  13. safe => 1,
  14. rebuild => 1,
  15. },
  16. } #}}}
  17. sub format (@) { #{{{
  18. my %params=@_;
  19. if (! ($params{content}=~s!^(<body>)!$1.include_javascript($params{page})!em)) {
  20. # no </body> tag, probably in preview mode
  21. $params{content}=include_javascript($params{page}, 1).$params{content};
  22. }
  23. return $params{content};
  24. } # }}}
  25. sub include_javascript ($;$) { #{{{
  26. my $page=shift;
  27. my $absolute=shift;
  28. return '<script src="'.urlto("ikiwiki.js", $page, $absolute).
  29. '" type="text/javascript" charset="utf-8"></script>'."\n".
  30. '<script src="'.urlto("relativedate.js", $page, $absolute).
  31. '" type="text/javascript" charset="utf-8"></script>';
  32. } #}}}
  33. 1