User Tools

Site Tools


entwine:combining_several_twine_stories_into_one

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
entwine:combining_several_twine_stories_into_one [2016/05/19 12:04]
klembot created
entwine:combining_several_twine_stories_into_one [2016/05/19 22:16]
klembot
Line 5: Line 5:
 ==== Setup ==== ==== Setup ====
  
-After the [[setting_up_a_project|usual setup]], go to your project folder'​s top level in a terminal window. Then type:+After the [[setting_up_a_project|usual ​project ​setup]], go to your project folder'​s top level in a terminal window. Then type:
 <​code>​ <​code>​
 npm install --save grunt-contrib-copy grunt-contrib-watch npm install --save grunt-contrib-copy grunt-contrib-watch
 </​code>​ </​code>​
  
-You'll also need to download the story format you plan on using. Follow the appropriate link and save it from your browser to **src/format.js**:​+Then press Enter to have npm install these packages for you. 
 + 
 +You'll also need to download the story format you plan on using. Follow the appropriate link and save it from your browser to a file named **format.js** ​in your **src** folder:
  
   * [[https://​bitbucket.org/​klembot/​twinejs/​raw/​e473ee4d26cf5eac4b16f3a55ecc25c763a14092/​story-formats/​Harlowe/​format.js?​at=default|Harlowe]]   * [[https://​bitbucket.org/​klembot/​twinejs/​raw/​e473ee4d26cf5eac4b16f3a55ecc25c763a14092/​story-formats/​Harlowe/​format.js?​at=default|Harlowe]]
   * [[https://​bitbucket.org/​klembot/​twinejs/​raw/​e473ee4d26cf5eac4b16f3a55ecc25c763a14092/​story-formats/​SugarCube/​format.js?​at=default|SugarCube]]   * [[https://​bitbucket.org/​klembot/​twinejs/​raw/​e473ee4d26cf5eac4b16f3a55ecc25c763a14092/​story-formats/​SugarCube/​format.js?​at=default|SugarCube]]
-  * [[bitbucket.org/​klembot/​twinejs/​raw/​e473ee4d26cf5eac4b16f3a55ecc25c763a14092/​story-formats/​Snowman/​format.js?​at=default|Snowman]]+  * [[https://bitbucket.org/​klembot/​twinejs/​raw/​e473ee4d26cf5eac4b16f3a55ecc25c763a14092/​story-formats/​Snowman/​format.js?​at=default|Snowman]]
  
 ==== Gruntfile ==== ==== Gruntfile ====
Line 27: Line 29:
     copy: {     copy: {
       fromTwine: {       fromTwine: {
 +        // These are the individual story files you want to combine.
 +        // This copies them to your src folder first, where entwine will then
 +        // do the work of creating a single story.
         src: [         src: [
           '/​Users/​Me/​Documents/​Twine/​Stories/​My Story Part 1.html',​           '/​Users/​Me/​Documents/​Twine/​Stories/​My Story Part 1.html',​
Line 37: Line 42:
     entwine: {     entwine: {
       default: {       default: {
 +        // You can change the name of the final story file by
 +        // changing my-story.html to something else. It should
 +        // always end in .html. You don't need to change the other
 +        // part of the line below; it will use all of the story files
 +        // that have been copied into your src folder by the copy task.
         files: {         files: {
           '​dist/​my-story.html':​ ['​src/​*.html'​]           '​dist/​my-story.html':​ ['​src/​*.html'​]
         },         },
         options: {         options: {
 +          // The location of the story format to use. You've already copied
 +          // it into place when you followed the instructions in Setup above.
           format: '​src/​format.js',​           format: '​src/​format.js',​
 +          ​
 +          // The name you would like the final story to have. If it has apostrophes
 +          // in it, type \' instead, like so: 'I Didn\'​t Eat The Plums'
           name: 'My Completed Story'           name: 'My Completed Story'
         }         }
Line 49: Line 64:
     watch: {     watch: {
       twineEdits: {       twineEdits: {
 +        // This should match the files you have listed above,
 +        // under the fromTwine section. This watches for changes made
 +        // in Twine and copies them to your src folder.
         files: [         files: [
           '/​Users/​Me/​Documents/​Twine/​Stories/​My Story Part 1.html',​           '/​Users/​Me/​Documents/​Twine/​Stories/​My Story Part 1.html',​
Line 56: Line 74:
       },       },
       twineFiles: {       twineFiles: {
 +        // This doesn'​t need to be customized. As files are copied
 +        // from Twine to src, the final story will be rebuilt.
         files: '​src/​*.html',​         files: '​src/​*.html',​
         tasks: '​entwine'​         tasks: '​entwine'​
Line 62: Line 82:
   });   });
    
-  grunt.registerTask('​default',​ ['​copy'​]);​+  grunt.registerTask('​default',​ ['copy', '​entwine']);
 }; };
 </​code>​ </​code>​
 +
 +As noted in the Gruntfile, you'll need to edit the file names to match the stories you have in Twine.
 +
 +==== Using It ====
 +
 +Type ''​grunt''​ and press Enter in your terminal window to build your story. It'll appear in your project'​s **dist** folder in a file named **my-story.html**,​ unless you changed that name in your Gruntfile.
 +
 +Typing ''​grunt watch''​ and pressing Enter in your terminal window will start Grunt watching your Twine stories for changes. As you edit in Twine, the files will be automatically copied to your **src** folder and the merged story will be rebuilt in **dist**. You can hide away the terminal window as you work.
 +
 +If you'd like the watch process to end, press Control-C in the terminal window. Windows will ask you if you're sure you want to quit this process; OS X and Linux will immediately quit it for you.
entwine/combining_several_twine_stories_into_one.txt · Last modified: 2017/10/09 20:39 (external edit)