Merge branch 'main' of lokilocker.com:SomeGuy/sessioncommunities.online
commit
14257700a7
@ -0,0 +1,65 @@
|
||||
# Contribution guidelines
|
||||
|
||||
## Development environment
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- PHP (version TBD)
|
||||
- `make`
|
||||
- `entr` to watch for file changes
|
||||
- `xdg-open` link handler to invoke browser
|
||||
- patience
|
||||
|
||||
### Cloning or updating the repository
|
||||
|
||||
Ensure the consistency of the `languages` submodule by using the following options:
|
||||
|
||||
- `git clone --recurse-submodules <repository-url>`
|
||||
- `git pull --recurse-submodules`
|
||||
|
||||
### Development
|
||||
|
||||
Run at least once: `make fetch` to query servers. This can take around 5 minutes.
|
||||
|
||||
Run when developing: `make dev` to watch for changes & serve HTML locally in browser.
|
||||
Does not respond to new files.
|
||||
|
||||
See [`Makefile`](Makefile) for more details.
|
||||
|
||||
### Running your own copy
|
||||
|
||||
- point your webserver at the `output` folder
|
||||
- install systemd services from the `systemd` folder or an equivalent timer
|
||||
- `session_sudoers`: TBD
|
||||
|
||||
## Code style guidelines
|
||||
|
||||
### General
|
||||
|
||||
**Indentation**: Tabs (4-wide)
|
||||
|
||||
**Filename seperator**: Hyphen (`-`)
|
||||
|
||||
### PHP
|
||||
|
||||
**Identifier casing**: `snake_case` and `CONSTANT_CASE`
|
||||
|
||||
**Comments and documentation**: TBD
|
||||
|
||||
### HTML & CSS
|
||||
|
||||
**Identifier casing**: `kebab-case`, occasional `snake_case`
|
||||
|
||||
**Comments and documentation**: TBD
|
||||
|
||||
### JavaScript
|
||||
|
||||
**Identifier casing**: `camelCase` and `CONSTANT_CASE`, occasional `snake_case`
|
||||
|
||||
**Comments and documentation**: [JSDoc](https://jsdoc.app/)
|
||||
|
||||
## Contact
|
||||
|
||||
- Web Development Session Community on [caliban.org](https://sog.caliban.org/)
|
||||
- Project lead, querying logic, deployment, community filtering: `someguy` on Session
|
||||
- Documentation, code quality, HTML generation, CSS, JS: `gravel` on Session
|
@ -1,12 +1,23 @@
|
||||
<?php
|
||||
$PROJECT_ROOT = dirname(__FILE__);
|
||||
|
||||
while (!file_exists("$PROJECT_ROOT/.phpenv")) {
|
||||
if ($PROJECT_ROOT == "/" || $PROJECT_ROOT == "")
|
||||
throw new RuntimeException("Could not find .phpenv file.");
|
||||
$PROJECT_ROOT = dirname($PROJECT_ROOT);
|
||||
}
|
||||
|
||||
(function(){
|
||||
global $PROJECT_ROOT;
|
||||
|
||||
$root_previous = "";
|
||||
|
||||
while (!file_exists("$PROJECT_ROOT/.phpenv")) {
|
||||
if (
|
||||
$PROJECT_ROOT == "/" ||
|
||||
$PROJECT_ROOT == "" ||
|
||||
$PROJECT_ROOT == $root_previous
|
||||
)
|
||||
throw new RuntimeException("Could not find .phpenv file.");
|
||||
$root_previous = $PROJECT_ROOT;
|
||||
$PROJECT_ROOT = dirname($PROJECT_ROOT);
|
||||
}
|
||||
})();
|
||||
|
||||
require_once "$PROJECT_ROOT/.phpenv";
|
||||
|
||||
// set_include_path(get_include_path() . PATH_SEPARATOR . $PROJECT_ROOT);
|
||||
|
Loading…
Reference in New Issue