This is an old revision of the document!
Setting Up a Project
You'll need to do the steps in this section each time you set up a new project. We'll use a simple folder structure for your project, but you can use a different one if you prefer.
(short for source
) will contain all your source files. That means Twine story files, images or other multimedia, and CSS
build will contain any intermediate files that need to be created during the build process.
dist (short for distribution) will contain the end result of the process, ready to be posted to a web site or otherwise made available to the world.
Given that, here's what to do. You will need to be connected to the Internet.
Create a new folder for your project. In these examples, we'll call it my-project.
Open a terminal window and go to this new folder with the
On Windows, the easiest thing to do is to copy the address of your folder from the address bar of an Explorer window, and place quotation marks around it. The resulting command should look something like
X, try typing
with a space after it, then drag your project folder onto your terminal window. The resulting command should look like
On Linux, the easiest way to get there varies by your distribution.
npm init -y and press the Enter key. npm will create a file for you called package.json that we'll talk about in a second.
npm install --save grunt load-grunt-tasks grunt-entwine and press Enter. npm will think for a moment, then install Grunt and Entwine for you.
Create a folder named src inside the project folder. We don't need to create build or dist, but it doesn't hurt. Grunt will eventually create them for us as needed.
You can do this from the terminal window by typing
mkdir src and pressing Enter, or just create the folder the way you normally would.
If everything went correctly, you'll have three things in your project folder:
A folder named node_modules. npm uses this as a storage area for the packages you ask it to install. You can leave this as-is.
A file named package.json. This file records information about your project; most importantly, what software packages it needs to work. You can leave this file as-is too, as npm will update it for you. (If you peek inside, you'll see it mentions
grunt-entwine, which you installed in step 4 above.)
The folder named src you created in step 5.