|Stanislav Nikitin 6a787e7e23
- Create and view public and private pastes.
- Syntax highlighting.
- Pastes expiration.
- Passwords for pastes.
- Multiple storage backends. Currently:
- No links at lines numbers. See https://github.com/alecthomas/chroma/issues/132
Installation and updating
CGO_ENABLED=0 go get -u -v go.dev.pztrn.name/fastpastebin/cmd/fastpastebin
This command can be used to update Fast Paste Bin.
Take a look at example configuration file which contains all supported options and their descriptions.
Configuration file position is irrelevant, there is no hardcoded paths where
Fast Paste Bin looking for it's configuration. Use
-config CLI parameter
FASTPASTEBIN_CONFIG environment variable to specify path.
Developers should install 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:
Also if you're changed list of assets (by creating or deleting them) be sure
to fix files list in
The rest is default - use linters, formatters, etc. VSCode with Go plugin is recommended for developing as it will perform most of linting-formatting 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 https://github.com/pztrn/fastpastebin/blob/master/pastes/api_http.go for example.
We're not forcing any limits on line length for code, only for comments, they should be 72-76 chars long.
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.
- Files uploading.
- Passwords for files.
- Pastes forking and revisioning (like git or github gists).
- Possibility to copy-paste-edit WISYWIG content.
- CLI client for pastes and files uploading.