docs folder
This commit is contained in:
		
							parent
							
								
									fe874389ab
								
							
						
					
					
						commit
						76b346b45d
					
				
							
								
								
									
										116
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										116
									
								
								README.md
									
									
									
									
									
								
							| @ -20,117 +20,15 @@ websites, this is the version to use. | |||||||
| Alternatively if you want a version that will never have significant changes, | Alternatively if you want a version that will never have significant changes, | ||||||
| check out one of the versioned branches. | check out one of the versioned branches. | ||||||
| 
 | 
 | ||||||
| # Requirements |  | ||||||
| 
 | 
 | ||||||
| - These are generally based on "whatever is in Debian Stable", because that's | # Documentation | ||||||
|   conservative without being TOO painfully out of date, and is a nice target |  | ||||||
|   for the unit test Docker build. |  | ||||||
| - A database: PostgreSQL 11+ / MariaDB 10.3+ / SQLite 3.27+ |  | ||||||
| - [Stable PHP](https://en.wikipedia.org/wiki/PHP#Release_history) (7.3+ as of writing) |  | ||||||
| - GD or ImageMagick |  | ||||||
| 
 | 
 | ||||||
| # Installation | * [Install straight on disk](https://github.com/shish/shimmie2/tree/master/docs/INSTALL.md) | ||||||
| 
 | * [Install in docker container](https://github.com/shish/shimmie2/tree/master/docs/DOCKER.md) | ||||||
| 1. Download the latest release under [Releases](https://github.com/shish/shimmie2/releases). | * [Upgrade process](https://github.com/shish/shimmie2/tree/master/docs/UPGRADE.md) | ||||||
| 2. Unzip shimmie into a folder on the web host | * [Advanced config](https://github.com/shish/shimmie2/tree/master/docs/CONFIG.md) | ||||||
| 3. Create a blank database | * [Developer notes](https://github.com/shish/shimmie2/tree/master/docs/DEV.md) | ||||||
| 4. Visit the folder with a web browser | * [High-performance notes](https://github.com/shish/shimmie2/tree/master/docs/SPEED.md) | ||||||
| 5. Enter the location of the database |  | ||||||
| 6. Click "install". Hopefully you'll end up at the welcome screen; if |  | ||||||
|    not, you should be given instructions on how to fix any errors~ |  | ||||||
| 
 |  | ||||||
| # Installation (Development) |  | ||||||
| 
 |  | ||||||
| 1. Download shimmie via the "Download Zip" button on the [master](https://github.com/shish/shimmie2/tree/master) branch. |  | ||||||
| 2. Unzip shimmie into a folder on the web host |  | ||||||
| 3. Install [Composer](https://getcomposer.org/). (If you don't already have it) |  | ||||||
| 4. Run `composer install` in the shimmie folder. |  | ||||||
| 5. Follow instructions noted in "Installation" starting from step 3. |  | ||||||
| 
 |  | ||||||
| # Docker |  | ||||||
| If you just want to run shimmie inside docker, there's a pre-built image |  | ||||||
| in dockerhub - `shish2k/shimmie2` - which can be used like: |  | ||||||
| ``` |  | ||||||
| docker run -p 8000 -v /my/hard/drive:/app/data shish2k/shimmie2 |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| If you want to build your own image from source: |  | ||||||
| ``` |  | ||||||
| docker build -t shimmie . |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| There are various options settable with environment variables: |  | ||||||
| - `UID` / `GID` - which user ID to run as (default 1000/1000) |  | ||||||
| - `INSTALL_DSN` - specify a data source to install into, to skip the installer screen, eg |  | ||||||
|   `-e INSTALL_DSN="pgsql:user=shimmie;password=6y5erdfg;host=127.0.0.1;dbname=shimmie"` |  | ||||||
| 
 |  | ||||||
| ### Upgrade from earlier versions |  | ||||||
| 
 |  | ||||||
| I very much recommend going via each major release in turn (eg, 2.0.6 |  | ||||||
| -> 2.1.3 -> 2.2.4 -> 2.3.0 rather than 2.0.6 -> 2.3.0). |  | ||||||
| 
 |  | ||||||
| While the basic database and file formats haven't changed *completely*, it's |  | ||||||
| different enough to be a pain. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ## Custom Configuration |  | ||||||
| 
 |  | ||||||
| Various aspects of Shimmie can be configured to suit your site specific needs |  | ||||||
| via the file `data/config/shimmie.conf.php` (created after installation). |  | ||||||
| 
 |  | ||||||
| Take a look at `core/sys_config.php` for the available options that can |  | ||||||
| be used. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #### Custom User Classes |  | ||||||
| 
 |  | ||||||
| User classes can be added to or altered by placing them in |  | ||||||
| `data/config/user-classes.conf.php`. |  | ||||||
| 
 |  | ||||||
| For example, one can override the default anonymous "allow nothing" |  | ||||||
| permissions like so: |  | ||||||
| 
 |  | ||||||
| ```php |  | ||||||
| new UserClass("anonymous", "base", [ |  | ||||||
| 	Permissions::CREATE_COMMENT => True, |  | ||||||
| 	Permissions::EDIT_IMAGE_TAG => True, |  | ||||||
| 	Permissions::EDIT_IMAGE_SOURCE => True, |  | ||||||
| 	Permissions::CREATE_IMAGE_REPORT => True, |  | ||||||
| ]); |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| For a moderator class, being a regular user who can delete images and comments: |  | ||||||
| 
 |  | ||||||
| ```php |  | ||||||
| new UserClass("moderator", "user", [ |  | ||||||
| 	Permissions::DELETE_IMAGE => True, |  | ||||||
| 	Permissions::DELETE_COMMENT => True, |  | ||||||
| ]); |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| For a list of permissions, see `core/permissions.php` |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Development Info |  | ||||||
| 
 |  | ||||||
| ui-\* cookies are for the client-side scripts only; in some configurations |  | ||||||
| (eg with varnish cache) they will be stripped before they reach the server |  | ||||||
| 
 |  | ||||||
| shm-\* CSS classes are for javascript to hook into; if you're customising |  | ||||||
| themes, be careful with these, and avoid styling them, eg: |  | ||||||
| 
 |  | ||||||
| - shm-thumb = outermost element of a thumbnail |  | ||||||
|    * data-tags |  | ||||||
|    * data-post-id |  | ||||||
| - shm-toggler = click this to toggle elements that match the selector |  | ||||||
|   * data-toggle-sel |  | ||||||
| - shm-unlocker = click this to unlock elements that match the selector |  | ||||||
|   * data-unlock-sel |  | ||||||
| - shm-clink = a link to a comment, flash the target element when clicked |  | ||||||
|   * data-clink-sel |  | ||||||
| 
 |  | ||||||
| Please tell me if those docs are lacking in any way, so that they can be |  | ||||||
| improved for the next person who uses them |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # Contact | # Contact | ||||||
|  | |||||||
							
								
								
									
										36
									
								
								docs/CONFIG.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								docs/CONFIG.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | |||||||
|  | # Custom Configuration | ||||||
|  | 
 | ||||||
|  | Various aspects of Shimmie can be configured to suit your site specific needs | ||||||
|  | via the file `data/config/shimmie.conf.php` (created after installation). | ||||||
|  | 
 | ||||||
|  | Take a look at `core/sys_config.php` for the available options that can | ||||||
|  | be used. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Custom User Classes | ||||||
|  | 
 | ||||||
|  | User classes can be added to or altered by placing them in | ||||||
|  | `data/config/user-classes.conf.php`. | ||||||
|  | 
 | ||||||
|  | For example, one can override the default anonymous "allow nothing" | ||||||
|  | permissions like so: | ||||||
|  | 
 | ||||||
|  | ```php | ||||||
|  | new UserClass("anonymous", "base", [ | ||||||
|  | 	Permissions::CREATE_COMMENT => True, | ||||||
|  | 	Permissions::EDIT_IMAGE_TAG => True, | ||||||
|  | 	Permissions::EDIT_IMAGE_SOURCE => True, | ||||||
|  | 	Permissions::CREATE_IMAGE_REPORT => True, | ||||||
|  | ]); | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | For a moderator class, being a regular user who can delete images and comments: | ||||||
|  | 
 | ||||||
|  | ```php | ||||||
|  | new UserClass("moderator", "user", [ | ||||||
|  | 	Permissions::DELETE_IMAGE => True, | ||||||
|  | 	Permissions::DELETE_COMMENT => True, | ||||||
|  | ]); | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | For a list of permissions, see `core/permissions.php` | ||||||
							
								
								
									
										20
									
								
								docs/DEV.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								docs/DEV.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | |||||||
|  | # Development Info | ||||||
|  | 
 | ||||||
|  | ui-\* cookies are for the client-side scripts only; in some configurations | ||||||
|  | (eg with varnish cache) they will be stripped before they reach the server | ||||||
|  | 
 | ||||||
|  | shm-\* CSS classes are for javascript to hook into; if you're customising | ||||||
|  | themes, be careful with these, and avoid styling them, eg: | ||||||
|  | 
 | ||||||
|  | - shm-thumb = outermost element of a thumbnail | ||||||
|  |    * data-tags | ||||||
|  |    * data-post-id | ||||||
|  | - shm-toggler = click this to toggle elements that match the selector | ||||||
|  |   * data-toggle-sel | ||||||
|  | - shm-unlocker = click this to unlock elements that match the selector | ||||||
|  |   * data-unlock-sel | ||||||
|  | - shm-clink = a link to a comment, flash the target element when clicked | ||||||
|  |   * data-clink-sel | ||||||
|  | 
 | ||||||
|  | Please tell me if those docs are lacking in any way, so that they can be | ||||||
|  | improved for the next person who uses them | ||||||
							
								
								
									
										18
									
								
								docs/DOCKER.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								docs/DOCKER.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | # Docker | ||||||
|  | 
 | ||||||
|  | If you just want to run shimmie inside docker, there's a pre-built image | ||||||
|  | in dockerhub - `shish2k/shimmie2` - which can be used like: | ||||||
|  | ``` | ||||||
|  | docker run -p 8000 -v /my/hard/drive:/app/data shish2k/shimmie2 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | If you want to build your own image from source: | ||||||
|  | ``` | ||||||
|  | docker build -t shimmie . | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | There are various options settable with environment variables: | ||||||
|  | - `UID` / `GID` - which user ID to run as (default 1000/1000) | ||||||
|  | - `INSTALL_DSN` - specify a data source to install into, to skip the installer screen, eg | ||||||
|  |   `-e INSTALL_DSN="pgsql:user=shimmie;password=6y5erdfg;host=127.0.0.1;dbname=shimmie"` | ||||||
|  | 
 | ||||||
							
								
								
									
										27
									
								
								docs/INSTALL.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								docs/INSTALL.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | |||||||
|  | # Requirements | ||||||
|  | 
 | ||||||
|  | - These are generally based on "whatever is in Debian Stable", because that's | ||||||
|  |   conservative without being TOO painfully out of date, and is a nice target | ||||||
|  |   for the unit test Docker build. | ||||||
|  | - A database: PostgreSQL 11+ / MariaDB 10.3+ / SQLite 3.27+ | ||||||
|  | - [Stable PHP](https://en.wikipedia.org/wiki/PHP#Release_history) (7.3+ as of writing) | ||||||
|  | - GD or ImageMagick | ||||||
|  | 
 | ||||||
|  | # Get the Code | ||||||
|  | 
 | ||||||
|  | Two main options: | ||||||
|  | 
 | ||||||
|  | 1. Via Git (allows easiest updates via `git pull`): | ||||||
|  |   * `git clone https://github.com/shish/shimmie2` | ||||||
|  |   * Install [Composer](https://getcomposer.org/). (If you don't already have it) | ||||||
|  |   * Run `composer install` in the shimmie folder. | ||||||
|  | 2. Via Stable Release: | ||||||
|  |   * Download the latest release under [Releases](https://github.com/shish/shimmie2/releases). | ||||||
|  | 
 | ||||||
|  | # Install | ||||||
|  | 
 | ||||||
|  | 1. Create a blank database | ||||||
|  | 2. Visit the install folder with a web browser | ||||||
|  | 3. Enter the location of the database | ||||||
|  | 4. Click "install". Hopefully you'll end up at the welcome screen; if | ||||||
|  |    not, you should be given instructions on how to fix any errors~ | ||||||
							
								
								
									
										9
									
								
								docs/UPGRADE.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								docs/UPGRADE.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | |||||||
|  | # Upgrade from earlier versions | ||||||
|  | 
 | ||||||
|  | I very much recommend going via each major release in turn (eg, 2.0.6 | ||||||
|  | -> 2.1.3 -> 2.2.4 -> 2.3.0 rather than 2.0.6 -> 2.3.0). | ||||||
|  | 
 | ||||||
|  | While the basic database and file formats haven't changed *completely*, it's | ||||||
|  | different enough to be a pain. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user