# 🤖 P3X Gitlist v2.10.71-976
This is an open-source project. Star this repository, if you like it, or even donate! Thank you so much! :)
I run my own server with dynamic IP address, so, it may happen, that the server can not be reachable for about max 15 minutes, due to nature of the dynamic DNS. The server may also be unreachable, when I backup the SSD with Clonzilla (very rarely) or an electrical issue (but this should not happen again). When the server is down, please hang on for 15-30 minutes and the server will be back up.
All my domains (patrikx3.com and corifeus.com) could have errors, since I am developing in my free time. However, it is usually stable.
**Bugs are evident™ - MATRIX️**
### Node Version Requirement
### Built on Node
The ```async``` and ```await``` keywords are required.
This is Klaus Silveira's fork, with web workers, multiple themes (dark/light), sub-modules, uglify-es, webpack, toast, pure Bootstrap 3 and upgraded to PHP7.1 with all components.
Usually, even a small router can use it with 64MB `PHP memory limit`.
For the actual released `zip` file does not need `NodeJS` or anything like that. Only a `web server`, `PHP 7.1` and `GIT`.
See releases: https://github.com/patrikx3/gitlist/releases
### PHP > 7.1 only
# Release version/update info
Done, just put on your server, nothing to build:
### Web server
You might need to tune your web server, to only parse the `public/index.php` PHP script, so you can view your `php` files in `P3X GitList`.
## There is a changing break
Before, everything was in the `root` of the web server.
Which is not secure.
For now, you can create a folder eg. `/var/www/gitlist.me.com/` and make sure, that you server does not point to `/var/www/gitlist.me.com/`, but instead, point to `/var/www/gitlist.me.com/public`.
The `config.ini` file with `url_subdir` or later `clone_subdir` variable has been changed to the `git_clone_subdir` variable.
### Third 😀
I removed `Babel`, we started to upgrade in 2018 on this repo. If you want use an older `Browser` (like iPhone 5), you can probably install latest `Chrome` and it will work.
I have disabled loading everything in `twig`, besides the `diffs` are loading via `AJAX` and `web workers`, I made it to work huge commits with `64MB` `PHP`.
See in action:
If you upload a bigger binary file, it is important, that your web server allows to upload bigger files, because I found an error with `NGINX` as:
Request Entity Too Large"
I resolved in the `NGINX` web server configuration file `nginx.conf` as:
So, this is only for testing. You should limit for some max size, that you want it at maximum, really.
#### The last version with Babel
The following versions are not using `Babel`!!!! Yikes!
### Unreleased / in progress
* Upload binary files
* Convert Silex 2 to Symfony 4
* Localization (twig, controller, php, js)
* In submodules, if the "submodule" and "path" is not the same, it chokes (it should work the submodule name and path are not the same)
* submodule "path/name"
* path path/name
* Not working
* submodule "name"
* path path/name
* In submodules, the url cannot have slash at the end
* Basically, the twig "for" is not cheap => expensive, use AJAX and web worker
* Search, at work, "fix" string hs 1221 results, use AJAX and pager
* Blames in gitlist on composer.lock has 994 results, use AJAX and pager
[Change log](changelog.md) ...
# Old info
### Last merge from `klaussilveira`
Jun 27, 2018
Jun 1, 2018
# Live demo
By now `composer` is not enough. We are using `webpack`, `less`, `grunt` ...
For the build on your workstation (less, Bootstrap themes, and webpack):
* ```NodeJs``` >= 10
* ```Grunt``` (npm install -g npm grunt-cli)
In order to run GitList on your server, you'll need:
* ```Apache``` with ```mod_rewrite``` enabled or ```nginx```
* ```PHP``` >= 7.1
## By hand
If you have Composer in your path, things get easier. But you know the drill.
If want to get the project dependencies, and build everything:
git clone https://github.com/patrikx3/gitlist.git
curl -s http://getcomposer.org/installer | php
php composer.phar install
# i use Node v10 and NPM v6
sudo npm install -g npm grunt-cli
# if you do not want to create a release
# just work on it
# now the js and css is built on the fly
# in the ./public folder
npm run watch
# if you have bash and want to create a full release
# and strip all unneeded files,
# optimize the packagist vendor folder
# you might need zip from linux
# the files will be in the ./build/release folder
# and the zip is in the ./build/release/p3x-gitlist-a.b.c.zip file
[Install](INSTALL.md) - here.
[**P3X-GITLIST**](https://pages.corifeus.com/gitlist) Build v2.10.71-976
[![Like Corifeus @ Facebook](https://img.shields.io/badge/LIKE-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software) [![Donate for Corifeus / P3X](https://img.shields.io/badge/Donate-Corifeus-003087.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QZVM4V6HVZJW6) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact)
## P3X Sponsors
[IntelliJ - The most intelligent Java IDE](https://www.jetbrains.com)
[The Smartest IDE for MongoDB](https://www.nosqlbooster.com)