%# -*-html-*- %# %# Pastebin display webservice for Odin %# %# (c) 2015 Mark Wooding %# %#----- Licensing notice ---------------------------------------------------- %# %# This file is part of the `odin.gg' service, `odin-cgi'. %# %# `odin-cgi' is free software; you can redistribute it and/or modify %# it under the terms of the GNU Affero General Public License as %# published by the Free Software Foundation; either version 3 of the %# License, or (at your option) any later version. %# %# `odin-cgi' is distributed in the hope that it will be useful, %# but WITHOUT ANY WARRANTY; without even the implied warranty of %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %# GNU Affero General Public License for more details. %# %# You should have received a copy of the GNU Affero General Public %# License along with `odin-cgi'; if not, see %# . %# <&| SELF:wrapper, title => Odin::escapify($m, $title) . " (odin.gg Paste Bin)" &>

odin.gg Paste Bin: <% $title %>

% if (defined $honc) {

Your browser doesn't appear to be accepting my cookies.

Don't share the link to this page with other people. If you do, they'll be able to edit this paste just as you can, using the Edit link at the top of the page.

Instead, share this link: "><% "$Odin::PASTEBIN/$tag" |h %>

% } % if ($lang eq 'txt') {
<% $content |h %>\
% } elsif ($lang =~ /^hl:(.*)$/) {
% filter "highlight", $m, $content,
%   "highlight", "-Ohtml", "-f", "-t8", "-S$1";
% } elsif ($lang eq "md") { % filter "markdown", $m, $content, % "markdown", "-fnohtml,autolink,safelink,footnote"; % } else {

I don't know how to display content with language ‘<% $lang |h %>’. This is a bug in the Pastebin program. Here's the raw text, in case that's useful.

<% $content |h %>\
% } %# <%args> $content $title $lang $tag $honc $edit %# <%init> my $db = Odin::open_db; %# <%once> use utf8; use POSIX qw(_exit); sub filter ($$$@) { my ($what, $m, $content, @cmd) = @_; my $kid = open my $fh, "-|" // die "fork: $!"; if ($kid == 0) { open my $hl, "|-", @cmd or die "open $what: $!"; syswrite $hl, $content // die "$what write: $!"; close $hl or die "$what kid: $!, $?"; _exit 0; } else { while (sysread $fh, my $buf, 8192) { $m->print($buf); } close $fh and waitpid $kid, 0 or die "$what parent: $!, $?"; } }