2017-02-22 21:13:04 +01:00
<!DOCTYPE html>
< html class = "no-js" >
< head lang = "en-us" >
< 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 > Contributing - Laradock Docs< / title >
< meta name = "generator" content = "Hugo 0.18.1" / >
< meta name = "description" content = "Laradock documentations." >
< link rel = "canonical" href = "http://laradock.io/contributing/" >
< meta name = "author" content = "Mahmoud Zalt" >
< meta property = "og:url" content = "http://laradock.io/contributing/" >
< meta property = "og:title" content = "Laradock Docs" >
< meta property = "og:image" content = "http://laradock.io/images/logo.png" >
< meta name = "apple-mobile-web-app-title" content = "Laradock Docs" >
< 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 = "http://laradock.io/images/favicon.ico" >
< link rel = "icon" type = "image/x-icon" href = "http://laradock.io/images/favicon.ico" >
< style >
@font-face {
font-family: 'Icon';
src: url('http://laradock.io/fonts/icon.eot');
src: url('http://laradock.io/fonts/icon.eot')
format('embedded-opentype'),
url('http://laradock.io/fonts/icon.woff')
format('woff'),
url('http://laradock.io/fonts/icon.ttf')
format('truetype'),
url('http://laradock.io/fonts/icon.svg')
format('svg');
font-weight: normal;
font-style: normal;
}
< / style >
< link rel = "stylesheet" href = "http://laradock.io/stylesheets/application.css" >
< link rel = "stylesheet" href = "http://laradock.io/stylesheets/temporary.css" >
< link rel = "stylesheet" href = "http://laradock.io/stylesheets/palettes.css" >
< link rel = "stylesheet" href = "http://laradock.io/stylesheets/highlight/highlight.css" >
< link rel = "stylesheet" href = "//fonts.googleapis.com/css?family=Ubuntu:400,700|Ubuntu+Mono" >
< style >
body, input {
font-family: 'Ubuntu', Helvetica, Arial, sans-serif;
}
pre, code {
font-family: 'Ubuntu Mono', 'Courier New', 'Courier', monospace;
}
< / style >
< script src = "http://laradock.io/javascripts/modernizr.js" > < / script >
< / head >
< body class = "palette-primary-red palette-accent-teal" >
< 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" >
< 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" >
Contributing
< / div >
< / div >
< div class = "button button-github" role = "button" aria-label = "GitHub" >
< a href = "https://github.com/laradock" title = "@laradock on GitHub" target = "_blank" class = "toggle-button icon icon-github" > < / a >
< / 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 >
< / header >
< main class = "main" >
< div class = "drawer" >
< nav aria-label = "Navigation" >
< a href = "https://github.com/laradock/laradock" class = "project" >
< div class = "banner" >
< div class = "logo" >
< img src = "http://laradock.io/images/logo.png" >
< / div >
< div class = "name" >
< strong > Laradock Docs < / strong >
< br >
laradock/laradock
< / div >
< / div >
< / a >
< div class = "scrollable" >
< div class = "wrapper" >
< ul class = "repo" >
< li class = "repo-download" >
< a href = "https://github.com/laradock/laradock/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 = "https://github.com/laradock/laradock/stargazers" target = "_blank" title = "Stargazers" data-action = "star" >
< i class = "icon icon-star" > < / i > Stars
< span class = "count" > – < / span >
< / a >
< / li >
< / ul >
< hr >
< div class = "toc" >
< ul >
< li >
2017-02-22 21:58:06 +01:00
< a title = "Overview" href = "http://laradock.io/" >
2017-02-22 21:13:04 +01:00
2017-02-22 21:58:06 +01:00
Overview
2017-02-22 21:13:04 +01:00
< / a >
< / li >
< li >
2017-02-22 21:58:06 +01:00
< a title = "Getting Started" href = "http://laradock.io/getting-started/" >
2017-02-22 21:13:04 +01:00
2017-02-22 21:58:06 +01:00
Getting Started
2017-02-22 21:13:04 +01:00
< / a >
< / li >
< li >
< a title = "Documentation" href = "http://laradock.io/documentation/" >
Documentation
< / a >
< / li >
< li >
< a title = "Related Projects" href = "http://laradock.io/related-projects/" >
Related Projects
< / a >
< / li >
< li >
< a title = "Help & Questions" href = "http://laradock.io/help/" >
Help & Questions
< / a >
< / li >
< li >
< a class = "current" title = "Contributing" href = "http://laradock.io/contributing/" >
Contributing
< / a >
< ul id = "scrollspy" >
< / ul >
< / li >
< li >
< a title = "License" href = "http://laradock.io/license/" >
License
< / a >
< / li >
< / ul >
< hr >
< span class = "section" > The author< / span >
< ul >
< li >
< a href = "https://github.com/laradock" target = "_blank" title = "@laradock on GitHub" >
@laradock on GitHub
< / a >
< / li >
< / ul >
< / div >
< / div >
< / div >
< / nav >
< / div >
< article class = "article" >
< div class = "wrapper" >
< h1 > Contributing < / h1 >
< p > Your contribution is more than welcome.< / p >
2017-02-22 22:17:15 +01:00
< h2 id = "got-a-question-or-problem" > Got a Question or Problem?< / h2 >
2017-02-22 21:13:04 +01:00
< p > If you have questions about how to use LaraDock, please direct your questions to the discussion on < a href = "https://gitter.im/LaraDock/laradock" > Gitter< / a > . If you believe your question could help others, then consider opening an < a href = "https://github.com/laradock/laradock/issues" > Issue< / a > (it will be labeled as Question).< / p >
2017-02-22 22:17:15 +01:00
< h2 id = "found-an-issue" > Found an Issue?< / h2 >
2017-02-22 21:13:04 +01:00
< p > If you find a bug in the source code or a mistake in the documentation, you can help us by
submitting an < a href = "https://github.com/laradock/laradock/issues" > Issue< / a > . Even better you can submit a Pull Request with a fix.< / p >
2017-02-22 22:17:15 +01:00
< h2 id = "want-a-feature" > Want a Feature?< / h2 >
2017-02-22 21:13:04 +01:00
< p > You can request a new feature by submitting an < a href = "https://github.com/laradock/laradock/issues" > Issue< / a > (it will be labeled as Feature Suggestion). If you would like to implement a new feature then consider submitting a Pull Request.< / p >
2017-02-22 22:17:15 +01:00
< h2 id = "edit-the-documentation" > Edit the documentation< / h2 >
< p > Laradock uses < a href = "https://gohugo.io/" > Hugo< / a > as website generator tool, with the < a href = "http://themes.gohugo.io/theme/material-docs/" > Material Docs theme< / a > . You might need to check their docs quickly.< / p >
< ol >
< li > Install < a href = "https://gohugo.io/" > Hugo< / a > on your machine.< / li >
< li > Clone laradock.< / li >
< li > Go to < code > /docs< / code > .< / li >
< li > Delete everything except the < code > _settings< / code > folder & the < code > CNAME< / code > file.< / li >
< li > Open < code > docs/_settings< / code > from your terminal and run < code > hugo serve< / code > to host the website locally.< / li >
< li > Open the < code > docs/_settings/content< / code > and search for the folder of the section you want to edit.< / li >
< li > In each secion there’ s an < code > index.md< / code > file, that’ s the file you need to edit.< / li >
< li > To edit the sidebar (in case you are adding new section) go to < code > docs/_settings/config.toml< / code > and add the section there.< / li >
< li > After done editing, run the this command < code > hugo< / code > to generate the updated site inside the < code > docs< / code > folder.< / li >
< li > Go back to the project root directory, commit and push..< / li >
< / ol >
2017-02-22 21:58:06 +01:00
< h2 id = "coding-guidelines" > Coding Guidelines< / h2 >
2017-02-22 21:13:04 +01:00
2017-02-22 22:17:15 +01:00
< h2 id = "support-new-software" > Support new Software< / h2 >
2017-02-22 21:13:04 +01:00
< ul >
< li > < p > Create folder with the software name.< / p > < / li >
< li > < p > Add a < code > Dockerfile< / code > , write your code there.< / p > < / li >
< li > < p > You may add additional files in the software folder.< / p > < / li >
< li > < p > Add the software to the < code > docker-compose.yml< / code > file.< / p > < / li >
< li > < p > Make sure you follow our commenting style.< / p > < / li >
< li > < p > Add the software in the < code > Readme< / code > .< / p > < / li >
< / ul >
2017-02-22 22:17:15 +01:00
< h2 id = "edit-existing-software" > Edit existing Software< / h2 >
2017-02-22 21:13:04 +01:00
< ul >
< li > < p > Open the software (container) folder.< / p > < / li >
< li > < p > Edit the files you want to update.< / p > < / li >
< li > < p > < strong > Note:< / strong > If you want to edit the base image of the < code > Workspace< / code > or the < code > php-fpm< / code > Containers,
you need to edit their Dockerfiles from their GitHub repositories. For more info read their Dockerfiles comment on the LaraDock repository.< / p > < / li >
< li > < p > Make sure to update the < code > Readme< / code > in case you made any changes.< / p > < / li >
< / ul >
2017-02-22 21:58:06 +01:00
< h2 id = "issue-pr-submission-guidelines" > Issue/PR Submission Guidelines< / h2 >
2017-02-22 21:13:04 +01:00
2017-02-22 22:17:15 +01:00
< h2 id = "submitting-an-issue" > Submitting an Issue< / h2 >
2017-02-22 21:13:04 +01:00
< p > Before you submit your issue search the archive, maybe your question was already answered.< / p >
2017-02-22 21:58:06 +01:00
< p > If your issue appears to be a bug, and hasn’ t been reported, open a new issue.
2017-02-22 21:13:04 +01:00
Help us to maximize the effort we can spend fixing issues and adding new
features, by not reporting duplicate issues.< / p >
2017-02-22 22:17:15 +01:00
< h2 id = "before-submitting-a-pull-request-pr" > Before Submitting a Pull Request (PR)< / h2 >
2017-02-22 21:13:04 +01:00
< p > Always Test everything and make sure its working:< / p >
< ul >
< li > Pull the latest updates (or fork of you don’ t have permission)< / li >
< li > Before editing anything:
< ul >
2017-02-22 21:58:06 +01:00
< li > Test building the container (docker-compose build – no-cache container-name) build with no cache first.< / li >
2017-02-22 21:13:04 +01:00
< li > Test running the container with some other containers in real app and see of everything is working fine.< / li >
< / ul > < / li >
< li > Now edit the container (edit section by section and test rebuilding the container after every edited section)
< ul >
< li > Testing building the container (docker-compose build container-name) with no errors.< / li >
< li > Test it in real App.< / li >
< / ul > < / li >
< / ul >
2017-02-22 22:17:15 +01:00
< h2 id = "submitting-a-pr" > Submitting a PR< / h2 >
2017-02-22 21:13:04 +01:00
< p > Consider the following guidelines:< / p >
< ul >
2017-02-22 21:58:06 +01:00
< li > < p > Search < a href = "https://github.com/laradock/laradock/pulls" > GitHub< / a > for an open or closed Pull Request that relates to your submission. You don’ t want to duplicate effort.< / p > < / li >
2017-02-22 21:13:04 +01:00
< li > < p > Make your changes in a new git branch:< / p >
< pre > < code class = "language-shell" > git checkout -b my-fix-branch master
< / code > < / pre > < / li >
< li > < p > Commit your changes using a descriptive commit message.< / p > < / li >
< li > < p > Push your branch to GitHub:< / p >
< pre > < code class = "language-shell" > git push origin my-fix-branch
< / code > < / pre > < / li >
< li > < p > In GitHub, send a pull request to < code > laradock:master< / code > .< / p > < / li >
< li > < p > If we suggest changes then:< / p >
< ul >
< li > Make the required updates.< / li >
< li > Commit your changes to your branch (e.g. < code > my-fix-branch< / code > ).< / li >
< li > Push the changes to your GitHub repository (this will update your Pull Request).< / li >
< / ul > < / li >
< / ul >
< blockquote >
< p > If the PR gets too outdated we may ask you to rebase and force push to update the PR:< / p >
< / blockquote >
< pre > < code class = "language-shell" > git rebase master -i
git push origin my-fix-branch -f
< / code > < / pre >
< p > < em > WARNING. Squashing or reverting commits and forced push thereafter may remove GitHub comments on code that were previously made by you and others in your commits.< / em > < / p >
2017-02-22 22:17:15 +01:00
< h2 id = "after-your-pr-is-merged" > After your PR is merged< / h2 >
2017-02-22 21:13:04 +01:00
< p > After your pull request is merged, you can safely delete your branch and pull the changes
from the main (upstream) repository:< / p >
< ul >
< li > < p > Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:< / p >
< pre > < code class = "language-shell" > git push origin --delete my-fix-branch
< / code > < / pre > < / li >
< li > < p > Check out the master branch:< / p >
< pre > < code class = "language-shell" > git checkout master -f
< / code > < / pre > < / li >
< li > < p > Delete the local branch:< / p >
< pre > < code class = "language-shell" > git branch -D my-fix-branch
< / code > < / pre > < / li >
< li > < p > Update your master with the latest upstream version:< / p >
< pre > < code class = "language-shell" > git pull --ff upstream master
< / code > < / pre > < / li >
< / ul >
< p > < br > < / p >
2017-02-22 22:17:15 +01:00
< h2 id = "happy-coding" > Happy Coding :)< / h2 >
2017-02-22 21:13:04 +01:00
< aside class = "copyright" role = "note" >
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" >
< nav class = "pagination" aria-label = "Footer" >
< div class = "previous" >
< a href = "http://laradock.io/help/" title = "Help & Questions" >
< 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" >
Help & Questions
< / div >
< / div >
< / div >
< / a >
< / div >
< div class = "next" >
< a href = "http://laradock.io/license/" title = "License" >
< span class = "direction" >
Next
< / span >
< div class = "page" >
< div class = "stretch" >
< div class = "title" >
License
< / div >
< / div >
< div class = "button button-next" role = "button" aria-label = "Next" >
< i class = "icon icon-forward" > < / i >
< / div >
< / div >
< / a >
< / div >
< / nav >
< / 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 >
< script >
var base_url = 'http:\/\/laradock.io\/';
var repo_id = 'laradock\/laradock';
< / script >
< script src = "http://laradock.io/javascripts/application.js" > < / script >
< script >
/* Add headers to scrollspy */
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 */
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 = "#";
headers[i].appendChild(a);
}
}
< / script >
< script src = "//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.8.0/highlight.min.js" > < / script >
< script > hljs . initHighlightingOnLoad ( ) ; < / script >
< / body >
< / html >