![szurubooru](https://raw.githubusercontent.com/rr-/szurubooru/master/public_html/img/shrine.png) szurubooru ========== ## What is it? `szurubooru` is a Danbooru-style board, a gallery where users can upload, browse, tag and comment images, video clips and flash animations. Its name have its roots in Polish language and has onomatopoeic meaning of scraping or scrubbing. It is pronounced *"shoorubooru"* [ˌʃuruˈburu]. ## Licensing Please see the file named [`LICENSE`](https://github.com/rr-/szurubooru/blob/master/LICENSE). ## Installation Please see the file named [`INSTALL.md`](https://github.com/rr-/szurubooru/blob/master/INSTALL.md). ## Bugs and feature requests All bugs and suggestions should be reported as issues on the [Github repository page](https://github.com/rr-/szurubooru/issues). When reporting, please do following: 1. Search for existing issues for possible duplicates. If something is related to your problem, comment on that issue instead of opening a new one. 2. If you found an issue and the issue is closed, feel free to reopen it. 3. If you're reporting a bug, create an isolated and reproducible scenario. 4. If you're filing a feature request, provide examples - what might be obvious to you, might not be so obvious to the developers. ## Contributing the code Here are some guidelines on how to contribute: - Keep your changes compact. - Respect coding standards - be consistent with existing code base. - Watch your whitespace - don't leave any characters at the end of the lines. - Always run tests before pushing. - Before starting, see [`INSTALL.md`](https://github.com/rr-/szurubooru/blob/master/INSTALL.md). - Use `grunt` to do automatic tasks like minifying Javascript files or running tests. Run `grunt --help` to see full list of available tasks. ## API `szurubooru` from version 0.9+ uses REST API. Currently there is no formal documentation; source code behind REST layer lies in `src/Controllers/` directory. In order to use the API, bear in mind that you need to: 1. Have actual user account on the server to do most things (depending on privileges). 2. Authenticate your requests: 1. Send user credentials to `/auth`. You'll receive authentication token in return. 2. Send this token in X-Authorization-Token header on subsequent requests. Developers reserve right to change API at any time with neither prior notice nor keeping backwards compatibility.