mirror of
https://github.com/misterunknown/ifm.git
synced 2025-10-03 02:21:50 +02:00
Created Contributing (markdown)
18
Contributing.md
Normal file
18
Contributing.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# introduction
|
||||
The source code of the IFM is a bit different from other projects you might know. Historically I developed it literally in one single file. As this became very confusing, I splitted the parts up into the `src` directory and searched for a nice way to compile it into a single file in the end. Other single-file script solutions, like [Adminer](https://github.com/vrana/adminer), use custom compilers for their scripts, so I decided to do it in a similar way.
|
||||
|
||||
## compiler
|
||||
The compiler script is written in PHP and does essentialy three things:
|
||||
* replace the includes with actual file content
|
||||
* concat PHP files while removing the first line (`<?php`)
|
||||
* add snippet to start the IFM
|
||||
Includes can be made by writing the filename enclosed by three at signs (`@@@`).
|
||||
|
||||
## files
|
||||
Here is a short explanation of what does what:
|
||||
* `src/main.php`: IFM class, core of the IFM
|
||||
* `src/ifm.js`: IFM client application, written in JS
|
||||
* `src/ifmzip.php`: zip class used by the IFM
|
||||
* `src/style.css`: some custom css
|
||||
* `src/includes/*`: external sources like bootstrap etc.
|
||||
* `src/templates/*`: HTML templates
|
Reference in New Issue
Block a user