Now that we have our
git repository created, we’re going to start installing the tools we need to start building a page.
The first and more important is our framework.
What’s that? Nothing more than fancy name for a set of software tools that, working together, can stand up a website.
It takes dozens of different software tricks to pull a good site together. Frameworks aim to make the challenge easier by organizing a curated set of tools into a simplified system that saves time.
While some frameworks are more popular than others, each newsroom tends to go its own way with its custom system for publishing pages. The programming languages and the details vary, but the fundamentals are almost all the same.
Some of them have even been released as open-source software. They include:
The GitHub template we cloned in the last chapter is a demonstration of the Los Angeles Times tool, which is known as baker and published as free and open software that anyone can easily reuse at github.com/datadesk/baker-example-page-template. It’s also been used publish custom pages by developers at ProPublica, The City and The Baltimore Banner.
The remainder of this tutorial will demonstrate how to use The Times tool to publish a page to the web.
While many of the particulars are specific to the choices made by Times developers, most of the overall principles are shared by the frameworks employed at other newsrooms.
Now that you have the fundamentals cloned to your computer, installing the underlying dependencies necessary to develop a page requires that you use Node.js’s package manager
From your terminal positioned inside of the repository’s directory, run the following to get everything necessary to start work:
Once the dependencies have been installed, you’re ready to preview the project. Run the following to start the test server:
Visit localhost:3000 in your browser. There you can see the generic website offered as a starting point by our framework.
Congratulations, you’ve got your framework up and running. Now we’re ready to start developing our own content.