First off, thank you for taking the time to check out Greenwood! Under the hood Greenwood is taking advantage of the power of the modern web (and friends !) to drive a modern development workflow that helps you deliver a modern, performant and pleasent experience for your users... using the web languages you already know!
To get things started, we first want to make sure everyone can get their first project up and running as easily and quickly as possible, and so through this guide, we will walk through everything you need to get started with your first project, including:
If you already have NodeJS installed on your machine and are comfortable with Git, you can skip the prequisites and jump right to project setup.
Before going into the setup section of the tutorial, we want to make sure that you are familiar with some of the expectations and assumptions this guide (and Greenwood) make.
NodeJS is the environment used for running Greenwood from the command line. We recommend installing the LTS version of NodeJS onto your machine and being familiar with npm, the package manager that comes with NodeJS. The command line will be the primary mechanism for:
You can test that both are installed correctly from the command line by verifying the output of the following commands:
$ node -v $ npm -v # for example $ node -v v12.13.0 $ npm -v 6.4.1
Along with this, familiarity of the command line / terminal is also assumed as Greenwood is a command line tool, and so all examples will assume a bash / shell like environment. Example commands used in this guide are:
# create a directory for your project and change into it $ mkdir my-project $ cd my-project # installing packages with npm $ npm install <package> # running a custom npm script $ npm run develop
We like to think that that as your experience grows, so can the way you build your site. Greenwood has very few opinions on how you structure your project (aside from pages and templates), or what you're trying to build, or how. Our hope is to provide you a developer experience that is conducive to modern web development and the expectations around it.