This is my research on Git client software, Git server software and Git hosted services.
TL;DR = Use GitHub
Git is better than SVN for the following reasons and is why I use Git over SVN
| Bitbucket | GitLab | GitHub | Gitea | |
| URL | https://bitbucket.org/ | https://about.gitlab.com/gitlab-com/ | https://github.com/ | |
| Technology | Cloud / Local | Cloud / Local | Cloud | Cloud / Local |
| Model | Free / Pro | Free / Pro | Free / Pro | Free / Pro |
| Pro Terms | basically $1 per Month User in blocks (10/25/50/100/Unlimited) - Academics can get unlimited account for free | $39 per year per user | Costing is done per number of users | |
| Notes | Get unlimited private and public repositories with Bitbucket. Bitbucket Cloud is free for small teams of 5, integration with JIRA and Mercurial, issue tracking via JIRA, wiki -- 2gb repositry size https://confluence.atlassian.com/bitbucket/what-kind-of-limits-do-you-have-on-repository-file-upload-size-273877699.html, https://blog.bitbucket.org/2014/05/30/repository-size-limits/ | Free unlimited public & private repositories and unlimited collaborators. 10GB Disk Space - Want to start using GitLab? You can easily import your repositories from Bitbucket, GitHub, Gitorious or anywhere else, all in batch!, this is the closet to GitHub, it supports the import of git and the issues, wikis, milestones and labels, it alos looks the closets | inbuilt wiki and issue tracking |
| Bitbucket Server | GitLab CE | Git SCM | git for windows | GitStack | Bonobo Git Server | Gogs - Go Git Service | |
| URL | https://bitbucket.org/product/server | https://about.gitlab.com/downloads/ | https://git-scm.com/ | https://git-for-windows.github.io/ | http://gitstack.com/ | https://bonobogitserver.com/ | https://gogs.io/ |
| Technology | Windows x64, Linux x64, Mac OS X | Rasberry Pi 2 and other linux distros | Windows, Mac OS X, Linux, Solaris | Windows | Windows | Windows (via IIS) | |
| Model | Paid | Free (Single Tenant?) | Free | Free | Free (for small teams) | ||
| Pro Terms | $10 1-Time payment for upto 10 Users further tiers available | unlimited users | |||||
| Notes | No Issue tracking | a single-tenant solution which means your IP does not share the underlying infrastructure with other customers, opensource, basically linux only and would require VM for windows | I think this is the creators of Git, possible command line only |
We should all know these but I didnt so I have just made a note of the PHP comment characters you can use.
# // /* * */
and in a HTML code block, within a PHP page, you should still use the code below as normal.
<!-- -->
This really is a place holder fopr me to explain PHP in simple terms.
PHP is a combination of
which is oriented around creating HTML and responding to POST and GET requests.
PHP also utilises numbers and text
This allows me to use joomlashine <div class="grid-layout"></div> in the footer. This code was used in the JSN Dona template would I am sure is the same for all of the other templates. It is great for adding in modules or mutliple menus.
/*-- Grid columns in Footer --*/
/* grid columns get squashed in footer */
div#jsn-pos-footer {
width: 100% !important;
}
/* set min width for grid layout */
/* #jsn-footer div.grid-layout4 div.grid-col, - for reference only */
#jsn-footer div[class*="grid-layout"] div.grid-col {
min-width: 200px;
}
/* note this is the total width of the columns -1px */
@media only screen and (max-width: 799px), (max-device-width: 799px) {
#jsn-footer div[class*="grid-layout"] div.grid-col {
width: 100%;
}
/* centers all items */
#jsn-footer div[class*="grid-layout"] div.grid-col_inner {
text-align: center;
}
/* centers social icons - i also could add text-align: justify; to the custom html code */
#jsn-footer #jsn-social-icons ul li a {
text-align: center;
}
}
/* fix for column min height custom.css 2378 */
@media only screen and (max-width: 768px), (max-device-width: 768px) {
div.grid-layout4 div.grid-col {
min-height: 1px;
}
}
I cant remember where I have used this.
/** logo fix / header **/
/* remove large gap above and below - when you have seperated menu and logo */
#jsn-logo a {
margin-top: 10px;
margin-bottom: 0;
}
/* make the header sections responsive so they look nice */
@media screen and (max-width: 640px) {
#lancastrian-header-left{
float: none !important;
text-align: center;
}
#lancastrian-header-right{
float: none !important;
text-align: center;
}
}
Use this when the module position your want to use does not support horizontal seperation. It requires the code below and the use of the import modules code.
<div style="display: inline-block; width: 30%; min-width: 180px;">{module Footer Menu}</div>
<div style="display: inline-block; width: 30%; min-width: 180px;">{module Payments Accepted}</div>
<div style="display: inline-block; width: 30%; min-width: 180px;">{module Footer Address}</div>
This is a simple bit of code to add logos in a horizontal line that collapses to a centered column
HTML
<p style="text-align: center;">
<img src="/images/kb/2017/874/quantumwarp-logo.png" alt="QuantumWarp" style="display: inline-block;" />
<img src="/images/kb/2017/874/quantumwarp-logo.png" alt="QuantumWarp" style="display: inline-block;" />
<img src="/images/kb/2017/874/quantumwarp-logo.png" alt="QuantumWarp" style="display: inline-block;" />
</p>
In a world where IPv4 addresses have run out SNI came along to allow multiple SSL certficates to be installed on 1 IP address. The protocol allowing this is SNI. cPanel is quite far behind the rest of the world and browsers in supporting this, however a basic implementation of this is now active in their stable releases. Below I will outline some of the issues I found.
Beacause of the way cPanel handles subdomains and parked domains, a type of virtual host, you can only add a single SSL certificate per cPanel account and this only really supports www and non-www names. I have only verified the following occurs with subdomains but there is a high chance it is the same for parked domains.
When you make any HTTPS request to you website/account then the primary domain, with no subdomain, will be served irrespective of the domain name. This mean that only the content from the primary domain name i.e. https://quantumwarp.com/ will be served and by an accident https://www.quatumwarp.com/ would show the same content which is great for most peopel so they can choose between www and no-www version of their site without have ing to worry. https://search.quantumwarp.com/ would also show the content from https://quantumwarp.com/. Another note about this is that if you goto to https://search.quantumwarp.com/ to stop SSL errors, your SSL certificate need search.quantumwarp.com in its alternate names.
cPanel has support for SNI on mail services which is great but after research it onnly uses the primary domain name i.e. https://quantumwarp.com/.cPanel is going to add support for https://mail.quantumwarp.com/ in future versions.
StartSSL recommends that you set the non-www as the common name of your certificate and add the www version next.
What would I do
create a SSL certificate with the following names. This allows for all HTTPS features to work in cPanel.
quantumwarp.com = Common Name
www.quantumwarp.com
Other names
These are just some of my domain name ideas for the day cPanel properly supports SNI for multiple domains on one account.
This element can be styled like all others and has preset styles by the browser.
/* hr styling */
hr {
margin: 20px 0;
border: 0;
border-top: 1px solid #eee;
border-bottom: 1px solid #fff;
}
This is a cool little effect where you can put a line behine a title but the text remains unaltered.
CSS
/**
* Horizontal Type Line Behind Text
* https://codepen.io/ericrasch/pen/Irlpm
* Inspired by this discussion @ CSS-Tricks: http://css-tricks.com/forums/topic/css-trick-for-a-horizontal-type-line-behind-text/#post-151970
* Available on jsFiddle: http://jsfiddle.net/ericrasch/jAXXA/
* Available on Dabblet: http://dabblet.com/gist/2045198
* Available on GitHub Gist: https://gist.github.com/2045198
*/
h1.background,
h2.background,
h3.background {
position: relative;
z-index: 1;
}
h1.background:before,
h2.background:before,
h3.background:before {
border-top: 2px solid #00AFB2;
content: "";
margin: 0 auto;
/* this centers the line to the full width specified */
position: absolute;
/* positioning must be absolute here, and relative positioning must be applied to the parent */
top: 50%;
left: 0;
right: 0;
bottom: 0;
width: 95%;
z-index: -1;
}
h1.background span,
h2.background span,
h3.background span {
/* to hide the lines from behind the text, you have to set the background color the same as the container */
background: #fff;
padding: 0 15px;
}
/* homepage CTA - how can we help */
.jsn-homepage h3.background:before {
border-top: 2px solid #fff;
}
.jsn-homepage h3.background span {
background: #00AFB2;
}
/* About page - Main content */
.jsn-itemid-344 h2.background.benefits span {
background: #EFE9DE;
}
/* I dont think i need this */
h1.double:before,
h2.double:before {
/* this is just to undo the :before styling from above */
border-top: none;
}
h1.double:after,
h2.double:after {
border-bottom: 1px solid blue;
-webkit-box-shadow: 0 1px 0 0 red;
-moz-box-shadow: 0 1px 0 0 red;
box-shadow: 0 1px 0 0 red;
content: "";
margin: 0 auto;
/* this centers the line to the full width specified */
position: absolute;
top: 45%;
left: 0;
right: 0;
width: 95%;
z-index: -1;
}
h1.no-background,
h2.no-background {
position: relative;
overflow: hidden;
}
h1.no-background span,
h2.no-background span {
display: inline-block;
vertical-align: baseline;
zoom: 1;
*display: inline;
*vertical-align: auto;
position: relative;
padding: 0 20px;
}
h1.no-background span:before,
h1.no-background span:after,
h2.no-background span:before,
h2.no-background span:after {
content: '';
display: block;
width: 1000px;
position: absolute;
top: 0.73em;
border-top: 1px solid red;
}
h1.no-background span:before,
h2.no-background span:before {
right: 100%;
}
h1.no-background span:after,
h2.no-background span:after {
left: 100%;
}
h1.no-span,
h2.no-span {
display: table;
white-space: nowrap;
}
h1.no-span:before,
h1.no-span:after,
h2.no-span:before,
h2.no-span:after {
border-top: 1px solid green;
content: '';
display: table-cell;
position: relative;
top: 0.5em;
width: 45%;
}
h1.no-span:before,
h2.no-span:before {
right: 1.5%;
}
h1.no-span:after,
h2.no-span:after {
left: 1.5%;
}
HTML
<h1 class="background" style="text-align: center;"><span>EVENTS 2016</span></h1>