Craig Buckler, Aug 21

Real World Use of CSS with SVG

Craig Buckler describes various ways to use CSS with SVG, covering the benefits of using SVGs, a range of SVG tools, SVGs as static images, CSS inlined SVG backgrounds, responsive SVG images, HTML-inlined SVG images, SVG sprites, SVG effects on HTML content, and portable SVGs.
Nikki Stefanoff, Aug 20

How Hitting the Books Can Help Your Business

Nikki Stefanoff interviews Andrew Hardwick, the Managing Director of Hard Edge — a creative agency focusing on innovative brand communications — to get his thoughts on how entrepreneurs can continue to learn and grow while still staying focused on their business.
Ilya Bodrov-Krukowski, Aug 20

Using CSS Transforms in the Real World

Ilya Bodrov explains how CSS transforms can be used in the real world to solve various tasks and achieve interesting results — showing how to adjust elements vertically, create nice-looking arrows, build loading animations and create flip animations.
Ahmed Bouchefra, Aug 17

Easy and Responsive Modern CSS Grid Layout

Ahmed Bouchefra shows how to create a responsive modern CSS Grid layout, demonstrating how to use fallback code for old browsers, how to add CSS Grid progressively, and how to restructure the layout in small devices and center elements using the alignment properties.
SitePoint Team, Aug 16

5 Top Development Tools that Will Help You Do More in Less Time

Here are 5 great tools and services to make your life as a developer a lot more productive. Bonus content: 3 tips to get your developer skills to the next level.
Giulio Mainardi, Aug 16

Redesigning a Card-based Tumblr Layout with CSS Grid

Giulio Mainardi shows how to retrofit a popular, card-based Tumblr layout with CSS grid, demonstrating how to plan for responsive behavior and utilize other cutting edge CSS features such as object-fit: cover, @supports and the :focus-within pseudo-class.
Ilya Bodrov-Krukowski, Aug 15

Redesigning a Site to Use CSS Grid Layout

Ilya Bodrov demonstrates how to retrofit a layout with CSS Grid, showing how easy it is to utilize CSS Grid to create robust layouts. He also discusses fallbacks for older browsers, should you need them.
Claudio Ribeiro, Aug 14

Variable Fonts: What They Are, and How to Use Them

In this article, Cláudio Ribeiro looks at the exciting new possibilities surrounding variable fonts — now bundled with the OpenType scalable font format — which allows a single font to behave like multiple fonts.
Craig Buckler, Aug 14

7 of the Best Code Playgrounds

Craig Buckler lists 7 of the most popular code playgrounds tfor experimenting with your front-end code, such as CodePen and JSFiddle, along with suggestions for playing with back-end code, hosting your own code playground, and even installing an offline code playground in your own browser!
Craig Buckler, Aug 13

3D Transformation Functions in CSS

Craig Buckler shows how to add another dimension to your web pages and applications with the new 3D transformation functions and properties in CSS, covering transform, translate, rotations, scaling, perspective and more, along with z-index, browser gotchas, and ideal use cases.
Syed Fazle Rahman, Aug 13

24 JavaScript Libraries for Creating Beautiful Charts

This article provides a quick overview of 24 JavaScript libraries for creating charts and graphs — from heavy-duty libraries like D3.js to some super-simple options for representing data quickly and beautifully.
Craig Buckler, Aug 10

How to Install PHP on Windows

We've previously shown you how to get a working local installation of Apache on your Windows PC. In this article, we'll show how to install PHP 5 as an Apache 2.2 module.

Why PHP?

PHP remains the most widespread and popular server-side programming language on the web. It is installed by most web hosts, has a simple learning curve, close ties with the MySQL database, and an excellent collection of libraries to cut your development time. PHP may not be perfect, but it should certainly be considered for your next web application. Both Yahoo and Facebook use it with great success.

Why Install PHP Locally?

Installing PHP on your development PC allows you to safely create and test a web application without affecting the data or systems on your live website. This article describes PHP installation as a module within the Windows version of Apache 2.2. Mac and Linux users will probably have it installed already.

All-in-One packages

