Custom SharePoint Solutions with HTML and JavaScript: For SharePoint 2013 and SharePoint Online