README update.
This commit is contained in:
parent
3f9801b1bd
commit
ffb42f43eb
61
README.md
61
README.md
@ -1,11 +1,10 @@
|
|||||||
[![Drone (self-hosted)](https://img.shields.io/drone/build/fastpastebin/fastpastebin?server=https%3A%2F%2Fci.dev.pztrn.name)](https://ci.dev.pztrn.name/fastpastebin/fastpastebin/) [![Discord](https://img.shields.io/discord/632359730089689128)](https://discord.gg/qHN6KsD) ![Keybase XLM](https://img.shields.io/keybase/xlm/pztrn)
|
|
||||||
|
|
||||||
# Fast Pastebin
|
# Fast Pastebin
|
||||||
|
|
||||||
Easy-to-use-and-install pastebin software written in Go. No bells or
|
[![Drone (self-hosted)](https://img.shields.io/drone/build/fastpastebin/fastpastebin?server=https%3A%2F%2Fci.dev.pztrn.name)](https://ci.dev.pztrn.name/fastpastebin/fastpastebin/) [![Discord](https://img.shields.io/discord/632359730089689128)](https://discord.gg/qHN6KsD) ![Keybase XLM](https://img.shields.io/keybase/xlm/pztrn)
|
||||||
whistles, no websockets and even NO JAVASCRIPT!
|
|
||||||
|
|
||||||
# Current functionality.
|
Easy-to-use-and-install pastebin software written in Go. No bells or whistles, no websockets and even NO JAVASCRIPT!
|
||||||
|
|
||||||
|
## Current functionality
|
||||||
|
|
||||||
* Create and view public and private pastes.
|
* Create and view public and private pastes.
|
||||||
* Syntax highlighting.
|
* Syntax highlighting.
|
||||||
@ -13,63 +12,49 @@ whistles, no websockets and even NO JAVASCRIPT!
|
|||||||
* Passwords for pastes.
|
* Passwords for pastes.
|
||||||
* Multiple storage backends. Currently: ``flatfiles``, ``mysql`` and ``postgresql``.
|
* Multiple storage backends. Currently: ``flatfiles``, ``mysql`` and ``postgresql``.
|
||||||
|
|
||||||
# Caveats.
|
## Caveats
|
||||||
|
|
||||||
* No links at lines numbers. See https://github.com/alecthomas/chroma/issues/132
|
* No links at lines numbers. See [this Chroma bug](https://github.com/alecthomas/chroma/issues/132)
|
||||||
|
|
||||||
# Installation and updating
|
## Installation and updating
|
||||||
|
|
||||||
Just issue:
|
Just issue:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
CGO_ENABLED=0 go get -u -v go.dev.pztrn.name/fastpastebin/cmd/fastpastebin
|
CGO_ENABLED=0 go get -u -v go.dev.pztrn.name/fastpastebin/cmd/fastpastebin
|
||||||
```
|
```
|
||||||
|
|
||||||
This command can be used to update Fast Paste Bin.
|
This command can be used to update Fast Paste Bin.
|
||||||
|
|
||||||
# Configuration.
|
## Configuration
|
||||||
|
|
||||||
Take a look at [example configuration file](examples/fastpastebin.yaml.dist)
|
Take a look at [example configuration file](examples/fastpastebin.yaml.dist) which contains all supported options and their descriptions.
|
||||||
which contains all supported options and their descriptions.
|
|
||||||
|
|
||||||
Configuration file position is irrelevant, there is no hardcoded paths where
|
Configuration file position is irrelevant, there is no hardcoded paths where Fast Paste Bin looking for it's configuration. Use ``-config`` CLI parameter or ``FASTPASTEBIN_CONFIG`` environment variable to specify path.
|
||||||
Fast Paste Bin looking for it's configuration. Use ``-config`` CLI parameter
|
|
||||||
or ``FASTPASTEBIN_CONFIG`` environment variable to specify path.
|
|
||||||
|
|
||||||
# Developing
|
## Developing
|
||||||
|
|
||||||
Developers should install https://github.com/UnnoTed/fileb0x/ which is used
|
Developers should install [fileb0x](https://github.com/UnnoTed/fileb0x/) which is used as replacement to go-bindata for embedding assets into binary. After changing assets they should be recompiled into Go code. At repository root execute this command and you'll be fine:
|
||||||
as replacement to go-bindata for embedding assets into binary. After changing
|
|
||||||
assets they should be recompiled into Go code. At repository root execute
|
|
||||||
this command and you'll be fine:
|
|
||||||
|
|
||||||
```
|
```bash
|
||||||
fileb0x fileb0x.yml
|
fileb0x fileb0x.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
Also if you're changed list of assets (by creating or deleting them) be sure
|
Also if you're changed list of assets (by creating or deleting them) be sure to fix files list in ``fileb0x.yml`` file!
|
||||||
to fix files list in ``fileb0x.yml`` file!
|
|
||||||
|
|
||||||
The rest is default - use linters, formatters, etc. VSCode with Go plugin is
|
The rest is default - use linters, formatters, etc. VSCode with Go plugin is recommended for developing as it will perform most of linting-formatting
|
||||||
recommended for developing as it will perform most of linting-formatting
|
actions automagically. Try to follow [Go's code review comments](https://github.com/golang/go/wiki/CodeReviewComments) with few exceptions:
|
||||||
actions automagically. Try to follow https://github.com/golang/go/wiki/CodeReviewComments
|
|
||||||
with few exceptions:
|
|
||||||
|
|
||||||
* Imports should be organized in 3 groups: stdlib, local, other. See
|
* Imports should be organized in 3 groups: stdlib, local, other. See [this file](https://sources.dev.pztrn.name/fastpastebin/fastpastebin/src/branch/master/domains/pastes/paste_get.go) for example.
|
||||||
https://github.com/pztrn/fastpastebin/blob/master/pastes/api_http.go for
|
* We're not forcing any limits on line length for code, only for comments, they should be 72-76 chars long.
|
||||||
example.
|
|
||||||
|
|
||||||
* We're not forcing any limits on line length for code, only for comments,
|
## ToDo
|
||||||
they should be 72-76 chars long.
|
|
||||||
|
|
||||||
# ToDo
|
This is a ToDo list which isn't sorted by any parameter at all. Just a list of tasks you can help with.
|
||||||
|
|
||||||
This is a ToDo list which isn't sorted by any parameter at all. Just a list
|
|
||||||
of tasks you can help with.
|
|
||||||
|
|
||||||
* User CP.
|
* User CP.
|
||||||
* Files uploading.
|
* Files uploading.
|
||||||
* Passwords for files.
|
* Passwords for files.
|
||||||
* Pastes forking and revisioning (like git or github gists).
|
* Pastes forking and revisioning (like git or github gists).
|
||||||
* Possibility to copy-paste-edit WISYWIG content.
|
* Possibility to copy-paste-edit WYSIWYG content.
|
||||||
* CLI client for pastes and files uploading.
|
* CLI client for pastes and files uploading.
|
||||||
|
Loading…
Reference in New Issue
Block a user