App::mojopaste - Pastebin application
0.15
Mojopaste is a pastebin application. There's about one million of these out there, but if you have the need to run something internally at work or you just fancy having your own pastebin, this is your application.
The standard version of App::mojopaste can take normal text as input, store it as a text file on the server and render the content as either plain text or prettified using Google prettify. (Note: Maybe another prettifier will be used in future versions)
In addition to just supporting text, this application can also make charts from the input data. To turn this feature on, you need to specify "enable_charts" in the config or set the PASTE_ENABLE_CHARTS
environment variable:
$ PASTE_ENABLE_CHARTS=1 script/mojopaste daemon;
The input chart data can be given as JSON or CSV:
Raw morris.js arguments
Example:
{
"data": [
{ "x": "2015-02-04 15:03", "a": 120, "b": 90 },
{ "x": "2015-03-14", "a": 75, "b": 65 },
{ "x": "2015-04", "a": 100, "b": 40 }
],
"xkey": "x",
"ykeys": ["a", "b"],
"labels": ["Series A", "Series B"]
}
"xkey" default to "x". "ykeys" default to the rest of the keys in the first element in "data", excluding xkey. "labels" default to "ykeys".
See http://morrisjs.github.io/morris.js/lines.html for more details.
Note that by installing JSON.pm the input format can be less strict, allowing JavaScript notation instead of strict JSON.
Just data
[
// comments are allowed
# both "#" and "//" can be used anywhere, but on a line by itself
{ "x": "2015-02-04 15:03", "a": 120, "b": 90 },
{ "x": "2015-03-14", "a": 75, "b": 65 },
{ "x": "2015-04", "a": 100, "b": 40 }
]
This input format takes just an JSON array and will use that as "data". The rest will use the default value rules from above.
CSV data
CSV data is similar to "Just data" above, except the first line is used as "xkey,ykey1,ykey2,...". Example:
# Can have comments in CSV input as well
x,a,b
2015-02-04 15:03,120,90
2015-03-14,75,65
2015-04,100,40
CSV input data require Text::CSV to be installed.
You can try mojopaste here: http://p.thorsen.pm.
Install system wide with cpanm:
$ cpanm --sudo App::mojopaste
Don't have cpanm installed?
$ curl -L http://cpanmin.us | perl - --sudo App::mojopaste
$ wget http://cpanmin.us -O - | perl - --sudo App::mojopaste
Simple single process daemon
$ mojopaste daemon --listen http://*:8080
Save paste to custom dir
$ PASTE_DIR=/path/to/paste/dir mojopaste daemon --listen http://*:8080
Using the UNIX optimized, preforking hypnotoad web server
$ MOJO_CONFIG=/path/to/mojopaste.conf hypnotoad $(which mojopaste)
Example mojopaste.conf:
{
paste_dir => '/path/to/paste/dir',
allow_robots => 1, # default is 0
enable_charts => 1, # default is 0
hypnotoad => {
listen => ['http://*:8080'],
},
}
"allow_robots" will disable javascript requirements and allow simple scripts (robots) to use the pastebin without much knowledge.
"enable_charts" is for adding a button which can make a chart of the input data using morris.js
Check out Mojo::Server::Hypnotoad for more hypnotoad options.
Command line interface
$ cat /path/to/file |curl -F "txt=<-" http://xxx.xxx.xxx/'
$ curl -F "txt=</path/to/file" http://xxx.xxx.xxx/'
$ curl -F "image=@/path/to/imagefile" http://xxx.xxx.xxx/'
Jan Henning Thorsen - jhthorsen@cpan.org
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。