]> git.p6c8.net - jirafeau.git/blob - CONTRIBUTING.md
[FEATURE] Contribution guide: Revise chapters
[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 ├── admin.php : adminitration interface, also permits to download files
24 ├── f.php : permits to download files or show the download page
25 ├── index.php : only provide a html/javascript client to interact with API
26 ├── script.php : API interface and it's html documentation
27 ├── install.php : installation script
28 ├── tos.php : terms of use the user may edit
29 ├── lib
30 │   ├── config.local.php : user's parameters
31 │   ├── config.original.php : default parameters with their documentation
32 │   ├── functions_*.js : javascript functions for html/javascript client
33 │   ├── functions.php : core functions and tools of jirafeau
34 │   ├── locales : langage folder, contain all langage files
35 │   └── template
36 │   ├── footer.php
37 │   └── header.php
38 ├── media : folder containing all skins
39 └── var-xxxxxxx : folder containing all data
40 ├── async : chunks of uploaded files
41 ├── files : all files that has been successfully uploaded
42 └── links : all links pointing to files with meta-informations
43
44 ## Translations
45
46 Translation may be add via [Jirafeau's Weblate](https://hosted.weblate.org/projects/jirafeau/master/).
47
48 ## Coding style
49
50 - PHP function keywords are alone on a line
51 - Braces "{" must be put in a new line
52 - Files must be in UTF-8 without BOM and use Unix Line Endings (LF)
53
54 The whole project is not clean about that yet, feel free to fix :)
55
56 ## Merge Requests
57
58 Please create one branch for each feature and send one merge request for each branch.
59
60 Dont squash several changes or commits into one merge request as this is hard to review.

patrick-canterino.de