Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maximilianheidenreich/snipp

Snipp is a powerful, user friendly pastebin tool with a modern aesthetic.
https://github.com/maximilianheidenreich/snipp

pastebin pastebin-service

Last synced: about 1 month ago
JSON representation

Snipp is a powerful, user friendly pastebin tool with a modern aesthetic.

Awesome Lists containing this project

README

        

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![GPLv3 License][license-shield]][license-url]





Logo

Snipp


A modern Pastebin alernative which looks nice and has powerful functions..


Explore the docs ยป




View Demo
ยท
Report Bug
ยท
Request Feature

![Banner GIF][snipp-bannergif]

## Table of Contents

- [Table of Contents](#table-of-contents)
- [About The Project](#about-the-project)
- [Features:](#features)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Local Installation](#local-installation)
- [Usage](#usage)
- [Roadmap](#roadmap)
- [Contributing](#contributing)
- [Contact](#contact)


## About The Project

***Are you tired of using pastebins which look like they were designed in the early 2000s?***

***Fear not! Snipp got you covered.***

> Snipp is a powerful, user friendly pastebin tool with a modern aesthetic.

### Features:

- [x] **Create & Share** snippets accessible by short IDs (e.g. ""EEmt6k)
- [x] **Edit** snippets after publishing them *(No login required!)*
- [x] **Clone** snippets if you want to make changes to other peoples snippets
- [x] **Copy** the content of any snippet to your clipboard with just one click
- [x] Visual features
- [x] Clean & Modern UI
- [x] Syntax highlighting
- [ ] Light & Dark Theme
- [x] Line numbers *(togglable)*

- [x] Simple **API** *(Feel free to extend it. Maybe a CLI Tool?)*
- [x] **Open Source** *(GPL-3.0, see [License info](https://choosealicense.com/licenses/gpl-3.0/) for further details)*


## Getting Started

> **:bulb:** The Snipp project is split into 2 codebases!
> - [Snipp (Frontend)](https://github.com/MaximilianHeidenreich/Snipp)
> - [Snipp-API (API)](https://github.com/MaximilianHeidenreich/Snipp-api)
>
> The frontend only contains the Nuxt.js (Vue) project. It simply provides a clean ui to interface
> with the backend API. If you want to host Snipp yourself, please make sure you have an API instance
> running somewhere!

### Prerequisites

Please ensure that you have installed & configured all of the following requirements:
- [npm](https://npme.npmjs.com/docs/cli/installation.html) / [yarn](https://classic.yarnpkg.com/en/docs/install/#mac-stable)
- [PostgreSQL Database](https://www.postgresql.org/docs/13/installation.html)
- [Snipp API](https://github.com/MaximilianHeidenreich/Snipp-api)

Before you launch the server or build the project, you need to configure the following ENV
variables inside the `.env` file:

```bash
# ! Do not append a '/' to the URLs !

API_BASE_URL="https://yourApiUrl.com" # The URL where the API is hosted / accessible.

BASE_URL="https://yourAccessUrl.com" # The URL where Snipp frontend will be accessed from.
```

### Local Installation

```bash
# install dependencies
$ yarn install

# serve with hot reload at localhost:3000
$ yarn dev

# build for production and launch server
$ yarn build
$ yarn start
```

For detailed explanation on how Nuxt.js works, check out [Nuxt.js docs](https://nuxtjs.org).


## Usage


Creating & Updating


To create a Snipp, simple click the '+' button and paste your text into the free editor space.
If you want, you can enter a name associated with the Snipp inside of the 'Name' field.


๐Ÿ’ก Snipp will automatically try to detect the language and select it for syntax highlighting.


After you created your Snipp, you can always access it and make changes (See Owner Pin for further details). Just hit the 'save' button right next to the '+' button to pubish your changes.


๐Ÿ’ก When you create a Snipp, the url to access it will be copied to your clipboard!


Clone Snipp


If you come across a Snipp, which was created by someone else but you still want to edit it,
you can use the 'clone' button (It replaces the 'save' button if you don't own the Snipp).


After cloning the Snipp, make your changes and hit the 'save' button. Now it will be yours :)


๐Ÿ’ก When you published your changes, the url to access the Snipp will be copied to your clipboard!


Owner Pin


The 'Owner Pin' is a 8-digit pin (0000-0000) which is used to identify a client.


Important notes:



  • The owner pin is no secure identification token! It only provides a basic level of security
    to prevent everyone from editing every Snipp.


  • The owner pin is automatically generated when a client visits the Snipp frontend for the first time.


  • A client can change his PIN to whatever he wants (as long as it meets the format requirements).




If you want to use the same PIN on multiple devices to enable editing access to your Snipps,
just select the 'gear' icon on your main device. Remember the PIN which is displayed at the top
and insert it into your other clients settings.


Visual Configuration


// TODO: Add visual config docs.


## Roadmap

See the [open issues](https://github.com/MaximilianHeidenreich/Snipp-api/issues) for a list of proposed features (and known issues).


## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request


## Contact

Maximilian Heidenreich - [email protected]

Project Link: [https://github.com/MaximilianHeidenreich/Snipp](https://github.com/MaximilianHeidenreich/Snipp)

[contributors-shield]: https://img.shields.io/github/contributors/MaximilianHeidenreich/Snipp.svg?style=flat-square
[contributors-url]: https://github.com/MaximilianHeidenreich/Snipp/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/MaximilianHeidenreich/Snipp?style=flat-square
[forks-url]: https://github.com/MaximilianHeidenreich/Snipp/network
[stars-shield]: https://img.shields.io/github/stars/MaximilianHeidenreich/Snipp?style=flat-square
[stars-url]: https://github.com/MaximilianHeidenreich/Snipp/stargazers
[issues-shield]: https://img.shields.io/github/issues/MaximilianHeidenreich/Snipp?style=flat-square
[issues-url]: https://github.com/MaximilianHeidenreich/Snipp-api/issues
[license-shield]: https://img.shields.io/github/license/MaximilianHeidenreich/Snipp?style=flat-square
[license-url]: https://github.com/MaximilianHeidenreich/Snipp/blob/master/LICENSE.md
[snipp-bannergif]: https://i.imgur.com/LjEA3Vk.gif