There are some excellent all-in-one Windows distributions that contain Apache, PHP, MySQL and other applications in a single installation file, e.g. XAMPP (including a Mac version), WampServer and Web.Developer. There is nothing wrong with using these packages, although manually installing Apache and PHP will help you learn more about the system and its configuration options.

The PHP Installer

Although an installer is available from, I would recommend the manual installation if you already have a web server configured and running.
Maxime Beugnet, Aug 09

Java and MongoDB 4.0 Support for Multi-document ACID Transactions

This article was originally published on MongoDB. Thank you for supporting the partners who make SitePoint possible.


MongoDB 4.0 adds support for multi-document ACID transactions.

But wait... Does that mean MongoDB did not support transactions until now? No, actually MongoDB has always supported transactions in the form of single document transactions. MongoDB 4.0 extends these transactional guarantees across multiple documents, multiple statements, multiple collections, and multiple databases. What good would a database be without any form of transactional data integrity guarantee?

Before we dive in this blog post, you can find all the code and try multi-document ACID transactions here.

Quick start

Step 1: Start MongoDB

Start a single node MongoDB ReplicaSet in version 4.0.0 minimum on localhost, port 27017.

If you use Docker:

  • You can use
  • When you are done, you can use
  • If you want to connect to MongoDB with the Mongo Shell, you can use

If you prefer to start mongod manually:

  • mkdir /tmp/data && mongod --dbpath /tmp/data --replSet rs
  • mongo --eval 'rs.initiate()'

Step 2: Start Java

SitePoint Team, Aug 09

How Many of These Essential WordPress Tools & Services Are You Using?

Ten of the top WordPress tools and services to supercharge your WordPress website and take it to the next level. From page builders and dynamic tables to website management and marketing tools, there's everything you need for a strong web presence.
Ivaylo Gerchev, Aug 09

The 5 Most Popular Front-end Frameworks Compared

Ivaylo Gerchev looks at the most downloaded front-end frameworks available today, and offers some suggestions on how to choose one that's right for you.
Design & UX
Alex Walker, Aug 08

9 of the Best Animation Libraries for UI Designers

Animation is a part of a UI designer's job. Here are 9 free animation libraries we think deliver the most power for the smallest file size, while being relatively easy to use for reasonably code-savvy designers that aren't full-blown developers.
Alistair Robson, Aug 07

Make Your Website Earn for You with Google AdSense

Google AdSense is a simple and free way for website publishers to earn money by showing relevant and engaging ads alongside your online content.
Design & UX
Gabrielle Gosha, Aug 07

How to Quickly and Easily Remove a Background in Photoshop

This article shows how to remove a background in Photoshop, starting with the magic wand tool for removing simple backgrounds, and the background eraser tool for more complicated backgrounds.
Louis Lazaris, Aug 06

A Basic HTML5 Template For Any Project

If you're getting started with HTML5 you'll want to learn how to to develop a basic HTML5 template. This article shows you ow to get started, explaining the basic elements of an HTML5 template, while also suggesting ways to take your HTML5 usage to the next level.
Cho S. Kim, Aug 06

Understanding module.exports and exports in Node.js

Since importing and exporting modules is a regular task in Node.js, Cho S. Kim explains how the module system works in Node.js, providing a better understanding of the difference between module.exports and exports in Node.js, and showing how to understand errors when accessing publicly available methods.
Adam Roberts, Aug 06

How to Force Windows to Delete a File

Sometimes Windows will become convinced a given file is in use by a program and prevent it from being deleted. Here are two ways to get around that issue.
James Wright, Aug 02

How to Build a Coach Holiday Showcase with WRLD

Using WRLD's map designer, we will build a map for a coach holiday, which we will then integrate into a Node.js-powered website.
Maria Antonietta Perna, Aug 01

A Practical Guide to CSS Variables (Custom Properties)

Maria Antonietta Perna walks you through CSS variables/custom properties, the awesome new technology that adds more flexibility and fun to CSS coding.
SitePoint Team, Aug 01

How to Select the Right Copywriting Gig on Fiverr for Marketing Copy

In this article, we are going to teach SitePoint readers how to select the right marketing copy gig on Fiverr. As a worldwide verified freelancing platform, Fiverr is a 100% safe and productive site where you can buy and sell services.