App-mojopaste
view release on metacpan or search on metacpan
lib/App/mojopaste.pm view on Meta::CPAN
$ PASTE_DIR=/path/to/paste/dir mojopaste daemon --listen http://*:8080
=item * Using the UNIX optimized, preforking hypnotoad web server
$ MOJO_CONFIG=/path/to/mojopaste.conf hypnotoad $(which mojopaste)
Example mojopaste.conf:
{
brand_link => "index",
brand_logo => "/images/logo.png",
brand_text => "Mojopaste",
paste_dir => "/path/to/paste/dir",
enable_charts => 1, # default is 0
hypnotoad => {
listen => ["http://*:8080"],
},
}
"enable_charts" is for adding a button which can make a chart of the input
data using L<morris.js|http://morrisjs.github.io/morris.js>
script/mojopaste view on Meta::CPAN
use Mojolicious::Lite;
use Mojo::JSON 'true';
plugin 'config' if $ENV{MOJO_CONFIG};
app->config->{backend} ||= $ENV{PASTE_BACKEND} || 'File';
app->config->{paste_dir} ||= $ENV{PASTE_DIR} || 'paste';
app->defaults(
brand_link => app->config('brand_link') || $ENV{PASTE_BRAND_LINK} || 'index',
brand_logo => app->config('brand_logo') // $ENV{PASTE_BRAND_LOGO} // '/images/logo.png',
brand_name => app->config('brand_name') // $ENV{PASTE_BRAND_NAME} // 'Mojopaste',
enable_charts => app->config('enable_charts') // $ENV{PASTE_ENABLE_CHARTS},
embed => 'description,graph,heading,nav',
error => '',
paste => '',
placeholder => 'Enter your text here and then press the "Save" button above.',
title => 'Mojopaste',
);
my $backend = app->config('backend');
script/mojopaste view on Meta::CPAN
%= link_to 'Raw', url_for('show', paste_id => $paste_id, format => 'txt'), class => 'btn'
%= link_to 'Graph', url_for('chart'), class => 'btn' if $enable_charts
% }
% } else {
<button class="btn save" tabindex="2">Save</button>
% }
</nav>
@@ show.txt.ep
Paste not found: <%= $paste_id %>
@@ images/logo.png (base64)
iVBORw0KGgoAAAANSUhEUgAAADkAAAA8CAYAAADc1RI2AAAABGdBTUEAALGPC/xhBQAAACBjSFJN
AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAA
B3RJTUUH4wgIFSMADYS2WAAADbZJREFUaN7lmmuMHWd5x3/PzJw5t7141xvba8frux3HcVnZLSSB
kATRC6WlQi1VpUq0DfCh7YfSVGlBKW1EhRqpQuonhEQviEtRCaQUgcoHhGirEERCUzfGJDZ2HNvZ
zdq73t2zu+c68z79MLd3zjnePWu7KFInis/szHt5/s/9ed6B/weX3OoC79WPIkAbQ4jZ1FwHFygQ
0uRb8jdvTJC/po/hUcLFd5o0qy1apY4GG28q0daC23HYsuL9wfNheUHAFb76padvO0jvpmcqrLDM
Po7x2vnndtT/6dIfS1vvLVfK2jtU0zk5sC0NZK6z5q84Xy/g/2NIuDGHfqoggXuWf55XR1+qtp9d
+AVd7PzusTfdPXHgwD5EIjyqChpjU00BK4CBsNPhlZcv8voPr9wTdjrPhcJ/v+FAmu83aT2wONG5
XH9wZHR44sjRQ+wc20HFqyAoihBBlAikWH8DjaBBZahC4/LKVOOVlfe0neCNBvL3WeG70BiqaGDG
h4ar+L5PtVBl1B+JQeVnpDjjFwJUyxWGh4ecOrXtHff/RFtvBeSnMP40yDs8HFyRSFpza1eZry+k
t/branding.t view on Meta::CPAN
use lib '.';
use t::Helper;
my $t = t::Helper->t;
$t->get_ok('/')->status_is(200)->text_is('title', 'Create new paste - Mojopaste')
->element_exists('nav .brand[href="/"]')->element_exists('nav .brand img[src="/images/logo.png"]')
->text_is('nav .brand span', 'Mojopaste');
$t->app->defaults(brand_link => 'https://example.com');
$t->app->defaults(brand_logo => 'https://example.com/logo/mybrand.png');
$t->app->defaults(brand_name => 'Example');
$t->get_ok('/')->status_is(200)->text_is('title', 'Create new paste - Example')
->element_exists('nav .brand[href="https://example.com"]')
->element_exists('nav .brand img[src="https://example.com/logo/mybrand.png"]')->text_is('nav .brand span', 'Example');
$t->app->defaults(brand_link => 'https://example.com');
$t->app->defaults(brand_logo => '');
$t->app->defaults(brand_name => '');
$t->get_ok('/')->status_is(200)->text_is('title', 'Create new paste - Mojopaste')
->element_exists('nav .brand[href="https://example.com"]')->element_exists_not('nav .brand img')
->element_exists_not('nav .brand span');
done_testing;
( run in 2.188 seconds using v1.01-cache-2.11-cpan-788537b7465 )