Skip to content
Simple Node.js pastebin
HTML JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
controllers
models
public
views
.editorconfig
.eslintrc.json
.gitattributes
.gitignore
LICENSE.md
README.md
Vagrantfile
app.js
db.js
docker-compose.yml
package-lock.json
package.json
router.js
server.js

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
You can’t perform that action at this time.