timoxley / adventure-map

Simple exercise loader & generators for substack/adventure.
MIT License
19 stars 3 forks source link

What does exports.boilerplate do? #7

Open Sequoia opened 9 years ago

timoxley commented 9 years ago

This is the boilerplate content generated for the user for the exercise.

e.g.

module.exports = function(arg) {
  // your solution here
}
Sequoia commented 9 years ago

mmm. but... why is it included in exports? is it consumed somewhere? oh, can users get it via workshopname boilerplate?

timoxley commented 9 years ago

it automatically dumps it into the user's solution directory.

I should probably expose this so it's less magical.

Sequoia commented 9 years ago

ahhh OK thanks! what's "The user's solution directory"? When I was working thru these things there wasn't really a place to put files unless you made one. Is that another new feature?

timoxley commented 9 years ago

yeah I cloned a feature from the webgl/shaderschool workshops, where they generate a directory for each exercise up front, that directory contains the bootstrap.js and the exercise description so they don't have to keep opening and closing the workshop to review the instructions.

timoxley commented 9 years ago

this is an assumption though and I should make it clearer how to turn this off or customise it.

Sequoia commented 9 years ago

cool. I think boilerplate but it would be nice to be able to disable it, perhaps by simply not exporting a boilerplate property or setting exports.boilerplate to false.

I plan on adding instructions in the top-level README for my lesson-set explaining the stuff about the boilerplate code & how to get started. I think this is necessary, otherwise the "we're about to populate" message is jarring & confusing. I'll think about ways to reword it. Something like "Would you like a directory created for this exercise with a boilerplate (starting point) file? Click yes & lesson-name/ will be created in the current directory."

timoxley commented 9 years ago

Sounds good!

Sequoia commented 9 years ago

OK assign me then & I'll get to it when I have a mo.

timoxley commented 9 years ago

Added you as collab :tada:

Also note: https://github.com/timoxley/adventure-map/pull/3

Sequoia commented 8 years ago

Planning to prompt to create boilerplate files on first run & just leave it at that, simplifies behavior muchly.

timoxley commented 8 years ago

@Sequoia sounds good

Sequoia commented 8 years ago

Wow

timoxley commented 8 years ago

:fireworks:

Sequoia commented 8 years ago

What the heck man earlier I pocket texted someone A PHOTO and now I see apparently I pocket commented on a github issue?? Presumably via email.

OS collaboration via pocket dial-- what a time to be alive!

timoxley commented 8 years ago

haha hopefully your pocket can start sending PRs

Sequoia commented 8 years ago

I started working on this a while ago & got something mostly working, but now that I revisit it I am confused. Setup was getting run every single time the user ran the adventure command; I'm trying to change that but I'm getting hung up on exactly what's supposed to run here instead:

  exercises.forEach(function(exercise) {
    shop.add(exercise.name, function() {
//???
    })
  })

I'll try to look at it more later when I get a chance.

timoxley commented 8 years ago

How to solve this I guess depends on exactly the behaviour you think is best.

Select one or more of the following (or add other options):

timoxley commented 8 years ago

Note that boilerplate generation stuff is mostly only frustrating for workshop authors while they're developing the workshop. Most users will simply get the boilerplate setup once and then work with it.

Perhaps should have a way to disable it while developing or figure out a better way to serve the workshop-developer's needs.

Sequoia commented 8 years ago

Nah, it's annoying if you run the workshop, switch to the new directory, run it again, then boilerplate rubs again.

Tbh my next move is to just rip it out and move on, I never finished my worksheet I started about a year ago and the boilerplate stuff seems not worth the trouble...