]> git.p6c8.net - jirafeau.git/blob - CONTRIBUTING.md
[!!][FEATURE] Remove XHTML doctype
[jirafeau.git] / CONTRIBUTING.md
1 # Contributing
2
3 Hi,
4
5 this document is made for newcomers in Jirafeau who are digging into the code.
6
7 ## General principle
8
9 Jirafeau is made in the [KISS](http://en.wikipedia.org/wiki/KISS_principle) way (Keep It Simple, Stupid).
10
11 It is meant to be a simple filehosting service, simple to use, simple to install, simple to maintain.
12
13 This project won't evolve to a file manager and will focus to keep a very few dependencies.
14
15 So things like a markdown parser for the ToS or E-Mail tasks would be usefull for sure, but may be [rejected](https://gitlab.com/mojo42/Jirafeau/issues/37#note_1191566) since they would a lot of dependencies and makes the project more complex.
16
17 ## Structure
18
19 Here is a little explaination of Jirafeau's arboresence in a simplified
20 view only to show the most importants files and their role.
21
22 ```
23 .
24 ├── admin.php : adminitration interface, also permits to download files
25 ├── f.php : permits to download files or show the download page
26 ├── index.php : only provide a html/javascript client to interact with API
27 ├── script.php : API interface and it's html documentation
28 ├── install.php : installation script
29 ├── tos.php : terms of use the user may edit
30 ├── lib
31 │   ├── config.local.php : user's parameters
32 │   ├── config.original.php : default parameters with their documentation
33 │   ├── functions_*.js : javascript functions for html/javascript client
34 │   ├── functions.php : core functions and tools of jirafeau
35 │   ├── locales : langage folder, contain all langage files
36 │   └── template
37 │   ├── footer.php
38 │   └── header.php
39 ├── media : folder containing all skins
40 └── var-xxxxxxx : folder containing all data
41 ├── async : chunks of uploaded files
42 ├── files : all files that has been successfully uploaded
43 └── links : all links pointing to files with meta-informations
44 ```
45
46 ## Translations
47
48 Translation may be add via [Jirafeau's Weblate](https://hosted.weblate.org/projects/jirafeau/master/).
49
50 ## Coding style
51
52 - PHP function keywords are alone on a line
53 - Braces "{" must be put in a new line
54 - Files must be in UTF-8 without BOM and use Unix Line Endings (LF)
55
56 The whole project is not clean about that yet, feel free to fix :)
57
58 ## Merge Requests
59
60 Please create one branch for each feature and send one merge request for each branch.
61
62 Dont squash several changes or commits into one merge request as this is hard to review.

patrick-canterino.de