GithubHelp home page GithubHelp logo

perlbot / perlbuut-pastebin Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 2.11 MB

A new pastebin/IDE for perlbuut. Supports using the eval server to run code and record output

License: Other

HTML 34.73% Perl 56.39% JavaScript 8.19% CSS 0.68%

perlbuut-pastebin's Introduction

This is a new pastebin project using a modern web editor that will allow you to also test the pastebin contents with the local evalserver.

Docs to be forthcoming.

perlbuut-pastebin's People

Contributors

simcop2387 avatar

Watchers

 avatar James Cloos avatar

perlbuut-pastebin's Issues

Raw urls

Support /raw/ for making C&P easier, or for curl etc.

Keyboard shortcuts

Disable the ACE built-in keyboard shit. Make standard browser stuff work.

Eval without IRC message

Currently any eval will spam one of the IRC channels. I think it would be better if there was a checkbox or a β€œNone” option in the Where field.

Copy and pasting not working in viewer.

15:45:10 < ttkp> I don't want interactive or dynamic, I just want text I can copy+paste into my repl
15:45:50 < ttkp> and that page does something which prevents me from copy+pasting
15:46:06 < simcop2387> i need to make/adopt an API for pasting to it so it can be done via commandline too but i want to get multi-file support in there (that one might not be doable with lynx/elinks though).
15:46:07 < ttkp> I highlight the text, but when I paste it pastes the url
15:46:10 -!- berndj [~[email protected]] has joined #perl
15:46:39 < simcop2387> that's interesting i hadn't seen that one. I've been trying to figure out a way to enable/fix middle click paste in linux but the browers are fighting me on that one
15:46:40 < ttkp> but lynx fixes all that
15:48:36 < simcop2387> ttkp: what browser/os/etc. are you seeing that happen? i'm assuming on viewing a paste it's happening?
15:49:34 < ttkp> simcop2387 - when I view a paste, but also when I'm viewing a JIRA ticket at work. It's Pale Moon 27.1 (forked from Firefox 24)

API v2

Design a new API for planned features

  • Multi-file support

  • Multiple langauge support

  • Multiple output stream support. (i.e. STDERR/STDOUT as seperate items)

  • STDIN support

  • Make a test suite for API v1, also for v2. But mostly v1 at first. Intent is to let me be able to rewrite APIv1 as an internal client of v2 so that I can remove the old code for v1 once v2 is out. This will ease future use

  • Update pastebin clients on cpan to use v2 and support multiple files and languages.

Things to consider

  • Websocket API for interacting with a live run of a paste. This will need evalserver changes, but look into architecture for this.

Neuter and lobotomize ACE

This is a larger project to deal with a lot of the issues that ACE brings, but aren't possible to fix otherwise (that I can see).

We want to remove everything but:

  1. Syntax Highlighting (ACE has one of the better ones out there, others tend to parse things badly).
  2. Line numbers that don't affect the selection. Several of them end up being copied and pasted either in all types of pastes or only in "rich text" pastes. They should be seen but not heard.
  3. Some rich text capabilities. I want to use it's parsing/tokenization to detect perl module names and try to link to documentation with possible. This needs to not interfere with text only pastes. I'm fine with it leaving the links in "rich text" pastes as that would be a PITA to remove them, and anyone doing a rich text paste has other things wrong with them.

Multi-file support for lynx/links

Since these browsers do not have javascript support, some additional work must be made for them to work properly.

Add an api like /api/v2/repasteme?newfile=1

It takes a paste like the /paste api with multiple files, but returns a page containing another textarea with relavent fields to display another file.

It should also support ?deletefiles=...,...,... to remove them from the list returned.

Doesn't announce to perlbot

It needs to announce to perlbot so that pastes are easier to deal with.

This should use a simple protocol (TCP? REST?) to get channels and then do the announce. Security isn't a big concern since it'll be 127.1 only.

It should be configurable

There should be some way to configure the pastebin:

  • Memcached
    • Enabled?
    • Server settings
  • Eval server
    • Where to find it
    • what type? maybe support App::Eval or whatever that other module is
  • DB server location, maybe for just making setup easier
  • base url location? Add to the links/posts/etc?
  • page branding? or is that just template changes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.