The right web development tools can save time and energy. This tools can also make the work more efficient.
Web development tools have come a long way. We can use powerful tools and libraries to improve our workflow and make life easier. So, here are the most important tools we use in our Ghost theme development workflow.
Ghost
Obviously. Ghost can be installed locally and with the version 1.0.0 it's easier than ever to do this. Of course, you need a supported Node.js version installed on your local machine. We already talked about installing Node.js in a previous article talking about how to customize our themes.
Now we can install Ghost-CLI, which is a tool that helps with installing and managing Ghost. For this run:
npm install -g ghost-cli
Now that we have the Ghost-CLI we can simply run:
ghost install local
This will install Ghost in the folder that the command was ran and setup the blog development mode. To start/stop Ghost the commands are simple:
ghost start
ghost stop
VS Code
Visual Studiu Code combines the simplicity of a source code editor with powerful developer tooling. We changed from Sublime after reading about VS Code and we never looked back. It's really great.
Additionally, there are a lot of plugins that can improve your workflow.
Checkout this list from Shopify with some of the best extensions for VS Code.
Gulp
Gulp is a tool that basically automates several tasks that otherwise would be painful to do every time.
We already mentioned Gulp in a previous article talking about how to customize our themes. There is already explained the installation part, so we will not talk about that here.
Most of the time we use Gulp for the following tasks:
- Do Sass processing
- Combining and optimizing assets like CSS, JavaScript
- Watch for change in your files and act on it
- Automatically reloading the browser when a file is saved
This is how a basic task looks like:
gulp.task('name', function() {
//implementation of the task
});
For detecting changes in files we can use the watch
method of gulp. This is a standard part of the Gulp so there is no need for loading new module.
The method takes as arguments: source to be watched, and a task to be triggered after change. So we can define task like this:
gulp.task('watch', function() {
gulp.watch('scripts/*.js', ['js']);
gulp.watch('sass/main.scss', ['sass']);
});
Sass
Sass is a CSS preprocessor, practically it is an extension of CSS that enables you to use things like variables, nested rules, inline imports and more. It also helps to keep things organised and allows you to create style sheets faster.
Some advantages of preprocessors:
- variables (even though CSS is catching un in this regards, with CSS custom properties)
- nesting: it's excellent for reducing the amount of code you need to write, it's a good practice to do not go more than 3 levels deeper
- importing: @import allows you to import your other sass files into the current file
- mixins: Mixins are great for simplifying complex code and making it reusable and dynamic
For example, if you need to include the vendor prefixes, you can use a mixin instead. Take a look at this example for border-radius:
Example of sass code:
// Variables
$font-size: 16px;
$brand-color: #343434;
// Mixins
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
}
// Using mixins
@include border-radius(5px);
// Include other sas files
@import 'some-othere-sass-file';
Cmder
Cmder is an opensource console emulator for windows.
What I like the most about it is it's simplicity and support for unix/linux like bash running on windows.
Bitbucket
Bitbucket is a web-based hosting service for source code and development projects. Not as popular as Github but personally I really like the user interface and one of the main reasons I started using it was because of the unlimited number of private repos.
Digitalocean
DigitalOcean is a cloud computing vendor that offers an Infrastructure as a Service (IaaS) platform for software developers. DigitalOcean is very popular with open source developers and basically this is how we found them.
Their offer is quite good considering the price and quality of services.
Ghost CMS Newsletter
Subscribe to get useful Ghost CMS updates, resources and occasional theme news.