From 803abafa99753df3ece29bcadfdfe9dbef12c36d Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Tue, 1 Dec 2015 18:05:18 -0800 Subject: [PATCH] Added script to output all level guides for a campaign --- scripts/mongodb/queries/level-guides.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 scripts/mongodb/queries/level-guides.js diff --git a/scripts/mongodb/queries/level-guides.js b/scripts/mongodb/queries/level-guides.js new file mode 100644 index 000000000..97cd5e1bb --- /dev/null +++ b/scripts/mongodb/queries/level-guides.js @@ -0,0 +1,17 @@ +// Finds all level guides for a particular campaign. + +var campaignSlug = 'intro'; +var campaign = db.campaigns.findOne({slug: campaignSlug}); +var levelOriginals = Object.keys(campaign.levels); +levelOriginals.forEach(function(original) { + var level = db.levels.findOne({original: ObjectId(original), slug: {$exists: true}}); + //print("found level", level); + (level.documentation.specificArticles || []).forEach(function(doc) { + if (doc.name != 'Overview') return; + var exclusionRegex = new RegExp("```(clojure|lua|coffeescript|io)\n[^`]+```\n?", 'gm'); + var body = doc.body.replace(exclusionRegex, ''); + body = body.replace(/```python/g, '**Python**:\n```python'); + body = body.replace(/```javascript/g, '**JavaScript**:\n```javascript'); + print("\n\n## " + level.name + " Overview:\n\n" + body); + }); +});