Simple Node.js pastebin
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Joe Biellik d10d4ca767 Improve linting 5 years ago
config Refactor for Node v8, native async, remove Babel 8 years ago
controllers Update libraries and depdendies 6 years ago
models Update libraries and depdendies 6 years ago
public Newer jQuery syntax 8 years ago
views Update libraries and depdendies 6 years ago
.editorconfig Cleanup 8 years ago
.eslintrc.json Improve linting 5 years ago
.gitattributes
.gitignore
LICENSE.md Update year 5 years ago
README.md Update libraries and depdendies 6 years ago
app.js Refactor for Node v8, native async, remove Babel 8 years ago
db.js Update libraries and depdendies 6 years ago
docker-compose.yml Don't use watch by default 9 years ago
package-lock.json Update libraries and depdendies 6 years ago
package.json Update libraries and depdendies 6 years ago
router.js Refactor for Node v8, native async, remove Babel 8 years ago
server.js Refactor for Node v8, native async, remove Babel 8 years ago

README.md

paste

License Release Version Dependencies

Simple Node.js pastebin built with Koa, MongoDB, Jade, Bootstrap and Prism.js.

Try it out at paste.fyi

Features

  • Clean code thanks to ES7 async/await and Koa
  • Full syntax highlighting via Prism.js
  • CTRL+Enter hotkey for quick paste submission
  • Short URLs via shortid, e.g. NyQO9puMe
  • Full support for CLI requests with curl etc
  • Textarea grows to fit content via autosize.js
  • Automatic and configurable paste expiry
  • Runs fully containerized with Docker and Vagrant
  • Simple and responsive UI built with Bootstrap

Usage

# Simple paste
$ echo 'Hello World' | curl -F 'paste=<-' http://paste.fyi
http://paste.fyi/N15FNVqfg

# wget or any other tool is fine too:
$ wget --post-data 'paste=Hello from wget' -qO- http://paste.fyi

# Either form or multipart data is accepted:
$ curl -d 'paste=Sent as multipart' http://paste.fyi

# Specify the syntax to highlight:
$ git diff README.md | curl -F 'paste=<-' -F 'highlight=diff' http://paste.fyi

Development

  1. Clone this repo:
git clone https://github.com/JoeBiellik/paste.git && cd paste
  1. Start the virtual machine and connect:
vagrant up
vagrant ssh
  1. Install dependencies:
npm install
  1. Start MongoDB:
docker-compose up -d db
  1. Start app and watch for changes:
npm run watch

Deployment

  1. Configure config/docker.json with any custom settings

  2. Start the production database and Node.js server:

docker-compose up