Compare commits
165 Commits
remove-adm
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fcdd1b20fa | ||
|
|
3d8fb2a500 | ||
|
|
36c9584ac3 | ||
|
|
624c735f85 | ||
|
|
bb9c86491c | ||
|
|
f029f1abf0 | ||
|
|
1cb85dddde | ||
|
|
4881cd77da | ||
|
|
a359682953 | ||
|
|
343767c1ac | ||
|
|
565e6ba06c | ||
|
|
4da83031e4 | ||
|
|
a6a7a54ca4 | ||
|
|
6bc9910368 | ||
|
|
cc32b9bd78 | ||
|
|
1ce05e3621 | ||
|
|
aff4833646 | ||
|
|
2d5e5fd881 | ||
|
|
5dfe9f8a9a | ||
|
|
efd5362b73 | ||
|
|
f3c91d2cef | ||
|
|
047ab51e43 | ||
|
|
ad9f9bd7f3 | ||
|
|
c300bd57f3 | ||
|
|
65d31e87b9 | ||
|
|
259e86334c | ||
|
|
5612891771 | ||
|
|
2425de2562 | ||
|
|
b47f7af0f3 | ||
|
|
22c368be78 | ||
|
|
807dffc755 | ||
|
|
41c400354a | ||
|
|
948dd30638 | ||
|
|
2ef03bd14b | ||
|
|
f90b8d5191 | ||
|
|
6d12c86ecf | ||
|
|
2b3de89be4 | ||
|
|
3f903ebc38 | ||
|
|
d13cc40fe8 | ||
|
|
556e746d83 | ||
|
|
7ca5809928 | ||
|
|
47f8b508a0 | ||
|
|
b3634c061c | ||
|
|
d635f22a79 | ||
|
|
41664649eb | ||
|
|
12576819b7 | ||
|
|
6707d77dea | ||
|
|
20dade55ef | ||
|
|
2216b15a11 | ||
|
|
cca3ba4d2d | ||
|
|
d7be7edcdd | ||
|
|
70b7866128 | ||
|
|
7d29e351ff | ||
|
|
f2b5954e76 | ||
|
|
cca29aa1c9 | ||
|
|
af8db178e8 | ||
|
|
84be428015 | ||
|
|
9a7edaffc3 | ||
|
|
ba8078c773 | ||
|
|
84561b2042 | ||
|
|
d19acec4de | ||
|
|
0d09687f7d | ||
|
|
bd3fdfcfd6 | ||
|
|
4170424145 | ||
|
|
80d5492767 | ||
|
|
852a86f205 | ||
|
|
5ed50500f8 | ||
|
|
879155aa95 | ||
|
|
f6f1f00449 | ||
|
|
4b96ad0833 | ||
|
|
f3fb403b31 | ||
|
|
fb176e620f | ||
|
|
8293c61062 | ||
|
|
0d499fe70e | ||
|
|
480286abe5 | ||
|
|
3ca9bb0a59 | ||
|
|
231308982b | ||
|
|
35254e6bc6 | ||
|
|
5e9a389a10 | ||
|
|
be140b42f3 | ||
|
|
1f9d28903f | ||
|
|
02489734b2 | ||
|
|
2aa015f62c | ||
|
|
fdc7c9925e | ||
|
|
ba6f2cef53 | ||
|
|
e26e5bc55e | ||
|
|
57bc3a45b4 | ||
|
|
41a024f09e | ||
|
|
6deb3c07c0 | ||
|
|
c976b16ddd | ||
|
|
5aed205358 | ||
|
|
55cbf29aa3 | ||
|
|
03622a6312 | ||
|
|
a549510dd0 | ||
|
|
7885ed505d | ||
|
|
16ec1c4a2c | ||
|
|
49bfbd91a0 | ||
|
|
cd1b3834cc | ||
|
|
0c8cef2a99 | ||
|
|
c2b7f0df2b | ||
|
|
b6989ac632 | ||
|
|
2f0d75e35b | ||
|
|
a511ad3ec0 | ||
|
|
c3280bd68b | ||
|
|
c586a5bf8a | ||
|
|
abbf2ee45d | ||
|
|
9ef9f4a4b8 | ||
|
|
1343d0e9ec | ||
|
|
308358fd0e | ||
|
|
7a6e547910 | ||
|
|
1e043361ab | ||
|
|
8633d48ff1 | ||
|
|
5051303027 | ||
|
|
0b18a45163 | ||
|
|
2393f16384 | ||
|
|
0d213effcc | ||
|
|
2d08b4fcf0 | ||
|
|
df4ef54889 | ||
|
|
4b79f94511 | ||
|
|
0d25eae2a1 | ||
|
|
38a2672b69 | ||
|
|
993691bfbb | ||
|
|
1775f9f144 | ||
|
|
6437958016 | ||
|
|
93b6aef93f | ||
|
|
0d3821f26d | ||
|
|
d798f33741 | ||
|
|
f6bc0e3911 | ||
|
|
d07e5fff3d | ||
|
|
5816497525 | ||
|
|
0f3affb744 | ||
|
|
be5b1cc8d4 | ||
|
|
29c2b34e84 | ||
|
|
3efd4ebd23 | ||
|
|
5b23400285 | ||
|
|
2004928350 | ||
|
|
b194d9a426 | ||
|
|
06cc77a156 | ||
|
|
9e5e05a11d | ||
|
|
70a083685b | ||
|
|
7a6e7b6dcc | ||
|
|
e81d1d294c | ||
|
|
63f06428ae | ||
|
|
cfe0a4a209 | ||
|
|
edf408bda5 | ||
|
|
5d638d3907 | ||
|
|
eee8891b6b | ||
|
|
53cc1a8785 | ||
|
|
397e45cf4d | ||
|
|
0349947ba1 | ||
|
|
308890df39 | ||
|
|
de954ca652 | ||
|
|
5e6bf80dde | ||
|
|
b75d8ba0bd | ||
|
|
e977a74915 | ||
|
|
7a73104118 | ||
|
|
ed4772bd73 | ||
|
|
b958fc096c | ||
|
|
a41b32289f | ||
|
|
5bc3a08b35 | ||
|
|
ca038770c2 | ||
|
|
fb28345184 | ||
|
|
8b1c7c949d | ||
|
|
3fc731152b | ||
|
|
031dd97d44 |
19
.env.example
@@ -38,8 +38,8 @@ COMPOSE_PROJECT_NAME=laradock
|
||||
### PHP Version ###########################################
|
||||
|
||||
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM).
|
||||
# Accepted values: 8.2 - 8.1 - 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
|
||||
PHP_VERSION=7.4
|
||||
# Accepted values: 8.5 - 8.4 - 8.3 - 8.2 - 8.1 - 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
|
||||
PHP_VERSION=8.4
|
||||
|
||||
### Phalcon Version ###########################################
|
||||
|
||||
@@ -61,6 +61,11 @@ DOCKER_HOST_IP=10.0.75.1
|
||||
# Choose a Remote Interpreter entry matching name. Default is `laradock`
|
||||
PHP_IDE_CONFIG=serverName=laradock
|
||||
|
||||
### PHP USE LEGACY OPENSSL ################################
|
||||
|
||||
# Since OpenSSL 3 some ciphers are not available
|
||||
PHP_LEGACY_OPENSSL=false
|
||||
|
||||
### PHP DOWNGRADEOPENSSL TLS AND SECLEVEL #################
|
||||
|
||||
PHP_DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=false
|
||||
@@ -103,6 +108,7 @@ SHELL_OH_MY_ZSH_ALIASES=false
|
||||
### WORKSPACE #############################################
|
||||
|
||||
WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest
|
||||
WORKSPACE_ALLOW_RELEASE_INFO_CHANGE=false
|
||||
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
|
||||
WORKSPACE_COMPOSER_VERSION=2
|
||||
WORKSPACE_COMPOSER_AUTH_JSON=false
|
||||
@@ -194,10 +200,9 @@ WORKSPACE_SSH_PORT=2222
|
||||
WORKSPACE_INSTALL_FFMPEG=false
|
||||
WORKSPACE_INSTALL_AUDIOWAVEFORM=false
|
||||
WORKSPACE_INSTALL_WKHTMLTOPDF=false
|
||||
WORKSPACE_WKHTMLTOPDF_VERSION=0.12.6-1
|
||||
WORKSPACE_WKHTMLTOPDF_VERSION=0.12.6.1-3
|
||||
WORKSPACE_INSTALL_GNU_PARALLEL=false
|
||||
WORKSPACE_INSTALL_AST=true
|
||||
WORKSPACE_AST_VERSION=1.0.10
|
||||
WORKSPACE_BROWSERSYNC_HOST_PORT=3000
|
||||
WORKSPACE_BROWSERSYNC_UI_HOST_PORT=3001
|
||||
WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080
|
||||
@@ -218,6 +223,7 @@ WORKSPACE_INSTALL_DNSUTILS=true
|
||||
WORKSPACE_XDEBUG_PORT=9000
|
||||
WORKSPACE_VITE_PORT=5173
|
||||
WORKSPACE_INSTALL_JDK=true
|
||||
WORKSPACE_INSTALL_GITHUB_CLI=false
|
||||
|
||||
### PHP_FPM ###############################################
|
||||
|
||||
@@ -401,7 +407,8 @@ APACHE_FOR_MAC_M1=false
|
||||
|
||||
### MYSQL #################################################
|
||||
|
||||
MYSQL_VERSION=latest
|
||||
# 5.7, 8.0, 8.4, 9.0
|
||||
MYSQL_VERSION=8.4
|
||||
MYSQL_DATABASE=default
|
||||
MYSQL_USER=default
|
||||
MYSQL_PASSWORD=secret
|
||||
@@ -1067,6 +1074,8 @@ NATS_MONITORING_PORT=6222
|
||||
NATS_ROUTE_PORT=8222
|
||||
|
||||
### SOKETI ##################################################
|
||||
SOKETI_NODE_VERSION=16-debian
|
||||
SOKETI_BASE_IMAGE_TAG_PREFIX=latest
|
||||
SOKETI_PORT=6001
|
||||
SOKETI_METRICS_SERVER_PORT=9601
|
||||
|
||||
|
||||
2
.github/FUNDING.yml
vendored
@@ -2,5 +2,3 @@
|
||||
|
||||
github: Mahmoudz
|
||||
open_collective: laradock
|
||||
custom: ['paypal.me/mzmmzz']
|
||||
patreon: zalt
|
||||
|
||||
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -13,6 +13,6 @@
|
||||
|
||||
## Definition of Done Checklist:
|
||||
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
|
||||
- [] I've read the [Contribution Guide](http://laradock.io/contributing).
|
||||
- [] I've updated the **documentation**. (refer to [this](http://laradock.io/contributing/#update-the-documentation-site) for how to do so).
|
||||
- [] I've read the [Contribution Guide](https://laradock.io/contributing).
|
||||
- [] I've updated the **documentation**. (refer to [this](https://laradock.io/contributing/#update-the-documentation-site) for how to do so).
|
||||
- [] I enjoyed my time contributing and making developer's life easier :)
|
||||
|
||||
BIN
.github/home-page-images/custom-sponsors/VeePN.png
vendored
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 13 KiB |
21
.github/workflows/build-deploy-docs.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
contents: write # to push pages branch (peaceiris/actions-gh-pages)
|
||||
|
||||
if: github.repository == 'laradock/laradock'
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
defaults:
|
||||
@@ -25,19 +25,20 @@ jobs:
|
||||
- name: Checkout Source Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
hugo-version: '0.55.0'
|
||||
env:
|
||||
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
|
||||
node-version: '18'
|
||||
|
||||
- name: Build Hugo Site
|
||||
run: hugo --minify
|
||||
- name: Install DocuSource Dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Deploy Hugo Site to Github Pages
|
||||
- name: Build DocuSource Site
|
||||
run: npm run build
|
||||
|
||||
- name: Deploy DocuSource Site to GitHub Pages
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_branch: gh-pages
|
||||
publish_dir: ./docs
|
||||
publish_dir: ./DOCUMENTATION/build
|
||||
|
||||
3
.github/workflows/main-ci.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php_version: [ "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2" ]
|
||||
php_version: [ "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5" ]
|
||||
service: [ php-fpm, php-worker, workspace ]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -42,6 +42,7 @@ jobs:
|
||||
sed -i -- 's/RDKAFKA=true/RDKAFKA=false/g' .env
|
||||
sed -i -- 's/MAILPARSE=true/MAILPARSE=false/g' .env
|
||||
sed -i -- 's/OCI8=true/OCI8=false/g' .env
|
||||
sed -i -- 's/PYTHON=true/PYTHON=false/g' .env
|
||||
sed -i -- 's/V8JS=true/V8JS=false/g' .env
|
||||
sed -i -- 's/AUDIOWAVEFORM=true/AUDIOWAVEFORM=false/g' .env
|
||||
sed -i -- 's/SSDB=true/SSDB=false/g' .env
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Thank you for your consideration
|
||||
|
||||
Checkout out our [contribution guide](http://laradock.io/contributing).
|
||||
Checkout out our [contribution guide](https://laradock.io/contributing).
|
||||
|
||||
20
DOCUMENTATION/.gitignore
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# Dependencies
|
||||
/node_modules
|
||||
|
||||
# Production
|
||||
/build
|
||||
|
||||
# Generated files
|
||||
.docusaurus
|
||||
.cache-loader
|
||||
|
||||
# Misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
3
DOCUMENTATION/babel.config.js
Normal file
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
|
||||
};
|
||||
@@ -1,87 +0,0 @@
|
||||
baseurl = "https://laradock.io/"
|
||||
languageCode = "en-us"
|
||||
publishDir = "../docs"
|
||||
title = "Laradock"
|
||||
theme = "hugo-material-docs"
|
||||
metadataformat = "yaml"
|
||||
canonifyurls = true
|
||||
uglyurls = true
|
||||
# Enable Google Analytics by entering your tracking id
|
||||
googleAnalytics = "UA-37514928-9"
|
||||
|
||||
[params]
|
||||
# General information
|
||||
author = "Mahmoud Zalt"
|
||||
description = "Full PHP development environment for Docker."
|
||||
copyright = ""
|
||||
|
||||
# Repository
|
||||
provider = ""
|
||||
repo_url = "https://github.com/laradock/laradock"
|
||||
|
||||
version = ""
|
||||
logo = "images/favicons/ms-icon-310x310.png"
|
||||
favicon = "images/favicons/favicon.ico"
|
||||
|
||||
permalink = "#"
|
||||
|
||||
# Custom assets
|
||||
custom_css = ["custom-style.css"]
|
||||
custom_js = []
|
||||
|
||||
# Syntax highlighting theme
|
||||
highlight_css = ""
|
||||
|
||||
[params.palette]
|
||||
primary = "deep-purple"
|
||||
accent = "purple"
|
||||
|
||||
[params.font]
|
||||
text = "Doctarine"
|
||||
code = "Source Code Pro"
|
||||
|
||||
[social]
|
||||
twitter = ""
|
||||
github = "laradock/laradock"
|
||||
email = "support@laradock.io"
|
||||
|
||||
# ------- MENU START -----------------------------------------
|
||||
|
||||
[[menu.main]]
|
||||
name = "Introduction"
|
||||
url = "introduction/"
|
||||
weight = 1
|
||||
|
||||
[[menu.main]]
|
||||
name = "Getting Started"
|
||||
url = "getting-started/"
|
||||
weight = 2
|
||||
|
||||
[[menu.main]]
|
||||
name = "Documentation"
|
||||
url = "documentation/"
|
||||
weight = 3
|
||||
|
||||
[[menu.main]]
|
||||
name = "Help & Questions"
|
||||
url = "help/"
|
||||
weight = 4
|
||||
|
||||
[[menu.main]]
|
||||
name = "Related Projects"
|
||||
url = "related-projects/"
|
||||
weight = 5
|
||||
|
||||
[[menu.main]]
|
||||
name = "Contributions"
|
||||
url = "contributing/"
|
||||
weight = 6
|
||||
|
||||
# ------- MENU END -----------------------------------------
|
||||
|
||||
[blackfriday]
|
||||
smartypants = true
|
||||
fractions = true
|
||||
smartDashes = true
|
||||
plainIDAnchors = true
|
||||
|
||||
@@ -1,563 +0,0 @@
|
||||
---
|
||||
title: Introduction
|
||||
type: index
|
||||
weight: 1
|
||||
---
|
||||
|
||||
<b>Laradock</b> is a full PHP development environment for Docker.
|
||||
|
||||
It supports a variety of common services, all pre-configured to provide a ready PHP development environment.
|
||||
|
||||
<br>
|
||||
|
||||
---
|
||||
### Use Docker First - Learn About It Later!</q>
|
||||
---
|
||||
|
||||
<a name="features"></a>
|
||||
## Features
|
||||
|
||||
- Easy switch between PHP versions: 8.1, 8.0, 7.4, 7.3, 7.2, 7.1, 5.6...
|
||||
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
|
||||
- Run your own stack: Memcached, HHVM, RabbitMQ...
|
||||
- Each software runs on its own container: PHP-FPM, NGINX, PHP-CLI...
|
||||
- Easy to customize any container, with simple edits to the `Dockerfile`.
|
||||
- All Images extend from an official base Image. (Trusted base Images).
|
||||
- Pre-configured NGINX to host any code at your root directory.
|
||||
- Can use Laradock per project, or single Laradock for all projects.
|
||||
- Easy to install/remove software's in Containers using environment variables.
|
||||
- Clean and well-structured Dockerfiles (`Dockerfile`).
|
||||
- The Latest version of the Docker Compose file (`docker-compose`).
|
||||
- Everything is visible and editable.
|
||||
- Fast Images Builds.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Quick Overview
|
||||
|
||||
Let's see how easy it is to setup our demo stack `PHP`, `NGINX`, `MySQL`, `Redis` and `Composer`:
|
||||
|
||||
1 - Clone Laradock inside your PHP project:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/Laradock/laradock.git
|
||||
```
|
||||
|
||||
2 - Enter the laradock folder and rename `.env.example` to `.env`.
|
||||
|
||||
```shell
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
3 - Run your containers:
|
||||
|
||||
```shell
|
||||
docker-compose up -d nginx mysql phpmyadmin redis workspace
|
||||
```
|
||||
|
||||
4 - Open your project's `.env` file and set the following:
|
||||
|
||||
```shell
|
||||
DB_HOST=mysql
|
||||
REDIS_HOST=redis
|
||||
QUEUE_HOST=beanstalkd
|
||||
```
|
||||
|
||||
5 - Open your browser and visit localhost: `http://localhost`.
|
||||
|
||||
```shell
|
||||
That's it! enjoy :)
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="Supported-Containers"></a>
|
||||
## Supported Services
|
||||
|
||||
> Laradock, adheres to the 'separation of concerns' principle, thus it runs each software on its own Docker Container.
|
||||
> You can turn On/Off as many instances as you want without worrying about the configurations.
|
||||
|
||||
> To run a chosen container from the list below, run `docker-compose up -d {container-name}`.
|
||||
> The container name `{container-name}` is the same as its folder name. Example to run the "PHP FPM" container, use the name "php-fpm".
|
||||
|
||||
- **Web Servers:**
|
||||
- NGINX
|
||||
- Apache2
|
||||
- Caddy
|
||||
|
||||
- **Load Balancers:**
|
||||
- HAProxy
|
||||
- Traefik
|
||||
|
||||
- **PHP Compilers:**
|
||||
- PHP FPM
|
||||
- HHVM
|
||||
|
||||
- **Database Management Systems:**
|
||||
- MySQL
|
||||
- PostgreSQL
|
||||
- PostGIS
|
||||
- MariaDB
|
||||
- Percona
|
||||
- MSSQL
|
||||
- MongoDB
|
||||
- MongoDB Web UI
|
||||
- Neo4j
|
||||
- CouchDB
|
||||
- RethinkDB
|
||||
- Cassandra
|
||||
|
||||
|
||||
- **Database Management Apps:**
|
||||
- PhpMyAdmin
|
||||
- Adminer
|
||||
- PgAdmin
|
||||
|
||||
- **Cache Engines:**
|
||||
- Redis
|
||||
- Redis Web UI
|
||||
- Redis Cluster
|
||||
- Memcached
|
||||
- Aerospike
|
||||
- Varnish
|
||||
|
||||
- **Message Brokers:**
|
||||
- RabbitMQ
|
||||
- RabbitMQ Admin Console
|
||||
- Beanstalkd
|
||||
- Beanstalkd Admin Console
|
||||
- Eclipse Mosquitto
|
||||
- PHP Worker
|
||||
- Laravel Horizon
|
||||
- Gearman
|
||||
- Amazon Simple Queue Service
|
||||
|
||||
- **Mail Servers:**
|
||||
- Mailu
|
||||
- MailCatcher
|
||||
- Mailhog
|
||||
- MailDev
|
||||
|
||||
- **Log Management:**
|
||||
- GrayLog
|
||||
|
||||
- **Testing:**
|
||||
- Selenium
|
||||
|
||||
- **Monitoring:**
|
||||
- Grafana
|
||||
- NetData
|
||||
|
||||
- **Search Engines:**
|
||||
- ElasticSearch
|
||||
- Apache Solr
|
||||
- Manticore Search
|
||||
|
||||
- **IDE's**
|
||||
- ICE Coder
|
||||
- Theia
|
||||
- Web IDE
|
||||
|
||||
- **Miscellaneous:**
|
||||
- Workspace *(Laradock container that includes a rich set of pre-configured useful tools)*
|
||||
- `PHP CLI`
|
||||
- `Composer`
|
||||
- `Git`
|
||||
- `Vim`
|
||||
- `xDebug`
|
||||
- `Linuxbrew`
|
||||
- `Node`
|
||||
- `V8JS`
|
||||
- `Gulp`
|
||||
- `SQLite`
|
||||
- `Laravel Envoy`
|
||||
- `Deployer`
|
||||
- `Yarn`
|
||||
- `SOAP`
|
||||
- `Drush`
|
||||
- `Wordpress CLI`
|
||||
- `dnsutils`
|
||||
- Apache ZooKeeper *(Centralized service for distributed systems to a hierarchical key-value store)*
|
||||
- Kibana *(Visualize your Elasticsearch data and navigate the Elastic Stack)*
|
||||
- Dejavu *(Edit your Elasticsearch data)*
|
||||
- LogStash *(Server-side data processing pipeline that ingests data from a multitude of sources simultaneously)*
|
||||
- Jenkins *(automation server, that provides plugins to support building, deploying and automating any project)*
|
||||
- Certbot *(Automatically enable HTTPS on your website)*
|
||||
- Swoole *(Production-Grade Async programming Framework for PHP)*
|
||||
- SonarQube *(continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs and more)*
|
||||
- Gitlab *(A single application for the entire software development lifecycle)*
|
||||
- PostGIS *(Database extender for PostgreSQL. It adds support for geographic objects allowing location queries to be run in SQL)*
|
||||
- Blackfire *(Empowers all PHP developers and IT/Ops to continuously verify and improve their app's performance)*
|
||||
- Laravel Echo *(Bring the power of WebSockets to your Laravel applications)*
|
||||
- Mercure *(Server-sent events)*
|
||||
- Phalcon *(A PHP web framework based on the model–view–controller pattern)*
|
||||
- Minio *(Cloud storage server released under Apache License v2, compatible with Amazon S3)*
|
||||
- AWS EB CLI *(CLI that helps you deploy and manage your AWS Elastic Beanstalk applications and environments)*
|
||||
- Thumbor *(Photo thumbnail service)*
|
||||
- IPython *(Provides a rich architecture for interactive computing)*
|
||||
- Jupyter Hub *(Jupyter notebook for multiple users)*
|
||||
- Portainer *(Build and manage your Docker environments with ease)*
|
||||
- Docker Registry *(The Docker Registry implementation for storing and distributing Docker images)*
|
||||
- Docker Web UI *(A browser-based solution for browsing and modifying a private Docker registry)*
|
||||
|
||||
You can choose, which tools to install in your workspace container and other containers, from the `.env` file.
|
||||
|
||||
|
||||
> If you modify `docker-compose.yml`, `.env` or any `dockerfile` file, you must re-build your containers, to see those effects in the running instance.
|
||||
|
||||
|
||||
|
||||
*If you can't find your Software in the list, build it yourself and submit it. Contributions are welcomed :)*
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Join Us
|
||||
|
||||
[](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
|
||||
[](https://gitpod.io/#https://github.com/laradock/laradock)
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Awesome People
|
||||
|
||||
Laradock is an MIT-licensed open source project with its ongoing development made possible entirely by the support of all these smart and generous people, from code contributors to financial contributors. 💜
|
||||
|
||||
|
||||
### Project Maintainers
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/mahmoudz.png?s=150">
|
||||
<br>
|
||||
<strong>Mahmoud Zalt</strong>
|
||||
<br>
|
||||
<a href="https://github.com/Mahmoudz">@mahmoudz</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/appleboy.png?s=150">
|
||||
<br>
|
||||
<strong>Bo-Yi Wu</strong>
|
||||
<br>
|
||||
<a href="https://github.com/appleboy">@appleboy</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/philtrep.png?s=150">
|
||||
<br>
|
||||
<strong>Philippe Trépanier</strong>
|
||||
<br>
|
||||
<a href="https://github.com/philtrep">@philtrep</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/mikeerickson.png?s=150">
|
||||
<br>
|
||||
<strong>Mike Erickson</strong>
|
||||
<br>
|
||||
<a href="https://github.com/mikeerickson">@mikeerickson</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/zeroc0d3.png?s=150">
|
||||
<br>
|
||||
<strong>Dwi Fahni Denni</strong>
|
||||
<br>
|
||||
<a href="https://github.com/zeroc0d3">@zeroc0d3</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/thorerik.png?s=150">
|
||||
<br>
|
||||
<strong>Thor Erik</strong>
|
||||
<br>
|
||||
<a href="https://github.com/thorerik">@thorerik</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/winfried-van-loon.png?s=150">
|
||||
<br>
|
||||
<strong>Winfried van Loon</strong>
|
||||
<br>
|
||||
<a href="https://github.com/winfried-van-loon">@winfried-van-loon</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/sixlive.png?s=150">
|
||||
<br>
|
||||
<strong>TJ Miller</strong>
|
||||
<br>
|
||||
<a href="https://github.com/sixlive">@sixlive</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/bestlong.png?s=150">
|
||||
<br>
|
||||
<strong>Yu-Lung Shao (Allen)</strong>
|
||||
<br>
|
||||
<a href="https://github.com/bestlong">@bestlong</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/urukalo.png?s=150">
|
||||
<br>
|
||||
<strong>Milan Urukalo</strong>
|
||||
<br>
|
||||
<a href="https://github.com/urukalo">@urukalo</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/vwchu.png?s=150">
|
||||
<br>
|
||||
<strong>Vince Chu</strong>
|
||||
<br>
|
||||
<a href="https://github.com/vwchu">@vwchu</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/zuohuadong.png?s=150">
|
||||
<br>
|
||||
<strong>Huadong Zuo</strong>
|
||||
<br>
|
||||
<a href="https://github.com/zuohuadong">@zuohuadong</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/lanphan.png?s=150">
|
||||
<br>
|
||||
<strong>Lan Phan</strong>
|
||||
<br>
|
||||
<a href="https://github.com/lanphan">@lanphan</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://github.com/ahkui.png?s=150">
|
||||
<br>
|
||||
<strong>Ahkui</strong>
|
||||
<br>
|
||||
<a href="https://github.com/ahkui">@ahkui</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="125" height="125" src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/join-us.png">
|
||||
<br>
|
||||
<strong>< Join Us ></strong>
|
||||
<br>
|
||||
<a href="https://github.com/laradock">@laradock</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### Code Contributors
|
||||
|
||||
[![Laradock Contributors][contributors-src]][contributors-href]
|
||||
|
||||
### Financial Contributors
|
||||
|
||||
[![Open Collective backers][backers-src]][backers-href]
|
||||
|
||||
You can support us using any of the methods below:
|
||||
|
||||
<b>1:</b> [Open Collective](https://opencollective.com/laradock)
|
||||
<br>
|
||||
<b>2:</b> [Paypal](https://paypal.me/mzmmzz)
|
||||
<br>
|
||||
<b>3:</b> [Github Sponsors](https://github.com/sponsors/Mahmoudz)
|
||||
<br>
|
||||
<b>4:</b> [Patreon](https://www.patreon.com/zalt)
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Sponsors
|
||||
|
||||
Sponsoring is an act of giving in a different fashion. 🌱
|
||||
|
||||
|
||||
### Gold Sponsors
|
||||
|
||||
<p align="center">
|
||||
|
||||
<a href="https://sista.ai/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/sista-ai-icon.png" height="75px" alt="Sista AI - Unlock Your Full Potential With a Personal AI Coach. (www.sista.ai)"></a>
|
||||
<a href="http://apiato.io/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" height="75px" alt="Apiato - Build PHP API's faster!"></a>
|
||||
<!-- <a href="https://kasynohex.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/PLD.png" height="75px" alt="KasynoHEX.com Polska"></a> -->
|
||||
<!-- <a href="https://onlinecasinohex.ca/online-casinos/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/CA.png" height="75px" alt="Online casino list in Canada by OnlineCasinoHEX.ca"></a> -->
|
||||
<!-- <a href="https://aussiecasinohex.com/online-pokies/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/AU.png" height="75px" alt="Online pokies by AussieCasinoHEX.com"></a> -->
|
||||
<!-- <a href="https://www.bestonlinecasino.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg" height="75px" alt="We thank bestonlinecasino.com for their support"></a> -->
|
||||
<!-- <a href="https://casinopilotti.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/casinopilotti.png" height="75px" alt="CasinoPilotti"></a> -->
|
||||
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/0/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/1/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/2/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/2/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/3/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/3/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/4/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/4/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/5/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/5/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/6/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/6/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/7/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/7/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/8/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/8/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/9/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/9/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/10/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/10/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/11/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/11/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/12/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/12/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/13/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/13/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/14/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/14/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/15/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/15/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
|
||||
</p>
|
||||
|
||||
### Silver Sponsors
|
||||
|
||||
<p align="center">
|
||||
|
||||
<!-- <a href="https://veepn.com/vpn-apps/vpn-for-chrome/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/VeePN.png" height="65px" alt="VeePN Chrome extension"></a> -->
|
||||
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/0/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/1/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/2/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/2/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/3/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/3/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/4/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/4/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/5/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/5/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/6/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/6/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/7/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/7/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/8/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/8/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/9/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/9/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/10/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/10/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/11/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/11/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/12/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/12/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/13/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/13/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/14/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/14/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/15/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/15/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/16/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/16/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/17/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/17/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/18/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/18/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/19/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/19/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/20/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/20/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/21/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/21/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/22/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/22/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/23/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/23/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/24/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/24/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/25/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/25/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
|
||||
</p>
|
||||
|
||||
### Bronze Sponsors
|
||||
|
||||
<p align="center">
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/0/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/1/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/2/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/2/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/3/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/3/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/4/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/4/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/5/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/5/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/6/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/6/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/7/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/7/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/8/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/8/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/9/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/9/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/10/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/10/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/11/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/11/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/12/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/12/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/13/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/13/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/14/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/14/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/15/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/15/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/16/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/16/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/17/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/17/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/18/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/18/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/19/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/19/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/20/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/20/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/21/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/21/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/22/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/22/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/23/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/23/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/24/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/24/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/25/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/25/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/26/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/26/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/27/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/27/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/28/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/28/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/29/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/29/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/30/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/30/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/31/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/31/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/32/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/32/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/33/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/33/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/34/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/34/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/35/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/35/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/36/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/36/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/37/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/37/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/38/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/38/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/39/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/39/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/40/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/40/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/41/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/41/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/42/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/42/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/43/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/43/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/44/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/44/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/45/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/45/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/46/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/46/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/47/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/47/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/48/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/48/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/49/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/49/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/50/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/50/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/51/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/51/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/52/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/52/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/53/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/53/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/54/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/54/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/55/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/55/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/56/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/56/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/57/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/57/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/58/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/58/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/59/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/59/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
You can sponsor us using any of the methods below:
|
||||
|
||||
<b>1:</b> Sponsor via [Open Collective](https://opencollective.com/laradock/).
|
||||
<br>
|
||||
<b>2:</b> Email us at <a href = "mailto: support@laradock.io">support@laradock.io</a>.
|
||||
|
||||
*Sponsors logos are displayed on the [github repository](https://github.com/laradock/laradock/) page and the [documentation website](http://laradock.io/) home page.*
|
||||
|
||||
## License
|
||||
|
||||
[MIT](https://github.com/laradock/laradock/blob/master/LICENSE) © Mahmoud Zalt
|
||||
|
||||
|
||||
[comment]: # (Open Collective Tiers)
|
||||
|
||||
[contributors-src]: https://opencollective.com/laradock/contributors.svg?width=890&button=false&isActive=true
|
||||
[contributors-href]: https://github.com/laradock/laradock/graphs/contributors
|
||||
[backers-src]: https://opencollective.com/laradock/tiers/awesome-backers.svg?width=890&button=false&isActive=true
|
||||
[backers-href]: https://opencollective.com/laradock#contributors
|
||||
|
||||
[gold-sponsors-src]: https://opencollective.com/laradock/tiers/gold-sponsors.svg?avatarHeight=80&width=890&button=false&isActive=true
|
||||
[gold-sponsors-href]: https://opencollective.com/laradock#contributors
|
||||
[silver-sponsors-src]: https://opencollective.com/laradock/tiers/silver-sponsors.svg?avatarHeight=64&width=890&button=false&isActive=true
|
||||
[silver-sponsors-href]: https://opencollective.com/laradock#contributors
|
||||
[bronze-sponsors-src]: https://opencollective.com/laradock/tiers/bronze-sponsors.svg?avatarHeight=48&width=890&button=false&isActive=true
|
||||
[bronze-sponsors-href]: https://opencollective.com/laradock#contributors
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
438
DOCUMENTATION/docs/Intro.md
Normal file
@@ -0,0 +1,438 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
title: Introduction
|
||||
---
|
||||
|
||||

|
||||
|
||||
<b>Laradock</b> is a full PHP development environment for Docker.
|
||||
|
||||
We offer a range of popular, pre-configured services that provide a ready-to-use PHP development environment in seconds.
|
||||
|
||||
---
|
||||
### Use Docker First - Learn About It Later!
|
||||
---
|
||||
|
||||
<a name="features"></a>
|
||||
## Features
|
||||
|
||||
- **Seamless PHP Version Switching**: Effortlessly switch between PHP versions (8.1, 8.0, 7.4, 7.3, 7.2, 7.1, 5.6...).
|
||||
- **Flexible Database Choices**: Pick your preferred database engine, whether it's MySQL, Postgres, MariaDB, and more.
|
||||
- **Customizable Stacks**: Run your own stack with services like Memcached, HHVM, RabbitMQ, and more.
|
||||
- **Isolated Containers**: Each software runs in its own container, ensuring clean separation and easy management.
|
||||
- **Simple Customization**: Easily tweak any container by editing its `Dockerfile`.
|
||||
- **Trusted Base Images**: All images extend from official base images, ensuring reliability and security.
|
||||
- **Pre-configured Web Servers**: Ready-to-use NGINX setup to host your code right from the root directory.
|
||||
- **Project Flexibility**: Use Laradock per project or a single Laradock setup for all your projects.
|
||||
- **Environment Variable Management**: Easily install or remove software in containers using environment variables.
|
||||
- **Clean Dockerfiles**: Well-structured and easy-to-understand Dockerfiles (`Dockerfile`).
|
||||
- **Latest Docker Compose**: Always up-to-date with the latest version of the Docker Compose file (`docker-compose`).
|
||||
- **Full Transparency**: Everything is visible and editable, giving you full control over your environment.
|
||||
- **Fast Builds**: Enjoy quick image builds to get your environment up and running in no time.
|
||||
|
||||
|
||||
|
||||
<a name="Supported-Containers"></a>
|
||||
## Supported Services
|
||||
|
||||
> Laradock, adheres to the 'separation of concerns' principle, thus it runs each software on its own Docker Container.
|
||||
> You can turn On/Off as many instances as you want without worrying about the configurations.
|
||||
|
||||
> To run a chosen container from the list below, run `docker-compose up -d {container-name}`.
|
||||
> The container name `{container-name}` is the same as its folder name. Example to run the "PHP FPM" container, use the name "php-fpm".
|
||||
|
||||
|
||||
|
||||
| Category | Services (Containers) |
|
||||
|---------------------------|--------------------------------------------------------------------------|
|
||||
| **Web Servers** | NGINX, Apache2, Caddy |
|
||||
| **Load Balancers** | HAProxy, Traefik |
|
||||
| **PHP Compilers** | PHP FPM, HHVM |
|
||||
| **Database Management Systems** | MySQL, PostgreSQL (PostGIS), MariaDB, Percona, MSSQL, MongoDB, Neo4j, CouchDB, RethinkDB, Cassandra |
|
||||
| **Database Management Tools** | PhpMyAdmin, Adminer, PgAdmin, MongoDB Web UI |
|
||||
| **Cache Engines** | Redis, Redis Web UI, Redis Cluster, Memcached, Aerospike, Varnish |
|
||||
| **Message Brokers** | RabbitMQ, RabbitMQ Admin Console, Beanstalkd, Beanstalkd Admin Console, Eclipse Mosquitto, Gearman |
|
||||
| **Log Management** | GrayLog, Kibana, LogStash |
|
||||
| **Search Engines** | ElasticSearch, Apache Solr, Manticore Search, Dejavu |
|
||||
| **PHP Extensions** | Swoole, Blackfire, Phalcon, PHP Worker, Laravel Horizon |
|
||||
| **Mail Servers** | Mailu, MailCatcher, Mailhog, MailDev |
|
||||
| **Real-time Communication** | Laravel Echo, Mercure |
|
||||
| **Monitoring** | Grafana, NetData |
|
||||
| **Coordination Services** | Apache ZooKeeper |
|
||||
| **Container Management** | Portainer, Docker Registry, Docker Web UI |
|
||||
| **CI/CD Tools** | Jenkins, SonarQube, Gitlab |
|
||||
| **Cloud Tools** | AWS EB CLI, Amazon Simple Queue Service |
|
||||
| **Image Processing** | Thumbor |
|
||||
| **Interactive Computing** | IPython, Jupyter Hub |
|
||||
| **Security Tools** | Certbot |
|
||||
| **Object Storage** | Minio |
|
||||
| **Testing** | Selenium |
|
||||
| **IDEs** | ICE Coder, Theia, Web IDE |
|
||||
| (**Laradock Workspace**) | PHP CLI, Composer, Git, Vim, xDebug, Linuxbrew, Node, V8JS, Gulp, SQLite, Laravel Envoy, Deployer, Yarn, SOAP, Drush, Wordpress CLI, dnsutils |
|
||||
|
||||
|
||||
|
||||
You can choose, which tools to install in your workspace container and other containers, from the `.env` file.
|
||||
|
||||
|
||||
*If you modify `docker-compose.yml`, `.env` or any `dockerfile` file, you must re-build your containers, to see those effects in the running instance.*
|
||||
|
||||
|
||||
|
||||
> If you can't find your Software in the list, build it yourself and submit it. Contributions are welcomed :)
|
||||
|
||||
|
||||
|
||||
|
||||
## Quick Overview
|
||||
|
||||
Let's see how easy it is to setup our demo stack `PHP`, `NGINX`, `MySQL`, `Redis` and `Composer`:
|
||||
|
||||
1 - Clone Laradock inside your PHP project:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/Laradock/laradock.git
|
||||
```
|
||||
|
||||
2 - Enter the laradock folder and rename `.env.example` to `.env`.
|
||||
|
||||
```shell
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
3 - Run your containers:
|
||||
|
||||
```shell
|
||||
docker-compose up -d nginx mysql phpmyadmin redis workspace
|
||||
```
|
||||
|
||||
4 - Open your project's `.env` file and set the following:
|
||||
|
||||
```shell
|
||||
DB_HOST=mysql
|
||||
REDIS_HOST=redis
|
||||
QUEUE_HOST=beanstalkd
|
||||
```
|
||||
|
||||
5 - Open your browser and visit localhost: `http://localhost`.
|
||||
|
||||
```shell
|
||||
That's it! enjoy :)
|
||||
```
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ## Join Us
|
||||
|
||||
[](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
|
||||
[](https://gitpod.io/#https://github.com/laradock/laradock) -->
|
||||
|
||||
<!-- --- -->
|
||||
|
||||
|
||||
## Awesome People
|
||||
|
||||
Laradock is an MIT-licensed open source project with its ongoing development made possible entirely by the support of you and all these awesome people. 💜
|
||||
|
||||
|
||||
### Project Maintainers
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/mahmoudz.png?s=150" />
|
||||
<br/>
|
||||
<strong>Mahmoud Zalt</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/Mahmoudz">@mahmoudz</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/appleboy.png?s=150" />
|
||||
<br/>
|
||||
<strong>Bo-Yi Wu</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/appleboy">@appleboy</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/philtrep.png?s=150" />
|
||||
<br/>
|
||||
<strong>Philippe Trépanier</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/philtrep">@philtrep</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/mikeerickson.png?s=150" />
|
||||
<br/>
|
||||
<strong>Mike Erickson</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/mikeerickson">@mikeerickson</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/zeroc0d3.png?s=150" />
|
||||
<br/>
|
||||
<strong>Dwi Fahni Denni</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/zeroc0d3">@zeroc0d3</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/thorerik.png?s=150" />
|
||||
<br/>
|
||||
<strong>Thor Erik</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/thorerik">@thorerik</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/winfried-van-loon.png?s=150" />
|
||||
<br/>
|
||||
<strong>Winfried van Loon</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/winfried-van-loon">@winfried-van-loon</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/sixlive.png?s=150" />
|
||||
<br/>
|
||||
<strong>TJ Miller</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/sixlive">@sixlive</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/bestlong.png?s=150" />
|
||||
<br/>
|
||||
<strong>Yu-Lung Shao (Allen)</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/bestlong">@bestlong</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/urukalo.png?s=150" />
|
||||
<br/>
|
||||
<strong>Milan Urukalo</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/urukalo">@urukalo</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/vwchu.png?s=150" />
|
||||
<br/>
|
||||
<strong>Vince Chu</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/vwchu">@vwchu</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/zuohuadong.png?s=150" />
|
||||
<br/>
|
||||
<strong>Huadong Zuo</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/zuohuadong">@zuohuadong</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/lanphan.png?s=150" />
|
||||
<br/>
|
||||
<strong>Lan Phan</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/lanphan">@lanphan</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://github.com/ahkui.png?s=150" />
|
||||
<br/>
|
||||
<strong>Ahkui</strong>
|
||||
<br/>
|
||||
<a href="https://github.com/ahkui">@ahkui</a>
|
||||
</td>
|
||||
<td align="center" valign="top">
|
||||
<img width="115" height="115" src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/join-us.png" />
|
||||
<br/>
|
||||
<strong>< Join Us ></strong>
|
||||
<br/>
|
||||
<a href="https://github.com/laradock">@laradock</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
### Code Contributors
|
||||
|
||||
[](https://github.com/laradock/laradock/graphs/contributors)
|
||||
|
||||
### Financial Contributors (Backers)
|
||||
|
||||
[](https://opencollective.com/laradock#contributors)
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
## Sponsors
|
||||
|
||||
<!-- Listing Contributors Refference: https://docs.opencollective.com/help/collectives/collective-settings/data-export#contributor-image -->
|
||||
|
||||
|
||||
|
||||
### Diamond Sponsors
|
||||
|
||||
<div style={{ display: 'flex', flexWrap: 'wrap', gap: '10px', justifyContent: 'left', alignItems: 'left' }}>
|
||||
<a href="https://smart.sista.ai/?utm_source=docs_laradock&utm_medium=sponsor&utm_campaign=landing_page_content" target="_blank">
|
||||
<img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/sista-ai-icon.png" height="165px" alt="Sista AI - Plug-and-Play AI Assistant." />
|
||||
</a>
|
||||
|
||||
<a href="http://apiato.io/" target="_blank" style={{ marginRight: '10px' }}>
|
||||
<img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" height="135px" alt="Apiato - A powerful PHP framework for building scalable, enterprise-grade APIs!" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
### Gold Sponsors
|
||||
|
||||
<!-- The embedded iframes sets rel="nofollow sponsored" on sponsor links by default,
|
||||
which prevents SEO benefits from being passed to sponsor sites. to remove the nofollow for Gold sponors only, we'll be using custom links instead. -->
|
||||
|
||||
<!-- <iframe
|
||||
src="https://opencollective.com/laradock/tiers/gold-sponsors.svg?avatarHeight=120&width=800&format=svg&button=false&background=#1B1B1D"
|
||||
width="800"
|
||||
height="200"
|
||||
style={{ border: 'none', backgroundColor: '#1B1B1D' }}>
|
||||
</iframe> -->
|
||||
|
||||
|
||||
<div style={{ display: 'flex', flexWrap: 'wrap', gap: '10px', justifyContent: 'left', alignItems: 'left' }}>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/0/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/0/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/1/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/1/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/2/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/2/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/3/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/3/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/4/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/4/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/5/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/5/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/6/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/6/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/7/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/7/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/8/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/8/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/9/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/9/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/10/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/10/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/11/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/11/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/12/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/12/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/13/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/13/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/14/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/14/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/15/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/15/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/16/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/16/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/17/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/17/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/18/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/18/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/19/website" target="_blank" rel="sponsored">
|
||||
<img src="https://opencollective.com/laradock/tiers/gold-sponsors/19/avatar.svg?button=false&isActive=true&avatarHeight=100" height="115" />
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
### Silver Sponsors
|
||||
|
||||
<iframe
|
||||
src="https://opencollective.com/laradock/tiers/silver-sponsors.svg?avatarHeight=90&width=800&format=svg&button=false&background=#1B1B1D&isActive=true"
|
||||
width="800"
|
||||
height="200"
|
||||
style={{ border: 'none', backgroundColor: '#1B1B1D' }}>
|
||||
</iframe>
|
||||
|
||||
### Bronze Sponsors
|
||||
|
||||
<iframe
|
||||
src="https://opencollective.com/laradock/tiers/bronze-sponsors.svg?avatarHeight=55&width=800&format=svg&button=false&background=#1B1B1D&isActive=true"
|
||||
width="800"
|
||||
height="300"
|
||||
style={{ border: 'none', backgroundColor: '#1B1B1D' }}>
|
||||
</iframe>
|
||||
|
||||
|
||||
|
||||
### Sponsorship Support
|
||||
|
||||
Sponsoring is an act of giving in a unique way. 🌱
|
||||
You can support us using any of the methods below:
|
||||
|
||||
**1:** [Open Collective](https://opencollective.com/laradock)
|
||||
*Available for all tiers:* Gold, Silver, Bronze, and Backers (Financial Contributors). **Preferred method.**
|
||||
|
||||
**2:** [Email](mailto:support@laradock.io)
|
||||
*Available for Diamond sponsors only.*
|
||||
|
||||
**3:** [GitHub Sponsors](https://github.com/sponsors/Mahmoudz)
|
||||
*Supports the creator of the project directly:* Ideal for personal support of the project creator.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](https://github.com/laradock/laradock/blob/master/LICENSE) © [Mahmoud Zalt](https://zalt.me/)
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
sidebar_position: 100
|
||||
title: Contributions
|
||||
type: index
|
||||
weight: 6
|
||||
---
|
||||
|
||||
[](https://gitpod.io/#https://github.com/laradock/laradock)
|
||||
@@ -36,37 +35,28 @@ You can request a new feature by submitting an [Issue](https://github.com/larado
|
||||
|
||||
|
||||
|
||||
|
||||
## Update the Documentation (Site)
|
||||
|
||||
Laradock uses [Hugo](https://gohugo.io/) as website generator tool, with the [Material Docs theme](http://themes.gohugo.io/theme/material-docs/). You might need to check their docs quickly.
|
||||
Laradock uses [Docusaurus](https://docusaurus.io/) as its documentation site generator.
|
||||
|
||||
Go the `DOCUMENTATION/content` and search for the markdown file you want to edit
|
||||
Navigate to the `DOCUMENTATION/docs` directory to locate and edit the Markdown files for each section of the documentation.
|
||||
|
||||
Note: Every folder represents a section in the sidebar "Menu". And every page and sidebar has a `weight` number to show it's position in the site.
|
||||
**Note:** Each folder under `docs` represents a section in the sidebar menu, with a `sidebar_position` field in the frontmatter of each file that determines its order.
|
||||
|
||||
To update the sidebar or add a new section to it, you can edit this `DOCUMENTATION/config.toml` toml file.
|
||||
> The documentation site is auto-generated and deployed to the `gh-pages` branch by GitHub Actions when changes are pushed to the `master` branch.
|
||||
|
||||
> The site will be auto-generated in the `docs/` folder by [Travis CI](https://travis-ci.org/laradock/laradock/).
|
||||
### Host the Documentation Locally
|
||||
|
||||
1. Make your changes are made in the `DOCUMENTATION/docs` directory (if you changed anything).
|
||||
2. Navigate to `DOCUMENTATION/`.
|
||||
3. Run the following command to start a local Docusaurus server:
|
||||
```
|
||||
npm run start
|
||||
```
|
||||
4. Visit [http://localhost:3000/](http://localhost:3000/) to view the documentation site locally.
|
||||
|
||||
This setup will allow you to preview your changes in real time.
|
||||
|
||||
### Host the documentation locally
|
||||
|
||||
**Option 1: Use Hugo Docker Image:**
|
||||
|
||||
1. Update the `DOCUMENTATION/content`.
|
||||
2. Go to `DOCUMENTATION/`.
|
||||
3. Run `docker run --rm -it -v $PWD:/src -p 1313:1313 -u hugo jguyomard/hugo-builder hugo server -w --bind=0.0.0.0`
|
||||
4. Visit [http://localhost:1313/](http://localhost:1313/)
|
||||
|
||||
**Option 2: Install Hugo Locally:**
|
||||
|
||||
1. Install [Hugo](https://gohugo.io/) on your machine.
|
||||
2. Update the `DOCUMENTATION/content`.
|
||||
3. Delete the `/docs` folder from the root.
|
||||
4. Go to `DOCUMENTATION/`.
|
||||
5. Run the `hugo` command to generate the HTML docs inside a new `/docs` folder.
|
||||
|
||||
|
||||
## Support new Software (Add new Container)
|
||||
@@ -127,7 +117,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
@@ -213,5 +203,5 @@ After your pull request is merged, you can safely delete your branch and pull th
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
## Happy Coding :)
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
title: Getting Started
|
||||
type: index
|
||||
weight: 2
|
||||
---
|
||||
|
||||
## Requirements
|
||||
@@ -38,7 +37,7 @@ git submodule add https://github.com/Laradock/laradock.git
|
||||
|
||||
Note: If you are not using Git yet for your project, you can use `git clone` instead of `git submodule `.
|
||||
|
||||
*To keep track of your Laradock changes, between your projects and also keep Laradock updated [check these docs](/documentation/#track-your-laradock-changes)*
|
||||
*To keep track of your Laradock changes, between your projects and also keep Laradock updated [check these docs](/docs/usage#track-your-laradock-changes)*
|
||||
|
||||
|
||||
2 - Make sure your folder structure should look like this:
|
||||
@@ -148,18 +147,18 @@ If you use Chrome 63 or above for development, don't use `.dev`. [Why?](https://
|
||||
|
||||
If you are using **Docker Toolbox** (VM), do one of the following:
|
||||
|
||||
- Upgrade to [Docker Desktop](https://www.docker.com/products/docker-desktop/) for Mac/Windows (Recommended). Check out [Upgrading Laradock](/documentation/#upgrading-laradock)
|
||||
- Upgrade to [Docker Desktop](https://www.docker.com/products/docker-desktop/) for Mac/Windows (Recommended). Check out [Upgrading Laradock](/docs/usage/#upgrading-laradock)
|
||||
- Use Laradock v3.\*. Visit the [Laradock-ToolBox](https://github.com/laradock/laradock/tree/LaraDock-ToolBox) branch. *(outdated)*
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
|
||||
We recommend using a Docker Engine version which is newer than 19.03.0.
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
|
||||
>**Warning:** If you used an older version of Laradock it's highly recommended to rebuild the containers you need to use [see how you rebuild a container](/documentation/#Build-Re-build-Containers) in order to prevent as much errors as possible.
|
||||
>**Warning:** If you used an older version of Laradock it's highly recommended to rebuild the containers you need to use [see how you rebuild a container](/docs/usage/#Build-Re-build-Containers) in order to prevent as much errors as possible.
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
|
||||
1 - Enter the laradock folder and copy `.env.example` to `.env`
|
||||
|
||||
@@ -189,7 +188,7 @@ You can select your own combination of containers from [this list](https://larad
|
||||
*(Please note that sometimes we forget to update the docs, so check the `docker-compose.yml` file to see an updated list of all available containers).*
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
3 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, ...)
|
||||
|
||||
```bash
|
||||
@@ -210,7 +209,7 @@ docker-compose exec --user=laradock workspace bash
|
||||
|
||||
*You can change the PUID (User id) and PGID (group id) variables from the `.env` file)*
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
4 - Update your project configuration to use the database host
|
||||
|
||||
Open your PHP project's `.env` file or whichever configuration file you are reading from, and set the database host `DB_HOST` to `mysql`:
|
||||
@@ -224,7 +223,7 @@ Or you can change them and rebuild the container.
|
||||
|
||||
*If you want to install Laravel as PHP project, see [How to Install Laravel in a Docker Container](#Install-Laravel).*
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
5 - Open your browser and visit your localhost address.
|
||||
|
||||
Make sure you add use the right port number as provided by your running server.
|
||||
@@ -1,24 +1,26 @@
|
||||
---
|
||||
title: Help & Questions
|
||||
type: index
|
||||
weight: 4
|
||||
sidebar_position: 4
|
||||
title: Help
|
||||
---
|
||||
|
||||
Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get help and support from the community.
|
||||
<a name="Get Help"></a>
|
||||
# Get Help
|
||||
|
||||
Open an [issue](https://github.com/laradock/laradock/issues) on Github (will be labeled as Question) and discuss it with people on [Gitter](https://gitter.im/Laradock/laradock).
|
||||
|
||||
|
||||
Optionally: Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get support from the community.
|
||||
|
||||
[](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
|
||||
You can as well can open an [issue](https://github.com/laradock/laradock/issues) on Github (will be labeled as Question) and discuss it with people on [Gitter](https://gitter.im/Laradock/laradock).
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
<a name="Common-Problems"></a>
|
||||
# Common Problems
|
||||
|
||||
*Here's a list of the common problems you might face, and the possible solutions.*
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
## I see a blank (white) page instead of the Laravel 'Welcome' page!
|
||||
|
||||
Run the following command from the Laravel root directory:
|
||||
@@ -32,7 +34,7 @@ sudo chmod -R 777 storage bootstrap/cache
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
## I see "Welcome to nginx" instead of the Laravel App!
|
||||
|
||||
Use `http://127.0.0.1` instead of `http://localhost` in your browser.
|
||||
@@ -42,7 +44,7 @@ Use `http://127.0.0.1` instead of `http://localhost` in your browser.
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
## I see an error message containing (address already in use) or (port is already allocated)
|
||||
|
||||
Make sure the ports for the services that you are trying to run (22, 80, 443, 3306, etc.) are not being used already by other programs on the host, such as a built in `apache`/`httpd` service or other development tools you have installed.
|
||||
@@ -52,7 +54,7 @@ Make sure the ports for the services that you are trying to run (22, 80, 443, 33
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
## I get NGINX error 404 Not Found on Windows.
|
||||
|
||||
1. Go to docker Settings on your Windows machine.
|
||||
@@ -65,7 +67,7 @@ Make sure the ports for the services that you are trying to run (22, 80, 443, 33
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
## The time in my services does not match the current time
|
||||
|
||||
1. Make sure you've [changed the timezone](#Change-the-timezone).
|
||||
@@ -76,7 +78,7 @@ Make sure the ports for the services that you are trying to run (22, 80, 443, 33
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
## I get MySQL connection refused
|
||||
|
||||
This error sometimes happens because your Laravel application isn't running on the container localhost IP (Which is 127.0.0.1). Steps to fix it:
|
||||
@@ -101,7 +103,7 @@ WORKSPACE_NPM_REGISTRY=https://registry.npmmirror.com
|
||||
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://packagist.phpcomposer.com
|
||||
```
|
||||
|
||||
<br>
|
||||
<br/>
|
||||
|
||||
## I got (Module build failed: Error: write EPIPE) while compiling react application
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
---
|
||||
sidebar_position: 50
|
||||
title: Related Projects
|
||||
type: index
|
||||
weight: 5
|
||||
---
|
||||
|
||||
|
||||

|
||||
|
||||
## Laradock Related Projects
|
||||
|
||||
|
||||
* [Docker Stacks](https://github.com/sfx101/docker-stacks): A GUI for managing Laradock. (by [Subhadip Naskar](https://github.com/sfx101))
|
||||
* [Laradock CLI](https://github.com/lorinlee/laradock-cli): A CLI for managing Laradock. (by [Lorin Lee](https://github.com/lorinlee))
|
||||
* [Laradock CLI](https://github.com/loonpwn/laradock-cli): A CLI for managing Laradock. (by [Harlan Wilton](https://github.com/loonpwn))
|
||||
@@ -44,6 +45,6 @@ weight: 5
|
||||
|
||||
|
||||
|
||||
<br><br>
|
||||
<br/><br/>
|
||||
|
||||
> Feel free to submit a PR for listing your project here.
|
||||
138
DOCUMENTATION/docusaurus.config.ts
Normal file
@@ -0,0 +1,138 @@
|
||||
import {themes as prismThemes} from 'prism-react-renderer';
|
||||
import type {Config} from '@docusaurus/types';
|
||||
import type * as Preset from '@docusaurus/preset-classic';
|
||||
|
||||
const config: Config = {
|
||||
title: 'Laradock',
|
||||
tagline: 'A Docker setup that lets you run a full PHP development environment in seconds.',
|
||||
favicon: 'laradock.ico',
|
||||
|
||||
// Set the production url of your site here
|
||||
url: 'https://laradock.io/',
|
||||
// Set the /<baseUrl>/ pathname under which your site is served
|
||||
// For GitHub pages deployment, it is often '/<projectName>/'
|
||||
baseUrl: '/',
|
||||
|
||||
// GitHub pages deployment config.
|
||||
// If you aren't using GitHub pages, you don't need these.
|
||||
organizationName: 'laradock/laradock', // Usually your GitHub org/user name.
|
||||
projectName: 'laradock', // Usually your repo name.
|
||||
|
||||
onBrokenLinks: 'throw',
|
||||
onBrokenMarkdownLinks: 'warn',
|
||||
|
||||
// Even if you don't use internationalization, you can use this field to set
|
||||
// useful metadata like html lang. For example, if your site is Chinese, you
|
||||
// may want to replace "en" with "zh-Hans".
|
||||
i18n: {
|
||||
defaultLocale: 'en',
|
||||
locales: ['en'],
|
||||
},
|
||||
|
||||
presets: [
|
||||
[
|
||||
'@docusaurus/preset-classic',
|
||||
{
|
||||
docs: {
|
||||
id: 'default',
|
||||
sidebarPath: './sidebars.ts',
|
||||
editUrl:
|
||||
'https://github.com/laradock/laradock/tree/master/DOCUMENTATION/',
|
||||
},
|
||||
// blog: {
|
||||
// showReadingTime: true,
|
||||
// // Please change this to your repo.
|
||||
// // Remove this to remove the "edit this page" links.
|
||||
// editUrl:
|
||||
// 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
|
||||
// },
|
||||
theme: {
|
||||
customCss: './src/css/custom.css',
|
||||
},
|
||||
gtag: {
|
||||
trackingID: 'G-CVZBKZ36Y5', // Update with your Google Analytics ID
|
||||
anonymizeIP: true,
|
||||
},
|
||||
} satisfies Preset.Options,
|
||||
],
|
||||
],
|
||||
|
||||
themeConfig: {
|
||||
image: '/img/laradock/laradock-logo.jpg',
|
||||
navbar: {
|
||||
title: 'Laradock',
|
||||
logo: {
|
||||
alt: 'Laradock Logo',
|
||||
src: '/img/laradock/laradock-icon.png',
|
||||
},
|
||||
items: [
|
||||
// {
|
||||
// type: 'docSidebar',
|
||||
// sidebarId: 'tutorialSidebar',
|
||||
// position: 'left',
|
||||
// label: 'Tutorial',
|
||||
// },
|
||||
// {to: '/blog', label: 'Blog', position: 'left'},
|
||||
{
|
||||
href: 'https://github.com/laradock/laradock',
|
||||
label: 'GitHub',
|
||||
position: 'right',
|
||||
},
|
||||
],
|
||||
},
|
||||
footer: {
|
||||
style: 'dark',
|
||||
links: [
|
||||
// {
|
||||
// title: 'Docs',
|
||||
// items: [
|
||||
// {
|
||||
// label: 'Tutorial',
|
||||
// to: '/docs/intro',
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
// {
|
||||
// title: 'Community',
|
||||
// items: [
|
||||
// {
|
||||
// label: 'Stack Overflow',
|
||||
// href: 'https://stackoverflow.com/questions/tagged/docusaurus',
|
||||
// },
|
||||
// {
|
||||
// label: 'Discord',
|
||||
// href: 'https://discordapp.com/invite/docusaurus',
|
||||
// },
|
||||
// {
|
||||
// label: 'Twitter',
|
||||
// href: 'https://twitter.com/docusaurus',
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
// {
|
||||
// title: 'More',
|
||||
// items: [
|
||||
// {
|
||||
// label: 'Blog',
|
||||
// to: '/blog',
|
||||
// },
|
||||
// {
|
||||
// label: 'GitHub',
|
||||
// href: 'https://github.com/Mahmoudz/Porto',
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
],
|
||||
copyright: `Copyright © 2015 - ${new Date().getFullYear()} - Laradock - By <a href="https://zalt.me" target="_blank" rel="noopener noreferrer">Mahmoud Zalt</a>.`,
|
||||
},
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
darkTheme: prismThemes.dracula,
|
||||
},
|
||||
colorMode: {
|
||||
defaultMode: 'dark',
|
||||
},
|
||||
} satisfies Preset.ThemeConfig,
|
||||
};
|
||||
|
||||
export default config;
|
||||
49
DOCUMENTATION/package.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "laradock-documentation",
|
||||
"version": "1.0.0",
|
||||
"private": false,
|
||||
"scripts": {
|
||||
"start": "docusaurus start",
|
||||
"deploy": "docusaurus build && gh-pages -d build",
|
||||
"docusaurus": "docusaurus",
|
||||
"build": "docusaurus build",
|
||||
"swizzle": "docusaurus swizzle",
|
||||
"clear": "docusaurus clear",
|
||||
"serve": "docusaurus serve",
|
||||
"write-translations": "docusaurus write-translations",
|
||||
"write-heading-ids": "docusaurus write-heading-ids",
|
||||
"typecheck": "tsc"
|
||||
},
|
||||
"dependencies": {
|
||||
"@sista/ai-assistant-react": "^3.3.21",
|
||||
"@docusaurus/core": "3.3.0",
|
||||
"@docusaurus/preset-classic": "3.3.0",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"clsx": "^2.0.0",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "3.3.0",
|
||||
"@docusaurus/tsconfig": "3.3.0",
|
||||
"@docusaurus/types": "3.3.0",
|
||||
"gh-pages": "^6.1.1",
|
||||
"typescript": "~5.2.2"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.5%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 3 chrome version",
|
||||
"last 3 firefox version",
|
||||
"last 5 safari version"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0"
|
||||
}
|
||||
}
|
||||
31
DOCUMENTATION/sidebars.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
||||
|
||||
/**
|
||||
* Creating a sidebar enables you to:
|
||||
- create an ordered group of docs
|
||||
- render a sidebar for each doc of that group
|
||||
- provide next/previous navigation
|
||||
|
||||
The sidebars can be generated from the filesystem, or explicitly defined here.
|
||||
|
||||
Create as many sidebars as you want.
|
||||
*/
|
||||
const sidebars: SidebarsConfig = {
|
||||
// By default, Docusaurus generates a sidebar from the docs folder structure
|
||||
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
|
||||
|
||||
// But you can create a sidebar manually
|
||||
/*
|
||||
tutorialSidebar: [
|
||||
'intro',
|
||||
'hello',
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Tutorial',
|
||||
items: ['tutorial-basics/create-a-document'],
|
||||
},
|
||||
],
|
||||
*/
|
||||
};
|
||||
|
||||
export default sidebars;
|
||||
64
DOCUMENTATION/src/components/SponsorsPage/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import clsx from "clsx";
|
||||
import Heading from "@theme/Heading";
|
||||
import sponsorsStyles from "./styles.module.css";
|
||||
|
||||
type SponsorItem = {
|
||||
link: string;
|
||||
imageUrl: string;
|
||||
description: JSX.Element;
|
||||
};
|
||||
|
||||
const SponsorList: SponsorItem[] = [
|
||||
{
|
||||
link: "https://smart.sista.ai/?utm_source=laradock&utm_medium=sponsor_banner&utm_campaign=landing_page",
|
||||
imageUrl: "/img/sponsors/sista-ai-logo.png",
|
||||
description: (
|
||||
<>
|
||||
<b>Plug-and-Play <a href="https://smart.sista.ai/?utm_source=laradock&utm_medium=sponsor_banner&utm_campaign=landing_page" target="_blank" style={{ color: '#8098f8' }}>AI Agents</a> for Apps & Websites</b>
|
||||
</>
|
||||
),
|
||||
},
|
||||
];
|
||||
|
||||
function Sponsor({ link, imageUrl, description }: SponsorItem) {
|
||||
return (
|
||||
<div className={clsx("col col--12")}>
|
||||
<div className="text--center">
|
||||
<a href={link} target="_blank" rel="noopener noreferrer">
|
||||
<img
|
||||
src={imageUrl}
|
||||
className={sponsorsStyles.sponsorImg}
|
||||
role="img"
|
||||
style={{
|
||||
maxWidth: '100%',
|
||||
minWidth: '350px',
|
||||
height: 'auto'
|
||||
}}
|
||||
/>
|
||||
</a>
|
||||
</div>
|
||||
<div className="text--center padding-horiz--md">
|
||||
|
||||
<p style={{
|
||||
fontSize: 'clamp(1rem, 2vw, 1.2em)',
|
||||
lineHeight: 1.5,
|
||||
margin: '1rem 0'
|
||||
}}>{description}</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default function SponsorsPage(): JSX.Element {
|
||||
return (
|
||||
<section className={sponsorsStyles.sponsors}>
|
||||
<div className="container">
|
||||
<div className="row">
|
||||
{SponsorList.map((props, idx) => (
|
||||
<Sponsor key={idx} {...props} />
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
10
DOCUMENTATION/src/components/SponsorsPage/styles.module.css
Normal file
@@ -0,0 +1,10 @@
|
||||
.sponsors {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 2rem 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.sponsorImg {
|
||||
width: 35%;
|
||||
}
|
||||
13
DOCUMENTATION/src/components/WelcomePage/index.tsx
Normal file
@@ -0,0 +1,13 @@
|
||||
import React from 'react';
|
||||
import styles from './styles.module.css';
|
||||
|
||||
export default function WelcomePage() {
|
||||
return (
|
||||
<section className={styles.welcome}>
|
||||
<div className={styles.heroContent}>
|
||||
<h1>Full PHP Dev Environment For Docker</h1>
|
||||
</div>
|
||||
<div className={styles.overlay} />
|
||||
</section>
|
||||
);
|
||||
}
|
||||
45
DOCUMENTATION/src/components/WelcomePage/styles.module.css
Normal file
@@ -0,0 +1,45 @@
|
||||
.welcome {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 70vh;
|
||||
background-image: url("/img/laradock/laradock-abstract.jpg");
|
||||
background-size: 100%;
|
||||
/* background-position: center 40%; */
|
||||
color: white;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
.welcome h1 {
|
||||
font-size: 3.7rem;
|
||||
color: #fff;
|
||||
font-family: "Inter", "Segoe UI", Arial, sans-serif;
|
||||
font-weight: 900;
|
||||
text-shadow: 0 6px 32px rgba(204, 30, 69, 0.5),
|
||||
0 1.5px 0 rgb(125, 87, 194, 0.5);
|
||||
margin: 0;
|
||||
padding: 0 20px;
|
||||
letter-spacing: 2.5px;
|
||||
line-height: 1.08;
|
||||
transition: transform 0.3s ease-in-out;
|
||||
}
|
||||
[data-theme="dark"] .welcome h1 {
|
||||
color: var(--ifm-color-primary);
|
||||
}
|
||||
.heroContent {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
.overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.25);
|
||||
z-index: 1;
|
||||
pointer-events: none;
|
||||
}
|
||||
[data-theme="dark"] .overlay {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
4
DOCUMENTATION/src/config.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"SISTA_AI_API_KEY": "pk-sista-b4035cb0-39ae-4332-b0c1-5f52b2d5c716",
|
||||
"SISTA_AI_API_KEY_DEV": "pk-sista-b4035cb0-39ae-4332-b0c1-5f52b2d5c716"
|
||||
}
|
||||
30
DOCUMENTATION/src/css/custom.css
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Any CSS included here will be global. The classic template
|
||||
* bundles Infima by default. Infima is a CSS framework designed to
|
||||
* work well for content-centric websites.
|
||||
*/
|
||||
|
||||
/* You can override the default Infima variables here. */
|
||||
:root {
|
||||
--ifm-color-primary: #996ee1;
|
||||
--ifm-color-primary-dark: #724EB5;
|
||||
--ifm-color-primary-darker: #6745A8;
|
||||
--ifm-color-primary-darkest: #5C3C9B;
|
||||
--ifm-color-primary-light: #8A63CF;
|
||||
--ifm-color-primary-lighter: #9770DC;
|
||||
--ifm-color-primary-lightest: #A47DE9;
|
||||
--ifm-code-font-size: 95%;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* For readability concerns, you should choose a lighter palette in dark mode. */
|
||||
[data-theme='dark'] {
|
||||
--ifm-color-primary: #FAAE19;
|
||||
--ifm-color-primary-dark: #E09D17;
|
||||
--ifm-color-primary-darker: #C68C15;
|
||||
--ifm-color-primary-darkest: #AC7B13;
|
||||
--ifm-color-primary-light: #FBB43D;
|
||||
--ifm-color-primary-lighter: #FCC961;
|
||||
--ifm-color-primary-lightest: #FDDC85;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
33
DOCUMENTATION/src/pages/index.module.css
Normal file
@@ -0,0 +1,33 @@
|
||||
/**
|
||||
* CSS files with the .module.css suffix will be treated as CSS modules
|
||||
* and scoped locally.
|
||||
*/
|
||||
|
||||
.heroBanner {
|
||||
padding: 7rem 0;
|
||||
text-align: left;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 996px) {
|
||||
.heroBanner {
|
||||
padding: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.buttons {
|
||||
display: flex;
|
||||
align-items: left;
|
||||
justify-content: left;
|
||||
}
|
||||
.bigColorfulButton {
|
||||
font-size: 2.2rem;
|
||||
background-color: var(--ifm-color-primary);
|
||||
color: white;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.bigColorfulButton:hover {
|
||||
color: rgba(255, 255, 255, 0.739);
|
||||
}
|
||||
58
DOCUMENTATION/src/pages/index.tsx
Normal file
@@ -0,0 +1,58 @@
|
||||
import clsx from "clsx";
|
||||
import Link from "@docusaurus/Link";
|
||||
import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
|
||||
import Layout from "@theme/Layout";
|
||||
import Heading from "@theme/Heading";
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import styles from "./index.module.css";
|
||||
import WelcomePage from "../components/WelcomePage";
|
||||
import SponsorsPage from "../components/SponsorsPage";
|
||||
|
||||
function HomepageHeader() {
|
||||
const { siteConfig } = useDocusaurusContext();
|
||||
const headerImage = useBaseUrl("/img/laradock/laradock-icon.png");
|
||||
|
||||
return (
|
||||
<header
|
||||
className={clsx("hero", styles.heroBanner)}
|
||||
style={{
|
||||
backgroundImage: `url(${headerImage})`,
|
||||
backgroundPosition: "80% center",
|
||||
backgroundRepeat: "no-repeat",
|
||||
backgroundSize: "contain",
|
||||
}}
|
||||
>
|
||||
<div className="container">
|
||||
<Heading as="h1" className="hero__title">
|
||||
{siteConfig.title}
|
||||
</Heading>
|
||||
<p className="hero__subtitle" style={{ maxWidth: '480px' }}>{siteConfig.tagline}</p>
|
||||
<div className={styles.buttons}>
|
||||
<Link
|
||||
className={clsx("button", styles.bigColorfulButton)}
|
||||
to="/docs/Intro"
|
||||
>
|
||||
Get Started
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
);
|
||||
}
|
||||
export default function Home(): JSX.Element {
|
||||
const { siteConfig } = useDocusaurusContext();
|
||||
return (
|
||||
<Layout
|
||||
title={`Use Docker First - Learn About It Later! ${siteConfig.title}`}
|
||||
description="Laradock: Full PHP development environment on Docker."
|
||||
>
|
||||
<HomepageHeader />
|
||||
<main>
|
||||
<WelcomePage />
|
||||
|
||||
|
||||
<SponsorsPage />
|
||||
</main>
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
7
DOCUMENTATION/src/pages/markdown-page.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: Porto SAP PAGE
|
||||
---
|
||||
|
||||
# Porto SAP
|
||||
|
||||
Welcome to the future
|
||||
28
DOCUMENTATION/src/theme/Layout.tsx
Normal file
@@ -0,0 +1,28 @@
|
||||
import React from "react";
|
||||
import OriginalLayout from "@theme-original/Layout";
|
||||
import { AiAssistantProvider, AiAssistantButton } from "@sista/ai-assistant-react";
|
||||
const config = require("../config");
|
||||
|
||||
const Layout = (props) => {
|
||||
return (
|
||||
<OriginalLayout {...props}>
|
||||
{props.children}
|
||||
<AiAssistantButton />
|
||||
</OriginalLayout>
|
||||
);
|
||||
};
|
||||
|
||||
const Providers = (props) => {
|
||||
return (
|
||||
<AiAssistantProvider
|
||||
debug={true}
|
||||
apiKey={config.SISTA_AI_API_KEY}
|
||||
// apiKey={config.SISTA_AI_API_KEY_DEV}
|
||||
// apiUrl="http://localhost:3077"
|
||||
>
|
||||
<Layout {...props} />
|
||||
</AiAssistantProvider>
|
||||
);
|
||||
};
|
||||
|
||||
export default Providers;
|
||||
@@ -1 +0,0 @@
|
||||
google.com, pub-9826129398689742, DIRECT, f08c47fec0942fa0
|
||||
@@ -1,32 +0,0 @@
|
||||
/* Custom CSS */
|
||||
.article{
|
||||
overflow-x:hidden;
|
||||
}
|
||||
.article a {
|
||||
border-bottom: none;
|
||||
}
|
||||
.project .logo {
|
||||
width: 200px;
|
||||
padding-right: 0;
|
||||
}
|
||||
.project .banner {
|
||||
height: 70px;
|
||||
padding: 25px;
|
||||
}
|
||||
.palette-primary-deep-purple .article h1{
|
||||
color: #7e57c2;
|
||||
font-size: 35px;
|
||||
}
|
||||
.palette-primary-deep-purple .article h2{
|
||||
|
||||
color: #ce2046;
|
||||
font-size: 25px;
|
||||
}
|
||||
.palette-primary-deep-purple .article h3{
|
||||
color: #851d54;
|
||||
font-size: 18px;
|
||||
}
|
||||
.palette-primary-deep-purple .article code{
|
||||
color: #851d54;
|
||||
background: #eeeeeea8;
|
||||
}
|
||||
BIN
DOCUMENTATION/static/img/laradock/laradock-abstract.jpg
Normal file
|
After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 287 KiB After Width: | Height: | Size: 287 KiB |
BIN
DOCUMENTATION/static/img/sponsors/sista-ai-logo.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
DOCUMENTATION/static/laradock.ico
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
@@ -1,29 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
|
||||
### 11th May 2016
|
||||
|
||||
#### Add templates for section lists
|
||||
|
||||
Sections such as www.example.com/foo/ will now be rendered with a list of all pages that are part of this section. The list shows the pages' title and a summary of their content.
|
||||
|
||||
[Show me the diff](https://github.com/digitalcraftsman/hugo-material-docs/commit/1f8393a8d4ce1b8ee3fc7d87be05895c12810494)
|
||||
|
||||
### 22nd March 2016
|
||||
|
||||
#### Changing setup for Google Analytics
|
||||
|
||||
Formerly, the tracking id for Google Analytics was set like below:
|
||||
|
||||
```toml
|
||||
[params]
|
||||
google_analytics = ["UA-XXXXXXXX-X", "auto"]
|
||||
```
|
||||
|
||||
Now the theme uses Hugo's own Google Analytics config option. The variable moved outside the scope of `params` and the setup requires only the tracking id as a string:
|
||||
|
||||
```toml
|
||||
googleAnalytics = "UA-XXXXXXXX-X"
|
||||
```
|
||||
|
||||
[Show me the diff](https://github.com/digitalcraftsman/hugo-material-docs/commit/fa10c8eef935932426d46b662a51f29a5e0d48e2)
|
||||
@@ -1,20 +0,0 @@
|
||||
Copyright (c) 2016 Digitalcraftsman <digitalcraftsman@protonmail.com><br>
|
||||
Copyright (c) 2016 Martin Donath <martin.donath@squidfunk.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
||||
@@ -1,40 +0,0 @@
|
||||
# Material Docs
|
||||
|
||||
A material design theme for [Hugo](https://gohugo.io).
|
||||
|
||||
[](https://digitalcraftsman.github.io/hugo-material-docs/)
|
||||
|
||||
## Quick start
|
||||
|
||||
Install with `git`:
|
||||
|
||||
|
||||
git clone https://github.com/digitalcraftsman/hugo-material-docs.git themes/hugo-material-docs
|
||||
|
||||
|
||||
Next, take a look in the `exampleSite` folder at. This directory contains an example config file and the content for the demo. It serves as an example setup for your documentation.
|
||||
|
||||
Copy at least the `config.toml` in the root directory of your website. Overwrite the existing config file if necessary.
|
||||
|
||||
Hugo includes a development server, so you can view your changes as you go -
|
||||
very handy. Spin it up with the following command:
|
||||
|
||||
``` sh
|
||||
hugo server
|
||||
```
|
||||
|
||||
Now you can go to [localhost:1313](http://localhost:1313) and the Material
|
||||
theme should be visible. For detailed installation instructions visit the [demo](http://themes.gohugo.io/theme/material-docs/).
|
||||
|
||||
Noteworthy changes of this theme are listed in the [changelog](https://github.com/digitalcraftsman/hugo-material-docs/blob/master/CHANGELOG.md).
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
A big thank you to [Martin Donath](https://github.com/squidfunk). He created the original [Material theme](https://github.com/squidfunk/mkdocs-material) for Hugo's companion [MkDocs](http://www.mkdocs.org/). This port wouldn't be possible without him.
|
||||
|
||||
Furthermore, thanks to [Steve Francia](https://gihub.com/spf13) for creating Hugo and the [awesome community](https://github.com/spf13/hugo/graphs/contributors) around the project.
|
||||
|
||||
## License
|
||||
|
||||
The theme is released under the MIT license. Read the [license](https://github.com/digitalcraftsman/hugo-material-docs/blob/master/LICENSE.md) for more information.
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
---
|
||||
---
|
||||
@@ -1,58 +0,0 @@
|
||||
{{ partial "head" . }}
|
||||
|
||||
<div class="backdrop">
|
||||
<div class="backdrop-paper"></div>
|
||||
</div>
|
||||
|
||||
<input class="toggle" type="checkbox" id="toggle-drawer">
|
||||
<input class="toggle" type="checkbox" id="toggle-search">
|
||||
<label class="toggle-button overlay" for="toggle-drawer"></label>
|
||||
|
||||
<header class="header">
|
||||
{{ partial "header" . }}
|
||||
</header>
|
||||
|
||||
<main class="main">
|
||||
<div class="drawer">
|
||||
{{ partial "drawer" . }}
|
||||
</div>
|
||||
|
||||
<article class="article">
|
||||
<div class="wrapper">
|
||||
<h1>Pages in {{ .Title | singularize }}</h1>
|
||||
|
||||
{{ range .Data.Pages }}
|
||||
<a href="{{ .Permalink }}" title="{{ .Title }}">
|
||||
<h2>{{ .Title }}</h2>
|
||||
</a>
|
||||
|
||||
<br>
|
||||
{{ printf "%s" .Summary | markdownify }}
|
||||
|
||||
<hr>
|
||||
{{ end }}
|
||||
|
||||
<aside class="copyright" role="note">
|
||||
{{ with .Site.Params.copyright }}
|
||||
© {{ $.Now.Format "2006" }} {{ . }} –
|
||||
{{ end }}
|
||||
<br><br>
|
||||
Documentation built with
|
||||
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
|
||||
using the
|
||||
<a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme.
|
||||
</aside>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div class="results" role="status" aria-live="polite">
|
||||
<div class="scrollable">
|
||||
<div class="wrapper">
|
||||
<div class="meta"></div>
|
||||
<div class="list"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{{ partial "footer_js" . }}
|
||||
@@ -1,58 +0,0 @@
|
||||
{{ partial "head" . }}
|
||||
|
||||
{{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }}
|
||||
{{ $repo_id := replace .Site.Params.repo_url "https://github.com/" ""}}
|
||||
{{ .Scratch.Set "repo_id" $repo_id }}
|
||||
{{ end }}
|
||||
|
||||
<div class="backdrop">
|
||||
<div class="backdrop-paper"></div>
|
||||
</div>
|
||||
|
||||
<input class="toggle" type="checkbox" id="toggle-drawer">
|
||||
<input class="toggle" type="checkbox" id="toggle-search">
|
||||
<label class="toggle-button overlay" for="toggle-drawer"></label>
|
||||
|
||||
<header class="header">
|
||||
{{ partial "header" . }}
|
||||
</header>
|
||||
|
||||
<main class="main">
|
||||
<div class="drawer">
|
||||
{{ partial "drawer" . }}
|
||||
</div>
|
||||
|
||||
<article class="article">
|
||||
<div class="wrapper">
|
||||
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
<aside class="copyright" role="note">
|
||||
{{ with .Site.Params.copyright }}
|
||||
© {{ $.Now.Format "2006" }} {{ . }} –
|
||||
{{ end }}
|
||||
<br><br>
|
||||
Documentation built with
|
||||
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
|
||||
using the
|
||||
<a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme.
|
||||
</aside>
|
||||
|
||||
<footer class="footer">
|
||||
{{ partial "footer" . }}
|
||||
</footer>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div class="results" role="status" aria-live="polite">
|
||||
<div class="scrollable">
|
||||
<div class="wrapper">
|
||||
<div class="meta"></div>
|
||||
<div class="list"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{{ partial "footer_js" . }}
|
||||
@@ -1,82 +0,0 @@
|
||||
{{ partial "head" . }}
|
||||
|
||||
{{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }}
|
||||
{{ $repo_id := replace .Site.Params.repo_url "https://github.com/" ""}}
|
||||
{{ .Scratch.Set "repo_id" $repo_id }}
|
||||
{{ end }}
|
||||
|
||||
<div class="backdrop">
|
||||
<div class="backdrop-paper"></div>
|
||||
</div>
|
||||
|
||||
<input class="toggle" type="checkbox" id="toggle-drawer">
|
||||
<input class="toggle" type="checkbox" id="toggle-search">
|
||||
<label class="toggle-button overlay" for="toggle-drawer"></label>
|
||||
|
||||
<header class="header">
|
||||
{{ partial "header" . }}
|
||||
</header>
|
||||
|
||||
<main class="main">
|
||||
<div class="drawer">
|
||||
{{ partial "drawer" . }}
|
||||
</div>
|
||||
|
||||
<article class="article">
|
||||
<div class="wrapper">
|
||||
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
<!-- Google Ads -->
|
||||
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||
<!-- Laradock Horizontal -->
|
||||
<ins class="adsbygoogle"
|
||||
style="display:inline-block;width:890px;height:100px"
|
||||
data-ad-client="ca-pub-9826129398689742"
|
||||
data-ad-slot="2340256024"></ins>
|
||||
<script>
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
</script>
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
|
||||
<br><br><br>
|
||||
<img src="images/laradock-full-logo.jpg" alt="laradock logo">
|
||||
|
||||
{{ range where .Site.Pages "Type" "index" }}
|
||||
<br><br><br><br><br><br>
|
||||
<hr>
|
||||
<br>
|
||||
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
{{ end }}
|
||||
|
||||
<aside class="copyright" role="note">
|
||||
{{ with .Site.Params.copyright }}
|
||||
© {{ $.Now.Format "2006" }} {{ . }} –
|
||||
{{ end }}
|
||||
<br><br>
|
||||
Documentation built with
|
||||
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
|
||||
using the
|
||||
<a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme,
|
||||
by
|
||||
<a href="https://zalt.me">Mahmoud Zalt</a>.
|
||||
</aside>
|
||||
|
||||
<footer class="footer">
|
||||
{{ partial "footer" . }}
|
||||
</footer>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div class="results" role="status" aria-live="polite">
|
||||
<div class="scrollable">
|
||||
<div class="wrapper">
|
||||
<div class="meta"></div>
|
||||
<div class="list"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{{ partial "footer_js" . }}
|
||||
@@ -1,101 +0,0 @@
|
||||
<nav aria-label="Navigation">
|
||||
<a href="{{ with .Site.Params.repo_url }}{{ . }}{{ else }}{{ .Site.BaseURL }}{{ end }}" class="project">
|
||||
<div class="banner">
|
||||
{{ with .Site.Params.logo }}
|
||||
<div class="logo">
|
||||
<img src="{{ $.Site.BaseURL }}{{ . }}">
|
||||
</div>
|
||||
|
||||
{{ end }}
|
||||
<!--<div class="name">-->
|
||||
<!--<strong>{{ .Site.Title }} {{ with .Site.Params.version }}<span class="version">{{ . }}</span>{{ end }}</strong>-->
|
||||
<!--{{ with .Scratch.Get "repo_id" }}-->
|
||||
<!--<br>-->
|
||||
<!--{{ . }}-->
|
||||
<!--{{ end }}-->
|
||||
<!--</div>-->
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="scrollable">
|
||||
<div class="wrapper">
|
||||
{{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }}
|
||||
<ul class="repo">
|
||||
<li class="repo-download">
|
||||
<a href="{{ .Site.Params.repo_url }}/archive/master.zip" target="_blank" title="Download" data-action="download">
|
||||
<i class="icon icon-download"></i> Download
|
||||
</a>
|
||||
</li>
|
||||
<li class="repo-stars">
|
||||
<a href="{{ .Site.Params.repo_url }}/stargazers" target="_blank" title="Stargazers" data-action="star">
|
||||
<i class="icon icon-star"></i> Stars
|
||||
<span class="count">–</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr>
|
||||
{{ end }}
|
||||
|
||||
<div class="toc">
|
||||
{{ if gt (len .Site.Menus.main) 0 }}
|
||||
<ul>
|
||||
{{ partial "nav" . }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<div>
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
<!-- Google Ads -->
|
||||
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||
<!-- Laradock Vertical -->
|
||||
<ins class="adsbygoogle"
|
||||
style="display:inline-block;width:237px;height:600px"
|
||||
data-ad-client="ca-pub-9826129398689742"
|
||||
data-ad-slot="9891442983"></ins>
|
||||
<script>
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
</script>
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
||||
<!--{{ if isset .Site.Params "author" }}-->
|
||||
<!--<hr>-->
|
||||
<!--<span class="section">The author</span>-->
|
||||
<!---->
|
||||
<!--<ul>-->
|
||||
<!--{{ with .Site.Social.twitter }}-->
|
||||
<!--<li>-->
|
||||
<!--<a href="https://twitter.com/{{ . }}" target="_blank" title="@{{ . }} on Twitter">-->
|
||||
<!--@{{ . }} on Twitter-->
|
||||
<!--</a>-->
|
||||
<!--</li>-->
|
||||
<!--{{ end }}-->
|
||||
|
||||
<!--{{ with .Site.Social.github }}-->
|
||||
<!--<li>-->
|
||||
<!--<a href="https://github.com/{{ . }}" target="_blank" title="@{{ . }} on GitHub">-->
|
||||
<!--@{{ . }} on GitHub-->
|
||||
<!--</a>-->
|
||||
<!--</li>-->
|
||||
<!--{{ end }}-->
|
||||
|
||||
<!--{{ with .Site.Social.email }}-->
|
||||
<!--<li>-->
|
||||
<!--<a href="mailto:{{ . }}" title="Email of {{ . }}">-->
|
||||
<!--Contact via email-->
|
||||
<!--</a>-->
|
||||
<!--</li>-->
|
||||
<!--{{ end }}-->
|
||||
<!--</ul>-->
|
||||
<!--{{ end }}-->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -1,74 +0,0 @@
|
||||
{{ if .IsPage }}
|
||||
{{ if .Prev | or .Next }}
|
||||
<nav class="pagination" aria-label="Footer">
|
||||
<div class="previous">
|
||||
{{ if .Prev }}
|
||||
<a href="{{ .Prev.Permalink }}" title="{{ .Prev.Title }}">
|
||||
<span class="direction">
|
||||
Previous
|
||||
</span>
|
||||
<div class="page">
|
||||
<div class="button button-previous" role="button" aria-label="Previous">
|
||||
<i class="icon icon-back"></i>
|
||||
</div>
|
||||
<div class="stretch">
|
||||
<div class="title">
|
||||
{{ .Prev.Title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<div class="next">
|
||||
{{ if .Next }}
|
||||
<a href="{{ .Next.Permalink }}" title="{{ .Next.Title }}">
|
||||
<span class="direction">
|
||||
Next
|
||||
</span>
|
||||
<div class="page">
|
||||
<div class="stretch">
|
||||
<div class="title">
|
||||
{{ .Next.Title }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="button button-next" role="button" aria-label="Next">
|
||||
<i class="icon icon-forward"></i>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</nav>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .IsHome }}
|
||||
{{ if gt (len .Site.Pages) 2 }}
|
||||
<nav class="pagination" aria-label="Footer">
|
||||
<div class="previous">
|
||||
</div>
|
||||
|
||||
{{ $title := (index (.Site.Pages.ByDate) 1).Title }}
|
||||
{{ $permalink := (index (.Site.Pages.ByDate) 1).Permalink }}
|
||||
<div class="next">
|
||||
<a href="{{ $permalink }}" title="{{ $title }}">
|
||||
<span class="direction">
|
||||
Next
|
||||
</span>
|
||||
<div class="page">
|
||||
<div class="stretch">
|
||||
<div class="title">
|
||||
{{ $title }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="button button-next" role="button" aria-label="Next">
|
||||
<i class="icon icon-forward"></i>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
@@ -1,91 +0,0 @@
|
||||
<script>
|
||||
{{ with .Scratch.Get "repo_id" }}
|
||||
var base_url = '{{ (printf "%s" $.Site.BaseURL) | safeJS }}';
|
||||
var repo_id = '{{ . | safeJS }}';
|
||||
{{ else }}
|
||||
var base_url = '';
|
||||
var repo_id = '';
|
||||
{{ end }}
|
||||
</script>
|
||||
|
||||
<script src="{{ "javascripts/application.js" | absURL }}"></script>
|
||||
{{ range .Site.Params.custom_js }}
|
||||
<script src="{{ . | absURL }}"></script>
|
||||
{{ end }}
|
||||
|
||||
<script>
|
||||
{{ "/* Add headers to scrollspy */" | safeJS }}
|
||||
var headers = document.getElementsByTagName("h2");
|
||||
var scrollspy = document.getElementById('scrollspy');
|
||||
|
||||
if(scrollspy) {
|
||||
if(headers.length > 0) {
|
||||
for(var i = 0; i < headers.length; i++) {
|
||||
var li = document.createElement("li");
|
||||
li.setAttribute("class", "anchor");
|
||||
|
||||
var a = document.createElement("a");
|
||||
a.setAttribute("href", "#" + headers[i].id);
|
||||
a.setAttribute("title", headers[i].innerHTML);
|
||||
a.innerHTML = headers[i].innerHTML;
|
||||
|
||||
li.appendChild(a)
|
||||
scrollspy.appendChild(li);
|
||||
}
|
||||
} else {
|
||||
scrollspy.parentElement.removeChild(scrollspy)
|
||||
}
|
||||
|
||||
|
||||
{{ "/* Add permanent link next to the headers */" | safeJS }}
|
||||
var headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6");
|
||||
|
||||
for(var i = 0; i < headers.length; i++) {
|
||||
var a = document.createElement("a");
|
||||
a.setAttribute("class", "headerlink");
|
||||
a.setAttribute("href", "#" + headers[i].id);
|
||||
a.setAttribute("title", "Permanent link")
|
||||
a.innerHTML = {{ or .Site.Params.permalink "¶" }};
|
||||
headers[i].appendChild(a);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
{{ with .Site.GoogleAnalytics }}
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){
|
||||
i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||
|
||||
[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;
|
||||
m.parentNode.insertBefore(a,m)
|
||||
})(window, document,
|
||||
'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
/* General initialization */
|
||||
ga('create', '{{ . }}', 'auto');
|
||||
ga('set', 'anonymizeIp', true);
|
||||
ga('send', 'pageview');
|
||||
/* Track outbound links */
|
||||
var buttons = document.querySelectorAll('a');
|
||||
Array.prototype.map.call(buttons, function(item) {
|
||||
if (item.host != document.location.host) {
|
||||
item.addEventListener('click', function() {
|
||||
var action = item.getAttribute('data-action') || 'follow';
|
||||
ga('send', 'event', 'outbound', action, item.href);
|
||||
});
|
||||
}
|
||||
});
|
||||
/* Register handler to log search on blur */
|
||||
var query = document.querySelector('.query');
|
||||
query.addEventListener('blur', function() {
|
||||
if (this.value) {
|
||||
var path = document.location.pathname;
|
||||
ga('send', 'pageview', path + '?q=' + this.value);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{{ end }}
|
||||
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.8.0/highlight.min.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,104 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if lt IE 7 ]><html class="no-js ie6"><![endif]-->
|
||||
<!--[if IE 7 ]><html class="no-js ie7"><![endif]-->
|
||||
<!--[if IE 8 ]><html class="no-js ie8"><![endif]-->
|
||||
<!--[if IE 9 ]><html class="no-js ie9"><![endif]-->
|
||||
<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js"> <!--<![endif]-->
|
||||
|
||||
<head {{ with .Site.LanguageCode }}lang="{{ . }}"{{ end }}>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=10" />
|
||||
<title>{{ .Title }}{{ if not .IsHome }} - {{ .Site.Title }}{{ end }}</title>
|
||||
{{ .Hugo.Generator }}
|
||||
|
||||
{{ with .Site.Params.description }}<meta name="description" content="{{ . }}">{{ end }}
|
||||
<link rel="canonical" href="{{ .Permalink }}">
|
||||
{{ with .Site.Params.author }}<meta name="author" content="{{ . }}">{{ end }}
|
||||
|
||||
<meta property="og:url" content="{{ .Permalink }}">
|
||||
<meta property="og:type" content="website">
|
||||
{{ with .Site.Title }}<meta property="og:site_name" content="{{ . }}">{{ end }}
|
||||
{{ with .Site.Params.description }}<meta property="og:description" content="{{ . }}">{{ end }}
|
||||
{{ with .Site.Title }}<meta property="og:title" content="{{ . }}">{{ end }}
|
||||
{{ with .Site.Params.logo }}<meta property="og:image" content="{{ . | absURL }}">{{ end }}
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@Mahmoud_Zalt">
|
||||
{{ with .Site.Title }}<meta name="twitter:title" content="{{ . }}">{{ end }}
|
||||
{{ with .Site.Params.description }}<meta name="twitter:description" content="{{ . }}">{{ end }}
|
||||
{{ with .Site.Params.logo }}<meta name="twitter:image" content="{{ . | absURL }}">{{ end }}
|
||||
|
||||
{{ with .Site.Title }}<meta name="apple-mobile-web-app-title" content="{{ . }}">{{ end }}
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}">
|
||||
<link rel="icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}">
|
||||
|
||||
<!-- <link rel="icon" type="image/png" sizes="192x192" href="images/favicons/android-icon-192x192.png">-->
|
||||
<!-- <link rel="icon" type="image/png" sizes="32x32" href="images/favicons/favicon-32x32.png">-->
|
||||
<!-- <link rel="icon" type="image/png" sizes="96x96" href="images/favicons/favicon-96x96.png">-->
|
||||
<!-- <link rel="icon" type="image/png" sizes="16x16" href="images/favicons/favicon-16x16.png">-->
|
||||
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="images/favicons/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="images/favicons/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="images/favicons/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="images/favicons/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="images/favicons/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="images/favicons/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="images/favicons/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="images/favicons/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="images/favicons/apple-icon-180x180.png">
|
||||
<link rel="manifest" href="images/favicons/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#7e57c2">
|
||||
<meta name="msapplication-TileImage" content="images/favicons/ms-icon-144x144.png">
|
||||
<meta name="theme-color" content="#7e57c2">
|
||||
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Icon';
|
||||
src: url('{{ "fonts/icon.eot?52m981" | absURL }}');
|
||||
src: url('{{ "fonts/icon.eot?#iefix52m981" | absURL }}')
|
||||
format('embedded-opentype'),
|
||||
url('{{ "fonts/icon.woff?52m981" | absURL }}')
|
||||
format('woff'),
|
||||
url('{{ "fonts/icon.ttf?52m981" | absURL }}')
|
||||
format('truetype'),
|
||||
url('{{ "fonts/icon.svg?52m981#icon" | absURL }}')
|
||||
format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="{{ "stylesheets/application.css" | absURL }}">
|
||||
<link rel="stylesheet" href="{{ "stylesheets/temporary.css" | absURL }}">
|
||||
<link rel="stylesheet" href="{{ "stylesheets/palettes.css" | absURL }}">
|
||||
<link rel="stylesheet" href="{{ with .Site.Params.highlight_css }}{{ . | absURL }}{{ else }}{{ "stylesheets/highlight/highlight.css" | absURL }}{{ end }}">
|
||||
|
||||
{{/* set default values if no custom ones are defined */}}
|
||||
{{ $text := or .Site.Params.font.text "Roboto" }}
|
||||
{{ $code := or .Site.Params.font.code "Roboto Mono" }}
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family={{ $text }}:400,700|{{ replace $code " " "+" | safeURL }}">
|
||||
<style>
|
||||
body, input {
|
||||
font-family: '{{ $text }}', Helvetica, Arial, sans-serif;
|
||||
}
|
||||
pre, code {
|
||||
font-family: '{{ $code }}', 'Courier New', 'Courier', monospace;
|
||||
}
|
||||
</style>
|
||||
|
||||
{{ range .Site.Params.custom_css }}
|
||||
<link rel="stylesheet" href="{{ . | absURL }}">
|
||||
{{ end }}
|
||||
<script src="{{ "javascripts/modernizr.js" | absURL }}"></script>
|
||||
|
||||
{{ with .RSSLink }}
|
||||
<link href="{{ . }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
<link href="{{ . }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
{{ end }}
|
||||
|
||||
</head>
|
||||
<body class="{{ with .Site.Params.palette.primary }}palette-primary-{{ . }}{{end }} {{ with .Site.Params.palette.accent }}palette-accent-{{ . }}{{ end }}">
|
||||
@@ -1,45 +0,0 @@
|
||||
<nav aria-label="Header">
|
||||
<div class="bar default">
|
||||
<div class="button button-menu" role="button" aria-label="Menu">
|
||||
<label class="toggle-button icon icon-menu" for="toggle-drawer">
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="stretch">
|
||||
<div class="title">
|
||||
<b>{{ .Site.Title }}</b> <span style="color: rgba(249, 245, 255, 0.63);"> / {{ .Title }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ with .Site.Social.twitter }}
|
||||
<div class="button button-twitter" role="button" aria-label="Twitter">
|
||||
<a href="https://twitter.com/{{ . }}" title="@{{ . }} on Twitter" target="_blank" class="toggle-button icon icon-twitter"></a>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ with .Site.Social.github }}
|
||||
<div class="button button-github" role="button" aria-label="GitHub">
|
||||
<a style="padding: 0px; font-size:40px" href="https://github.com/{{ . }}" title="@{{ . }} on GitHub" target="_blank" class="toggle-button icon icon-github"></a>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
<!-- TODO: disabled until Hugo supports the generation of a content index natively
|
||||
<div class="button button-search" role="button" aria-label="Search">
|
||||
<label class="toggle-button icon icon-search" title="Search" for="toggle-search"></label>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
<div class="bar search">
|
||||
<div class="button button-close" role="button" aria-label="Close">
|
||||
<label class="toggle-button icon icon-back" for="toggle-search"></label>
|
||||
</div>
|
||||
<div class="stretch">
|
||||
<div class="field">
|
||||
<input class="query" type="text" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck>
|
||||
</div>
|
||||
</div>
|
||||
<div class="button button-reset" role="button" aria-label="Search">
|
||||
<button class="toggle-button icon icon-close" id="reset-search"></button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -1,19 +0,0 @@
|
||||
{{ $currentNode := . }}
|
||||
|
||||
{{ range .Site.Menus.main.ByWeight }}
|
||||
|
||||
{{ $.Scratch.Set "currentMenuEntry" . }}
|
||||
<li>
|
||||
{{ if .HasChildren }}
|
||||
<span class="section">{{ .Name | title }}</span>
|
||||
<ul>
|
||||
{{ range .Children }}
|
||||
{{ $.Scratch.Set "currentMenuEntry" . }}
|
||||
{{ partial "nav_link" $currentNode }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ else }}
|
||||
{{ partial "nav_link" $currentNode }}
|
||||
{{ end }}
|
||||
</li>
|
||||
{{ end }}
|
||||
@@ -1,13 +0,0 @@
|
||||
{{ $currentMenuEntry := .Scratch.Get "currentMenuEntry" }}
|
||||
{{ $isCurrent := eq .Permalink ($currentMenuEntry.URL | absURL | printf "%s") }}
|
||||
|
||||
|
||||
<a {{ if $isCurrent }}class="current"{{ end }} title="{{ $currentMenuEntry.Name }}" href="{{ $currentMenuEntry.URL | relURL}}">
|
||||
{{ $currentMenuEntry.Pre }}
|
||||
{{ $currentMenuEntry.Name }}
|
||||
</a>
|
||||
|
||||
{{ if $isCurrent }}
|
||||
<ul id="scrollspy">
|
||||
</ul>
|
||||
{{ end }}
|
||||
@@ -1,4 +0,0 @@
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">{{ .Get "title" }}</p>
|
||||
<p>{{ printf "%s" .Inner | markdownify }}</p>
|
||||
</div>
|
||||
@@ -1,4 +0,0 @@
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">{{ .Get "title" }}</p>
|
||||
<p>{{ printf "%s" .Inner | markdownify }}</p>
|
||||
</div>
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Generated by IcoMoon</metadata>
|
||||
<defs>
|
||||
<font id="icon" horiz-adv-x="1024">
|
||||
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
||||
<missing-glyph horiz-adv-x="1024" />
|
||||
<glyph unicode=" " horiz-adv-x="512" d="" />
|
||||
<glyph unicode="" glyph-name="search" d="M661.333 341.334h-33.92l-11.733 11.733c41.813 48.427 66.987 111.36 66.987 180.267 0 153.173-124.16 277.333-277.333 277.333s-277.333-124.16-277.333-277.333 124.16-277.333 277.333-277.333c68.907 0 131.84 25.173 180.267 66.773l11.733-11.733v-33.707l213.333-212.907 63.573 63.573-212.907 213.333zM405.333 341.334c-106.027 0-192 85.973-192 192s85.973 192 192 192 192-85.973 192-192-85.973-192-192-192z" />
|
||||
<glyph unicode="" glyph-name="arrow-back" d="M853.333 469.334h-519.253l238.293 238.293-60.373 60.373-341.333-341.333 341.333-341.333 60.373 60.373-238.293 238.293h519.253v85.333z" />
|
||||
<glyph unicode="" glyph-name="chevron-right" d="M426.667 682.667l-60.373-60.373 195.627-195.627-195.627-195.627 60.373-60.373 256 256z" />
|
||||
<glyph unicode="" glyph-name="close" d="M810.667 664.96l-60.373 60.373-238.293-238.293-238.293 238.293-60.373-60.373 238.293-238.293-238.293-238.293 60.373-60.373 238.293 238.293 238.293-238.293 60.373 60.373-238.293 238.293z" />
|
||||
<glyph unicode="" glyph-name="menu" d="M128 170.667h768v85.333h-768v-85.333zM128 384h768v85.333h-768v-85.333zM128 682.667v-85.333h768v85.333h-768z" />
|
||||
<glyph unicode="" glyph-name="arrow-forward" d="M512 768l-60.373-60.373 238.293-238.293h-519.253v-85.333h519.253l-238.293-238.293 60.373-60.373 341.333 341.333z" />
|
||||
<glyph unicode="" glyph-name="twitter" d="M1024 744.249c-37.676-16.708-78.164-28.002-120.66-33.080 43.372 26 76.686 67.17 92.372 116.23-40.596-24.078-85.556-41.56-133.41-50.98-38.32 40.83-92.922 66.34-153.346 66.34-116.022 0-210.088-94.058-210.088-210.078 0-16.466 1.858-32.5 5.44-47.878-174.6 8.764-329.402 92.4-433.018 219.506-18.084-31.028-28.446-67.116-28.446-105.618 0-72.888 37.088-137.192 93.46-174.866-34.438 1.092-66.832 10.542-95.154 26.278-0.020-0.876-0.020-1.756-0.020-2.642 0-101.788 72.418-186.696 168.522-206-17.626-4.8-36.188-7.372-55.348-7.372-13.538 0-26.698 1.32-39.528 3.772 26.736-83.46 104.32-144.206 196.252-145.896-71.9-56.35-162.486-89.934-260.916-89.934-16.958 0-33.68 0.994-50.116 2.94 92.972-59.61 203.402-94.394 322.042-94.394 386.422 0 597.736 320.124 597.736 597.744 0 9.108-0.206 18.168-0.61 27.18 41.056 29.62 76.672 66.62 104.836 108.748z" />
|
||||
<glyph unicode="" glyph-name="github" d="M512.008 926.025c-282.738 0-512.008-229.218-512.008-511.998 0-226.214 146.704-418.132 350.136-485.836 25.586-4.738 34.992 11.11 34.992 24.632 0 12.204-0.48 52.542-0.696 95.324-142.448-30.976-172.504 60.41-172.504 60.41-23.282 59.176-56.848 74.916-56.848 74.916-46.452 31.778 3.51 31.124 3.51 31.124 51.4-3.61 78.476-52.766 78.476-52.766 45.672-78.27 119.776-55.64 149.004-42.558 4.588 33.086 17.852 55.68 32.506 68.464-113.73 12.942-233.276 56.85-233.276 253.032 0 55.898 20.004 101.574 52.76 137.428-5.316 12.9-22.854 64.972 4.952 135.5 0 0 43.006 13.752 140.84-52.49 40.836 11.348 84.636 17.036 128.154 17.234 43.502-0.198 87.336-5.886 128.256-17.234 97.734 66.244 140.656 52.49 140.656 52.49 27.872-70.528 10.35-122.6 5.036-135.5 32.82-35.856 52.694-81.532 52.694-137.428 0-196.654-119.778-239.95-233.79-252.624 18.364-15.89 34.724-47.046 34.724-94.812 0-68.508-0.596-123.644-0.596-140.508 0-13.628 9.222-29.594 35.172-24.566 203.322 67.776 349.842 259.626 349.842 485.768 0 282.78-229.234 511.998-511.992 511.998z" />
|
||||
<glyph unicode="" glyph-name="download" d="M810.667 554.667h-170.667v256h-256v-256h-170.667l298.667-298.667 298.667 298.667zM213.333 170.667v-85.333h597.333v85.333h-597.333z" />
|
||||
<glyph unicode="" glyph-name="star" d="M512 201.814l263.68-159.147-69.973 299.947 232.96 201.813-306.773 26.027-119.893 282.88-119.893-282.88-306.773-26.027 232.96-201.813-69.973-299.947z" />
|
||||
<glyph unicode="" glyph-name="warning" d="M554 340.667v172h-84v-172h84zM554 170.667v86h-84v-86h84zM42 42.667l470 810 470-810h-940z" />
|
||||
<glyph unicode="" glyph-name="hint" d="M614 682.667h240v-426h-300l-16 84h-240v-298h-84v726h384z" />
|
||||
</font></defs></svg>
|
||||
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"name": "App",
|
||||
"icons": [
|
||||
{
|
||||
"src": "\/android-icon-36x36.png",
|
||||
"sizes": "36x36",
|
||||
"type": "image\/png",
|
||||
"density": "0.75"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-48x48.png",
|
||||
"sizes": "48x48",
|
||||
"type": "image\/png",
|
||||
"density": "1.0"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-72x72.png",
|
||||
"sizes": "72x72",
|
||||
"type": "image\/png",
|
||||
"density": "1.5"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-96x96.png",
|
||||
"sizes": "96x96",
|
||||
"type": "image\/png",
|
||||
"density": "2.0"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-144x144.png",
|
||||
"sizes": "144x144",
|
||||
"type": "image\/png",
|
||||
"density": "3.0"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image\/png",
|
||||
"density": "4.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 17 KiB |