Skip to content
Browse files

Fix submodules and remove all need for data/wiki copy

  • Loading branch information...
1 parent 4b0be55 commit be36b84db9d3271b2e8c95c10f94994314760451 @ltegman ltegman committed
Showing with 5 additions and 4,518 deletions.
  1. +0 −3 .gitmodules
  2. +2 −0 README.md
  3. +0 −4 bin/force-update.sh
  4. +2 −8 bin/wiki-pull-prod.sh
  5. +0 −7 bin/wiki-pull.sh
  6. +0 −5 bin/wiki-update.sh
  7. +1 −0 data/fcc.wiki
  8. +0 −18 data/wiki/5-Steps-to-organizing-a-successful-Campsite-event..md
  9. +0 −13 data/wiki/Accessing-the-database-from-your-frontend.md
  10. +0 −9 data/wiki/Adding-Environment-Variables.md
  11. +0 −14 data/wiki/Angular-Resources.md
  12. +0 −28 data/wiki/August-2015-Improvements.md
  13. +0 −20 data/wiki/August-Live-Stream.md
  14. +0 −9 data/wiki/Backend-file-structure.md
  15. +0 −30 data/wiki/Basejump-Resources.md
  16. +0 −2 data/wiki/Bobby-Tables.md
  17. +0 −32 data/wiki/Bonfire Meet Bonfire.md
  18. +0 −93 data/wiki/Bonfire-Factorialize-a-Number.md
  19. +0 −29 data/wiki/Bonfire-Reverse-a-String.md
  20. +0 −43 data/wiki/Bonfire-Style-Guide.md
  21. +0 −21 data/wiki/Bonfire-Symmetric-Difference.md
  22. +0 −25 data/wiki/Bonfire-Wiki-Template.md
  23. +0 −9 data/wiki/Bonus-SocketIO.md
  24. +0 −13 data/wiki/Brownie-Points.md
  25. +0 −11 data/wiki/Camper-News.md
  26. +0 −20 data/wiki/Casual-Chat-Rooms.md
  27. +0 −14 data/wiki/Clear-Your-Browser's-Local-Storage.md
  28. +0 −60 data/wiki/Code-Style-Guide.md
  29. +0 −20 data/wiki/Code-of-Conduct.md
  30. +0 −21 data/wiki/Coding-Help.md
  31. +0 −7 data/wiki/Create,-Upload-and-Link-Animated-GIF-Image.md
  32. +0 −14 data/wiki/Creating-a-New-Github-Issue.md
  33. +0 −5 data/wiki/Creating-a-new-API-endpoint.md
  34. +0 −12 data/wiki/Creating-a-new-directive.md
  35. +0 −10 data/wiki/Creating-a-new-route.md
  36. +0 −30 data/wiki/Dynamic-URLs-using-$routeParams.md
  37. +0 −3 data/wiki/Edit-or-Delete-message.md
  38. +0 −13 data/wiki/Epilogue.md
  39. +0 −14 data/wiki/Fixing-exports.update.md
  40. +0 −53 data/wiki/Free-Code-Camp's-Privacy-Policy.md
  41. +0 −19 data/wiki/Free-Code-Camp-Front-End-Development-Certificate.md
  42. +0 −8 data/wiki/Free-Code-Camp-Full-Stack-Developent-Certificate.md
  43. +0 −7 data/wiki/Free-Code-Camp-completion-language-requirements.md
  44. +0 −9 data/wiki/Free-Code-Camp-logo.md
  45. +0 −11 data/wiki/Frontend-file-structure.md
  46. +0 −9 data/wiki/Functional-Programming---Higher-Order-Functions.md
  47. +0 −15 data/wiki/Get-info-about-the-current-user.md
  48. +0 −9 data/wiki/Git-Blame.md
  49. +0 −9 data/wiki/Gitter.md
  50. +0 −4 data/wiki/Grunt.md
  51. +0 −31 data/wiki/Guide-to-Basejumps-Table-of-Contents.md
  52. +0 −12 data/wiki/Help-I've-Found-a-Bug.md
  53. +0 −16 data/wiki/Home.md
  54. +0 −15 data/wiki/How-Free-Code-Camp-works.md
  55. +0 −87 data/wiki/How-FreeCodeCamp-Nonprofit-Projects-work.md
  56. +0 −11 data/wiki/How-GitHub-Issue-Moderators-AKA-Issue-Mods-Work.md
  57. +0 −10 data/wiki/How-long-Free-Code-Camp-takes-to-complete.md
  58. +0 −9 data/wiki/How-to-Get-Help-on-Gitter.md
  59. +0 −10 data/wiki/How-to-add-Free-Code-Camp-to-my-LinkedIn-profile.md
  60. +0 −15 data/wiki/How-to-best-use-the-Global-Control-Shortcuts-for-Mac.md
  61. +0 −32 data/wiki/How-to-clone-the-FreeCodeCamp-website-on-a-Windows-pc.md
  62. +0 −38 data/wiki/How-to-create-a-Campsite-for-your-city.md
  63. +0 −12 data/wiki/How-to-deploy-a-website-without-writing-any-code-at-all.md
  64. +0 −13 data/wiki/How-to-get-help-when-you-get-stuck.md
  65. +0 −3 data/wiki/How-to-help-with-the-Free-Code-Camp-translation-effort.md
  66. +0 −7 data/wiki/How-to-install-Screenhero.md
  67. +0 −13 data/wiki/How-to-know-who-is-in-charge-of-your-Campsite-on-Facebook.md
  68. +0 −9 data/wiki/How-to-share-your-workspace-selfie-with-FreeCodeCamp-on-instagram.md
  69. +0 −21 data/wiki/How-to-start-when-you-are-stuck-(I).md
  70. +0 −30 data/wiki/How-to-start-when-you-are-stuck-(II).md
  71. +0 −14 data/wiki/How-to-start-when-you-are-stuck-(III).md
  72. +0 −18 data/wiki/How-to-use-the-Free-Code-Camp-Wiki.md
  73. +0 −21 data/wiki/How-you-can-get-to-Inbox-Zero-with-Gmail-shortcuts.md
  74. +0 −10 data/wiki/How-you-can-help-to-stimulate-your-city's-Campsite-on-Facebook.md
  75. +0 −8 data/wiki/How-you-can-reach-the-Free-Code-Camp-team-to-interview-them-for-your-publication.md
  76. +0 −19 data/wiki/How-you-can-stream-your-live-coding-sessions-on-the-Free-Code-Camp-Twitch.tv-channel.md
  77. +0 −9 data/wiki/IIFE.md
  78. +0 −7 data/wiki/If-Free-Code-Camp-is-free,-how-does-it-make-money.md
  79. +0 −9 data/wiki/Intro-to-Yeoman-Angular-Fullstack-Basejumps.md
  80. +0 −5 data/wiki/JavaScript-Truth-Table.md
  81. +0 −9 data/wiki/Javascript-Links.md
  82. +0 −8 data/wiki/Linking-Your-Account-with-GitHub.md
  83. +0 −428 data/wiki/List-of-Free-Code-Camp-city-based-Campsites-and-Chat-rooms.md
  84. +0 −31 data/wiki/More-useful-APIs.md
  85. +0 −38 data/wiki/Official-Free-Code-Camp-Chat-Rooms.md
  86. +0 −40 data/wiki/Other-resources-that-Free-Code-Camp-recommends-to-nonprofits.md
  87. +0 −13 data/wiki/Pair-programming-and-why-it-is-special.md
  88. +0 −38 data/wiki/Pseudoclassical-class-definition-OOp.md
  89. +0 −22 data/wiki/Pull-Request-Contribute.md
  90. +0 −27 data/wiki/Quick-tip-keep-data-in-sync.md
  91. +0 −11 data/wiki/RTFM.md
  92. +0 −10 data/wiki/Refresh-Your-Browser-Cache.md
  93. +0 −15 data/wiki/Restrict-a-page-to-authenticated-users.md
  94. +0 −9 data/wiki/Searching-for-Your-Issue-on-Github.md
  95. +0 −6 data/wiki/Seed-data.md
  96. +0 −9 data/wiki/Slack.md
  97. +0 −59 data/wiki/Spanish-Translation-Terminology.md
  98. +0 −5 data/wiki/Streaks.md
  99. +0 −7 data/wiki/The-main-advantages-of-Free-Code-Camp.md
  100. +0 −12 data/wiki/Tips-on-How-To-Become-A-Good-Pair-Programmer.md
  101. +0 −24 data/wiki/Trying-to-understand-the-solution-for-FCCs-sorted-union-using-callback-function.md
  102. +0 −12 data/wiki/Waypoint Access Array Data with Indexes.md
  103. +0 −2 data/wiki/Waypoint Add Elements within your Bootstrap Wells.md
  104. +0 −4 data/wiki/Waypoint Add Font Awesome Icons to all of our Buttons.md
  105. +0 −4 data/wiki/Waypoint Add Font Awesome Icons to our Buttons.md
  106. +0 −4 data/wiki/Waypoint Add ID Attributes to Bootstrap Elements.md
  107. +0 −4 data/wiki/Waypoint Add Two Numbers with JavaScript.md
  108. +0 −10 data/wiki/Waypoint Add your JavaScript Slot Machine Slots.md
  109. +0 −23 data/wiki/Waypoint Apply the Default Bootstrap Button Style.md
  110. +0 −10 data/wiki/Waypoint Bring your JavaScript Slot Machine to Life.md
  111. +0 −15 data/wiki/Waypoint Build JavaScript Objects.md
  112. +0 −4 data/wiki/Waypoint Call out Optional Actions with Button Info.md
  113. +0 −4 data/wiki/Waypoint Center Text with Bootstrap.md
  114. +0 −13 data/wiki/Waypoint Change the CSS of an Element Using jQuery.md
  115. +0 −4 data/wiki/Waypoint Check the Length Property of a String Variable.md
  116. +0 −4 data/wiki/Waypoint Clone an Element Using jQuery.md
  117. +0 −10 data/wiki/Waypoint Comment your JavaScript Code.md
  118. +0 −26 data/wiki/Waypoint Create Bootstrap Wells.md
  119. +0 −2 data/wiki/Waypoint Create Decimal Numbers with JavaScript.md
  120. +0 −4 data/wiki/Waypoint Create a Block Element Bootstrap Button.md
  121. +0 −4 data/wiki/Waypoint Create a Bootstrap Button.md
  122. +0 −2 data/wiki/Waypoint Create a Bootstrap Headline.md
  123. +0 −2 data/wiki/Waypoint Create a Bootstrap Row.md
  124. +0 −4 data/wiki/Waypoint Create a Class to Target with jQuery Selectors.md
  125. +0 −12 data/wiki/Waypoint Create a Custom Heading.md
  126. +0 −8 data/wiki/Waypoint Create a JavaScript Slot Machine.md
  127. +0 −4 data/wiki/Waypoint Declare JavaScript Variables.md
  128. +0 −4 data/wiki/Waypoint Declare String Variables.md
  129. +0 −2 data/wiki/Waypoint Delete your jQuery Functions.md
  130. +0 −8 data/wiki/Waypoint Disable an Element Using jQuery.md
  131. +0 −4 data/wiki/Waypoint Ditch Custom CSS for Bootstrap.md
  132. +0 −2 data/wiki/Waypoint Divide One Number by Another with JavaScript.md
  133. +0 −6 data/wiki/Waypoint Find Numbers with Regular Expressions.md
  134. +0 −6 data/wiki/Waypoint Find White Space with Regular Expressions.md
  135. +0 −2 data/wiki/Waypoint Generate Random Fractions with JavaScript.md
  136. +0 −6 data/wiki/Waypoint Generate Random Whole Numbers with JavaScript.md
  137. +0 −6 data/wiki/Waypoint Generate Random Whole Numbers within a Range.md
  138. +0 −2 data/wiki/Waypoint Give Each Element a Unique ID.md
  139. +0 −6 data/wiki/Waypoint Give your JavaScript Slot Machine some stylish images.md
  140. +0 −8 data/wiki/Waypoint House our page within a Bootstrap Container Fluid Div.md
  141. +0 −4 data/wiki/Waypoint Invert Regular Expression Matches with JavaScript.md
  142. +0 −11 data/wiki/Waypoint Iterate with JavaScript While Loops.md
  143. +0 −2 data/wiki/Waypoint Label Bootstrap Buttons.md
  144. +0 −2 data/wiki/Waypoint Label Bootstrap Wells.md
  145. +0 −12 data/wiki/Waypoint Learn how Script Tags and Document Ready Work.md
  146. +0 −9 data/wiki/Waypoint Line up Form Elements Responsively with Bootstrap.md
  147. +0 −2 data/wiki/Waypoint Make Images Mobile Responsive.md
  148. +0 −6 data/wiki/Waypoint Manipulate Arrays With pop().md
  149. +0 −4 data/wiki/Waypoint Manipulate Arrays With push().md
  150. +0 −2 data/wiki/Waypoint Manipulate Arrays With shift().md
  151. +0 −2 data/wiki/Waypoint Manipulate Arrays With unshift().md
  152. +0 −8 data/wiki/Waypoint Manipulate JavaScript Objects.md
  153. +0 −9 data/wiki/Waypoint Modify Array Data With Indexes.md
  154. +0 −4 data/wiki/Waypoint Multiply Two Numbers with JavaScript.md
  155. +0 −2 data/wiki/Waypoint Nest one Array within Another Array.md
  156. +0 −4 data/wiki/Waypoint Perform Arithmetic Operations on Decimals with JavaScript.md
  157. +0 −4 data/wiki/Waypoint Remove Classes from an element with jQuery.md
  158. +0 −2 data/wiki/Waypoint Remove an Element Using jQuery.md
  159. +0 −4 data/wiki/Waypoint Responsively Style Checkboxes.md
  160. +0 −18 data/wiki/Waypoint Responsively Style Radio Buttons.md
  161. +0 −13 data/wiki/Waypoint Sift through Text with Regular Expressions.md
  162. +0 −12 data/wiki/Waypoint Split your Bootstrap Row.md
  163. +0 −6 data/wiki/Waypoint Store Multiple Values in one Variable using JavaScript Arrays.md
  164. +0 −4 data/wiki/Waypoint Style Text Inputs as Form Controls.md
  165. +0 −4 data/wiki/Waypoint Subtract One Number from Another with JavaScript.md
  166. +0 −4 data/wiki/Waypoint Target Elements by Class Using jQuery.md
  167. +0 −4 data/wiki/Waypoint Target Elements by ID Using jQuery.md
  168. +0 −6 data/wiki/Waypoint Target Even Numbered Elements Using jQuery.md
  169. +0 −14 data/wiki/Waypoint Target HTML Elements with Selectors Using jQuery.md
  170. +0 −6 data/wiki/Waypoint Target a Specific Child of an Element Using jQuery.md
  171. +0 −6 data/wiki/Waypoint Target the Children of an Element Using jQuery.md
  172. +0 −8 data/wiki/Waypoint Target the Parent of an Element Using jQuery.md
  173. +0 −15 data/wiki/Waypoint Target the same element with multiple jQuery Selectors.md
  174. +0 −4 data/wiki/Waypoint Taste the Bootstrap Button Color Rainbow.md
  175. +0 −2 data/wiki/Waypoint Understand Boolean Values.md
  176. +0 −4 data/wiki/Waypoint Use Bracket Notation to Find the First Character in a String.md
  177. +0 −6 data/wiki/Waypoint Use Bracket Notation to Find the Last Character in a String.md
  178. +0 −6 data/wiki/Waypoint Use Bracket Notation to Find the Nth Character in a String.md
  179. +0 −2 data/wiki/Waypoint Use Bracket Notation to Find the Nth-to-Last Character in a String.md
  180. +0 −29 data/wiki/Waypoint Use Comments to Clarify Code.md
  181. +0 −15 data/wiki/Waypoint Use Conditional Logic with If-Else Statements.md
  182. +0 −6 data/wiki/Waypoint Use Responsive Design with Bootstrap Fluid Containers.md
  183. +0 −4 data/wiki/Waypoint Use Spans for Inline Elements.md
  184. +0 −4 data/wiki/Waypoint Use appendTo to Move Elements with jQuery.md
  185. +0 −4 data/wiki/Waypoint Use jQuery to Modify the Entire Page.md
  186. +0 −16 data/wiki/Waypoint Use the Bootstrap Grid to Put Elements Side By Side.md
  187. +0 −4 data/wiki/Waypoint Warn your Users of a Dangerous Action.md
  188. +0 −12 data/wiki/Waypoint Write Reusable JavaScript with Functions.md
  189. +0 −5 data/wiki/Waypoint-Add-Alt-Text-to-an-Image-for-Accessibility.md
  190. +0 −3 data/wiki/Waypoint-Add-Borders-Around-your-Elements.md
  191. +0 −1 data/wiki/Waypoint-Add-Different-Margins-to-Each-Side-of-an-Element.md
  192. +0 −11 data/wiki/Waypoint-Add-Different-Padding-to-Each-Side-of-an-Element.md
  193. +0 −3 data/wiki/Waypoint-Add-Images-to-your-Website.md
  194. +0 −3 data/wiki/Waypoint-Add-Placeholder-Text-to-a-Text-Field.md
  195. +0 −12 data/wiki/Waypoint-Add-Rounded-Corners-with-a-Border-Radius.md
  196. +0 −1 data/wiki/Waypoint-Add-a-Negative-Margin-to-an-Element.md
  197. +0 −8 data/wiki/Waypoint-Add-a-Submit-Button-to-a-Form.md
  198. +0 −9 data/wiki/Waypoint-Adjust-the-Margin-of-an-Element.md
  199. +0 −8 data/wiki/Waypoint-Adjusting-the-Padding-of-an-Element.md
  200. +0 −3 data/wiki/Waypoint-Change-the-Color-of-Text.md
  201. +0 −1 data/wiki/Waypoint-Change-the-Font-Size-of-an-Element.md
  202. +0 −3 data/wiki/Waypoint-Check-Radio-Buttons-and-Checkboxes-by-Default.md
  203. +0 −15 data/wiki/Waypoint-Comment-out-HTML.md
  204. +0 −14 data/wiki/Waypoint-Create-a-Bulleted-Unordered-List.md
  205. +0 −3 data/wiki/Waypoint-Create-a-Form-Element.md
  206. +0 −5 data/wiki/Waypoint-Create-a-Set-of-Checkboxes.md
  207. +0 −5 data/wiki/Waypoint-Create-a-Set-of-Radio-Buttons.md
  208. +0 −3 data/wiki/Waypoint-Create-a-Text-Field.md
  209. +0 −14 data/wiki/Waypoint-Create-an-Ordered-List.md
  210. +0 −1 data/wiki/Waypoint-Delete-HTML-Elements.md
  211. +0 −11 data/wiki/Waypoint-Fill-in-the-Blank-with-Placeholder-Text.md
  212. +0 −3 data/wiki/Waypoint-Give-a-Background-Color-to-a-Div-Element.md
  213. +0 −6 data/wiki/Waypoint-Headline-with-the-h2-Element.md
  214. +0 −1 data/wiki/Waypoint-Import-a-Google-Font.md
  215. +0 −9 data/wiki/Waypoint-Inform-with-the-Paragraph-Element.md
  216. +0 −13 data/wiki/Waypoint-Inherit-Styles-from-the-Body-Element.md
  217. +0 −23 data/wiki/Waypoint-Iterate-with-JavaScript-For-Loops.md
  218. +0 −3 data/wiki/Waypoint-Link-to-External-Pages-with-Anchor-Elements.md
  219. +0 −10 data/wiki/Waypoint-Make-Circular-Images-with-a-Border-Radius.md
  220. +0 −3 data/wiki/Waypoint-Make-Dead-Links-using-the-Hash-Symbol.md
  221. +0 −23 data/wiki/Waypoint-Nest-Many-Elements-within-a-Single-Div-Element.md
  222. +0 −1 data/wiki/Waypoint-Nest-an-Anchor-Element-within-a-Paragraph.md
  223. +0 −3 data/wiki/Waypoint-Override-All-Other-Styles-by-using-Important.md
  224. +0 −19 data/wiki/Waypoint-Override-Class-Declarations-by-Styling-ID-Attributes.md
  225. +0 −1 data/wiki/Waypoint-Override-Class-Declarations-with-Inline-Styles.md
  226. +0 −1 data/wiki/Waypoint-Override-Styles-in-Subsequent-CSS.md
  227. +0 −15 data/wiki/Waypoint-Prioritize-One-Style-Over-Another.md
  228. +0 −7 data/wiki/Waypoint-Say-Hello-to-HTML-Elements.md
  229. +0 −1 data/wiki/Waypoint-Set-the-Font-Family-of-an-Element.md
  230. +0 −7 data/wiki/Waypoint-Set-the-ID-of-an-Element.md
  231. +0 −3 data/wiki/Waypoint-Size-your-Images.md
  232. +0 −3 data/wiki/Waypoint-Specify-How-Fonts-Should-Degrade.md
  233. +0 −1 data/wiki/Waypoint-Style-the-HTML-Body-Element.md
  234. +0 −1 data/wiki/Waypoint-Turn-an-Image-into-a-Link.md
  235. +0 −5 data/wiki/Waypoint-Uncomment-HTML.md
  236. +0 −11 data/wiki/Waypoint-Use-Abbreviated-Hex-Code.md
  237. +0 −7 data/wiki/Waypoint-Use-CSS-Selectors-to-Style-Elements.md
  238. +0 −10 data/wiki/Waypoint-Use-Clockwise-Notation-to-Specify-the-Margin-of-an-Element.md
  239. +0 −10 data/wiki/Waypoint-Use-Clockwise-Notation-to-Specify-the-Padding-of-an-Element.md
  240. +0 −10 data/wiki/Waypoint-Use-HTML5-to-Require-a-Field.md
  241. +0 −3 data/wiki/Waypoint-Use-Hex-Code-for-Specific-Colors.md
  242. +0 −1 data/wiki/Waypoint-Use-Hex-Code-for-Specific-Shades-of-Gray.md
  243. +0 −9 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Blue.md
  244. +0 −1 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Gray.md
  245. +0 −9 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Green.md
  246. +0 −3 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Red.md
  247. +0 −1 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-White.md
  248. +0 −9 data/wiki/Waypoint-Use-Hex-Code-to-Mix-Colors.md
  249. +0 −1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-Blue.md
  250. +0 −1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-Gray.md
  251. +0 −1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-Green.md
  252. +0 −1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-Red.md
  253. +0 −1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-White.md
  254. +0 −1 data/wiki/Waypoint-Use-RGB-to-Mix-Colors.md
  255. +0 −5 data/wiki/Waypoint-Use-RGB-values-to-Color-Elements.md
  256. +0 −3 data/wiki/Waypoint-Use-a-CSS-Class-to-Style-an-Element.md
  257. +0 −7 data/wiki/Waypoint-Use-an-ID-Attribute-to-Style-an-Element.md
  258. +0 −4 data/wiki/What-exactly-Free-Code-Camp-does.md
  259. +0 −11 data/wiki/What-pair-programming-is-and-why-it-is-special.md
  260. +0 −10 data/wiki/What-the-main-advantages-of-Free-Code-Camp-are.md
  261. +0 −15 data/wiki/What-the-style-guide-for-Bonfires-is.md
  262. +0 −7 data/wiki/What-to-do-if-you-speak-a-language-that-Free-Code-Camp-does-not-yet-support.md
  263. +0 −12 data/wiki/What-you-will-learn,-and-in-what-sequence-you-will-learn-it.md
  264. +0 −24 data/wiki/Why-You-Should-Try-Pair-Programming.md
  265. +0 −7 data/wiki/Why-does-Free-Code-Camp-use-JavaScript-instead-of-Ruby-or-Python.md
  266. +0 −8 data/wiki/Why-you-need-Free-Code-Camp..md
  267. +0 −17 data/wiki/Wiki-Style-Guide.md
  268. +0 −25 data/wiki/World-Language-Chat-Rooms.md
  269. +0 −34 data/wiki/Writing-great-git-commit-message.md
  270. +0 −10 data/wiki/You-will-be-able-to-get-a-software-engineering-job-after-Free-Code-Camp.md
  271. +0 −7 data/wiki/_Footer.md
  272. +0 −12 data/wiki/_Sidebar.md
  273. +0 −17 data/wiki/beta.md
  274. +0 −101 data/wiki/bonfire-arguments-optional.md
  275. +0 −80 data/wiki/bonfire-binary-agents.md
  276. +0 −1 data/wiki/bonfire-check-for-palindromes.md
  277. +0 −72 data/wiki/bonfire-chunky-monkey.md
  278. +0 −1 data/wiki/bonfire-confirm-the-ending.md
  279. +0 −1 data/wiki/bonfire-convert-HTML-entities.md
  280. +0 −60 data/wiki/bonfire-drop-it.md
  281. +0 −73 data/wiki/bonfire-everything-be-true.md
  282. +0 −1 data/wiki/bonfire-find-the-longest-word-in-a-string.md
  283. +0 −67 data/wiki/bonfire-finders-keepers.md
  284. +0 −104 data/wiki/bonfire-make-a-person.md
  285. +0 −92 data/wiki/bonfire-map-the-debris.md
  286. +0 −37 data/wiki/bonfire-mutations.md
  287. +0 −83 data/wiki/bonfire-pairwise.md
  288. +0 −1 data/wiki/bonfire-repeat-a-string-repeat-a-string.md
  289. +0 −1 data/wiki/bonfire-return-largest-numbers-in-arrays.md
  290. +0 −4 data/wiki/bonfire-roman-numeral-converter.md
  291. +0 −63 data/wiki/bonfire-slasher-flick.md
  292. +0 −21 data/wiki/bonfire-smallest-common-multiple.md
  293. +0 −71 data/wiki/bonfire-steamroller.md
  294. +0 −1 data/wiki/bonfire-sum-all-odd-fibonacci-numbers.md
  295. +0 −82 data/wiki/bonfire-sum-all-primes.md
  296. +0 −1 data/wiki/bonfire-title-case-a-sentence.md
  297. +0 −42 data/wiki/bonfire-truncate-a-string.md
  298. +0 −39 data/wiki/boolean.md
  299. +0 −5 data/wiki/bootstrap.md
  300. +0 −20 data/wiki/bot-announce.md
Sorry, we could not display the entire diff because too many files (359) changed.
View
3 .gitmodules
@@ -1,6 +1,3 @@
-[submodule "data/kbase.wiki"]
- path = data/kbase.wiki
- url = https://github.com/bothelpers/kbase.wiki.git
[submodule "data/fcc.wiki"]
path = data/fcc.wiki
url = https://github.com/FreeCodeCamp/wiki.git
View
2 README.md
@@ -98,6 +98,7 @@ git clone https://github.com/FreeCodeCamp/camperbot.git
```sh
cd camperbot
cp dot-EXAMPLE.env dot.env
+git submodule update --remote --checkout --init --recursive
npm install
nodemon app.js
```
@@ -130,6 +131,7 @@ git clone https://github.com/FreeCodeCamp/camperbot.git
```sh
cd campberbot
copy dot-EXAMPLE.env dot.env
+git submodule update --remote --checkout --init --recursive
npm install
nodemon app.js
```
View
4 bin/force-update.sh
@@ -2,8 +2,4 @@ git checkout .
git clean -f
git reset --hard HEAD
-# we need to remove the /wiki directory
-# to avoid git conflicts
-rm -rf data/wiki/*md
-
git pull
View
10 bin/wiki-pull-prod.sh
@@ -1,10 +1,10 @@
# pull down wiki files
# don't commit them back
# just used on prod server
-#
+#
# used on the production server only
-APPDIR=/home/freecodecamp/www/gitterbot/nap
+APPDIR=/home/freecodecamp/www/gitterbot
GITPATH=/usr/bin/git
@@ -14,9 +14,3 @@ $GITPATH fetch
$GITPATH checkout master
$GITPATH pull origin master
cd $APPDIR
-
-rm $APPDIR/data/wiki/*
-
-cp $APPDIR/data/fcc.wiki/*md $APPDIR/data/wiki
-
-
View
7 bin/wiki-pull.sh
@@ -8,10 +8,3 @@ cd data/fcc.wiki
git fetch
# git checkout master
git pull origin master
-cd ../..
-
-rm data/wiki/*
-
-cp data/fcc.wiki/*md data/wiki
-
-
View
5 bin/wiki-update.sh
@@ -4,8 +4,3 @@ cd data/fcc.wiki
git fetch
git checkout master
git pull origin master
-cd ../..
-
-rm data/wiki/*
-
-cp data/fcc.wiki/*md data/wiki
1 data/fcc.wiki
@@ -0,0 +1 @@
+Subproject commit 2a53b25281897e662928a7cd9dc9813c61654c45
View
18 data/wiki/5-Steps-to-organizing-a-successful-Campsite-event..md
@@ -1,18 +0,0 @@
-# In-person group programming sessions and events are fun!
-
-## This Wiki will help you with organizing a successful Campsite event.
-
-### With a little planning and communication having a successful Campsite event can be easy! Here are some steps to help you in doing this.
-###
-
-* Determine the topic for the event (code and coffee, hack session, invite campers to another organization's event).
-
-* Find a suitable location. Campsite events should always take place in a public space (library, cafe, hackerspace).
-
-* Create an event on your Campsite's Facebook page for the event, and link to it on your Campsite Facebook Group page.
-
-* Follow-up with reminder posts for the event 1 week prior to the event and then again the day before the event.
-
-* On the day of the event arrive early, get setup, greet members, and kick the event off. Don't forget to thank everyone afterwards and extend invites to future meetups.
-
-**Try to take some pictures and post them on your Campsite's Facebook group page.**
View
13 data/wiki/Accessing-the-database-from-your-frontend.md
@@ -1,13 +0,0 @@
-You must have noticed in **main.controller.js** how *things* were retrieved from the database and displayed:
-
-~~~javascript
-$http.get('/api/things').success(function(awesomeThings){
- $scope.awesomeThings = awesomeThings;
-});
-
-~~~
-
-What this does is call the api with a “get” request, which is then routed by **/server/api/thing/index.js** to the *exports.index* function in **thing.controller.js**. You’ll also notice in **main.controller.js** that there are included examples of *$http.post* and *$http.delete* functions too! How nice!
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Fixing-exports.update)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Seed-data)
View
9 data/wiki/Adding-Environment-Variables.md
@@ -1,9 +0,0 @@
-1. Download [Varpanel](http://implbits.com/products/varpanel/).
-2. Open Varpanel.
-3. In PATH variable, add the relevant path.
-
-![](http://i.imgur.com/RqgGcf5.gif)
-
-## []()
-
-Easy Launch Programs using [Launchy](http://www.launchy.net/) App.
View
14 data/wiki/Angular-Resources.md
@@ -1,14 +0,0 @@
-A collection of helpful Angular resources
-
-### General Pages
-* [Angular JS](https://angularjs.org/) - The Angular JS Homepage
-* [Angular Style Guide](https://github.com/johnpapa/angular-styleguide) - Detailed best practices for Angular Development
-
-### Specific-topic Pages
-* [Directives](http://www.sitepoint.com/practical-guide-angularjs-directives/) - Excellent guide going into detail on Angular Directives (Part 1)
-* [Directives](http://www.sitepoint.com/practical-guide-angularjs-directives-part-two/) - Excellent guide going into detail on Angular Directives (Part 2)
-
-### Videos
-* [Routing in Angular JS](https://www.youtube.com/watch?v=5uhZCc0j9RY) - Client Side Routing in 15 minutes
-* [Angular ToDo App](https://www.youtube.com/watch?v=WuiHuZq_cg4) - An Angular ToDo app in 12 minutes
-* [Shaping Up with Angular.JS](https://www.codeschool.com/courses/shaping-up-with-angular-js) - A free Angular.JS tutorial
View
28 data/wiki/August-2015-Improvements.md
@@ -1,28 +0,0 @@
-### Email login and password reset is fixed!
-
-If you have any issues with Free Code Camp, please let us know: https://github.com/freecodecamp/freecodecamp/issues/new
-
-## Sunday's Improvements
-* replaced our getting-started videos with a simple 10-minute process (using GIFs instead of videos)
-* doubled the number of our HTML5 and Bootstrap challenges
-* replaced Codecademy's JavaScript and jQuery challenges with our own challenges
-* added our own Object-oriented Programming and Functional Programming challenges
-* added two new Zipline front end challenges (Personal Portfolio and Simon game), and moved our Ziplines to much earlier in our curriculum
-* completely replaced our Field Guide with a searchable, and easily-editable open-source wiki
-* made it so your Bonfire code is stored in your browser, so if you leave the page, your code will be there when you come back
-* simplified our portfolio pages. You can now click a single button to mirror your Free Code Camp profile with your GitHub profile. Bonfire solutions are no longer shown here, but they'll eventually be accessible through our API.
-* fixed some issues with Brownie Points and Streaks
-* improved our Camper News page by removing the (mostly unused) comments and adding one-click upvoting
-* added a Creative Commons license to literally all of our images and text
-* thanks to Loopback, everything is now an API, and we will soon publish cool ways to interact with Free Code Camp's (non-sensitive) data
-
-## FAQ
-
-### The challenge I was most recently doing disappeared.
-You can just keep going. If you have time to go back and try our new challenges, they should be a quick review for you. Otherwise, keep moving forward.
-
-### Why are you deploying all these improvements at once?
-We've been working on some of the features for months on our Staging branch. Most of them were held up by a single task: our transition to [Loopback](http://loopback.io/). @BerkeleyTrue started working on this back in March.
-
-### Was deploying everything at once necessary?
-Probably not. Going forward, we will deploy new code several times a day (as we did prior to the Loopback feature). We plan to start using a [continuous integration](https://en.wikipedia.org/wiki/Continuous_integration) and other agile best practices as we reduce our [technical debt](https://en.wikipedia.org/wiki/Technical_debt).
View
20 data/wiki/August-Live-Stream.md
@@ -1,20 +0,0 @@
-### Free Code Camp's [August Live Stream] (https://youtu.be/UhoxoYrJ6Qs) was the largest yet.
-
-## The agenda included:
-
-- Opening words Michael
-- New front end challenges [3:00] (https://youtu.be/UhoxoYrJ6Qs?t=3m)
-- Newly configured full-stack challenges
-- New Nonprofit Projects [12:32] (https://youtu.be/UhoxoYrJ6Qs?t=12m32s)
-- Wiki [22:49] (https://youtu.be/UhoxoYrJ6Qs?t=22m49s)
-- New chat rooms [29:40] (https://youtu.be/UhoxoYrJ6Qs?t=29m40s)
-- New Live Streams [35:34] (https://youtu.be/UhoxoYrJ6Qs?t=35m34s)
-- New Internet Radio Station DJ'd by campers [36:30] (https://youtu.be/UhoxoYrJ6Qs?t=36m30s)
-- FCC Bot [39:24] (https://youtu.be/UhoxoYrJ6Qs?t=39m24s)
-- Matt Yamamoto Zipline Demo [54:24] (https://youtu.be/UhoxoYrJ6Qs?t=54m24s)
-- Closing from Quincy [1:04:15] (https://youtu.be/UhoxoYrJ6Qs?t=1h4m15s)
-- [Pull Request After Party with Quincy] (https://youtu.be/r0lCJ_TFYlI)
-
-<a href="http://www.youtube.com/watch?feature=player_embedded&v=UhoxoYrJ6Qs
-" target="_blank"><img src="https://www.evernote.com/l/AnvmsUWWNeJFNbfm7fDa7SRLmnbn7jafRL4B/image.png"
-alt="Screen shot from our twitch feed on August 1 2015" width="560" height="315"border="10" /></a>
View
9 data/wiki/Backend-file-structure.md
@@ -1,9 +0,0 @@
-Your app’s backend api that interacts with your database is located in **/server/api**
-Let’s take a look at **/server/api/thing**:
-
-1. **index.js**: this file routes the $http API requests made from your app’s front-end to the appropriate function in **thing.controller.js **
-2. **thing.controller.js**: Here is where we actually deal with the database! Take a minute to look through here and figure out what’s going on. These functions will: return all items in a collection, return a single item from a collection when passed its id, post an item to a collection, update an item in the collection (this doesn’t really work as intended out of the box, we're going to fix that in a minute), and of course, delete an item from the collection.
-3. **thing.model.js**: Here, the actual structure of a *thing* object is defined. You can add or remove any fields you want from the *thing* model, and as long as they’re syntactically correct they won’t break anything, even if there are *things* with different schemas in your database already. But! You don’t just have to edit the *thing* model to make a new type of collection, because generator-angular-fullstack can do it for you!
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Grunt)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-new-API-endpoint)
View
30 data/wiki/Basejump-Resources.md
@@ -1,30 +0,0 @@
-The curriculum lead-up to the first Basejump is not very comprehensive. Here are a number of common resources which other campers have found helpful.
-
-### Getting Started with Yeoman
-* https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Intro-to-Yeoman-Angular-Fullstack-Basejumps - Lots of helpful tips and tricks for the Yeoman Angular Fullstack setup
-* https://github.com/DaftMonk/generator-angular-fullstack#generators - Generator used by Yeoman, you can find syntax and what files it creates
-
-### APIs
-* API for Charting the stock market: https://www.quandl.com/help/api
-
-### MEAN Stack Videos
-* https://www.youtube.com/watch?v=kHV7gOHvNdk - 5 Part Series on setting up a MEAN stack
-
-### MEAN Stack Tutorials
-* Clementine is a stripped down MEAN stack, great for learning the fundamentals.
-https://johnstonbl01.github.io/clementinejs/tutorials/tutorial-beginner.html
-
-* Authentication with Passport for the MEAN stack:
-https://vickev.com/#!/article/authentication-in-single-page-applications-node-js-passportjs-angularjs
-
-* An amazing list of resources for learning the MEAN stack:
-https://github.com/ericdouglas/MEAN-Learning
-
-### Scotch IO Tutorials
-* https://scotch.io/tutorials/setting-up-a-mean-stack-single-page-application
-* https://scotch.io/tutorials/node-and-angular-to-do-app-application-organization-and-structure
-
-### Cloud 9 Tricks
-##### Speed up browser reloads
-1. Open gruntfile.js and edit both instances of `livereload: true` to `livereload: false`.
-2. Open server/config/express.js and comment out the line `app.use(require('connect-livereload')());`
View
2 data/wiki/Bobby-Tables.md
@@ -1,2 +0,0 @@
-![Her daughter is named Help I'm trapped in a driver's license factory](https://imgs.xkcd.com/comics/exploits_of_a_mom.png)
-*Source:[xkcd](https://xkcd.com/327/)*
View
32 data/wiki/Bonfire Meet Bonfire.md
@@ -1,32 +0,0 @@
-# Explanation:
-This is very simple, they just want you to get familiar with how their Bonfires work.
-
-## Hint: 1
-Read details.
-
-## Hint: 2
-Did you read all the details?
-
-## Hint: 3
-You need to change the return statement to what they ask.
-
-## Spoiler Alert!
-[![687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif](https://files.gitter.im/FreeCodeCamp/Wiki/nlOm/thumb/687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif)](https://files.gitter.im/FreeCodeCamp/Wiki/nlOm/687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif)
-
-**Solution ahead!**
-
-## Solution Code:
-
-```
-function meetBonfire(argument) {
- // Good luck!
- console.log("you can read this function's argument in the developer tools", argument);
-
- return true;
-}
-
-meetBonfire("You can do this!");
-```
-
-## Code Explanation:
-All you had to do was change from false to true.
View
93 data/wiki/Bonfire-Factorialize-a-Number.md
@@ -1,93 +0,0 @@
-You should make sure to try hard to solve the Bonfire yourself before reading this!
-# :link: [Original Bonfire](http://www.freecodecamp.com/challenges/bonfire-factorialize-a-number) :point_right:
-
-## Author
-![Luis](https://avatars3.githubusercontent.com/u/6039444?v=3&s=96) submitted by [luishendrix92](//freecodecamp.com/luishendrix92) | https://github.com/luishendrix92
-
-## The problem
-Return the factorial of the provided integer.
-If the integer is represented with the letter n, a factorial is the product of all positive integers less than or equal to n.
-
-Factorials are often represented with the shorthand notation n!
-
-For example: `5! = 1 * 2 * 3 * 4 * 5 = 120f`
-
-## Analysis
-Return the factorial of the provided integer.
-If the integer is represented with the letter n, a factorial is the product of all positive integers less than or equal to n.
-Factorials are often represented with the shorthand notation n!
-For example: 5! = 1 * 2 * 3 * 4 * 5 = 120
-
-## Outline
-This one is simple, since the factorials of both 0 and 1 is just 1, you can go ahead and return 1. The IF function here is responsible for breaking the loop I created using a **recursive function**, first it checks if the number you gave the function is 0 or 1 and then returns 1 if the condition passed; since there's no ELSE, the rest of the function is executed.
-
-## Understanding recursion
-Now, I put the references I studied to understand a *little bit* of how recursion works, and it's when a function repeats itself. The first time I did this challenge I used a short but effective **while loop** but I wanted to make it shorter and more efficient, you know... because of reasons ;).
-Basically what this does is return the number you gave multiplied by the function itself but this time the value passed to the *num* parameter is `num-1` which ultimately translates to 4. The very function is going to **run inside itself** haha, funny eh? It's like having functions that run inside themselves until they reach a very deep level (depends on how many times it runs itself).
-
-## Visualizing the flow
-![Recursion](http://i61.tinypic.com/28auvsw.jpg)
-
-The first **returned** value can be visualised better if you think about those parenthesis operations you did in secondary school where you do the math inside every parenthesis, bracket and square bracket until you get a final result (a total). This time it's the same thing, look at the program flow:
-
-## During the first execution of the function:
-[**num** = 5]
-
-Is 5 *equal* to 1 or 0? **No** ---> Oki doki, let's continue...
-
-**Returns:**
-
-(**5** * (*second execution*: **4** * (*third execution*: **3** * (*fourth execution*: **2** * *fifth execution*: **1**))))
-
-What it returns can be viewed as `(5*(4*(3*(2*1))))` or just `5 * 4 * 3 * 2 * 1`, and the function will return the result of that operation: `120`.
-Now, let's check whhat the rest of the executions do:
-
-## During the rest of the executions:
-- **Second Execution**: *num* = 5-1 = **4** -> is *num* 0 or 1? No --> return the multiplication between 4 and the next result when *num* is now 4-1.
-
-- **Third Execution**: *num* = 4 - 1 = **3** -> is *num* 0 or 1? No --> return the multiplication between 3 and the next result when *num* is now 3-1.
-
-- **Fourth Execution**: *num* = 3-1 = **2** -> is *num* 0 or 1? No --> return the multiplication between 2 and the next result when *num* is now 2-1.
-
-- **Fifth Execution**: *num* = 2-1 = **1** -> is *num* 0 or 1? Yep --> return **1**. And this is where the recursion stops because there are no more executions.
-
-## :construction: My Solution is coming up!
-Don't scroll down if you don't want to see it!
-
-![warning](http://www.yourdrum.com/yourdrum/images/2007/10/10/red_warning_sign_2.gif)
-
-```
- ,,, ,,,
- ;" ^; ;' ",
- ; s$$$$$$$s ;
- , ss$$$$$$$$$$s ,'
- ;s$$$$$$$$$$$$$$$
- $$$$$$$$$$$$$$$$$$
- $$$$P""Y$$$Y""W$$$$$ -{ Happy Camping! }
- $$$$ p"$$$"q $$$$$
- $$$$ .$$$$$. $$$$
- $$DcaU$$$$$$$$$$
- "Y$$$"*"$$$Y"
- "$b.$$"
-```
-
-## My solution
-``` javascript
-function factorialize(num) {
- if (num === 0 || num == 1) { return 1; }
- return num * factorialize(num-1);
-}
-
-factorialize(5);
-```
-
-
-
-## References
-- **Recursion**: https://www.codecademy.com/es/courses/javascript-lesson-205/0/1
-- **Factorialization**: https://en.wikipedia.org/wiki/Factorial
-- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators
-
-## If you enjoyed this guide, then type:
-`thanks @luishendrix92`
-in the chat!
View
29 data/wiki/Bonfire-Reverse-a-String.md
@@ -1,29 +0,0 @@
-# Problem Explanation:
-You need to take the string and reverse it so if you had originally 'hello', it will turn into 'olleh'. Because you will need to split it, you will be working with Arrays too.
-
-# Hint: 1
-- You should split the string by characters.
-
-# Hint: 2
-- Find out about the built in function to reverse a string.
-
-# Hint: 3
-- Once you have split and reversed, do not forget to join them back into one string.
-
-# Spoiler Alert!
-[![687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif](https://files.gitter.im/FreeCodeCamp/Wiki/nlOm/thumb/687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif)](https://files.gitter.im/FreeCodeCamp/Wiki/nlOm/687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif)
-
-**Solution ahead!**
-
-# Solution Code:
-
-```
-function reverseString(str) {
- var strReverse = str.split('').reverse().join('');
-
- return strReverse;
-}
-```
-
-# Code Explanation:
-This is a straightforward code. We create a variable that will hold the string split by characters, and then reversed and put back together.
View
43 data/wiki/Bonfire-Style-Guide.md
@@ -1,43 +0,0 @@
-*work in progress*
-
-# Bonfire Style Guide
-
-Writing Bonfire challenges is a great way to exercise your own problem solving and testing abilities. It is a simple three step process.
-
-1. Fill out the generator form and test your challenge: http://www.freecodecamp.com/bonfire-challenge-generator
-2. Once you have confirmed a working bonfire challenge in the generator, copy and paste the the fields into the JSON generator: http://www.freecodecamp.com/bonfire-json-generator
-3. Copy the JSON, fork the freecodecamp repository, and submit a pull request with your addition to the bonfires.json: https://github.com/FreeCodeCamp/freecodecamp/blob/master/seed_data/bonfires.json
-
-## Name
-
-Name your challenge
-
-## Difficulty
-
-Attempt to rate difficulty compared against existing bonfire challenges.
-
-*TODO: add basic quantifiers for each difficulty level*
-
-## Description
-
-Separate paragraphs with a line break. Only the first paragraph is visible prior to a user clicking the "More information" button.
-
-All necessary information must be included in the first paragraph. Write this first paragraph as succinct as possible. Subsequent paragraphs should offer hints or details if needed.
-
-If your subject matter warrants deeper understanding, you may link to Wikipedia.
-
-## Challenge Seed
-
-This is important.
-
-## ~~Challenge Entry Point~~ (deprecated)
-
-*Leave this field blank. It will soon be removed from the generator.*
-
-## Tests
-
-These tests are what bring your challenge to life. Without them, we cannot confirm the accuracy of a user's submitted answer. Choose your tests wisely.
-
-Bonfire tests are written using the [Chai.js](http://chaijs.com/) assertion library. Please use the `should` and `expect` syntax for end user readability. As an example of what not do to, many of the original Bonfire challenges are written with `assert` syntax and many of the test cases are difficult to read.
-
-If your bonfire question has a lot of edge cases, you will need to write many tests for full coverage. If you find yourself writing more tests than you desire, you may consider simplifying the requirements of your bonfire challenge. For difficulty level 1 through 3, you will generally only need 2 to 4 tests.
View
21 data/wiki/Bonfire-Symmetric-Difference.md
@@ -1,21 +0,0 @@
-Symmetric Difference is the difference between **two** sets.
-
-So in the Symmetric Difference Bonfire you would work through the arrays of numbers something like this -
-
-`sym(A, B, C)`
-Translates to
-`sym(sym(A,B),C)`
-
-Or in plain English - First find the Symmetric Difference of Set A and Set B. Then find the Symmetric Difference of this new set and Set C.
-
-So -
-
-`sym([1, 2, 5], [2, 3, 5], [3, 4, 5])`
-
-would equal
-
-`[1,4,5]`
-
-Here's a nice video tutorial (with an awful fake British accent!) -
-
-[YouTube - Symmetric Difference](https://www.youtube.com/watch?v=PxffSUQRkG4)
View
25 data/wiki/Bonfire-Wiki-Template.md
@@ -1,25 +0,0 @@
-# Problem Explanation:
-- Explain what is asked in an easy to understand way.
-
-## Hint: 1
-- Add hint here.
-
-## Hint: 2
-- Add hint here.
-
-## Hint: 3
-- Add hint here.
-
-## Spoiler Alert!
-[![687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif](https://files.gitter.im/FreeCodeCamp/Wiki/nlOm/thumb/687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif)](https://files.gitter.im/FreeCodeCamp/Wiki/nlOm/687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif)
-
-**Solution ahead!**
-
-## Solution Code:
-
-```
-code here
-```
-
-## Code Explanation:
-- Explain your code here
View
9 data/wiki/Bonus-SocketIO.md
@@ -1,9 +0,0 @@
-If you've gotten to the Stock Charting basejump you may have noticed that the bonus criteria is to have your stock list live update across clients. This can be accomplished with SocketIO, but that’s not all SocketIO can do. Remember earlier, I mentioned that when using *$http.post* you had to update your local array with the database's version of the item you were posting? SocketIO keeps a user’s browser environment synced with your database in realtime. This has two practical upshots:
-
-1. You no longer have to manually update your local data with database data; it is all managed automatically
-2. You can push database changes live to users on different machines all at the same time
-
-Even better, if you just include SocketIO when prompted during the yeoman angular-fullstack setup, there is absolutely no work involved to include it. It works out of the box, has a working demo on the **main/** route, and you can learn how to use it yourself by simply looking at how they include it in **main.controller.js** (so I won’t go any further into detail).
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/isLoggedInAsync())
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Epilogue)
View
13 data/wiki/Brownie-Points.md
@@ -1,13 +0,0 @@
-The number beside your picture on Free Code Camp tells you how many Brownie Points you have.
-
-![A user profile picture next to a with Brownie Points score](http://i.imgur.com/SsvbkDH.png)
-
-There are three ways you can get Brownie Points:
-
-1. Complete challenges - you get one point per challenge you complete
-1. Post relevant links on [Camper News](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Camper-News) - you get 1 point for posting a link, and another point for each upvote your link gets
-1. Help other campers in chat - each time you help another camper and they thank you (by typing "thanks @yourname"), you will get a point
-
-Brownie Points help you look like the kind of person who codes a lot, shares relevant links, and helps people.
-
-They also add to your [Streak](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/streak/).
View
11 data/wiki/Camper-News.md
@@ -1,11 +0,0 @@
-Camper News is a link sharing tool, based on popular collaborative filtering systems like Reddit and Hacker News.
-
-![Screenshot of Camper News](https://www.evernote.com/l/AlwvYXoOf89EbYXWEXRfUw-_yHdBwx2jLr8B/image.png)
-
-Camper News is intentionally simple. You can:
-
-1. Browse and search through the camper-submitted links
-1. Upvote links
-1. Submit links of your own
-
-Our links are ranked in order of "hotness", which is a combination of each link's upvote count, and how recently the link was submitted.
View
20 data/wiki/Casual-Chat-Rooms.md
@@ -1,20 +0,0 @@
-The following are our casual chat rooms.
-
-**Please note that all chat rooms listed here are publicly accessible and indexed by search engines, so only share email addresses or other sensitive information in private messages.**
-
-| Chat Room | Description |
-| --- | --- |
-| [Hardware](https://gitter.im/freecodecamp/Hardware) | chat about computer hardware and Internet of Things |
-| [GameDev](https://gitter.im/freecodecamp/GameDev) | chat about designing and developing video games |
-| [Gaming](https://gitter.im/freecodecamp/Gaming) | chat about gaming of all kinds, such as video games and table top games |
-| [TVandMovies](https://gitter.im/freecodecamp/TVandMovies) | chat about TV shows and movies |
-| [Sports](https://gitter.im/freecodecamp/Sports) | chat about sports |
-| [Music](https://gitter.im/freecodecamp/Music) | chat about music |
-| [Art and Photography](https://gitter.im/freecodecamp/Photography) | chat about art, photography and videography |
-| [Business](https://gitter.im/freecodecamp/Business) | chat about business and entrepreneurship |
-| [Saving](https://gitter.im/freecodecamp/Saving) | chat about saving, investing, and home economics |
-| [SelfImprovement](https://gitter.im/freecodecamp/SelfImprovement) | chat about productivity, self improvement and quantified self |
-
-By joining these chat rooms, you accept our [Code of Conduct](https://github.com/FreeCodeCamp/freecodecamp/wiki/Code-of-Conduct). If you think we should add a chat room, please [message @quincylarson in Gitter](https://gitter.im/QuincyLarson).
-
-[Official Free Code Camp chat rooms](https://github.com/FreeCodeCamp/freecodecamp/wiki/Official-Free-Code-Camp-Chat-Rooms)
View
14 data/wiki/Clear-Your-Browser's-Local-Storage.md
@@ -1,14 +0,0 @@
-Removing all your locally stored challenges will solve many problems related to the browser crashing on FreeCodeCamp
-
-In Chrome:
-* On 'freecodecamp.com' open your console
- * Windows: Ctrl + Shift + J
- * Mac OS: Cmd + Opt + J
-* Go to resources tab(chrome).
- * There click on the localStorate link in the nav bar on the right.
-* Delete all the entries on the right side.
-* See if this solves your issue
-
-![](https://cloud.githubusercontent.com/assets/6775919/9448820/911626ee-4a53-11e5-98c9-b2bf4ca50816.png)
-
-Alternatively, if you are having issue's with a specific challenge freezing your browser find the name of that challenge in local storage and delete just that one.
View
60 data/wiki/Code-Style-Guide.md
@@ -1,60 +0,0 @@
-# Free Code Camp Style Guide
-<small>or How Cool People Write JavaScript.</small>
-
-
-## indent
- #alwaysUseTwoSpaces
-
- no hard tabs, ever. No really, just don't do it.
-
-## curly braces
- #curlyBracesEverywhere!
-
-## space after `function` keyword expect in anonymous functions.
-Good:
-```js
-var foo = function() {
- // ...
-};
-
-function foo() {
-}
-
-```
-Bad:
-```js
-var foo = function () {
- // ...
-};
-
-function foo ()
-{
- // ...
-}
-```
-## comments
-
- * no inline comments
- * single space after `//`
- * Do not use multiline comment `/* */`, we are reserving these for use with jsDocs.
-
-## keywords
-
- * space immediately after if, else, while, etc
- * opening curly brace should always be on the same line.
-
-Good:
-```js
-if (true) {
- // do the thing
-}
-```
-
-Bad:
-```js
-if(true)
-{
- // do the thing
-}
-```
-...more to come
View
20 data/wiki/Code-of-Conduct.md
@@ -1,20 +0,0 @@
-Free Code Camp is friendly place to learn to code. We're committed to keeping it that way.
-
-All campers are required to agree with the following code of conduct. We'll enforce this code. We're expecting cooperation from all campers in ensuring a friendly environment for everybody.
-
-In short: be nice to your fellow campers.
-
-Remember these 3 things and your fellow campers will like you:
-- Compliment your fellow campers when they do good work. Congratulate them when they accomplish something (like finishing a nonprofit project or getting a job).
-- Critique the work, not the camper doing it.
-- Only argue about something if it's important to the greater discussion.
-
-Free Code Camp should be a harassment-free experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, national origin, or religion (or lack thereof).
-
-We do not tolerate harassment of campers in any form, anywhere on Free Code Camp's online media (Gitter, Twitch, etc.) or during pair programming. Harassment includes sexual language and imagery, deliberate intimidation, stalking, unwelcome sexual attention, libel, and any malicious hacking or social engineering.
-
-If a camper engages in harassing behavior, our team will take any action we deem appropriate, up to and including banning them from Free Code Camp.
-
-We want everyone to feel safe and respected. If you are being harassed or notice that someone else is being harassed, say something! Message @quincylarson, @brianamarie and @codenonprofit in Gitter (preferably with a screen shot of the offending language) so we can take fast action.
-
-If you have questions about this code of conduct, email us at [team@freecodecamp.com](mailto:team@freecodecamp.com).
View
21 data/wiki/Coding-Help.md
@@ -1,21 +0,0 @@
-# Coding Help
-I started this list while doing bonfires, noticing a few things that were common issues / questions but I think most of them are going to be useful to people coding in general. If you've got some tips to help people code I'd love to hear them.
-
-1. If you don't know where to start, write some pseudocode. Plan out the logic you're trying to implement in your native language before you try to put it into code.
-
-2. Comment your code! Can't stress that one enough, if you get lost or take a break then come back you need to know what your code is trying to do. It will also reinforce what the code means to you, and help other people understand what your code does if you get stuck and ask for help. If you've got a any other tips for campers I'd love to see them!
-
-3. Use the chrome javascript debugger console in conjunction with something like netbeans IDE or sublime text to write your code. Both are free to download. <br />
-The free code camp window is great but you can get a lot more feedback on your code's behaviour by using chrome's JS debugger and a bunch of **console.log(myVariableGoesHere);** <br />
-https://developer.chrome.com/devtools/docs/console <br />
-http://www.sublimetext.com/ <br />
-https://netbeans.org/downloads/
-
-4. Posting your code in gitter is as simple as adding a line consisting of only
-> \`\`\`
->
-> Then your code on the next lines, followed by a final
->
-> \`\`\`
-
-5. Ask for help in gitter! I can personally relate to staring at a problem for hours, then seeing the solution as soon as I try to explain it to someone, or having someone say something like "typo on line 6" as soon as they see it.
View
7 data/wiki/Create,-Upload-and-Link-Animated-GIF-Image.md
@@ -1,7 +0,0 @@
-1. Download [LICEcap](http://www.cockos.com/licecap/) and install.
-2. Open and start recording to create animated GIF.
-3. Upload the `.gif` file in [EZGIF.com](http://ezgif.com/optimize).
- - Crop, Resize and Optimize as many times or as required.
-4. Download animated GIF.
-5. Upload image to [imgur.com](http://imgur.com).
-6. Link image using `![image title](http://i.imgur.com/RqgGcf5.gif)`.
View
14 data/wiki/Creating-a-New-Github-Issue.md
@@ -1,14 +0,0 @@
-Before submitting an issue try [Searching for Your Issue on Github](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Searching-for-Your-Issue-on-Github)
-
-Crafting a good issue will make it much easier for the dev team to replicate and resolve your problem. Follow these steps to do it right:
-
-1. Go to FreeCodeCamp's [Github Issues](https://github.com/FreeCodeCamp/FreeCodeCamp/issues) page and click on `New Issue`.
-* **Have a useful title**
- * Write a meaningful title that describes the issue. Some good examples are `Logging in from the News and Field Guide pages doesn't redirect properly (using e-mail)` and `Typo: "for" instead of "while" loop`; bad examples include `A bug, HELP!!!11` and `I found this bug in a waypoint`.
- * Keep the title relatively short, the description is for further information. One example is to shorten long waypoint names, so instead of writing `Test case bug in 'Waypoint: Check Radio Buttons and Checkboxes by Default'`, you might want to write `Test case bug in 'Radio Buttons' waypoint`.
-* In the body, **provide a link** to the page on which you encountered this issue.
-* **Describe the problem** and **provide steps** so that a developer can try to replicate the issue. Include your operating system and browser version.
- * When referencing other issues or pull requests, simply write #issue/pr-number.
-* Paste in any relevant code using proper [Code Formatting](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/code-formatting.)
-* **Take a screenshot** of the issue and include it in the post.
-* Click `Submit New Issue` and you are done! You will be automatically subscribed to notifications for any updates or future comments.
View
5 data/wiki/Creating-a-new-API-endpoint.md
@@ -1,5 +0,0 @@
- >> yo angular-fullstack:endpoint whatsit
-
Using this line, you get Yeoman to automatically generate another API endpoint and new kind of collection for your database. Now we have *things* as well as *whatsits*! Feel free to open up **/server/api/whatsit/whatsit.model.js** and define your whatsit however you like.
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Backend-file-structure)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Fixing-exports.update)
View
12 data/wiki/Creating-a-new-directive.md
@@ -1,12 +0,0 @@
-Do you remember custom directives from the shaping up with angular course? You can also make a custom directive!
-
- >> yo angular-fullstack:directive newdirective
-
-And if you need an html template for your custom directive (maybe you’re just making a directive to clean up your HTML code), tell it to make an html file when it prompts you to and you'll be able to include the contents of that template anywhere in your app with:
-
-~~~html
-<newdirective></newdirective>
-~~~
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-new-route)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Grunt)
View
10 data/wiki/Creating-a-new-route.md
@@ -1,10 +0,0 @@
- >> yo angular-fullstack:route newpage
- 
Typing the above into your command-line will generate a **newpage/** route for your app! It automatically generates all the necessary files within your **/client/app/newpage** folder, like your **/client/app/main** folder, with a **newpage.controller.js**, **newpage.controller.spec.js**, **newpage.js**, and **newpage.html**. These all pretty much behave like the ones in the **main/** route. If you’re accessing the database in your newpage controller, you’ll want to add *$http* to the list of dependencies in **newpage.controller.js** the same way it’s included in **main.controller.js**:
-
-~~~javascript
-angular.module('myApp')
- .controller('MainCtrl', function ($scope, $http) { ...
-~~~
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Frontend-file-structure)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-new-directive)
View
30 data/wiki/Dynamic-URLs-using-$routeParams.md
@@ -1,30 +0,0 @@
-What if you have a lot of users posting *things* to your website? Maybe your users want to have a profile, or a wall, of the *things* they’ve posted, and they want to be able to share it with their friends with a url? You can do that, no biggie!
-
-Let’s say you used
-
- >> yo angular-fullstack:route wall
-
-to generate a <a href="#">http://myapp.wherever.com/wall/</a> route for your users. You want a link to <a href="#">http://myapp.wherever.com/wall/someUsername</a> to show a specific user’s *things*.
-Browse to **/client/app/wall/wall.js** and notice that it detects what URL the user is requesting before acting on it:
-
-~~~javascript
-$routeProvider.when('/wall', …
-~~~
-You can customize that path to catch when a user is trying to see a profile associated with a specific username like so:
-
-~~~javascript
-$routeProvider.when('/wall/:username', …
-~~~
-The colon before "username" indicates that this is a variable, which is then passed to the *$routeParams* module. In **wall.controller.js**, include *$routeParams*:
-
-~~~javascript
-.controller('WallCtrl', function ($scope, $routeParams) { …
-~~~
-Then later on in **wall.controller.js**, you can see what username was requested in the URL by referring to the variable generated by *$routeProvider* using something like
-
-~~~javascript
-var wallOwner = $routeParams.username;
-~~~
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Quick-tip:-keep-data-in-sync)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/More-useful-APIs)
View
3 data/wiki/Edit-or-Delete-message.md
@@ -1,3 +0,0 @@
-> Editing or Deleting a previous message within 5 mins. of posting
-
-![How to delete message](http://i.imgur.com/gDivlLJ.gif)
View
13 data/wiki/Epilogue.md
@@ -1,13 +0,0 @@
-If you have any issues not covered in this guide:
-
-1. google google google google duckduckgo
-2. bug @freecodecamp and me (@clnhll) on twitter
-3. did you miss a semicolon? a comma?
-4. make a big loud stink in the freecodecamp help gitter.
-
-If you notice any inaccuracies or bad coding practices in this guide, please let me know ASAP!
-
-I believe in you!
--[clnhll](https://github.com/clnhll)
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Bonus:-SocketIO)
View
14 data/wiki/Fixing-exports.update.md
@@ -1,14 +0,0 @@
-As it turns out, in **thing.controller.js** as well as in any other endpoints you may generate, the *exports.update* function that is called when you make an *$http.put* call from your frontend to modify an existing database object is broken. This is a <a href="https://github.com/DaftMonk/generator-angular-fullstack/issues/310">known issue</a>, and can be fixed by changing the following line:
-
-~~~javascript
-// Updates an existing thing in the DB.
-exports.update = function(req, res) {
-...
- var updated = _.extend(thing, req.body);
- // change _.merge to _.extend
-...
- };
-~~~
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-new-API-endpoint)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Accessing-the-database-from-your-frontend)
View
53 data/wiki/Free-Code-Camp's-Privacy-Policy.md
@@ -1,53 +0,0 @@
-Free Code Camp is committed to respecting the privacy of visitors to our web sites and web applications. The guidelines below explain how we protect the privacy of visitors to FreeCodeCamp.com and its features.
-
-### Personally Identifiable Information
-
-Free Code Camp protects the identity of visitors to FreeCodeCamp.com by limiting the collection of personally identifiable information.
-
-Free Code Camp does not knowingly collect or solicit personally identifiable information from or about children under 13, except as permitted by law. If we discover we have received any information from a child under 13 in violation of this policy, we will delete that information immediately. If you believe Free Code Camp has any information from or about anyone under 13, please email us at [team@freecodecamp.com](mailto:team@freecodecamp.com).
-
-All personally identifiable information you provide to us is used by Free Code Camp and its team to process and manage your account, analyze the demographic of our users, or to deliver services through the site.
-
-If you choose to provide personally identifiable information to us, you may receive occasional emails from us that are relevant to Free Code Camp, getting a job, or learning to code in general.
-Free Code Camp may also use other third-party providers to facilitate the delivery of the services described above, and these third-party providers may be supplied with or have access to personally identifiable information for the sole purpose of providing these services, to you on behalf of Free Code Camp.
-
-Free Code Camp may also disclose personally identifiable information in special legal circumstances. For instance, such information may be used where it is necessary to protect our copyright or intellectual property rights, or if the law requires us to do so.
-
-### Anonymous Information
-Anonymous aggregated data may be provided to other organizations we associate with for statistical purposes. For example, we may report to an organization that a certain percentage of our site's visitors are adults between the ages of 25 and 35.
-
-### Cookies and Beacons—Use by Free Code Camp; Opting Out
-We use cookies and software logs to monitor the use of FreeCodeCamp.com and to gather non-personal information about visitors to the site. Cookies are small files that Free Code Camp transfers to the hard drives of visitors for record-keeping purposes. These monitoring systems allow us to track general information about our visitors, such as the type of browsers (for example, Firefox or Internet Explorer), the operating systems (for instance, Windows or Macintosh), or the Internet providers (for instance, Comcast) they use. This information is used for statistical and market research purposes to tailor content to usage patterns and to provide services requested by our customers. To delete these cookies, please see your browser's privacy settings.
-
-A beacon is an electronic file object (typically a transparent image) placed in the code of a Web page. We use third party beacons to monitor the traffic patterns of visitors from one Free Code Camp.com page to another and to improve site performance.
-None of the information we gather in this way can be used to identify any individual who visits our site.
-
-### Security
-
-Any personally identifiable information collected through this site is stored on limited-access servers. We will maintain safeguards to protect these servers and the information they store.
-
-### Surveys
-We may occasionally conduct on-line surveys. All surveys are voluntary and you may decline to participate.
-
-### Copyright
-All of the content on FreeCodeCamp.com is copyrighted by Free Code Camp. If you'd like to redistribute it beyond simply sharing it through social media, please contact us at [team@freecodecamp.com](mailto:team@freecodecamp.com).
-
-### Contacting Us
-If you have questions about Free Code Camp, or to correct, update, or remove personally identifiable information, please email us at [team@freecodecamp.com](mailto:team@freecodecamp.com).
-
-### Links to Other Web sites
-Free Code Camp's sites each contain links to other Web sites. Free Code Camp is not responsible for the privacy practices or content of these third-party Web sites. We urge all FreeCodeCamp.com visitors to follow safe Internet practices: Do not supply Personally Identifiable Information to these Web sites unless you have verified their security and privacy policies.
-
-### Data Retention
-We retain your information for as long as necessary to permit us to use it for the purposes that we have communicated to you and comply with applicable law or regulations.
-
-### Business Transfers
-As we continue to develop our business, we might sell or buy subsidiaries, or business units. In such transactions, customer information generally is one of the transferred business assets but remains subject to the promises made in any pre-existing Privacy Policy (unless, of course, the customer consents otherwise). Also, in the unlikely event that Free Code Camp, or substantially all of its assets are acquired, customer information will be one of the transferred assets, and will remain subject to our Privacy Policy.
-
-### Your California Privacy Rights
-If you are a California resident, you are entitled to prevent sharing of your personal information with third parties for their own marketing purposes through a cost-free means. If you send a request to the address above, Free Code Camp will provide you with a California Customer Choice Notice that you may use to opt-out of such information sharing. To receive this notice, submit a written request to <a href="mailto:team@freecodecamp.com" target="_blank">team@freecodecamp.com</a>, specifying that you seek your &quot;California Customer Choice Notice.&quot; Please allow at least thirty (30) days for a response.
-
-### Acceptance of Privacy Policy Terms and Conditions
-By using this site, you signify your agreement to the terms and conditions of this FreeCodeCamp.com Privacy Policy. If you do not agree to these terms, please do not use this site. We reserve the right, at our sole discretion, to change, modify, add, or remove portions of this policy at any time. All amended terms automatically take effect 30 days after they are initially posted on the site. Please check this page periodically for any modifications. Your continued use of FreeCodeCamp.com following the posting of any changes to these terms shall mean that you have accepted those changes.
-
-If you have any questions or concerns, please send an email to [team@freecodecamp.com](mailto:team@freecodecamp.com).
View
19 data/wiki/Free-Code-Camp-Front-End-Development-Certificate.md
@@ -1,19 +0,0 @@
-We're creating a free Front End Development Certificate.
-
-Here are the challenges that will make up our Basic Front End Development Certificate Program:
-
-- HTML5 and CSS
-- Responsive Design with Bootstrap
-- jQuery
-- Basic JavaScript
-- Basic Bonfires
-- Ajax and JSON APIs (not available in the current version of the [Map](http://www.freecodecamp.com/map))
-- Zipline: Build a Personal Portfolio Webpage
-- Zipline: Build a Random Quote Machine
-- Zipline: Show the Local Weather
-- Zipline: Build a Pomodoro Clock
-- Zipline: Zipline: Use the Twitch.tv JSON API
-
-This won't be a new curriculum - it will just be the first 400 hours of our full stack JavaScript curriculum.
-
-All campers who have already completed these challenges will retroactively be eligible for the certificate.
View
8 data/wiki/Free-Code-Camp-Full-Stack-Developent-Certificate.md
@@ -1,8 +0,0 @@
-We're creating a free Full Stack Development Certificate.
-
-In order to qualify for this verified certificate, you must:
-
-- Complete the first 800 hours of Free Code Camp (all Bonfires, Ziplines and Basejumps)
-- Complete 4 nonprofit projects or complete at least 1 nonprofit project before getting a coding job.
-
-All campers who have already completed these challenges are retroactively be eligible for the certificate.
View
7 data/wiki/Free-Code-Camp-completion-language-requirements.md
@@ -1,7 +0,0 @@
-The last 800 hours of free code camp involve building projects for nonprofits. These nonprofit projects will involve lots of meetings, correspondence, and pair programming, all of which will be conducted in English.
-
-You will need to be good enough with English to be able to participate in these meetings.
-
-We are translating our challenges into native languages so that you can focus on learning to code, rather than focusing on learning English.
-
-Many non-native English speakers have succeeded in our nonprofit project program. With some effort, you can, too.
View
9 data/wiki/Free-Code-Camp-logo.md
@@ -1,9 +0,0 @@
-### Free Code Camp's logo
-
-![Free Code Camp's logo](https://i.vimeocdn.com/video/520129377_1280x720.jpg)
-
-It uses the typeface 'saxmono'.
-
-Like most of Free Code Camp's design assets, it was created by [@rybar](https://gitter.im/rybar) with help from [@iheartkode](https://gitter.im/iheartkode).
-
-You can download all of our assets, which are Creative Commons licensed, from our [Free Code Camp Assets repository](https://github.com/FreeCodeCamp/FCCAssets).
View
11 data/wiki/Frontend-file-structure.md
@@ -1,11 +0,0 @@
-First things first: All your user-facing files and angular files are in **/client/app/**
-
-1. **app.js**: defines your app and includes some basic app-wide functions, you probably don’t really need to mess with it unless you’re trying to add more dependencies to your app. We’re not gonna worry about that right now.
-2. **app.css**: an app-wide stylesheet, you can put styles here if you want but I’d recommend you put them in **main/main.css**, as these styles are also app-wide.
-3. **main/**: this folder contains what the user sees first when they load up your site. **main.html** is the page template, **main.js** routes the user to **main.html** when the user goes to the top level directory of your website—that is, <a href="#">http://yourapp.wherever.itis/</a> with no <a href="#">/other/url/hierarchy</a>. You’ll also learn soon that you can define your app’s <a href="#">/url/heirarchy/fairly/arbitrarily</a>. You won’t really need to edit **main.js** or **main.controller.spec.js**, so let's not worry about those right now. If you look through the **main.html** file you’ll see it uses *ng-repeat* to show *things* in *awesomeThings*. Where does it get *awesomeThings*?
-4. **main/main.controller.js**: all of the javascript functions you want to use to interact directly with the user go here! You’ll put functions here to interact with your API, refresh views for your user, etc. Here, *awesomeThings* are pulled from your database and added to the local scope so your HTML view can display them! How cool! We’ll get to adding custom objects to your database in a minute.
-
-Great! Now you know how to interact with the user! But what if you want your app to have another page that does something else? Maybe **main.html** shows the home page, but you want a page that shows a form to add a poll? maybe <a href="#">http://yourapp.wherever.itis/newpage</a>? This is where the yeoman generator comes in handy.
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Guide-to-Basejumps-Table-of-Contents/)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-new-route)
View
9 data/wiki/Functional-Programming---Higher-Order-Functions.md
@@ -1,9 +0,0 @@
-### Links to help with functional programming!
-
-####Workshops
-(https://github.com/timoxley/functional-javascript-workshop)
-
-A node package workshop. More can be found at [nodeschool](http://nodeschool.io/)
-
-####Reading and videos
-(https://github.com/timoxley/functional-javascript-workshop)
View
15 data/wiki/Get-info-about-the-current-user.md
@@ -1,15 +0,0 @@
-You may have noticed if you opened up **/client/app/admin/admin.controller.js** that it calls the *Auth* module like so:
-
-~~~javascript
-.controller('AdminCtrl', function ($scope, $http, Auth
-~~~
-You can include Auth in your other controllers the same way. Its pretty useful to have *Auth* available in your controller to detect if a user is logged in, or to get information about the current user. In the body of your controller you can add
-
-~~~javascript
-$scope.getCurrentUser = Auth.getCurrentUser;
-$scope.isLoggedIn = Auth.isLoggedIn;
-~~~
-And then you can use *isLoggedIn()* or *getCurrentUser()* in the HTML view for your controller!
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/More-useful-APIs)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Restrict-a-page-to-authenticated-users)
View
9 data/wiki/Git-Blame.md
@@ -1,9 +0,0 @@
-> Shows what revision and author last modified each line of a file and blame them.
-
-:point_right: :no_good::see_no_evil: :hear_no_evil: :speak_no_evil:
-
-![](http://i.imgur.com/Ywpucz6.png)
-
-**Reference:** https://git-scm.com/docs/git-blame
-
-## [](http://i.imgur.com/xancoby.png)
View
9 data/wiki/Gitter.md
@@ -1,9 +0,0 @@
-### Gitter is a chat room system popular with open source projects.
-
-![A screenshot from Gitter](https://www.evernote.com/l/AntJzLbImEFNbaLfG7YQnWWBbqLliTKTYeoB/image.png)
-
-[Gitter.im](https://gitter.im) is a rapidly growing startup based in London.
-
-Free Code Camp has hundreds of Gitter rooms. These are accessible through Gitter's website, as well as [desktop and mobile apps](https://gitter.im/apps).
-
-Gitter allows you to share [formatted code](https://github.com/FreeCodeCamp/freecodecamp/wiki/Pasting-Code-in-Gitter) with fellow campers.
View
4 data/wiki/Grunt.md
@@ -1,4 +0,0 @@
-Whenever you create a new route or directive, you have to use `control+c` in your *grunt* terminal window to quit the grunt process and re-run `grunt serve` for your new route/directive to be included in your project's **index.html**. Sometimes *grunt* can be a little finnicky and refuses to run if it thinks something is wrong with your project. Obviously you should try to fix the problem, but grunt's errors aren't very helpful so don't worry too much—grunt usually will still run totally fine with the command `grunt serve --force`.
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-new-directive)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Backend-file-structure)
View
31 data/wiki/Guide-to-Basejumps-Table-of-Contents.md
@@ -1,31 +0,0 @@
-###Table of contents
-* Part 1: Frontend
- - [Frontend file structure](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Frontend-file-structure)
- - [Creating a new route](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-new-route)
- - [Creating a new directive](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-new-directive)
- - [Grunt](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Grunt)
-* Part 2: Backend
- - [Backend file structure](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Backend-file-structure)
- - [Creating a new API endpoint](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-new-API-endpoint)
- - [Fixing exports.update](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Fixing-exports.update)
-* Part 3: Interfacing Between Frontend & Backend
- - [Accessing the database from your frontend](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Accessing-the-database-from-your-frontend)
- - [Seed Data](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Seed-data)
- - [Quick tip: keep data in sync](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Quick-tip:-keep-data-in-sync)
-* Part 4: Dynamic URLs using $routeParams, more useful APIs
- - [Dynamic URLS using $routeParams](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Dynamic-URLs-using-$routeParams)
- - [More Useful APIs](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/More-useful-APIs)
-* Part 5: Auth, isLoggedInAsync()
- - [Get info about the current user](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Get-info-about-the-current-user)
- - [Restrict a page to authenticated users](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Restrict-a-page-to-authenticated-users)
- - [isLoggedInAsync()](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/isLoggedInAsync())
-* [Bonus: SocketIO](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Bonus:-SocketIO)
-* [Epilogue](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Epilogue)
-
-###Legend
-**/bolded/names/with.extensions** are directories and files in the project file structure
-<a href="#">highlighted.items/are/hypothetical</a> URLs that allow access to different pages in your app
-*italicizedItems* are function and object names within your code
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Intro-to-Yeoman-Angular-Fullstack-Basejumps)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Frontend-file-structure)
View
12 data/wiki/Help-I've-Found-a-Bug.md
@@ -1,12 +0,0 @@
-Thank you for taking the effort to report an issue with FreeCodeCamp.
-
-If you think you've found a bug on FreeCodeCamp, please follow these steps to resolve your problem:
-
-1. If the page seems broken in any way, try to do a [Hard Refresh](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Refresh-Your-Browser-Cache) of the page. This will update any old code that may have been cached in your browser.
- * If your code crashes your browser, also try [Clearing Your Browser's Local Storage](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Clear-Your-Browser's-Local-Storage).
-
-2. [Ask for Help on Gitter](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/How-to-Get-Help-on-Gitter). You can usually get a quick response from a helpful community member there.
-
-3. If your problem has baffled everyone in Gitter, try [Searching for Your Issue on GitHub](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Searching-for-Your-Issue-on-Github) for anyone who has posted about a similar issue. If someone has, you can upvote the issue by replying to it with "+1" as your message.
-
-3. If you can't find any relevant issues on GitHub, then [Create a New Issue](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-New-Github-Issue) and our development team will take a look at your problem.
View
16 data/wiki/Home.md
@@ -1,16 +0,0 @@
-##Welcome to the Free Code Camp Wiki!
-
-Our open source community's Wiki focuses on answering your questions about learning to code and getting a coding job. We also cover in detail our:
-- Curriculum
-- Local Campsite Communities
-- Nonprofit Projects
-
-"Wiki" is a Hawaiian word meaning "quick", and that is a good mindset to have when creating a Wiki. Please reference our [Wiki style guide] ([https://github.com/FreeCodeCamp/freecodecamp/wiki/Wiki-Style-Guide](https://github.com/FreeCodeCamp/freecodecamp/wiki/Wiki-Style-Guide)) for more direction regarding styling. <img align="right" src="https://avatars1.githubusercontent.com/camperbot?&s=100">
-
-The best way to access this wiki is via [CamperBot](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/camperbot), located in our Gitter channels. CamperBot is a community designed tool useful for accessing our wiki content without ever leaving Gitter.
-
-To contribute a wiki article for any of the bonfires, please use this [template.](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Bonfire-Wiki-Template) This is essential for [@CamperBot](https://github.com/camperbot) to retrieve the article. Bonfire articles that do not use this template will be removed.
-
-If you have questions about contributing to the Free Code Camp Wiki message [@Rafase282 in Gitter](https://gitter.im/Rafase282).
-
-We look forward to collaborating with you on expanding and improving this wiki!
View
15 data/wiki/How-Free-Code-Camp-works.md
@@ -1,15 +0,0 @@
-Free Code Camp offers you a free, self-paced, browser-based program that takes about 1,600 hours to complete.
-
-![An image of a table showing the different segments of Free Code Camp](https://s3.amazonaws.com/freecodecamp/curriculum-diagram-waypoints.jpg)
-
-## how it works
-![An image of a table showing the different segments of Free Code Camp](https://s3.amazonaws.com/freecodecamp/curriculum-diagram-bonfires.jpg)
-
-![An image of a table showing the different segments of Free Code Camp](https://s3.amazonaws.com/freecodecamp/curriculum-diagram-ziplines.jpg)
-
-![An image of a table showing the different segments of Free Code Camp](https://s3.amazonaws.com/freecodecamp/curriculum-diagram-basejumps.jpg)
-
-![An image of a table showing the different segments of Free Code Camp](https://s3.amazonaws.com/freecodecamp/curriculum-diagram-nonprofit-projects.jpg)
-
-![An image of a table showing the different segments of Free Code Camp](https://s3.amazonaws.com/freecodecamp/curriculum-diagram-full.jpg)
-
View
87 data/wiki/How-FreeCodeCamp-Nonprofit-Projects-work.md
@@ -1,87 +0,0 @@
-Building nonprofit projects is the main way that our campers learn full stack JavaScript and agile software development. Once you complete the Free Code Camp Waypoints, Bonfires, Ziplines and Basejumps, you'll begin this process.
-
-## Starting with the end in mind
-
-Our goal at Free Code Camp is to help you land a job as a junior software developer (or, if you prefer, a 'pivot job' that leads your current career in a more technical direction).
-
-You'll continue to work on nonprofit projects until you've built a sufficiently impressive portfolio and references to start your job search. Your portfolio will ultimately have four nonprofit projects. We estimate that the 800 hours of nonprofit projects you're going to complete, in addition to the 800 hours of challenges you've already completed, will be enough to qualify you for your first coding job. This will produce a much broader portfolio than a traditional coding bootcamp, which generally only has one or two capstone projects.
-
-## Choosing your first Nonprofit Project
-
-We've categorized all the nonprofit projects by estimated time investment per camper: 100 hours, 200 hours, and 300 hours. These are only rough estimates.
-
-Example: if you and the camper you're paired up with (your pair) each stated you could work 20 hours per week. If the project is a 100 hour per camper project, you should be able to complete it in about 5 weeks.
-Our Nonprofit Project team will match you and your pair based on:
-
-- Your estimated time commitment (10, 20 or 40 hours per week)
-- Your time zone
-- The nonprofit projects you've chosen
-- Prior coding experience (we'd like both campers to be able to contribute equally)
-
-
-We won't take age or gender into account. This will provide you with valuable experience in meshing with diverse teams, which is a reality of the contemporary workplace.
-
-You'll only work on one project at a time. Once you start a nonprofit project, we'll remove you from all other nonprofit project you've expressed interest in. There's a good chance those projects will no longer be available when you finish your current project, anyway. Don't worry, though - we get new nonprofit project requests every day, so there will be plenty more projects for you to consider after you finish your current one.
-
-### Finalizing the Project
-
-Before you can start working on the project, our team of Nonprofit Project Coordinators will go through the following process:
-
-- We'll wait until there are two campers who have chosen the same project and look like they're a good match for one another based on the factors mentioned above.
-- We'll call the stakeholder to confirm once again that he or she agrees with our [terms](http://freecodecamp.com/nonprofits) and has signed our [Nonprofit Project Stakeholder Pledge] (http://goo.gl/forms/0YKkd9bpcR).
-- We'll set an initial meeting with representatives from Free Code Camp, the two campers, and the stakeholder.
-- If the stakeholder and both campers shows up promptly, and seem enthusiastic and professional, we'll start the project.
-
-This lengthy process serves an important purpose: it reduces the likelihood that any of our campers or stakeholders will waste their precious time.
-
-### Nonprofit Stakeholders
-
-Each nonprofit project was submitted by a nonprofit. A representative from this nonprofit has agreed to serve as a "stakeholder" - an authorative person who understands the organization and its needs for this particular project.
-
-Stakeholders have a deep understanding of their organizations' needs. Campers will work with them to figure out the best solutions to these needs.
-
-When you and your pair first speak with your nonprofit stakeholder, you'll:
-
-- talk at length to better understand their needs.
-- create a new Trello board and use it to prioritize what needs to be built.
-- and establish deadlines based on your weekly time commitment, and how long you think each task will take.
-
-It's notoriously difficult to estimate how long building software projects will take, so feel free to ask our volunteer team for help.
-
-You'll continue to meet with your stakeholder at least twice a month in your project's Gitter channel.
-You should also ask questions in your project's Gitter channel as they come up throughout the week, and your stakeholder can answer them asynchronously.
-
-Getting "blocked" on a task can take away your sense of forward momentum, so be sure to proactively seek answers to any ambiguities you encounter.
-
-Ultimately, the project will be considered complete once both the stakeholder's needs have been met, and you and your pair are happy with the project. Then you can add it to your portfolio!
-
-### Working with your Pair
-
-You and your pair will pair program (code together on the same computer virtually) about half of the time, and work independently the other half of the time.
-
-Here are our recommended ways of collaborating:
-
-- Gitter has robust private messaging functionality. It's the main way our team communicates, and we recommend it over email.
-- Trello is great for managing projects. Work with your stakeholder to create Trello cards, and update these cards regularly as you make progress on them.
-- Screen Hero or Team Viewer - These are the ideal way to pair program. Tools like TMUX are good, but difficult to use. We discourage you from using screen sharing tools where only one person has control of the keyboard and mouse - that isn't real pair programming.
-- Write clear and readable code, commit messages, branch names, and pull request messages.
-
-### Hosting Apps
-
-Unless your stakeholder has an existing modern host (AWS, Digital Ocean), you'll need to transition them over to a new platform. We believe Heroku is the best choice for a vast majority of web projects. It's free, easy to use, and has both browser and command line interfaces. It's owned by Salesforce and used by a ton of companies, so it's accountable and unlikely to go away.
-
-If you need help convincing your stakeholder that Heroku is the ideal platform, we'll be happy to talk with them.
-
-### Maintaining Apps
-
-Once you complete a nonprofit project, your obligation to its stakeholder is finished. Your goal is to leave behind a well documented solution that can be easily maintained by a contract JavaScript developer (or even a less-technical "super user").
-
-While you will no longer need to help with feature development, we encourage you to consider helping your stakeholder with occasional patches down the road. After all, this project will be an important piece of your portfolio, and you'll want it to remain in good shape for curious future employers.
-
-### Pledging to finish the project
-
-Your nonprofit stakeholder, your pair, and our volunteer team are all counting on you to finish your nonprofit project. If you walk away from an unfinished nonprofit project, you'll become ineligible to ever be assigned another one.
-
-To confirm that you understand the seriousness of this commitment, we require that all campers [sign this pledge](http://goo.gl/forms/ZMn96z2QqY) before starting on their nonprofit projects.
-
-There will likely be times of confusion or frustration. This is normal in software development. The most important thing is that you do not give up and instead persevere through these setbacks. As Steve Jobs famously said, "Real artists ship." And you are going to ship one successful nonprofit project after another until you feel ready to take the next step in your promising career.
View
11 data/wiki/How-GitHub-Issue-Moderators-AKA-Issue-Mods-Work.md
@@ -1,11 +0,0 @@
-GitHub Issue Moderators, or "issue mods", have the ability to close issues and accept or deny pull requests.
-
-In order to become an issue mod, you must first prove your helpfulness by leaving useful comments on outstanding issues, and submitting pull requests of your own to fix these issues.
-
-If you've been doing these things, and want the additional power/responsibility that comes with helping Free Code Camp as an issue mod, please contact [@berkeleytrue](https://gitter.im/berkeleytrue) in Gitter.
-
-If you are approved, we will add you to a GitHub Team.
-
-Though you will have write access to Free Code Camp's repository, **you should never write directly to the Free Code Camp repository**. All code should enter Free Code Camp's codebase in the form of a pull request.
-
-Please note that we will frequently remove issue mods whom we think are inactive. If you are removed, please do not take this personally - we can add you back to the team. Just message us and let us know you're still active.
View
10 data/wiki/How-long-Free-Code-Camp-takes-to-complete.md
@@ -1,10 +0,0 @@
-It takes about 1,600 hours of coding to develop the skills you'll need to get an entry level software engineering job.
-
-Most coding bootcamps try to jam all this into 3 or 4 months of intensive study. Free Code Camp is fully online, and there will always be other people at your skill level that you can pair program with, so you can learn at your own pace. Here are some example coding schedules:
-
-Time budgeted | Hours per week | Weeks to complete
---- | --- | ---
-Weekends | 10 hours/week | 160 weeks (36 months)
-Nights and Weekends | 20 hours/week | 80 weeks (18 months)
-Full time | 40 hours/week | 40 weeks (9 months)
-Traditional Bootcamp Pacing | 80 hours/week | 20 weeks (5 months)
View
9 data/wiki/How-to-Get-Help-on-Gitter.md
@@ -1,9 +0,0 @@
-Sorry that you are stuck. Luckily there are many campers who hang out on Gitter and can help you resolve most issues! Follow these simple steps to get help fast:
-
-1. Go to the [Help Room](https://gitter.im/FreeCodeCamp/Help)
- * If the problem is code related, paste the problematic code in the chat room with the [Proper Formatting](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/code-formatting) and a description of the issue.
- * If the problem seems to be with the site itself, post a screenshot of the issue or describe it well.
-
-2. Remember that the people there are campers just like you, so be courteous!
-
-3. If your problem has baffled everyone in Gitter, try [Searching for Your Issue on Github](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Searching-for-Your-Issue-on-Github) for anyone who has posted about a similar issue.
View
10 data/wiki/How-to-add-Free-Code-Camp-to-my-LinkedIn-profile.md
@@ -1,10 +0,0 @@
-LinkedIn recognizes Free Code Camp as a university.
-
-You can explore our alumni activity [here](https://www.linkedin.com/edu/school?id=166029).
-
-You should add Free Code Camp to your LinkedIn profile. Here's how:
-
-- Follow this link: [https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp](https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp)
-- Follow these instructions:![](https://www.evernote.com/l/AHRnpH-PN-JPQa9_u8FSOzejNG-tX40h1fkB/image.png)
-
-Once you complete our curriculum (or complete at least one Nonprofit Project and then get a coding job), we will issue you an official Full Stack Web Development certificate that you can also add to your LinkedIn profile.
View
15 data/wiki/How-to-best-use-the-Global-Control-Shortcuts-for-Mac.md
@@ -1,15 +0,0 @@
-These Global Control Shortcuts for Mac will save you hours by speeding up your typing.
-
-https://player.vimeo.com/video/107073108
-
-These global shortcuts work everywhere on a Mac:
-
-- Control + F = Forward
-- Control + B = Backward
-- Control + N = Next Line
-- Control + P = Previous Line
-- Control + H = Backspace
-- Control + D = Delete
-- Control + A = Beginning of Line
-- Control + E = End of Line
-- Control + K = Kill line
View
32 data/wiki/How-to-clone-the-FreeCodeCamp-website-on-a-Windows-pc.md
@@ -1,32 +0,0 @@
-# How to clone and setup the FreeCodeCamp website on a Windows pc
-This list works with the FreeCodeCamp site and have been tested on this Angular tutorial [https://docs.angularjs.org/tutorial](https://docs.angularjs.org/tutorial) as well. Setting up the dev environment on a Windows pc is easy although it will give a ton of errors first in the process. The important part is to correct these errors.
-## Toolchain
-1. Git bash [https://msysgit.github.io/](https://msysgit.github.io/)
-2. Node.js [https://nodejs.org/](https://nodejs.org/)
-3. MongoDB [https://www.mongodb.org/downloads](https://www.mongodb.org/downloads)
-4. Python 2.7.10 [https://www.python.org/downloads/release/python-2710/](https://www.python.org/downloads/release/python-2710/)
-
-Install the 4 downloaded prerequsites. When installing Python and Node it is important to check
- the option add to the path variable. The Node installer does that by default. It is optional to add Mongo to the path. Python should be installed in a subfolder in %programfiles%
-
-1. Open a command prompt with admin rights
-2. Verify that Node is in th path with node -v
-3. Verify that npm is in the path with npm -v
-5. `npm install npm -g`
- `npm install bower -g`
- `npm install gulp -g`
- `npm install node-gyp -g`
- `npm install babel -g`
-6. If you want to spare the time in explorer finding Mongo when it has to be started create a .cmd file on your desktop and write the path to Mongo. Probably %programfiles%\MongoDB\Server\3.0\bin\mongod.exe.
-7. Create the default folder for mongo to store databases: C:\data\db
-
-**Every command from now on has to be executed from Git Bash. npm install and bower install is downloading components from Git repos and MUST have access to the Git commands**
-
-1. Follow the instructions here [https://github.com/FreeCodeCamp/freecodecamp](https://github.com/FreeCodeCamp/freecodecamp) and clone the project.
-2. Run `npm install` This will produce some warnings and maybe some errors. The warnings and some of the errors can be disregarded. Stackoverflow has large
-resources to solve the errors if they still come up the 2. time you run npm install.
-3. Run `bower install`, `npm install` again and `bower install`again
-4. Start mongo from the desktop shortcut and run `node seed`. You should now see a lot of activity in the window where you started mongo.
-5. Run `gulp` and note what port it starts the site on. (Should be 3000) Open localhost:3000 (or whatever port it started)
-
-**you're good to go**
View
38 data/wiki/How-to-create-a-Campsite-for-your-city.md
@@ -1,38 +0,0 @@
-If you didn't see your city on [our list of Campsites](https://github.com/FreeCodeCamp/freecodecamp/wiki/List-of-Free-Code-Camp-city-based-Campsites), you should create your own Facebook group for your city.
-
-Please follow these steps:
-- Sign in to Facebook.
-- Click the down arrow in the upper right corner of the screen, then choose "Create Group" from the options.
-
-![A screenshot of Facebook showing the drop down menu that appears when you click the down arrow, with an arrow pointing to the "Create Group" option](https://www.evernote.com/shard/s116/sh/d01bb2bc-6260-4987-bedf-b2ce4c31972f/3eecbcff3109036cf90b69589360f407/deep/0/Facebook.png)
-- Set the group name as "Free Code Camp" plus the proper name of your city. Avoid using slang terms such as "Philly" for "Philadelphia". If your city is not the biggest city that uses its name, also include the state or province. For example, the Free Code Camp group in Paris, France should be called "Free Code Camp Paris". The Free Code Camp group in Paris, Texas should be called "Free Code Camp Paris, Texas".
-- Set your group to public.
-- You'll need to add at least one friend from your city to this group in order to create the group.
-
-![A screenshot of the Facebook group creation modal saying that your group name should be Free Code Camp plus your city name, that your group should be public, and that you need to invite at least one Facebook friend.](https://www.evernote.com/shard/s116/sh/4ed3197c-db1b-4103-a040-b42482ad232a/6c34948ebe12c57f0b7a54d7b2222ab3/deep/0/Facebook.png)
-- Choose the graduation cap icon to indicate that this group is related to a school.
-
-![a screenshot telling you to choose the graduation icon, which is on the forth row of icons, seven icons from the left.](https://www.evernote.com/shard/s116/sh/00e461b3-e0a8-4ecd-9cbf-8b0ae9de75d1/59c4e9f25672b1b2ca2d7e6b06d55e0b/deep/0/Facebook.png)
-- Click the "..." menu, then click "Edit group settings" in the dropdown menu.
-
-![a screenshot telling you to click the "..." button then choose the "Edit group settings" option](https://www.evernote.com/shard/s116/sh/ae9a22e2-19a5-4309-b46c-f05a6be5644c/0870b25572d37d4d650cca1a0d59e407/deep/0/Free-Code-Camp-Testland.png)
-- Set the group's privacy setting to public.
-- Set your group's membership approval to where any member can add or approve members ![a screenshot showing the Facebook settings panel and where you can click to set the group to public and allow all members to be able to add or approve members>
-- Click the "Customize Address" button.
-
-![A screen shot showing you the group description box on the Facebook page.](https://www.evernote.com/l/AHTs6Ec_hylKyYWVhpZonOHPn8j8I5ydgv4B/image.png)
-- Enter "free.code.camp.your.city.name" with each word separated by periods.
-
-![a screenshot telling you to enter free.code.camp.your.city.name with each word seperated by periods.](https://www.evernote.com/shard/s116/sh/357b1bd9-7c40-4f72-8a9a-d918e632a5e8/c4714ca59360b2517dfffe90c60b1556/deep/0/Free-Code-Camp-Testland.png)
-- Please feel free to personalize your city's group description, but be sure to include a link to Free Code Camp: "http://www.freecodecamp.com".
-
-![A screen shot showing you the group description box on the Facebook page.](https://www.evernote.com/shard/s116/sh/e13808ea-f084-46f1-95bc-63db524383d5/0586484d44360e73e9acda956dad7f6a/deep/0/Free-Code-Camp-Testland.png)
-- Click the "Upload a photo button. To start out, you'll probably just want to use Free Code Camp's banner (download it [here](https://s3.amazonaws.com/freecodecamp/wide-social-banner.png)), or a scenic shot of your city. Later you can update this with a picture from one of your city's Free Code Camp events.
-
-![A screenshot showing the "Upload a photo" button.](https://www.evernote.com/shard/s116/sh/fabe226a-5a26-4508-b015-1dac35192a21/37f8119dc57845a31e972217714b038b/deep/0/Free-Code-Camp-Testland.png)
-- [message @quincylarson in Gitter](https://gitter.im/QuincyLarson) with a link to your city's group page. He'll include it on this list and also create a Gitter room for you.
-- Join our [Local Leaders Facebook group](https://www.facebook.com/groups/freecodecampers/), where we share ideas about involving campers in your city.
-
-If you don't have a Facebook account, we strongly recommend you create one, even if it's just for the purpose of coordinating with campers in your city through this group.
-
-If Facebook is blocked in your country, feel free to use social network with a similar group functionality that's popular in your region.
View
12 data/wiki/How-to-deploy-a-website-without-writing-any-code-at-all.md
@@ -1,12 +0,0 @@
-It's possible to build dynamic, mobile-responsive websites without writing any code at all, in just a few minutes.
-
-https://player.vimeo.com/video/115194017
-
-Here are the technologies we used here:
-
-- [atom.io](http://www.atom.io/) a free code editor
-- [startbootstrap.com](http://www.startbootstrap.com/) a collection of free responsive (Bootstrap) templates
-- [powr.io](http://www.powr.io/) a collection of free JavaScript plugins
-- [bitballoon.com](http://www.bitballoon.com/) a tool for drag and drop website deployment
-
-You will quickly reach the limits of what you can do without actually coding, but it's nice to be able to rapidly build working prototype websites like this.
View
13 data/wiki/How-to-get-help-when-you-get-stuck.md
@@ -1,13 +0,0 @@
-When you get stuck, remember: Read-Search-Ask.
-
-1) **Read** the documentation or error
-2) **Search** Google
-3) **Ask** your friends for help
-
-This is the most time-efficient way to handle being stuck, and it's the most respectful of other people's time, too.
-
-Most of the time, you'll solve your problem after just one or two steps of this algorithm.
-
-We have a special chat room just for getting help: <a href='https://gitter.im/freecodecamp/help/' target='_blank'>https://gitter.im/freecodecamp/help/</a>
-
-Learning to code is hard. But it's a lot easier if you ask for help when you need it!
View
3 data/wiki/How-to-help-with-the-Free-Code-Camp-translation-effort.md
@@ -1,3 +0,0 @@
-Our translation effort is driven by bilingual campers like you.
-
-If you're able to help us, you can join our [translation Trello board](https://trello.com/b/m7zhwXka/fcc-translation) by sending @quincylarson your email address in Gitter.
View
7 data/wiki/How-to-install-Screenhero.md
@@ -1,7 +0,0 @@
-[Download for Mac](http://links.screenhero.com/e/c/eyJlbWFpbF9pZCI6Ik1qQTNNem9XQkNJQ1pBQUNjd0FYQVZrVEdnRkxNamtfX0JWZEdGVEpSZkVCWlRwbFpXRTBNamM0WVMxaE56SmlMVEV4WlRRdE9HUXpZUzFpWXpVNE1HRTJNalkxTldNNk1UUTJNVEEyQUE9PSIsInBvc2l0aW9uIjowLCJocmVmIjoiaHR0cDovL2RsLnNjcmVlbmhlcm8uY29tL3NtYXJ0ZG93bmxvYWQvZklYQU1UUUJBTEtQQkhQTC9TY3JlZW5oZXJvLnppcD9zb3VyY2U9d2ViIn0=)
-
-[Download for Windows](http://links.screenhero.com/e/c/eyJlbWFpbF9pZCI6Ik1qQTNNem9XQkNJQ1pBQUNjd0FYQVZrVEdnRkxNamtfX0JWZEdGVEpSZkVCWlRwbFpXRTBNamM0WVMxaE56SmlMVEV4WlRRdE9HUXpZUzFpWXpVNE1HRTJNalkxTldNNk1UUTJNVEEyQUE9PSIsInBvc2l0aW9uIjoxLCJocmVmIjoiaHR0cDovL2RsLnNjcmVlbmhlcm8uY29tL3NtYXJ0ZG93bmxvYWQvZklYQU1UUUJBTEtQQkhQTC9TY3JlZW5oZXJvLXNldHVwLmV4ZSJ9)
-
-Linux users should use TeamViewer as an alternative.
-
-You'll use Screen Hero to pair program starting with [our Zipline challenges](http://www.freecodecamp.com/challenges/waypoint-get-set-for-ziplines)
View
13 data/wiki/How-to-know-who-is-in-charge-of-your-Campsite-on-Facebook.md
@@ -1,13 +0,0 @@
-Each Campsite has members that are designated as Admins who can approve new members and also designate other Admins for the group. The steps below will show you how to find out who is an Admin for your Campsite.
-
-* First, click the Members tab below the cover photo. Then the click on the dropdown box that says "all members"**
-
-![](http://i.imgur.com/qLx6kVZ.png?1)
-
-* Next, use the drop down box to select "Admins"**
-
-![](http://i.imgur.com/pfB2pDP.png?1)
-
-* You should now be able to see who is designated as an Admin for your Campsite.
-
-![](http://i.imgur.com/AwoYT01.png?1)
View
9 data/wiki/How-to-share-your-workspace-selfie-with-FreeCodeCamp-on-instagram.md
@@ -1,9 +0,0 @@
-# FreeCodecamp is on instagram! Here is how to take a workspace selfie and share it with us.
-
-## Take a selfie of you at your workspace with Free Code Camp open.
-
-![](https://www.evernote.com/l/AkpdrY2nGrtBO69RoxdNq8rluri5K7B367YB/image.png)
-
-## Share it on Instagram, Twitter or Facebook with the hashtag #freecodecamp.
-
-## Social media not your thing? No problem! Email your workspace selfie to team@freecodecamp.com
View
21 data/wiki/How-to-start-when-you-are-stuck-(I).md
@@ -1,21 +0,0 @@
-**[How to start when you are stuck (II)](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-start-when-you-are-stuck-(II))**
-
-**[How to start when you are stuck (III)](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-start-when-you-are-stuck-(III))**
-
-You are a camper just like me, you get to an exercise and you get stuck … just like anyone else. You have no idea how to start, you stare at your editor and you think you must have a problem, surely you are not developer material … well you’re wrong! Perhaps you are just like me? I’m a visual person, I like a drawing better than a text. Everytime the same problem put down in a schema makes more sense to me than if you gave me a text. So … what do I do when I have problems solving/understanding an exercise? I start to draw. After I have my drawing in place if I need more to translate it to code I can also write it in pseudocode. After that transposing it to code should not be very hard.
-
-### So what are this flowcharts (the drawings) and pseudocode?
-
-During my first semester in college, we had a course about introduction to algorithms. This is where we first learned about this stuff. We learned that a good algorithm and good logical programing is developed using flowcharts and pseudocode.
-
-A **flowchart** represents your program flow from top to bottom. Each command is represented on this. Depending on the nature of the command there are different shapes you can use. A few of them that I mostly use (you can google more on this, google is your friend when you know what to google for) are:
-
-![](http://biancamihai.github.io/img/flowchart-theory.png)
-
-More information about this you can find here https://en.wikipedia.org/wiki/Flowchart.
-
-**Pseudocode** is an informal language that helps developers write algorithms. It is a text-based design tool and it uses a human readable language. It’s a structured english text that describes an algorithm.
-
-Every bonfire in Free Code Camp curriculum can be solved using pseudocode and after that translated using javascript in a functional javascript code.
-
-**[How to start when you are stuck (II)](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-start-when-you-are-stuck-(II))**
View
30 data/wiki/How-to-start-when-you-are-stuck-(II).md
@@ -1,30 +0,0 @@
-**[How to start when you are stuck (I)](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-start-when-you-are-stuck-(I))**
-
-**[How to start when you are stuck (III)](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-start-when-you-are-stuck-(III))**
-
-Let’s try an example. If we take a look at one of the Free Code Camp exercices, and let’s choose a more simple one: [find the longest word in a string](http://www.freecodecamp.com/challenges/bonfire-find-the-longest-word-in-a-string). We can start and draw a flowchart for it and write a first solution in pseudocode.
-
-![](http://biancamihai.github.io/img/bonfire-1.png)
-
-So what does Free Code Camp want from us with this problem? Well it wants as to create a function that gets a string as a parameter and returns an integer. This integer should represent the length of the longest word in this string. Usually you can solve a problem on Free Code Camp by just looking at the **More information** text. In this case Free code camp is giving us some very good tips:
-
- Return the length of the longest word in the provided sentence.
- Your response should be a number.
- Remember to use RSAP if you get stuck. Try to pair program. Write your own code.
- Here are some helpful links: String.split(), String.length
-
-If we take a look at the Free Code Camp suggestions we’ll see that String.split() can be used to split a string into an array and String.length gives us the length of a string. This helps us think of an algorithm. What if we split the string into an array, we loop through it and using the length attribute we find out the length of the longest word. Hmm, doesn’t seem very complicated but how to start this? Well ... take a look at the image below.
-
-![](http://biancamihai.github.io/img/flowchart.png)
-
-If we follow the schema AND/OR the pseudocode, writing the function that gives us the length of the longest word in a string shouldn’t be very hard now … in any language … not just in javascript.
-
-![](http://biancamihai.github.io/img/bonfire-2.png)
-
-Now that we have this first working version, we can try and rewrite it using a for loop. Or we can take a look at forEach and if we really want to go wild we can rewrite this using the functional programming way. So let’s challenge ourselves to write a “one line” solution for the problem.
-
-Searching through the MDN documentation you’ll find out that you can use the max function on arrays and that there is a map function that helps us change the current array. Hmm … that should should help us … right? Yes! the idea remains the same, you get a string, split it into an array and you return an integer but here is how:
-
-![](http://biancamihai.github.io/img/bonfire-3.png)
-
-**[How to start when you are stuck (III)](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-start-when-you-are-stuck-(III))**
View
14 data/wiki/How-to-start-when-you-are-stuck-(III).md
@@ -1,14 +0,0 @@
-**[How to start when you are stuck (I)](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-start-when-you-are-stuck-(I))**
-
-**[How to start when you are stuck (II)](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-start-when-you-are-stuck-(II))**
-
-### Tips
-
-* Always look at your logs, keep your console open. You can spot errors faster this way. To open the console log on chrome: click right -> inspect -> console There are so many errors that come from typos and so much time lost that you can save just by developing this very simple habit
-* Pair with other programmers as much as you can
-* Read the documentation. You can install a very helpful [MDN Chrome Extension](https://chrome.google.com/webstore/detail/mdn-search/ffpifaemeofjmncjdbegmbpcdaemkeoc) and use it as much and often as you need to
-* Follow the help tips provided by Free Code Camp in the “More informations” section. The answer is there!
-* Try to solve the problem in more than one way, always try to make it better, more readable, a lower complexity time, less memory
-* If none of the above steps work, ask for help :)
-
-![](http://biancamihai.github.io/img/console.png)
View
18 data/wiki/How-to-use-the-Free-Code-Camp-Wiki.md
@@ -1,18 +0,0 @@
-The Free Code Camp wiki strives to provide clear answers to common questions about Free Code Camp, learning to code, and getting a coding job.
-
-Individual Wiki's can be accessed from the main page, or from other linked Wiki pages.
-
-You can also access them from Gitter using Camperbot
-
-- #### **`help $topic`**
- find related materials to that topic, usually a page from the [wiki]
- (https://github.com/bothelpers/kbase/wiki/)
- examples: `help css` `help bootstrap`
-
-- #### `topics`
- show the list of topics.
-
-- #### `find $topic`
- this will search for entries that include `$topic` in the title. We'll add fulltext search in
- future.
- examples: `find wiki`
View
21 data/wiki/How-you-can-get-to-Inbox-Zero-with-Gmail-shortcuts.md
@@ -1,21 +0,0 @@
-> These Gmail Shortcuts will save you hours and help you get to Inbox Zero.
-
-See https://player.vimeo.com/video/115194016
-
-### Gmail Shortcuts
-| shortcut | description |
-|---------- |------------: |
-| j | move down |
-| k | move up |
-| o | open |
-| r | reply |
-| a | reply all |
-| f | forward |
-| c | compose |
-| x | select |
-| e | archive |
-| ! | mark spam |
-| z | undo |
-| \# | *delete |
-
-\* This may not work on some EU Mac keyboards where # is accessed with, `ALT + 3`. Workaround [here](http://toodlepip.co.uk/2010/blog-2010-09-gmail-delete-key-shortcut-uk-apple-users/).
View
10 data/wiki/How-you-can-help-to-stimulate-your-city's-Campsite-on-Facebook.md
@@ -1,10 +0,0 @@
-
-## A great way to stimulate your Campsite is by asking questions.
-**You can ask questions like**
-* What is everyone working on this week?
-* How did you approach a specific waypoint, bonfire, zipline, basejump?
-* Would anyone be interested in meeting up to pair program together this week?
-* Did everyone hear about "insert recent announcement"
-* What are some parts of free code camp you'd like to give additional focus to?
-
-**You can also provide useful links for other members to relevant resources that you find helpful.**
View
8 .../wiki/How-you-can-reach-the-Free-Code-Camp-team-to-interview-them-for-your-publication.md
@@ -1,8 +0,0 @@
-We're happy to do a quick interview for your publication or show. Here's whom you should contact about what, and how to best reach them:
-
-- Want to talk to about Free Code Camp's curriculum or long-term vision? Reach out to Quincy Larson. He's [@ossia on Twitter](https://twitter.com/ossia)</a> and @quincylarson on Gitter.
-- Want to talk about Free Code Camp's open source codebase, infrastructure, or JavaScript in general? Talk to Berkeley Martinez. He's [@berkeleytrue on Twitter](https://twitter.com/berkeleytrue) and @berkeleytrue on Gitter.
-- Want to explore our efforts to empower nonprofits with code? Michael D. Johnson eats, sleeps and breathes that. He's [@figitalboy on Twitter](https://twitter.com/figitalboy) and @codenonprofit on Gitter.
-- Want to get a camper's perspective on our community? Talk with Bianca Mihai. She's [@bubuslubu on Twitter](https://twitter.com/bubuslubu) and @biancamihai on Gitter. Or you can talk with Suzanne Atkinson. She's [@steelcitycoach on Twitter](https://twitter.com/SteelCityCoach) and @adventurebear on Gitter.
-
-We strive to be helpful and transparent in everything we do. We'll do what we can to help you share our community with your audience.
View
19 ...i/How-you-can-stream-your-live-coding-sessions-on-the-Free-Code-Camp-Twitch.tv-channel.md
@@ -1,19 +0,0 @@
-If you're interested in coding JavaScript live in front of dozens of people on our popular [twitch.tv channel](http://twitch.tv/freecodecamp), we'd love to have you.
-
-Please follow these steps to get started:
-
-- Follow [this tutorial](http://www.hdpvrcapture.com/wordpress/?p=5951) to set up your computer for streaming.
-- Contact [Wesley](https://gitter.im/septimus). He's in charge of our Twitch.tv channel. Tell him what you'd like to stream, and when you're available to stream.
-- Wesley will pair with you using [Screen Hero](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-install-Screenhero) to verify your computer is configured properly to stream.
-
-Be respectful of your audience. Everything you stream should be related to coding JavaScript, and should be safe-for-work.
-
-While you're streaming, keep the chat room open so you can respond to questions from your viewers. If we get a new follower, try to thank them.
-
-Play our [camper-DJ'd radio station](http://plug.dj/freecodecamp) in the background.
-
-Use a webcam. If viewers can see your face while you're talking, it will help them feel more connected to you.
-
-Think out-loud as much as possible so that your viewers can understand what you're thinking and doing.
-
-If you do a good job, we'll invite you back to stream some more. Who knows, you might become one of our regular streamers!
View
9 data/wiki/IIFE.md
@@ -1,9 +0,0 @@
-> IIFE — initialism for Immediately Invoked Function Expression
-
-Keep your data inside the [closure](https://github.com/freecodecamp/freecodecamp/wiki/js-closures)!
-
-```js
-(function(){
- //add your magic here
-})();
-```
View
7 data/wiki/If-Free-Code-Camp-is-free,-how-does-it-make-money.md
@@ -1,7 +0,0 @@
-We will always be completely free for both students and for nonprofits.
-
-Our name is Free Code Camp. We are a free code camp. If you had to pay us (or sign over future earnings), we'd have to change our name. And we are not going to do that.
-
-Everyone working on our community and our open source projects is a volunteer.
-
-We plan to eventually cover our operational costs by earning job placement bonuses from companies who hire our graduates. Note that we will not actually garnish any wages from our graduates - employers are already paying recruiters thousands of dollars to find successful candidates. Employers will simply pay the recruitment bonus to Free Code Camp instead of paying a recruiter.
View
9 data/wiki/Intro-to-Yeoman-Angular-Fullstack-Basejumps.md
@@ -1,9 +0,0 @@
-> Hey FreeCodeCampers! This guide is here to help you navigate creating your first basejump. When I encountered the first basejump, I had no idea what was going on and spent weeks learning all of these things myself. Everything here is stuff I wish I had known coming into the basejumps. Oh and by the way, if you have a question that isn't answered by this guide, that's an issue, and you should report it as an issue to this repository! —[@clnhll](http://twitter.com/clnhll)
-
-Yeoman is a tool that allows you to generate barebones apps based on different software stacks using “generator” packages made by developers who want to make your life easier. These packages streamline your time developing and deploying websites using your platform of choice. We’re using a full-stack MEAN (MongoDB, ExpressJS, AngularJS, NodeJS) generator called generator-angular-fullstack by DaftMonk (https://github.com/DaftMonk/generator-angular-fullstack).
-
-Once you’ve completed the Waypoint: Get Set for Basejumps, use this guide to navigate the base structure of your new app and learn how to interact with the database as well as the user.
-
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Guide-to-Basejumps-Table-of-Contents)
-
-Sourced from (https://github.com/clnhll/guidetobasejumps) with permission.
View
5 data/wiki/JavaScript-Truth-Table.md
@@ -1,5 +0,0 @@
-![A table showing which JavaScript arguments are true and false.](http://i.stack.imgur.com/35MpY.png)
-
-This is why you should always use `===` and `!==`.
-
-Source: https://dorey.github.io/JavaScript-Equality-Table/
View
9 data/wiki/Javascript-Links.md
@@ -1,9 +0,0 @@
-> Links to Javascript Resources
-
-### Challenges
-- [Code Wars](http://codewars.com)
-- [Hacker Rank](https://hackerrank.com)
-- [Coding Game](http://codingame.com)
-
-### Exercises
-- [Codility](https://codility.com/programmers/lessons/)
View
8 data/wiki/Linking-Your-Account-with-GitHub.md
@@ -1,8 +0,0 @@
-In August 2015, we pushed some changes that caused trouble for many of our campers.
-
-If you are unable to link your GitHub account to your current account, here is what we recommend doing:
-
-1) Sign out with your current account and try signing in with GitHub.
-2) Check your challenge map. Your account should have no progress. Delete that account here: http://freecodecamp.com/account
-3) Sign into Free Code Camp the way you normally do (Facebook, email, etc). You should see your original progress.
-3) Now add GitHub to that account, and you should be all set.
View
428 data/wiki/List-of-Free-Code-Camp-city-based-Campsites-and-Chat-rooms.md
@@ -1,428 +0,0 @@
-| City | Facebook | Gitter |
-| --- | --- | --- |
-| Aarhus | [Facebook](https://www.facebook.com/groups/FreeCodeCampAarhus) | [Gitter](//gitter.im/freecodecamp/Aarhus) |
-| Abu Dhabi | [Facebook](https://www.facebook.com/groups/free.code.camp.abu.dhabi/) | [Gitter](//gitter.im/freecodecamp/AbuDhabi) |
-| Accra | [Facebook](//www.facebook.com/groups/free.code.camp.accra/) | [Gitter](//gitter.im/freecodecamp/Accra) |
-| Adelaide | [Facebook](//www.facebook.com/groups/free.code.camp.adelaide/) | [Gitter](//gitter.im/freecodecamp/Adelaide) |
-| Ahmedabad | [Facebook](//www.facebook.com/groups/free.code.camp.ahmedabad/) | [Gitter](//gitter.im/freecodecamp/Ahmedabad) |
-| Aichi | [Facebook](//www.facebook.com/groups/free.code.camp.aichi/) | [Gitter](//gitter.im/freecodecamp/Aichi) |
-| Alameda | [Facebook](//www.facebook.com/groups/free.code.camp.berkeley/) | [Gitter](//gitter.im/freecodecamp/EastBay) |
-| Albany | [Facebook](//www.facebook.com/groups/free.code.camp.albany.ny/) | [Gitter](//gitter.im/freecodecamp/Albany) |
-| Albuquerque | [Facebook](https://www.facebook.com/groups/free.code.camp.albuquerque/) | [Gitter](//gitter.im/freecodecamp/Albuquerque) |
-| Algiers | [Facebook](https://www.facebook.com/groups/free.code.camp.Algiers/) | [Gitter](//gitter.im/freecodecamp/Algiers) |
-| Allahabad | [Facebook](https://www.facebook.com/groups/free.code.camp.allahabad/) | [Gitter](//gitter.im/freecodecamp/Allahabad) |
-| Almeria | [Facebook](https://www.facebook.com/groups/free.code.camp.almeria/) | [Gitter](//gitter.im/freecodecamp/Almeria) |
-| Amman | [Facebook](//www.facebook.com/groups/free.code.camp.amman/) | [Gitter](//gitter.im/freecodecamp/Amman) |
-| Amsterdam | [Facebook](//www.facebook.com/groups/free.code.camp.amsterdam/) | [Gitter](//gitter.im/freecodecamp/Amsterdam) |
-| Anacortes | [Facebook](https://www.facebook.com/groups/free.code.camp.anacortes/) | [Gitter](//gitter.im/freecodecamp/Anacortes) |
-| Ankara | [Facebook](//www.facebook.com/groups/free.code.camp.ankara/) | [Gitter](//gitter.im/freecodecamp/Ankara) |
-| Ann Arbor | [Facebook](//www.facebook.com/groups/free.code.camp.ann.arbor/) | [Gitter](//gitter.im/freecodecamp/AnnArbor) |
-| Apucarana | [Facebook](//www.facebook.com/groups/free.code.camp.your.apucarana.parana/) | [Gitter](//gitter.im/freecodecamp/Apucarana) |
-| Aracaju | [Facebook](//www.facebook.com/groups/free.code.camp.aracaju/) | [Gitter](//gitter.im/freecodecamp/Aracaju) |
-| Asheville | [Facebook](//www.facebook.com/groups/free.code.camp.asheville/) | [Gitter](//gitter.im/freecodecamp/Asheville) |
-| Asuncion | [Facebook](//www.facebook.com/groups/free.code.camp.asuncion/) | [Gitter](//gitter.im/freecodecamp/Asuncion) |
-| Athens | [Facebook](https://www.facebook.com/groups/free.code.camp.athens.greece/) | [Gitter](//gitter.im/freecodecamp/Athens) |
-| Athens, Ohio | [Facebook](https://www.facebook.com/groups/free.code.camp.athens.ohio/) | [Gitter](//gitter.im/freecodecamp/AthensOH) |
-| Atlanta | [Facebook](//www.facebook.com/groups/free.code.camp.atlanta/) | [Gitter](//gitter.im/freecodecamp/Atlanta) |
-| Auburn, ME| [Facebook]( https://www.facebook.com/groups/free.code.camp.auburn.maine/) | [Gitter](//gitter.im/freecodecamp/AuburnME) |
-| Auckland | [Facebook](//www.facebook.com/groups/awesome.code.camp/) | [Gitter](//gitter.im/freecodecamp/Auckland) |
-| Aurora | [Facebook](https://www.facebook.com/groups/free.code.camp.aurora/) | [Gitter](//gitter.im/freecodecamp/Aurora) |
-| Austin | [Facebook](//www.facebook.com/groups/free.code.camp.austin/) | [Gitter](//gitter.im/freecodecamp/Austin) |
-| Bacau | [Facebook](https://www.facebook.com/groups/free.code.camp.bacau/) | [Gitter](//gitter.im/freecodecamp/Bacau) |
-| Bakersfield | [Facebook](https://www.facebook.com/groups/free.code.camp.bakersfield.california/) | [Gitter](//gitter.im/freecodecamp/Bakersfield) |
-| Baku | [Facebook](https://www.facebook.com/groups/free.code.camp.baku/) | [Gitter](//gitter.im/freecodecamp/Baku) |
-| Baltimore | [Facebook](//www.facebook.com/groups/free.code.camp.baltimore/) | [Gitter](//gitter.im/freecodecamp/Baltimore) |
-| Bandung | [Facebook](//www.facebook.com/groups/free.code.camp.bandung/) | [Gitter](//gitter.im/freecodecamp/Bandung) |
-| Bangkok | [Facebook](//www.facebook.com/groups/free.code.camp.bangkok/) | [Gitter](//gitter.im/freecodecamp/Bangkok) |
-| Barcelona | [Facebook](https://www.facebook.com/groups/free.code.camp.barcelona/) | [Gitter](//gitter.im/freecodecamp/Barcelona) |
-| Barranquilla | [Facebook](https://www.facebook.com/groups/free.code.camp.barranquilla.co/) | [Gitter](//gitter.im/freecodecamp/Barranquilla) |
-| Batticaloa | [Facebook](https://www.facebook.com/groups/free.code.camp.batticaloa/) | [Gitter](//gitter.im/freecodecamp/Batticaloa) |
-| Beirut | [Facebook](https://www.facebook.com/groups/free.code.camp.beirut/) | [Gitter](//gitter.im/freecodecamp/Beirut) |
-| Belem | [Facebook](//www.facebook.com/groups/free.code.camp.belem/) | [Gitter](//gitter.im/freecodecamp/Belem) |
-| Belgrade | [Facebook](//www.facebook.com/groups/free.code.camp.belgrade/) | [Gitter](//gitter.im/freecodecamp/Belgrade) |
-| Belize City | [Facebook](https://www.facebook.com/groups/free.code.camp.belize.city/) | [Gitter](//gitter.im/freecodecamp/BelizeCity) |
-| Belize | [Facebook](//www.facebook.com/groups/free.code.camp.belize/) | [Gitter](//gitter.im/freecodecamp/Belize) |
-| Bellingham | [Facebook](//www.facebook.com/groups/free.code.camp.bellingham/) | [Gitter](//gitter.im/freecodecamp/Bellingham) |
-| Belo Horizonte | [Facebook](//www.facebook.com/groups/free.code.camp.belo.horizonte/) | [Gitter](//gitter.im/freecodecamp/BeloHorizonte) |
-| Bengaluru | [Facebook](//www.facebook.com/groups/free.code.camp.bengaluru/) | [Gitter](//gitter.im/freecodecamp/Bengaluru) |
-| Berkeley | [Facebook](//www.facebook.com/groups/free.code.camp.berkeley/) | [Gitter](//gitter.im/freecodecamp/EastBay) |
-| Berlin | [Facebook](//www.facebook.com/groups/free.code.camp.berlin/) | [Gitter](//gitter.im/freecodecamp/Berlin) |
-| Bhaktapur | [Facebook](//www.facebook.com/groups/free.code.camp.bhaktapur/) | [Gitter](//gitter.im/freecodecamp/Bhaktapur) |
-| Bhubaneswar | [Facebook](//www.facebook.com/groups/free.code.camp.bhubaneswar/) | [Gitter](//gitter.im/freecodecamp/Bhubaneswar) |
-| Bijeljina | [Facebook](//www.facebook.com/groups/free.code.camp.bijeljina/) | [Gitter](//gitter.im/freecodecamp/Bijeljina) |
-| Birmingham | [Facebook](//www.facebook.com/groups/free.code.camp.birmingham.uk/) | [Gitter](//gitter.im/freecodecamp/Birmingham) |
-| Birmingham, Alabama | [Facebook](//www.facebook.com/groups/free.code.camp.oxford.al/) | [Gitter](//gitter.im/freecodecamp/BirminghamAlabama) |
-| Bishkek | [Facebook](//www.facebook.com/groups/free.code.camp.bishkek/) | [Gitter](//gitter.im/freecodecamp/Bishkek) |
-| Bismarck, ND | [Facebook](//www.facebook.com/groups/free.code.camp.bismarck.north.dakota/) | [Gitter](//gitter.im/freecodecamp/Bismarck) |
-| Bloomington, IL | [Facebook](//www.facebook.com/groups/free.code.camp.bloomington.normal/) | [Gitter](//gitter.im/freecodecamp/BloomingtonNormal) |
-| Bloomington, IN | [Facebook](//www.facebook.com/groups/free.code.camp.bloomington.in/) | [Gitter](//gitter.im/freecodecamp/BloomingtonIN) |
-| Bogota | [Facebook](//www.facebook.com/groups/free.code.camp.bogota/) | [Gitter](//gitter.im/freecodecamp/Bogota) |
-| Boise | [Facebook](//www.facebook.com/groups/free.code.camp.boise) | [Gitter](//gitter.im/freecodecamp/Boise) |
-| Boston | [Facebook](//www.facebook.com/groups/free.code.camp.boston/) | [Gitter](//gitter.im/freecodecamp/Boston) |
-| Boulder | [Facebook](//www.facebook.com/groups/free.code.camp.boulder/) | [Gitter](//gitter.im/freecodecamp/Boulder) |
-| Brasilia | [Facebook](//www.facebook.com/groups/free.code.camp.brasilia/) | [Gitter](//gitter.im/freecodecamp/Brasilia) |
-| Brasov | [Facebook](https://www.facebook.com/groups/free.code.camp.brasov) | [Gitter](//gitter.im/freecodecamp/Brasov) |
-| Bratislava | [Facebook](//www.facebook.com/groups/free.code.camp.bratislava/) | [Gitter](//gitter.im/freecodecamp/Bratislava) |
-| Brighton | [Facebook](//www.facebook.com/groups/free.code.camp.brighton/) | [Gitter](//gitter.im/freecodecamp/Brighton) |
-| Brisbane | [Facebook](https://www.facebook.com/groups/free.code.camp.brisbane/) | [Gitter](//gitter.im/freecodecamp/Brisbane) |
-| Brno | [Facebook](//www.facebook.com/groups/free.code.camp.brno/) | [Gitter](//gitter.im/freecodecamp/Brno) |
-| Brussels | [Facebook](//www.facebook.com/groups/free.code.camp.brussels/) | [Gitter](//gitter.im/freecodecamp/Brussels) |
-| Bryan College Station | [Facebook](https://www.facebook.com/groups/free.code.camp.bryan.college.station/) | [Gitter](//gitter.im/freecodecamp/BryanCollegeStation) |
-| Bucaramanga | [Facebook](//www.facebook.com/groups/free.code.camp.bucaramanga/) | [Gitter](//gitter.im/freecodecamp/Bucaramanga) |
-| Bucharest | [Facebook](//www.facebook.com/groups/free.code.camp.bucharest/) | [Gitter](//gitter.im/freecodecamp/Bucharest) |
-| Budapest | [Facebook](//www.facebook.com/groups/free.code.camp.budapest/) | [Gitter](//gitter.im/freecodecamp/Budapest) |
-| Buenos Aires | [Facebook](//www.facebook.com/groups/free.code.camp.buenos.aires/) | [Gitter](//gitter.im/freecodecamp/BuenosAires) |
-| Buffalo | [Facebook](https://www.facebook.com/groups/free.code.camp.buffalo/) | [Gitter](//gitter.im/freecodecamp/Buffalo) |
-| Bury St Edmunds | [Facebook](//www.facebook.com/groups/free.code.camp.Bury.St.Edmunds/) | [Gitter](//gitter.im/freecodecamp/BuryStEdmunds) |
-| Busan | [Facebook](https://www.facebook.com/groups/free.code.camp.busan/) | [Gitter](//gitter.im/freecodecamp/Busan) |
-| Butte, MN| [Facebook]( https://www.facebook.com/groups/free.code.camp.butte.montana/) | [Gitter](//gitter.im/freecodecamp/ButteMN) |
-| Bydgoszcz | [Facebook](//www.facebook.com/groups/free.code.camp.bydgoszcz/) | [Gitter](//gitter.im/freecodecamp/Bydgoszcz) |
-| Cairo | [Facebook](//www.facebook.com/groups/free.code.camp.cairo/) | [Gitter](//gitter.im/freecodecamp/Cairo) |
-| Calgary | [Facebook](//www.facebook.com/groups/free.code.camp.calgary/) | [Gitter](//gitter.im/freecodecamp/Calgary) |
-| Cali | [Facebook](https://www.facebook.com/groups/free.code.camp.cali/) | [Gitter](//gitter.im/freecodecamp/Cali) |
-| Campinas | [Facebook](//www.facebook.com/groups/free.code.camp.campinas/) | [Gitter](//gitter.im/freecodecamp/Campinas) |
-| Canberra | [Facebook](https://www.facebook.com/groups/free.code.camp.canberra/) | [Gitter](//gitter.im/freecodecamp/Canberra) |
-| Cape Cod | [Facebook](//www.facebook.com/groups/free.code.camp.cape.cod/) | [Gitter](//gitter.im/freecodecamp/CapeCod) |
-| Cape Town | [Facebook](//www.facebook.com/groups/free.code.camp.cape.town/) | [Gitter](//gitter.im/freecodecamp/CapeTown) |
-| Caracas | [Facebook](//www.facebook.com/groups/free.code.camp.caracas/) | [Gitter](//gitter.im/freecodecamp/Caracas) |
-| Cardiff | [Facebook](https://www.facebook.com/groups/free.code.camp.cardiff/) | [Gitter](//gitter.im/freecodecamp/Cardiff) |
-| Casablanca | [Facebook](https://www.facebook.com/groups/free.code.camp.casablanca/) | [Gitter](//gitter.im/freecodecamp/Casablanca) |
-| Central Mississippi | [Facebook](https://www.facebook.com/groups/free.code.camp.central.mississippi/) | [Gitter](//gitter.im/freecodecamp/CentralMississippi) |
-| Champaign-Urbana | [Facebook](https://www.facebook.com/groups/free.code.camp.champaign.urbana/) | [Gitter](//gitter.im/freecodecamp/ChampaignUrbana) |
-| Charlotte | [Facebook](//www.facebook.com/groups/free.code.camp.charlotte.nc/) | [Gitter](//gitter.im/freecodecamp/Charlotte) |
-| Chattanooga | [Facebook](//www.facebook.com/groups/free.code.camp.chattanooga/) | [Gitter](//gitter.im/freecodecamp/Chattanooga) |
-| Chennai | [Facebook](//www.facebook.com/groups/free.code.camp.chennai/) | [Gitter](//gitter.im/freecodecamp/Chennai) |
-| Chernivtsi | [Facebook](https://www.facebook.com/groups/free.code.camp.chernivtsi.chernivetska.oblast.u/) | [Gitter](//gitter.im/freecodecamp/Chernivtsi) |
-| Chiang Mai | [Facebook](//www.facebook.com/groups/free.code.camp.chiang.mai/) | [Gitter](//gitter.im/freecodecamp/ChiangMai) |
-| Chicago | [Facebook](//www.facebook.com/groups/free.code.camp.chicago/) | [Gitter](//gitter.im/freecodecamp/Chicago) |
-| Christchurch | [Facebook](//www.facebook.com/groups/free.code.camp.christchurch/) | [Gitter](//gitter.im/freecodecamp/Christchurch) |
-| Cincinnati | [Facebook](//www.facebook.com/groups/free.code.camp.cincinnati/) | [Gitter](//gitter.im/freecodecamp/Cincinnati) |
-| Clarksville | [Facebook](//www.facebook.com/groups/free.code.camp.clarksville.TN/) | [Gitter](//gitter.im/freecodecamp/Clarksville) |
-| Cleveland | [Facebook](//www.facebook.com/groups/free.code.camp.cleveland/) | [Gitter](//gitter.im/freecodecamp/Cleveland) |
-| Cluj | [Facebook](//www.facebook.com/groups/free.code.camp.cluj) | [Gitter](//gitter.im/freecodecamp/Cluj) |
-| Coimbatore | [Facebook](//www.facebook.com/groups/free.code.camp.coimbatore) | [Gitter](//gitter.im/freecodecamp/Coimbatore) |
-| Colombo | [Facebook](https://www.facebook.com/groups/free.code.camp.colombo/) | [Gitter](//gitter.im/freecodecamp/Colombo) |
-| Colorado Springs | [Facebook](//www.facebook.com/groups/freecodecampcoloradosprings/) | [Gitter](//gitter.im/freecodecamp/ColoradoSprings) |
-| Columbus | [Facebook](https://www.facebook.com/groups/free.code.camp.columbus/) | [Gitter](//gitter.im/freecodecamp/Columbus) |
-| Coventry | [Facebook](//www.facebook.com/groups/free.code.camp.coventry/) | [Gitter](//gitter.im/freecodecamp/Coventry) |
-| Cuenca | [Facebook](//www.facebook.com/groups/free.code.camp.cuenca/) | [Gitter](//gitter.im/freecodecamp/Cuenca) |
-| Curitiba | [Facebook](//www.facebook.com/groups/free.code.camp.curitiba/) | [Gitter](//gitter.im/freecodecamp/Curitiba) |
-| Dallas | [Facebook](//www.facebook.com/groups/free.code.camp.dallas/) | [Gitter](//gitter.im/freecodecamp/DallasFortWorth) |
-| Delhi | [Facebook](//www.facebook.com/groups/free.code.camp.delhi/) | [Gitter](//gitter.im/freecodecamp/Delhi) |
-| Denver | [Facebook](//www.facebook.com/groups/free.code.camp.denver/) | [Gitter](//gitter.im/freecodecamp/Denver) |
-| Derby | [Facebook](//www.facebook.com/groups/free.code.camp.derby/) | [Gitter](//gitter.im/freecodecamp/Derby) |
-| Des Moines | [Facebook](//www.facebook.com/groups/free.code.camp.des.moines/) | [Gitter](//gitter.im/freecodecamp/DesMoines) |
-| Detroit | [Facebook](//www.facebook.com/groups/free.code.camp.detroit/) | [Gitter](//gitter.im/freecodecamp/Detroit) |
-| Dhaka | [Facebook](//www.facebook.com/groups/free.code.camp.dhaka/) | [Gitter](//gitter.im/freecodecamp/Dhaka) |
-| Dnipropetrovsk | [Facebook](//www.facebook.com/groups/free.code.camp.dnipropetrovsk) | [Gitter](//gitter.im/freecodecamp/Dnipropetrovsk) |
-| Doha | [Facebook](//www.facebook.com/groups/free.code.camp.doha/) | [Gitter](//gitter.im/freecodecamp/Doha) |
-| Dubai | [Facebook](//www.facebook.com/groups/free.code.camp.dubai/) | [Gitter](//gitter.im/freecodecamp/Dubai) |
-| Dublin | [Facebook](//www.facebook.com/groups/free.code.camp.dublin/) | [Gitter](//gitter.im/freecodecamp/Dublin) |
-| Duluth | [Facebook](https://www.facebook.com/groups/free.code.camp.duluth/) | [Gitter](//gitter.im/freecodecamp/Duluth) |
-| Durango | [Facebook](//www.facebook.com/groups/free.code.camp.durango/) | [Gitter](//gitter.im/freecodecamp/Durango) |
-| Edinburgh | [Facebook](https://www.facebook.com/groups/free.code.camp.edinburgh/) | [Gitter](//gitter.im/freecodecamp/Edinburgh) |
-| Edmonton | [Facebook](//www.facebook.com/groups/free.code.camp.edmonton/) | [Gitter](//gitter.im/freecodecamp/Edmonton) |
-| El Paso | [Facebook](https://www.facebook.com/groups/free.code.camp.el.paso) | [Gitter](//gitter.im/freecodecamp/ElPaso) |
-| Evansville | [Facebook](https://www.facebook.com/groups/free.code.camp.evansville.in/) | [Gitter](//gitter.im/freecodecamp/Evansville) |
-| Farmville | [Facebook](https://www.facebook.com/groups/free.code.camp.farmville.va/) | [Gitter](//gitter.im/freecodecamp/Farmville) |
-| Fayetteville | [Facebook](https://www.facebook.com/groups/free.code.camp.fayetteville.arkansas/) | [Gitter](//gitter.im/freecodecamp/Fayetteville) |
-| Ferizaj | [Facebook](https://www.facebook.com/groups/free.code.camp.ferizaj/) | [Gitter](//gitter.im/freecodecamp/Ferizaj) |
-| Firenze | [Facebook](//www.facebook.com/groups/free.code.camp.firenze/) | [Gitter](//gitter.im/freecodecamp/Firenze) |
-| Flagstaff | [Facebook](//www.facebook.com/groups/free.code.camp.northern.arizona/) | [Gitter](//gitter.im/freecodecamp/NorthernArizona) |
-| Florianopolis | [Facebook](//www.facebook.com/groups/free.code.camp.florianopolis/) | [Gitter](//gitter.im/freecodecamp/Florianopolis) |
-| Folsom | [Facebook](https://www.facebook.com/groups/free.code.camp.folsom) | [Gitter](//gitter.im/freecodecamp/Folsom) |
-| Fort Collins | [Facebook](https://www.facebook.com/groups/free.code.camp.fort.collins/) | [Gitter](//gitter.im/freecodecamp/FortCollins) |
-| Fort Worth | [Facebook](//www.facebook.com/groups/free.code.camp.dallas/) | [Gitter](//gitter.im/freecodecamp/DallasFortWorth) |
-| Fortaleza | [Facebook](https://www.facebook.com/groups/free.code.group.fortaleza/) | [Gitter](//gitter.im/freecodecamp/Fortaleza) |
-| Frankfort | [Facebook](//www.facebook.com/groups/free.code.camp.frankfort.kentucky/) | [Gitter](//gitter.im/freecodecamp/Frankfort) |
-| Frankfurt | [Facebook](//www.facebook.com/groups/free.code.camp.frankfurt.main/) | [Gitter](//gitter.im/freecodecamp/Frankfurt) |
-| Freehold | [Facebook](//www.facebook.com/groups/free.code.camp.freehold/) | [Gitter](//gitter.im/freecodecamp/Freehold) |
-| Fremont | [Facebook](https://www.facebook.com/groups/free.code.camp.fremont/) | [Gitter](//gitter.im/freecodecamp/Fremont) |
-| Fresno | [Facebook](//www.facebook.com/groups/free.code.camp.fresno/) | [Gitter](//gitter.im/freecodecamp/Fresno) |
-| Fuengirola | [Facebook](//www.facebook.com/groups/free.code.camp.fuengirola/) | [Gitter](//gitter.im/freecodecamp/Fuengirola) |
-| Gainesville, FL | [Facebook](//www.facebook.com/groups/free.code.camp.gainesville.fla/) | [Gitter](//gitter.im/freecodecamp/GainesvilleFL) |
-| Galveston | [Facebook](//www.facebook.com/groups/free.code.camp.galveston/) | [Gitter](//gitter.im/freecodecamp/Galveston) |
-| Gdańsk | [Facebook](//www.facebook.com/groups/free.code.camp.trojmiasto/) | [Gitter](//gitter.im/freecodecamp/Trojmiasto) |
-| Gdynia | [Facebook](//www.facebook.com/groups/free.code.camp.trojmiasto) | [Gitter](//gitter.im/freecodecamp/Trojmiasto) |
-| Geneva | [Facebook](//www.facebook.com/groups/free.code.camp.geneva/) | [Gitter](//gitter.im/freecodecamp/Geneva) |
-| Glendora | [Facebook](//www.facebook.com/groups/free.code.camp.Glendora.California/) | [Gitter](//gitter.im/freecodecamp/Glendora) |
-| Goiania | [Facebook](https://www.facebook.com/groups/free.code.camp.goiania/) | [Gitter](//gitter.im/freecodecamp/Goiania) |
-| Granada | [Facebook](//www.facebook.com/groups/free.code.camp.granada/) | [Gitter](//gitter.im/freecodecamp/Granada) |
-| Grand Rapids | [Facebook](//www.facebook.com/groups/free.code.camp.grand.rapids/) | [Gitter](//gitter.im/freecodecamp/GrandRapids) |
-| Guadalajara | [Facebook](//www.facebook.com/groups/fcc.guadalajara) | [Gitter](//gitter.im/freecodecamp/Guadalajara) |
-| Guarapuava | [Facebook](//www.facebook.com/groups/free.code.camp.guarapuava/) | [Gitter](//gitter.im/freecodecamp/Guarapuava) |
-| Guatemala City | [Facebook](https://www.facebook.com/groups/free.code.camp.guatemala/) | [Gitter](//gitter.im/freecodecamp/GuatemalaCity) |
-| Guntur | [Facebook](//www.facebook.com/groups/free.code.camp.guntur/) | [Gitter](//gitter.im/freecodecamp/Guntur) |
-| Gurgaon | [Facebook](https://www.facebook.com/groups/free.code.camp.gurgaon/) | [Gitter](//gitter.im/freecodecamp/Gurgaon) |
-| Göttingen | [Facebook](https://www.facebook.com/groups/free.code.camp.goettingen/) | [Gitter](//gitter.im/freecodecamp/Goettingen) |
-| Hagerstown | [Facebook](//www.facebook.com/groups/free.code.camp.hagerstown/) | [Gitter](//gitter.im/freecodecamp/Hagerstown) |
-| Haifa | [Facebook]( //www.facebook.com/groups/free.code.camp.Haifa/) | [Gitter](//gitter.im/freecodecamp/Christchurch) |
-| Halifax | [Facebook](https://www.facebook.com/groups/free.code.camp.halifax/) | [Gitter](//gitter.im/freecodecamp/Halifax) |
-| Hamburg | [Facebook](//www.facebook.com/groups/free.code.camp.hamburg/) | [Gitter](//gitter.im/freecodecamp/Hamburg) |
-| Hampton Roads | [Facebook](//www.facebook.com/groups/free.code.camp.hamptonroads/) | [Gitter](//gitter.im/freecodecamp/HamptonRoads) |
-| Hanoi | [Facebook](//www.facebook.com/groups/free.code.camp.hanoi/) | [Gitter](//gitter.im/freecodecamp/Hanoi) |
-| Hartford | [Facebook](//www.facebook.com/groups/free.code.camp.hartford.connecticut/) | [Gitter](//gitter.im/freecodecamp/Hartford) |
-| Hermosillo | [Facebook](//www.facebook.com/groups/free.code.camp.Hermosillo/) | [Gitter](//gitter.im/freecodecamp/Hermosillo) |
-| Hickory | [Facebook](//www.facebook.com/groups/free.code.camp.hickory.nc) | [Gitter](//gitter.im/freecodecamp/Hickory) |
-| Ho Chi Minh City | [Facebook](//www.facebook.com/groups/free.code.camp.hochiminhcity/) | [Gitter](//gitter.im/freecodecamp/HoChiMinhCity) |
-| Hobart | [Facebook](https://www.facebook.com/groups/free.code.camp.hobart/) | [Gitter](//gitter.im/freecodecamp/Hobart) |
-| Hong Kong | [Facebook](//www.facebook.com/groups/free.code.camp.hk/) | [Gitter](//gitter.im/freecodecamp/HongKong) |
-| Houston | [Facebook](//www.facebook.com/groups/free.code.camp.houston/) | [Gitter](//gitter.im/freecodecamp/Houston) |
-| Hove | [Facebook](//www.facebook.com/groups/free.code.camp.hove) | [Gitter](//gitter.im/freecodecamp/Hove) |
-| Huntsville | [Facebook](https://www.facebook.com/groups/free.code.camp.huntsville/) | [Gitter](//gitter.im/freecodecamp/Huntsville) |
-| Hyderabad | [Facebook](//www.facebook.com/groups/free.code.camp.hyderabad/) | [Gitter](//gitter.im/freecodecamp/Hyderabad) |
-| Iasi | [Facebook](//www.facebook.com/groups/free.code.camp.iasi.romania/) | [Gitter](//gitter.im/freecodecamp/Iasi) |
-| idaho Falls | [Facebook](https://www.facebook.com/groups/free.code.camp.idaho.falls.idaho/) | [Gitter](//gitter.im/freecodecamp/IdahoFalls) |
-| Indianapolis | [Facebook](//www.facebook.com/groups/free.code.camp.indianapolis.in/) | [Gitter](//gitter.im/freecodecamp/Indianapolis) |
-| Ipswich | [Facebook](https://www.facebook.com/groups/free.code.camp.ipswich.qld/) | [Gitter](//gitter.im/freecodecamp/Ipswich) |
-| Irkutsk | [Facebook](//www.facebook.com/groups/free.code.camp.irkutsk/) | [Gitter](//gitter.im/freecodecamp/Irkutsk) |
-| Isfahan | [Facebook](https://www.facebook.com/groups/free.code.camp.isfahan/) | [Gitter](//gitter.im/freecodecamp/Isfahan) |
-| Islamabad | [Facebook](//www.facebook.com/groups/free.code.camp.islamabad/) | [Gitter](//gitter.im/freecodecamp/Islamabad) |
-| Istanbul | [Facebook](//www.facebook.com/groups/free.code.camp.istanbul/) | [Gitter](//gitter.im/freecodecamp/Istanbul) |
-| Ivano Frankivsk | [Facebook](//www.facebook.com/groups/free.code.camp.ivano.frankivsk/) | [Gitter](//gitter.im/freecodecamp/IvanoFrankivsk) |
-| Izmir | [Facebook](https://www.facebook.com/groups/free.code.camp.izmir) | [Gitter](//gitter.im/freecodecamp/Izmir) |
-| Jacarei | [Facebook](https://www.facebook.com/groups/free.code.camp.sao.paulo.jacarei/) | [Gitter](//gitter.im/freecodecamp/Jacarei) |
-| Jackson, MS | [Facebook](https://www.facebook.com/groups/free.code.camp.jackson.ms) | [Gitter](//gitter.im/freecodecamp/JacksonMS) |
-| Jacksonville | [Facebook](//www.facebook.com/groups/free.code.camp.jacksonville/) | [Gitter](//gitter.im/freecodecamp/Jacksonville) |
-| Jaffna | [Facebook](https://www.facebook.com/groups/free.code.camp.jaffna/) | [Gitter](//gitter.im/freecodecamp/Jaffna) |
-| Jaipur | [Facebook](//www.facebook.com/groups/free.code.camp.jaipur/) | [Gitter](//gitter.im/freecodecamp/Jaipur) |
-| Jakarta | [Facebook](//www.facebook.com/groups/free.code.camp.jakarta/) | [Gitter](//gitter.im/freecodecamp/Jakarta) |
-| Jamnagar | [Facebook](https://www.facebook.com/groups/free.code.camp.jamnagar.guj.in/) | [Gitter](//gitter.im/freecodecamp/) |
-| Jerusalem | [Facebook](https://www.facebook.com/groups/free.code.camp.jerusalem/) | [Gitter](//gitter.im/freecodecamp/Jerusalem) |
-| Joao Pessoa | [Facebook](//www.facebook.com/groups/free.code.camp.joao.pessoa/) | [Gitter](//gitter.im/freecodecamp/JoaoPessoa) |
-| Johannesburg | [Facebook](//www.facebook.com/groups/free.code.camp.johannesburg/) | [Gitter](//gitter.im/freecodecamp/Johannesburg) |
-| Johor | [Facebook](//facebook.com/groups/free.code.camp.nusajaya.malaysia/) | [Gitter](//gitter.im/FreeCodeCamp/Nusajaya) |
-| Juarezchi | [Facebook](https://www.facebook.com/groups/free.code.camp.juarezchi/) | [Gitter](//gitter.im/freecodecamp/Juarezchi) |
-| Kaduna | [Facebook](//www.facebook.com/groups/free.code.camp.kaduna/) | [Gitter](//gitter.im/freecodecamp/Kaduna) |
-| Kalamazoo | [Facebook](//www.facebook.com/groups/free.code.camp.kalamazoo/) | [Gitter](//gitter.im/freecodecamp/Kalamazoo) |
-| Kampala | [Facebook](//www.facebook.com/groups/free.code.camp.kampala/) | [Gitter](//gitter.im/freecodecamp/Kampala) |
-| Kansas City | [Facebook](//www.facebook.com/groups/free.code.camp.kansascity/) | [Gitter](//gitter.im/freecodecamp/KansasCity) |
-| Karachi | [Facebook](//www.facebook.com/groups/free.code.camp.karachi/) | [Gitter](//gitter.im/freecodecamp/Karachi) |
-| Kathmandu | [Facebook](//www.facebook.com/groups/free.code.camp.kathmandu/) | [Gitter](//gitter.im/freecodecamp/Kathmandu) |
-| Kemerovo | [Facebook](//www.facebook.com/groups/free.code.camp.kemerovo/) | [Gitter](//gitter.im/freecodecamp/Kemerovo) |
-| Kerch | [Facebook](//www.facebook.com/groups/free.code.camp.kerch/) | [Gitter](//gitter.im/freecodecamp/Kerch) |
-| Kiev | [Facebook](//www.facebook.com/groups/free.code.camp.kiev/) | [Gitter](//gitter.im/freecodecamp/Kiev) |
-| Killeen | [Facebook](https://www.facebook.com/groups/free.code.camp.killeen.texas/) | [Gitter](//gitter.im/freecodecamp/Killeen) |
-| Kingston, ON | [Facebook](//www.facebook.com/groups/free.code.camp.kingston.ontario/) | [Gitter](//gitter.im/freecodecamp/KingstonON) |
-| Knoxville | [Facebook](//www.facebook.com/groups/free.code.camp.knoxville.tn/) | [Gitter](//gitter.im/freecodecamp/Knoxville) |
-| Koeln | [Facebook](//www.facebook.com/groups/free.code.camp.koeln/) | [Gitter](//gitter.im/freecodecamp/Koeln) |
-| Kolkata | [Facebook](//www.facebook.com/groups/free.code.camp.kolkata/) | [Gitter](//gitter.im/freecodecamp/Kolkata) |
-| Kosovo | [Facebook](https://www.facebook.com/groups/free.code.camp.kosovo/) | [Gitter](//gitter.im/freecodecamp/Kosovo) |
-| Kozhikode | [Facebook](https://www.facebook.com/groups/free.code.camp.kozhikode/) | [Gitter](//gitter.im/freecodecamp/Kozhikode) |
-| Krasnodar | [Facebook](//www.facebook.com/groups/free.code.camp.krasnodar/) | [Gitter](//gitter.im/freecodecamp/Krasnodar) |
-| Kryvyi Rih | [Facebook](//www.facebook.com/groups/free.code.camp.kryvyi.rih/) | [Gitter](//gitter.im/freecodecamp/KryvyiRih) |
-| Kuala Lumpur | [Facebook](//www.facebook.com/groups/free.code.camp.malaysia.kl/) | [Gitter](//gitter.im/freecodecamp/KualaLumpur) |
-| La Crosse | [Facebook](//www.facebook.com/groups/free.code.camp.la.crosse) | [Gitter](//gitter.im/freecodecamp/LaCrosse) |
-| La Paz | [Facebook](//www.facebook.com/groups/free.code.camp.La.Paz/) | [Gitter](//gitter.im/freecodecamp/LaPaz) |
-| Lae | [Facebook](https://www.facebook.com/groups/free.code.camp.papua.new.guinea.lae/) | [Gitter](//gitter.im/freecodecamp/Lae) |
-| Lagos | [Facebook](//www.facebook.com/groups/free.code.camp.lagos/) | [Gitter](//gitter.im/freecodecamp/Lagos) |
-| Lahore | [Facebook](//www.facebook.com/groups/free.code.camp.lahore/) | [Gitter](//gitter.im/freecodecamp/Lahore) |
-| Lakeland | [Facebook](https://www.facebook.com/groups/Free.Code.Camp.Lakeland.Florida/) | [Gitter](//gitter.im/freecodecamp/Lakeland) |
-| Las Cruces | [Facebook](//www.facebook.com/groups/free.code.camp.lc.nm/) | [Gitter](//gitter.im/freecodecamp/LasCruces) |
-| Las Vegas | [Facebook](https://www.facebook.com/groups/free.code.camp.las.vegas.nv/) | [Gitter](//gitter.im/freecodecamp/LasVegas) |
-| Lawrence | [Facebook](https://www.facebook.com/groups/free.code.camp.lawrence) | [Gitter](//gitter.im/freecodecamp/Lawrence) |
-| Leesburg | [Facebook](//www.facebook.com/groups/free.code.camp.leesburg/) | [Gitter](//gitter.im/freecodecamp/Leesburg) |
-| Leesville | [Facebook](//www.facebook.com/groups/free.code.camp.leesville.la/) | [Gitter](//gitter.im/freecodecamp/Leesville) |
-| Lehi | [Facebook](//www.facebook.com/groups/free.code.camp.lehi/) | [Gitter](//gitter.im/freecodecamp/Lehi) |
-| Lexington | [Facebook](//www.facebook.com/groups/free.code.camp.lexington/) | [Gitter](//gitter.im/freecodecamp/Lexington) |
-| Lima | [Facebook](//www.facebook.com/groups/Free.Code.Camp.Lima/) | [Gitter](//gitter.im/freecodecamp/Lima) |
-| Limassol | [Facebook](//www.facebook.com/groups/free.code.camp.limassol/) | [Gitter](//gitter.im/freecodecamp/Limassol) |
-| Lindsay | [Facebook](//www.facebook.com/groups/free.code.camp.lindsay/) | [Gitter](//gitter.im/freecodecamp/Lindsay) |
-| Lisbon | [Facebook](//www.facebook.com/groups/free.code.camp.lisbon/) | [Gitter](//gitter.im/freecodecamp/Lisbon) |
-| Little Rock | [Facebook](https://www.facebook.com/groups/free.code.camp.little.rock/) | [Gitter](//gitter.im/freecodecamp/LittleRock) |
-| London | [Facebook](//www.facebook.com/groups/free.code.camp.london/) | [Gitter](//gitter.im/freecodecamp/London) |
-| London, ON | [Facebook](https://www.facebook.com/groups/free.code.camp.london.on/) | [Gitter](//gitter.im/freecodecamp/LondonON) |
-| Los Alamos | [Facebook](//www.facebook.com/groups/free.code.camp.los.alamos.nm/) | [Gitter](//gitter.im/freecodecamp/LosAlamos) |
-| Los Angeles | [Facebook](//www.facebook.com/groups/free.code.camp.los.angeles/) | [Gitter](//gitter.im/freecodecamp/FCCLosAngeles) |
-| Louisville | [Facebook](https://www.facebook.com/groups/free.code.camp.Louisville) | [Gitter](//gitter.im/freecodecamp/Louisville) |
-| Luanda | [Facebook](https://www.facebook.com/groups/free.code.camp.luanda/) | [Gitter](//gitter.im/freecodecamp/Luanda) |
-| Lubbock | [Facebook](//www.facebook.com/groups/free.code.camp.lubbock/) | [Gitter](//gitter.im/freecodecamp/Lubbock) |
-| Lviv | [Facebook](//www.facebook.com/groups/free.code.camp.lviv/) | [Gitter](//gitter.im/freecodecamp/Lviv) |
-| Madison | [Facebook](//www.facebook.com/groups/free.code.camp.madison.wisconsin/) | [Gitter](//gitter.im/freecodecamp/Madison) |
-| Madrid | [Facebook](//www.facebook.com/groups/free.code.camp.madrid/) | [Gitter](//gitter.im/freecodecamp/Madrid) |
-| Manchester, UK | [Facebook](//www.facebook.com/groups/free.code.camp.manchester/) | [Gitter](//gitter.im/freecodecamp/Manchester) |
-| Manila | [Facebook](//www.facebook.com/groups/free.code.camp.manila/) | [Gitter](//gitter.im/freecodecamp/Manila) |
-| Melbourne | [Facebook](//www.facebook.com/groups/free.code.camp.Melbourne/) | [Gitter](//gitter.im/freecodecamp/Melbourne) |
-| Mexico City | [Facebook](//www.facebook.com/groups/free.code.camp.mexico.df/) | [Gitter](//gitter.im/freecodecamp/MexicoCity) |
-| Miami | [Facebook](//www.facebook.com/groups/free.code.camp.miami/) | [Gitter](//gitter.im/freecodecamp/Miami) |
-| Mianwali | [Facebook](https://www.facebook.com/groups/free.code.camp.mianwali/) | [Gitter](//gitter.im/freecodecamp/Mianwali) |
-| Milan | [Facebook](https://www.facebook.com/groups/free.code.camp.milan/) | [Gitter](//gitter.im/freecodecamp/Milan) |
-| Milwaukee | [Facebook](//www.facebook.com/groups/free.code.camp.milwaukee/) | [Gitter](//gitter.im/freecodecamp/Milwaukee) |
-| Minneapolis | [Facebook](//www.facebook.com/groups/free.code.camp.minneapolis/) | [Gitter](//gitter.im/freecodecamp/Minneapolis) |
-| Minsk | [Facebook](//www.facebook.com/groups/free.code.camp.Minsk/) | [Gitter](//gitter.im/freecodecamp/Minsk) |
-| Mississippi Gulf Coast | [Facebook](//www.facebook.com/groups/free.code.camp.msgulfcoast/) | [Gitter](//gitter.im/freecodecamp/MississippiGulfCoast) |
-| Missoula | [Facebook](//www.facebook.com/groups/free.code.camp.missoula/) | [Gitter](//gitter.im/freecodecamp/Missoula) |
-| Modesto | [Facebook](https://www.facebook.com/groups/free.code.camp.modesto/) | [Gitter](//gitter.im/freecodecamp/Modesto) |
-| Monterrey | [Facebook](//www.facebook.com/groups/free.code.camp.monterrey/) | [Gitter](//gitter.im/freecodecamp/Monterrey) |
-| Montevideo | [Facebook](https://www.facebook.com/groups/free.code.camp.montevideo/) | [Gitter](//gitter.im/freecodecamp/Montevideo) |
-| Montgomery | [Facebook](//www.facebook.com/groups/free.code.camp.montgomery.alabama/) | [Gitter](//gitter.im/freecodecamp/Montgomery) |
-| Montreal | [Facebook](//www.facebook.com/groups/free.code.camp.montreal/) | [Gitter](//gitter.im/freecodecamp/Montreal) |
-| Moosejaw | [Facebook](//www.facebook.com/groups/free.code.camp.moosejaw) | [Gitter](//gitter.im/freecodecamp/Moosejaw) |
-| Morgan City | [Facebook](//www.facebook.com/groups/free.code.camp.morgan.ciry.la/) | [Gitter](//gitter.im/freecodecamp/MorganCity) |
-| Moscow | [Facebook](//www.facebook.com/groups/free.code.camp.moscow/) | [Gitter](//gitter.im/freecodecamp/Moscow) |
-| Moss Point | [Facebook](https://www.facebook.com/groups/free.code.camp.moss.point.mississippi/) | [Gitter](//gitter.im/freecodecamp/MossPoint) |
-| Multan | [Facebook](//www.facebook.com/groups/free.code.camp.multan) | [Gitter](//gitter.im/freecodecamp/Multan) |
-| Mumbai | [Facebook](https://www.facebook.com/groups/frre.code.camp.mumbai/) | [Gitter](//gitter.im/freecodecamp/Mumbai) |
-| Munich | [Facebook](//www.facebook.com/groups/free.code.camp.munich/) | [Gitter](//gitter.im/freecodecamp/Munich) |
-| Mysore | [Facebook](//www.facebook.com/groups/free.code.camp.mysore/) | [Gitter](//gitter.im/freecodecamp/Mysore) |
-| Nairobi | [Facebook](//www.facebook.com/groups/free.code.camp.nairobi/) | [Gitter](//gitter.im/freecodecamp/Nairobi) |
-| Napoli | [Facebook](https://www.facebook.com/groups/free.code.camp.napoli) | [Gitter](//gitter.im/freecodecamp/Napoli) |
-| Nashik | [Facebook](//www.facebook.com/groups/free.code.camp.your.nashik/) | [Gitter](//gitter.im/freecodecamp/Nashik) |
-| Nashville | [Facebook](//www.facebook.com/groups/free.code.camp.nashville/) | [Gitter](//gitter.im/freecodecamp/Nashville) |
-| New Brunswick | [Facebook](https://www.facebook.com/groups/free.code.camp.new.brunswick.new.jersey/) | [Gitter](//gitter.im/freecodecamp/NewBrunswick) |
-| New Haven | [Facebook](//www.facebook.com/groups/free.code.camp.new.haven/) | [Gitter](//gitter.im/freecodecamp/NewHaven) |
-| New Orleans | [Facebook](//www.facebook.com/groups/free.code.camp.neworleans/) | [Gitter](//gitter.im/freecodecamp/NewOrleans) |
-| New Paltz | [Facebook](//www.facebook.com/groups/free.code.camp.new.paltz/) | [Gitter](//gitter.im/freecodecamp/NewPaltz) |
-| New Westminster | [Facebook](//www.facebook.com/groups/free.code.camp.new.westminster/) | [Gitter](//gitter.im/freecodecamp/NewWestminster) |
-| New York City | [Facebook](//www.facebook.com/groups/free.code.camp.new.york.city/) | [Gitter](//gitter.im/freecodecamp/NewYorkCity) |
-| Nicosia | [Facebook](//www.facebook.com/groups/free.code.camp.nicosia/) | [Gitter](//gitter.im/freecodecamp/Nicosia) |
-| Noida | [Facebook](//www.facebook.com/groups/free.code.camp.noida/) | [Gitter](//gitter.im/freecodecamp/Noida) |
-| Norfolk | [Facebook](https://www.facebook.com/groups/free.code.camp.norfolk) | [Gitter](//gitter.im/freecodecamp/Norfolk) |
-| Normal | [Facebook](//www.facebook.com/groups/free.code.camp.bloomington.normal/) | [Gitter](//gitter.im/freecodecamp/BloomingtonNormal) |
-| North Mississippi | [Facebook](https://www.facebook.com/groups/free.code.camp.north.mississippi/) | [Gitter](//gitter.im/freecodecamp/NorthMississippi) |
-| North Platte | [Facebook](//www.facebook.com/groups/free.code.camp.north.platte/) | [Gitter](//gitter.im/freecodecamp/NorthPlatte) |
-| Nusajaya | [Facebook](//facebook.com/groups/free.code.camp.nusajaya.malaysia//) | [Gitter](//gitter.im/FreeCodeCamp/Nusajaya) |
-| Oakland | [Facebook](//www.facebook.com/groups/free.code.camp.berkeley/) | [Gitter](//gitter.im/freecodecamp/EastBay) |
-| Oklahoma City | [Facebook](//www.facebook.com/groups/free.code.camp.oklahoma.city/) | [Gitter](//gitter.im/freecodecamp/OklahomaCity) |
-| Olympia | [Facebook](//www.facebook.com/groups/free.code.camp.olympia/) | [Gitter](//gitter.im/FreeCodeCamp/Olympia) |
-| Omaha | [Facebook](//www.facebook.com/groups/free.code.camp.omaha/) | [Gitter](//gitter.im/freecodecamp/Omaha) |
-| Orange County | [Facebook](//www.facebook.com/groups/free.code.camp.orange.county/) | [Gitter](//gitter.im/freecodecamp/OrangeCounty) |
-| Orlando | [Facebook](//www.facebook.com/groups/free.code.camp.orlando/) | [Gitter](//gitter.im/freecodecamp/Orlando) |
-| Ottawa | [Facebook](https://www.facebook.com/groups/free.code.camp.ottawa/) | [Gitter](//gitter.im/freecodecamp/Ottawa) |
-| Panama City | [Facebook](https://www.facebook.com/groups/free.code.camp.panama.city) | [Gitter](//gitter.im/freecodecamp/PanamaCity) |
-| Parana | [Facebook](//www.facebook.com/groups/free.code.camp.your.apucarana.parana/) | [Gitter](//gitter.im/freecodecamp/Parana) |
-| Paris | [Facebook](//www.facebook.com/groups/free.code.camp.paris/) | [Gitter](//gitter.im/freecodecamp/Paris) |
-| Pasadena | [Facebook](//www.facebook.com/groups/free.code.camp.pasadena.ca/) | [Gitter](//gitter.im/freecodecamp/Pasadena) |
-| Pasto | [Facebook](//www.facebook.com/groups/free.code.camp.pasto/) | [Gitter](//gitter.im/freecodecamp/Pasto) |
-| Penang | [Facebook](//www.facebook.com/groups/free.code.camp.penang/) | [Gitter](//gitter.im/freecodecamp/Penang) |
-| Perth | [Facebook](//www.facebook.com/groups/free.code.camp.perth/) | [Gitter](//gitter.im/freecodecamp/Perth) |
-| Perugia | [Facebook](//www.facebook.com/groups/free.code.camp.perugia.it/) | [Gitter](//gitter.im/freecodecamp/Perugia) |
-| Philadelphia | [Facebook](//www.facebook.com/groups/free.code.camp.philadelphia/) | [Gitter](//gitter.im/freecodecamp/Philadelphia) |
-| Phoenix | [Facebook](//www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/) | [Gitter](//gitter.im/freecodecamp/Phoenix) |
-| Pittsburgh | [Facebook](//www.facebook.com/groups/free.code.camp.pittsburgh.pa/) | [Gitter](//gitter.im/freecodecamp/Pittsburgh) |
-| Poitiers | [Facebook](//www.facebook.com/groups/free.code.camp.poitiers/) | [Gitter](//gitter.im/freecodecamp/Poitiers) |
-| Pondicherry | [Facebook](https://www.facebook.com/groups/free.code.camp.pondicherry/) | [Gitter](//gitter.im/freecodecamp/Pondicherry) |
-| Port Harcourt | [Facebook](//www.facebook.com/groups/free.code.camp.port.harcourt/) | [Gitter](//gitter.im/freecodecamp/Harcourt) |
-| Portland | [Facebook](//www.facebook.com/groups/free.code.camp.portland/) | [Gitter](//gitter.im/freecodecamp/Portland) |
-| Porto Alegre | [Facebook](https://www.facebook.com/groups/free.code.camp.porto.alegre.rs/) | [Gitter](//gitter.im/freecodecamp/PortoAlegre) |
-| Porto | [Facebook](//www.facebook.com/groups/free.code.camp.porto/) | [Gitter](//gitter.im/freecodecamp/Porto) |
-| Prague | [Facebook](https://www.facebook.com/groups/free.code.camp.prague/) | [Gitter](//gitter.im/freecodecamp/Prague) |
-| Prescott | [Facebook](//www.facebook.com/groups/free.code.camp.northern.arizona/) | [Gitter](//gitter.im/freecodecamp/NorthernArizona) |
-| Pristina | [Facebook](//www.facebook.com/groups/free.code.camp.pristina/) | [Gitter](//gitter.im/freecodecamp/Pristina) |
-| Providence | [Facebook](//www.facebook.com/groups/free.code.camp.providence/) | [Gitter](//gitter.im/freecodecamp/Providence) |
-| Provo | [Facebook](//www.facebook.com/groups/free.code.camp.provo/) | [Gitter](//gitter.im/freecodecamp/Provo) |
-| Puebla | [Facebook](https://www.facebook.com/groups/free.code.camp.pueblaMX/) | [Gitter](//gitter.im/freecodecamp/Puebla) |
-| Pune | [Facebook](//www.facebook.com/groups/free.code.camp.pune/) | [Gitter](//gitter.im/freecodecamp/Pune) |
-| Quibdo | [Facebook](//www.facebook.com/groups/free.code.camp.quibdo/) | [Gitter](//gitter.im/freecodecamp/Quibdo) |
-| Raleigh | [Facebook](//www.facebook.com/groups/free.code.camp.raleigh/) | [Gitter](//gitter.im/freecodecamp/Raleigh) |
-| Ranchi | [Facebook](//www.facebook.com/groups/free.code.camp.ranchi/) | [Gitter](//gitter.im/freecodecamp/Ranchi) |
-| Reading | [Facebook](https://www.facebook.com/groups/free.code.camp.reading/) | [Gitter](//gitter.im/freecodecamp/Reading) |
-| Recife | [Facebook](//www.facebook.com/groups/free.code.camp.recife) | [Gitter](//gitter.im/freecodecamp/Recife) |
-| Redmond, OR | [Facebook](//www.facebook.com/groups/free.code.camp.remond.oregon/) | [Gitter](//gitter.im/freecodecamp/RedmondOR) |
-| Reno | [Facebook](https://www.facebook.com/groups/free.code.camp.reno/) | [Gitter](//gitter.im/freecodecamp/Reno) |
-| Reykjavik | [Facebook](https://www.facebook.com/groups/free.code.camp.reykjavik/) | [Gitter](//gitter.im/freecodecamp/Reykjavik) |
-| Rice Lake | [Facebook](//www.facebook.com/groups/free.code.camp.rice.lake.wi/) | [Gitter](//gitter.im/freecodecamp/RiceLake) |
-| Richmond | [Facebook](//www.facebook.com/groups/free.code.camp.richmond/) | [Gitter](//gitter.im/freecodecamp/Richmond) |
-| Rio de Janeiro | [Facebook](//www.facebook.com/groups/free.code.camp.rio.de.janeiro/) | [Gitter](//gitter.im/freecodecamp/RiodeJaneiro) |
-| Riverside, CA | [Facebook](https://www.facebook.com/groups/free.code.camp.riverside.ca/) | [Gitter](//gitter.im/freecodecamp/RiversideCA) |
-| Rochester, NY | [Facebook](//www.facebook.com/groups/free.code.camp.Rochester.New.York/) | [Gitter](//gitter.im/freecodecamp/RochesterNY) |
-| Roma | [Facebook](//www.facebook.com/groups/free.code.camp.roma/) | [Gitter](//gitter.im/freecodecamp/Roma) |
-| Rotterdam | [Facebook](//www.facebook.com/groups/free.code.camp.rotterdam/) | [Gitter](//gitter.im/freecodecamp/Rotterdam) |
-| Sacramento | [Facebook](//www.facebook.com/groups/free.code.camp.sacramento/) | [Gitter](//gitter.im/freecodecamp/Sacramento) |
-| Saint George | [Facebook](//www.facebook.com/groups/free.code.camp.saint.george/) | [Gitter](//gitter.im/freecodecamp/SaintGeorge) |
-| Saint Louis | [Facebook](//www.facebook.com/groups/free.code.camp.saint.louis/) | [Gitter](//gitter.im/freecodecamp/SaintLouis) |
-| Saint Paul | [Facebook](//www.facebook.com/groups/free.code.camp.saint.paul.mn/) | [Gitter](//gitter.im/freecodecamp/SaintPaul) |
-| Salamanca | [Facebook](//www.facebook.com/groups/free.code.camp.salamanca/) | [Gitter](//gitter.im/freecodecamp/Salamanca) |
-| Salisbury, MD | [Facebook](https://www.facebook.com/groups/free.code.camp.salisbury.maryland/) | [Gitter](//gitter.im/freecodecamp/SalisburyMD) |
-| Salt Lake City | [Facebook](//www.facebook.com/groups/free.code.camp.salt.lake.city/) | [Gitter](//gitter.im/freecodecamp/SaltLakeCity) |
-| Salvador | [Facebook](//www.facebook.com/groups/free.code.camp.salvador/) | [Gitter](//gitter.im/freecodecamp/Salvador) |
-| San Antonio | [Facebook](https://www.facebook.com/groups/free.code.camp.san.antonio) | [Gitter](//gitter.im/freecodecamp/SanAntonio) |
-| San Bernardino | [Facebook](//www.facebook.com/groups/free.code.camp.san.bernardino/) | [Gitter](//gitter.im/freecodecamp/SanBernardino) |
-| San Diego | [Facebook](//www.facebook.com/groups/free.code.camp.san.diego/) | [Gitter](//gitter.im/freecodecamp/SanDiego) |
-| San Francisco | [Facebook](//www.facebook.com/groups/free.code.camp.san.francisco) | [Gitter](//gitter.im/freecodecamp/SanFrancisco) |
-| San Jose | [Facebook](//www.facebook.com/groups/free.code.camp.san.jose) | [Gitter](//gitter.im/freecodecamp/SanJose) |
-| San Jose, Costa Rica | [Facebook](https://www.facebook.com/groups/free.code.camp.san.jose.costa.rica/) | [Gitter](//gitter.im/freecodecamp/SanJoseCostaRica) |
-| San Juan | [Facebook](//www.facebook.com/groups/free.code.camp.sanjuan.pr/) | [Gitter](//gitter.im/freecodecamp/SanJuan) |
-| Santa Barbara | [Facebook](//www.facebook.com/groups/free.code.camp.santa.barbara/) | [Gitter](//gitter.im/freecodecamp/SantaBarbara) |
-| Santa Cruz | [Facebook](//www.facebook.com/groups/free.code.camp.SC/) | [Gitter](//gitter.im/freecodecamp/SantaCruz) |
-| Santa Luis Obispo | [Facebook](//www.facebook.com/groups/free.code.camp.SLO/) | [Gitter](//gitter.im/freecodecamp/SanLuisObispo) |
-| Santiago | [Facebook](https://www.facebook.com/groups/free.code.camp.santiago/) | [Gitter](//gitter.im/freecodecamp/Santiago) |
-| Santo Domingo | [Facebook](//www.facebook.com/groups/free.code.camp.dr/) | [Gitter](//gitter.im/freecodecamp/SantoDomingo) |
-| Sao Paulo | [Facebook](//www.facebook.com/groups/free.code.camp.sao.paulo/) | [Gitter](//gitter.im/freecodecamp/SaoPaulo) |
-| Savannah | [Facebook](//www.facebook.com/groups/free.code.camp.savannah/) | [Gitter](//gitter.im/freecodecamp/Savannah) |
-| Scottsdale | [Facebook](//www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/) | [Gitter](//gitter.im/freecodecamp/Phoenix) |
-| Seattle | [Facebook](//www.facebook.com/groups/free.code.camp.seattle/) | [Gitter](//gitter.im/freecodecamp/Seattle) |
-| Sedona | [Facebook](//www.facebook.com/groups/free.code.camp.northern.arizona/) | [Gitter](//gitter.im/freecodecamp/NorthernArizona) |
-| Seoul | [Facebook](//www.facebook.com/groups/free.code.camp.seoul/) | [Gitter](//gitter.im/freecodecamp/Seoul) |
-| Shanghai | [Facebook](https://www.facebook.com/groups/free.code.camp.Shanghai/) | [Gitter](//gitter.im/freecodecamp/Shanghai) |
-| Sheffield | [Facebook](//www.facebook.com/groups/free.code.camp.sheffield/) | [Gitter](//gitter.im/freecodecamp/Sheffield) |
-| Shenzhen | [Facebook](https://www.facebook.com/groups/free.code.camp.shenzhen/) | [Gitter](//gitter.im/freecodecamp/Shenzhen) |
-| Sidoarjo | [Facebook](//www.facebook.com/groups/free.code.camp.sidoarjo/) | [Gitter](//gitter.im/freecodecamp/Sidoarjo) |
-| Sierra Vista | [Facebook](//www.facebook.com/groups/free.code.camp.sierra.vista/) | [Gitter](//gitter.im/freecodecamp/SierraVista) |
-| Singapore | [Facebook](//www.facebook.com/groups/free.code.camp.singapore/) | [Gitter](//gitter.im/freecodecamp/Singapore) |
-| Skopje | [Facebook](//www.facebook.com/groups/free.code.camp.skopje/) | [Gitter](//gitter.im/freecodecamp/Skopje) |
-| Solo | [Facebook](//www.facebook.com/groups/free.code.camp.solo/) | [Gitter](//gitter.im/freecodecamp/Solo) |
-| Sopot | [Facebook](//www.facebook.com/groups/free.code.camp.trojmiasto/) | [Gitter](//gitter.im/freecodecamp/Trojmiasto) |
-| South Bend | [Facebook](//www.facebook.com/groups/free.code.camp.south.bend/) | [Gitter](//gitter.im/freecodecamp/SouthBend) |
-| Spartanburg | [Facebook](https://www.facebook.com/groups/free.code.camp.spartanburg/) | [Gitter](//gitter.im/freecodecamp/Spartanburg) |
-| Srinagar | [Facebook](https://www.facebook.com/groups/free.code.camp.srinagar/) | [Gitter](//gitter.im/freecodecamp/Srinagar) |
-| St Cloud | [Facebook](//www.facebook.com/groups/free.code.camp.stcloud/) | [Gitter](//gitter.im/freecodecamp/StCloud) |
-| Stockholm | [Facebook](https://www.facebook.com/groups/free.code.camp.stockholm.sweden/) | [Gitter](//gitter.im/freecodecamp/Stockholm) |
-| Stroke-on-Trent | [Facebook](https://www.facebook.com/groups/free.code.camp.stoke.on.trent/) | [Gitter](//gitter.im/freecodecamp/StrokeOnTrent) |
-| Struga | [Facebook](//www.facebook.com/groups/free.code.camp.struga/) | [Gitter](//gitter.im/freecodecamp/Struga) |
-| Stuttgart | [Facebook](//www.facebook.com/groups/free.code.camp.stuttgart/) | [Gitter](//gitter.im/freecodecamp/Stuttgart) |
-| Surabaya | [Facebook](https://www.facebook.com/groups/free.code.camp.surabaya/) | [Gitter](//gitter.im/freecodecamp/Surabaya) |
-| Surrey | [Facebook](https://www.facebook.com/groups/free.code.camp.surrey/) | [Gitter](//gitter.im/freecodecamp/Surrey) |
-| Sydney | [Facebook](//www.facebook.com/groups/free.code.camp.sydney.au/) | [Gitter](//gitter.im/freecodecamp/Sydney) |
-| Sydney, Nova Scotia | [Facebook](https://www.facebook.com/groups/free.code.camp.sydney.ns/) | [Gitter](//gitter.im/freecodecamp/SydneyNS) |
-| Taipei | [Facebook](//www.facebook.com/groups/free.code.camp.taipei/) | [Gitter](//gitter.im/freecodecamp/Taipei) |
-| Tallahassee | [Facebook](https://www.facebook.com/groups/free.code.camp.tallahassee.florida/) | [Gitter](//gitter.im/freecodecamp/Tallahassee) |
-| Tallinn | [Facebook](https://www.facebook.com/groups/free.code.camp.tallinn/) | [Gitter](//gitter.im/freecodecamp/Tallinn) |
-| Tampa Bay | [Facebook](//www.facebook.com/groups/free.code.camp.tampa/) | [Gitter](//gitter.im/freecodecamp/Tampa) |
-| Tashkent | [Facebook](https://www.facebook.com/groups/free.code.camp.tashkent/) | [Gitter](//gitter.im/freecodecamp/Tashkent) |
-| Tegucigalpa | [Facebook](https://www.facebook.com/groups/free.code.camp.Honduras/) | [Gitter](//gitter.im/freecodecamp/Tegucigalpa) |
-| Tehran | [Facebook](https://www.facebook.com/groups/free.code.camp.tehran/) | [Gitter](//gitter.im/freecodecamp/Tehran) |
-| Tel Aviv | [Facebook](//www.facebook.com/groups/free.code.camp.Tel.Aviv/) | [Gitter](//gitter.im/freecodecamp/TelAviv) |
-| Temecula | [Facebook](//www.facebook.com/groups/free.code.camp.temecula/) | [Gitter](//gitter.im/freecodecamp/Temecula) |
-| Tempe | [Facebook](//www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/) | [Gitter](//gitter.im/freecodecamp/Phoenix) |
-| Thessaloniki | [Facebook](https://www.facebook.com/groups/free.code.camp.thessaloniki/) | [Gitter](//gitter.im/freecodecamp/Thessaloniki) |
-| Ticino | [Facebook](https://www.facebook.com/groups/free.code.camp.ticino/) | [Gitter](//gitter.im/freecodecamp/Ticino) |
-| Tijuana | [Facebook](//www.facebook.com/groups/free.code.camp.tijuana/) | [Gitter](//gitter.im/freecodecamp/Tijuana) |
-| Timisoara | [Facebook](https://www.facebook.com/groups/free.code.camp.timisoara/) | [Gitter](//gitter.im/freecodecamp/Timisoara) |
-| Tirana | [Facebook](//www.facebook.com/groups/free.code.camp.tirana/) | [Gitter](//gitter.im/freecodecamp/Tirana) |
-| Tokyo | [Facebook](https://www.facebook.com/groups/free.code.camp.tokyo/) | [Gitter](//gitter.im/freecodecamp/Tokyo) |
-| Tom's River | [Facebook](https://www.facebook.com/groups/free.code.camp.toms.river/) | [Gitter](//gitter.im/freecodecamp/TomsRiver) |
-| Torino | [Facebook](//www.facebook.com/groups/free.code.camp.torino/) | [Gitter](//gitter.im/freecodecamp/Torino) |
-| Toronto | [Facebook](//www.facebook.com/groups/free.code.camp.to/) | [Gitter](//gitter.im/freecodecamp/Toronto) |
-| Tri-Cities Washington | [Facebook](https://www.facebook.com/groups/free.code.camp.tricitieswa/) | [Gitter](//gitter.im/freecodecamp/TriCitiesWashington) |
-| Trivandrum | [Facebook](https://www.facebook.com/groups/freecodecamp.trivandrum/) | [Gitter](//gitter.im/freecodecamp/Trivandrum) |
-| Tucson | [Facebook](//www.facebook.com/groups/free.code.camp.tucson/) | [Gitter](//gitter.im/freecodecamp/Tucson) |
-| Tulsa | [Facebook](//www.facebook.com/groups/free.code.camp.tulsa/) | [Gitter](//gitter.im/freecodecamp/Tulsa) |
-| Tunis | [Facebook](https://www.facebook.com/groups/free.code.camp.tunisia/) | [Gitter](//gitter.im/freecodecamp/Tunis) |
-| University Center | [Facebook](https://www.facebook.com/groups/free.code.camp.university.center/) | [Gitter](//gitter.im/freecodecamp/UniversityCenter) |
-| Valdosta | [Facebook](https://www.facebook.com/groups/free.code.camp.valdosta/) | [Gitter](//gitter.im/freecodecamp/Valdosta) |
-| Valencia | [Facebook](//www.facebook.com/groups/free.code.camp.vlc/) | [Gitter](//gitter.im/freecodecamp/Valencia) |
-| Vancouver | [Facebook](//www.facebook.com/groups/free.code.camp.vancouver.bc.canada/) | [Gitter](//gitter.im/freecodecamp/Vancouver) |
-| Verde Valley | [Facebook](//www.facebook.com/groups/free.code.camp.northern.arizona/) | [Gitter](//gitter.im/freecodecamp/NorthernArizona) |
-| Victoria | [Facebook](//www.facebook.com/groups/free.code.camp.victoria.bc/) | [Gitter](//gitter.im/freecodecamp/Victoria) |
-| Vilnius | [Facebook](//www.facebook.com/groups/free.code.camp.vilnius.lt/) | [Gitter](//gitter.im/freecodecamp/Vilnius) |
-| Virginia Beach | [Facebook](//www.facebook.com/groups/free.code.camp.virginia.beach/) | [Gitter](//gitter.im/freecodecamp/VirginiaBeach) |
-| Vitória | [Facebook](//www.facebook.com/groups/free.code.camp.vitoria.e.regiao.metropolitana.es/) | [Gitter](//gitter.im/freecodecamp/Vitoria) |
-| Vladivostok | [Facebook](https://www.facebook.com/groups/free.code.camp.vladivostok/) | [Gitter](//gitter.im/freecodecamp/Vladivostok) |
-| Warrington | [Facebook](https://www.facebook.com/groups/free.code.camp.warrington/) | [Gitter](//gitter.im/freecodecamp/Warrington) |
-| Warsaw | [Facebook](https://www.facebook.com/groups/free.code.camp.warsaw/) | [Gitter](//gitter.im/freecodecamp/Warsaw) |
-| Washington, DC | [Facebook](//www.facebook.com/groups/free.code.camp.washington.dc/) | [Gitter](//gitter.im/freecodecamp/WashingtonDC) |
-| Waterford | [Facebook](//www.facebook.com/groups/free.code.camp.waterford/) | [Gitter](//gitter.im/freecodecamp/Waterford) |
-| Wichita | [Facebook](//www.facebook.com/groups/free.code.camp.wichita/) | [Gitter](//gitter.im/freecodecamp/Wichita) |
-| Winnipeg | [Facebook](//www.facebook.com/groups/free.code.camp.winnipeg/) | [Gitter](//gitter.im/freecodecamp/Winnipeg) |
-| Wuerzburg | [Facebook](https://www.facebook.com/groups/free.code.camp.wuerzburg/) | [Gitter](//gitter.im/freecodecamp/Wuerzburg) |
-| Yangon | [Facebook](//www.facebook.com/groups/free.code.camp.myanmar) | [Gitter](//gitter.im/freecodecamp/Yangon) |
-| Yaounde | [Facebook](//www.facebook.com/groups/free.code.camp.yaounde) | [Gitter](//gitter.im/freecodecamp/Yaounde) |
-| Yaroslavl | [Facebook](https://www.facebook.com/groups/free.code.camp.yaroslavl/) | [Gitter](//gitter.im/freecodecamp/Yaroslavl) |
-| Yekaterinburg | [Facebook](//www.facebook.com/groups/free.code.camp.yekaterinburg) | [Gitter](//gitter.im/freecodecamp/Yekaterinburg) |
-| Yerevan | [Facebook](//www.facebook.com/groups/free.code.camp.armenia/) | [Gitter](//gitter.im/freecodecamp/Yerevan) |
-| Zagreb | [Facebook](//www.facebook.com/groups/free.code.camp.zagreb/) | [Gitter](//gitter.im/freecodecamp/Zagreb) |
-| Znojmo | [Facebook](//www.facebook.com/groups/free.code.camp.znojmo/) | [Gitter](//gitter.im/freecodecamp/Znojmo) |
-| Zurich | [Facebook](//www.facebook.com/groups/free.code.camp.zurich/) | [Gitter](//gitter.im/freecodecamp/Zurich) |
-
-If your city isn't listed here, you should [create a Campsite for your city](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-create-a-Campsite-for-your-city).
View
31 data/wiki/More-useful-APIs.md
@@ -1,31 +0,0 @@
-There are two more things you have to do before this to be useful to you, however. Say you want to show all the *things* associated with the username requested with that page: you must first
-
-1. Have a “username” or “owner” field in your *thing* schema at **/server/api/thing/thing.model.js**
-2. Write a custom route in **/server/api/thing/index.js** to catch a request for a specific username. The request from your frontend might look something like:
-
-~~~javascript
-$http.get('/api/things/' + username).success( …
-
-~~~
-so you’ll add a line into your **index.js** like:
-
-```javascript
-
-router.get('/:user', controller.indexUser);
-```
-

and then in **thing.controller.js** you’ll write an *exports.indexUser* function like so:
-
-~~~javascript
-exports.indexUser = function(req, res) {
- Thing.find({owner:req.params.user}, function (err, things) {
- if(err) return res.send(500, err);
- res.json(200, things);
- });
-};
-~~~
-
-
-Warning!!! this method only works right if usernames are absolutely unique between users. The default authentication system that comes with the angular-fullstack generator does not have unique usernames, so you’re probably better off using the *user._id* field to determine unique users in your database for now, unless you want to implement unique user names yourself by altering your **/api/user/user.model.js**, **/api/user/user.controller.js**, and your **/app/client/account/signup/signup.controller.js**. Thankfully, you should know how to go about doing all that after reading this guide!
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Dynamic-URLs-using-%24routeParams)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Get-info-about-the-current-user)
View
38 data/wiki/Official-Free-Code-Camp-Chat-Rooms.md
@@ -1,38 +0,0 @@
-The following are our official chat rooms.
-
-**Please note that all chat rooms listed here are publicly accessible and indexed by search engines, so only share email addresses or other sensitive information in private messages.**
-
-| Chat Room | Description |
-| --- | --- |
-| [FreeCodeCamp](https://gitter.im/freecodecamp/FreeCodeCamp) | our main chat room - hang out and chat about life and learning to code |
-| [Help](https://gitter.im/freecodecamp/Help) | get help with our Waypoint challenges from your fellow campers |
-| [HelpZiplines](https://gitter.im/freecodecamp/HelpZiplines) | get help with our Zipline challenges from your fellow campers |
-| [HelpBonfires](https://gitter.im/freecodecamp/HelpBonfires) | get help with our Bonfire challenges from your fellow campers |
-| [HelpBasejumps](https://gitter.im/freecodecamp/HelpBasejumps) | get help with our Basejump challenges from your fellow campers |
-| [NonprofitProjects](https://gitter.im/freecodecamp/NonprofitProjects) | get help with your Nonprofit Projects from your fellow campers |
-| [CodingJobs](https://gitter.im/freecodecamp/CodingJobs) | chat about the process of getting a coding job, such as portfolios, networking, and interviewing |
-| [YouCanDoThis](https://gitter.im/freecodecamp/YouCanDoThis) | learning to code is hard - share your feelings and get moral support here |
-| [News](https://gitter.im/freecodecamp/News) | chat about stories trending on [Camper News](http://freecodecamp.com/news) |
-| [LetsPair](https://gitter.im/freecodecamp/LetsPair) | find fellow campers to pair program with using [Screen Hero](/field-guide/how-do-i-install-screenhero) |
-| [TeamViewer](https://gitter.im/freecodecamp/TeamViewer) | find fellow campers who use Linux and pair program using [Team Viewer](https:https://www.teamviewer.com/en/download/linux.aspx) |
-| [PairProgrammingWomen](https://gitter.im/freecodecamp/PairProgrammingWomen) | this women-only chat room helps women pair program with other women if they so desire |
-| [40PlusDevs](https://gitter.im/freecodecamp/40PlusDevs) | campers who are over 40+ years old can chat here if they so desire |
-| [LiveCoding](https://gitter.im/freecodecamp/LiveCoding) | chat about streaming webdev and gamedev on [Twitch.tv](https://twitch.tv/freecodecamp) and [LiveCoding.tv](https://www.livecoding.tv/freecodecamp) |
-| [CodeReview](https://gitter.im/freecodecamp/CodeReview) | give and receive constructive feedback from your fellow campers on Bonfires Solutions, Zipline apps and Basejump apps |
-| [HalfWayClub](https://gitter.im/freecodecamp/HalfWayClub) | this room is only for campers who have finished all the Bonfires, Ziplines and Basejumps |
-| [Beta](https://gitter.im/freecodecamp/Beta) | chat about experimental changes that are live on [beta.freecodecamp.com](http://beta.freecodecamp.com) |
-| [CurriculumDevelopment](https://gitter.im/FreeCodeCamp/CurriculumDevelopment) | discuss the current and future Curriculum for FreeCodeCamp |
-| [Wiki](https://gitter.im/freecodecamp/Wiki) | propose new articles and coordinate improvements to this wiki |
-| [Issues](https://gitter.im/freecodecamp/Issues) | this is the place to discuss issues with our open source codebase and coordinate pull requests |
-| [DataScience](https://gitter.im/freecodecamp/DataScience) | let's measure and improve our community's efficacy by studying Free Code Camp's open data |
-| [Design](https://gitter.im/freecodecamp/Design) | chat about design theory and practice |
-| [BookClub](https://gitter.im/freecodecamp/BookClub) | chat about [these free coding books](http://blog.freecodecamp.com/2015/06/25-free-resources-for-new-javascript-developers.html) and more |
-
-[World Language chat rooms](https://github.com/FreeCodeCamp/freecodecamp/wiki/World-Language-Chat-Rooms)
-
-
-[World Language chat rooms](https://github.com/FreeCodeCamp/freecodecamp/wiki/World-Language-Chat-Rooms)
-[Casual chat rooms](https://github.com/FreeCodeCamp/freecodecamp/wiki/Casual-Chat-Rooms)
-[Campsite chat rooms](https://github.com/FreeCodeCamp/freecodecamp/wiki/List-of-Free-Code-Camp-city-based-Campsites/)
-
-By joining these chat rooms, you accept our [Code of Conduct](https://github.com/FreeCodeCamp/freecodecamp/wiki/Code-of-Conduct).
View
40 data/wiki/Other-resources-that-Free-Code-Camp-recommends-to-nonprofits.md
@@ -1,40 +0,0 @@
-Please note that Free Code Camp is not partnered with, nor do we receive a referral fee from, any of the following providers. We simply want to help guide you towards a solution for your organization.
-
-### Skills-based Volunteer Organizations:
-- [http://www.volunteermatch.com](http://www.volunteermatch.com)
-- [http://www.catchafire.org](http://www.catchafire.org)
-
-###Building a website:
-- [http://www.wix.com/](http://www.wix.com/)
-- [https://wordpress.com/](https://wordpress.com/)
-- [Build it yourself for free with no code](http://www.freecodecamp.com/field-guide/how-can-i-deploy-a-website-without-writing-any-code-at-all)
-
-### Donor and Volunteer Management Systems
-- [http://causesignal.com](http://causesignal.com)
-- [https://www.thedatabank.com/](https://www.thedatabank.com/)
-- [http://www.donorsnap.com/](http://www.donorsnap.com/)
-- [http://www.donorperfect.com/](http://www.donorperfect.com/)
-- [https://www.blackbaud.com/fundraising-crm/etapestry-donor-management](https://www.blackbaud.com/fundraising-crm/etapestry-donor-management)
-- [http://www.z2systems.com](http://www.z2systems.com/)
-- [http://www.regpacks.com/volunteer-management](http://www.regpacks.com/volunteer-management/)
-- [http://sumac.com](http://sumac.com/)
-- [http://www.volgistics.com](http://www.volgistics.com)
-
-### Inventory Management Systems
-- [https://www.ezofficeinventory.com/industries/non-profits](https://www.ezofficeinventory.com/industries/non-profits)
-- [https://www.ordoro.com](https://www.ordoro.com)
-- [http://www.unleashedsoftware.com](http://www.unleashedsoftware.com)
-
-### E-Learning platforms
-- [http://www.dokeos.com](http://www.dokeos.com/)
-- [http://www.efrontlearning.net/](http://www.efrontlearning.net/)
-- [https://moodle.org/](https://moodle.org/)
-- [https://sakaiproject.org/](https://sakaiproject.org/)
-
-### Community Management
-- [https://civicrm.org/](https://civicrm.org/)
-- [http://tcmgr.com/](http://tcmgr.com/)
-
-### Electronic Forms
-- [http://www.google.com/forms](http://www.google.com/forms)
-- [http://www.typeform.com](http://www.typeform.com)
View
13 data/wiki/Pair-programming-and-why-it-is-special.md
@@ -1,13 +0,0 @@
-Pair Programming is an Agile Development practice that was born out of the **Extreme Programming** movement.
-
-Working as a team of [exactly] two, at a single computer, the pair will slide the keyboard and mouse back-and-forth throughout a "pairing session". This increases the code quality by providing a "greater than the sum of its parts" effect of two developers working on a single problem domain.
-
-The increase in quality of the code, combined with the effect of knowledge and understanding on the project being spread across multiple developers, can produce a large savings in cost on the project as a whole.
-
-In a Test Driven Development (TDD) shop, it is most common for each member of the pair to take turns a) writing a test and b) writing code to pass the test. This "ping pong" yields a cumulative effect on the overall quality of the final product.
-
-
-To be most effective it is important that pairs are intermixed; not the same couple of developers **always** working together.
-
-Pair programming is considered to be very "social". It can be akin to a marriage because you learn to cooperate with a peer in a close, give-and-take relationship. As such it is often very difficult to become comfortable with pair programming. Some developers simply NEVER feel quite at-home. In the end, the willingness to share, be a bit vulnerable and work cooperatively toward a better product will make you a far better developer (and a better person overall).
-
View
38 data/wiki/Pseudoclassical-class-definition-OOp.md
@@ -1,38 +0,0 @@
-###Overview
-
-Pseudoclassical class definition happens in 2 code blocks instead of one, which happens in other languages like Python and PHP.
-
-The first block is called the "Constructor Function" which is where attributes of the class is declared. These are the aspects of the class that are unique to each new instance. Example with cars is that brand, color, and location can differ. In the second block of code you declare the methods that will be shared by each instance of the class. Examples are things the car can do, drive forward, stop, open door.
-
-### Example
-
-```javascript
-var Car = function(brand, color, location) {
- this.brand = brand;
- this.color = color;
- this.location = location
-};
-
-Car.prototype = {
- move: function() { this.location++; },
- stop: function() { this.location = 0; },
-};
-```
-
-###Explanation
-
-The reason for declaring the entire class in 2 blocks is to save on memory when you start creating instances of the class. If the class declaration was "Functional" style then there is a new copy of the method(s) made for **each** instance. By declaring the class "Pseudoclassical" style only a *single* of copy of the methods are stored in memory.
-
-When a instance of the class attempt to access a method:
-
-```javascript
-var x_car = new Car('lexus', 'white', 0);
-x_car.move();
-```
-
-The interpreter will actually *first* fail to find the called method in the object itself since it was made from the Car constructor function. As you can see above there is no reference to any of the methods in the Car constructor function. From there the interpreter searches to the `Car.prototype` which is now shared between all instances. There the interpreter find the method that was called!
-
-####Further reading:
-[Natac's Blog](https://natacseanc.wordpress.com/2015/08/04/javascript-object-create-and-classes/)
-
-[MDN Classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript)
View
22 data/wiki/Pull-Request-Contribute.md
@@ -1,22 +0,0 @@
-> A (PR)pull request is a method of submitting contributions to an open source project. It is often the preferred way of submitting contributions to a project using a Distributed Version Control System (DVCS) such as Git.
-
-FreeCodeCamp is an Open Source project and all of the contents are freely editable.
-
-- [Fork](https://help.github.com/articles/fork-a-repo/) the project on GitHub.
-- [Clone](https://help.github.com/articles/cloning-a-repository/) it to a local machine. Do not edit online in github.com, as the editor may cause issues with JSON formatted data.
-- [Create a branch](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/) and make your changes in that branch and commit them.
-- [Push](https://help.github.com/articles/pushing-to-a-remote/) the branch online (if editing locally).
-- [Create a pull request](https://help.github.com/articles/creating-a-pull-request/) against the **"staging"** branch.
-- The title (also called the subject) of your PR should be descriptive of your changes. i.e. `fix typo in basic-javascript challenge`
-- If the PR is meant to fix a specific issue, append to the end of your PR's commit message `closes #1337`. This tells GitHub to close that issue if the PR is merged.
-- Do NOT add issue numbers to the title.
-
-These are general guidelines for PR's that work across most projects. It gives everyone a quick guide to your changes when looking at the commit history of a project.
-
-*Note: Not all pull requests are accepted. FCC project maintainers will explain the reason of non-acceptance.*
-
-## Further Reading
-* [GitHub & Git Foundations Training](https://www.youtube.com/playlist?list=PLg7s6cbtAD15G8lNyoaYDuKZSKyJrgwB-) - How to use Git and GitHub
-* [FreeCodeCamp Contribution Guidelines](https://github.com/FreeCodeCamp/FreeCodeCamp#contributing)
-* [How to write Git commit messages](http://chris.beams.io/posts/git-commit/)
-* [How to Clone FCC to a Windows PC](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/How-to-clone-the-FreeCodeCamp-website-on-a-Windows-pc)
View
27 data/wiki/Quick-tip-keep-data-in-sync.md
@@ -1,27 +0,0 @@
-Say you want something to show up on the user view when you add it to the database. A new *thing* object will instantly show up in an *ng-repeat* loop in your HTML view if you simply add it to your local array with
-
-~~~javascript
-
-$scope.awesomeThings.push(newThing);
-~~~
-
-But you’ll still need to add it to your database collection. Add it to your collection with
-
-~~~javascript
-
-$http.post('/api/things', newThing);
-
-~~~
-But wait! You’ll soon realize that while all the other things in your *$scope.awesomeThings* array have unique ids assigned by MongoDB (under the *thing.\_id* property), your *newThing* object will not, which will make it hard for you at some point to make database actions on it (deleting it from your database requires you to use its *._id* property). So what you’ll want to do after you add it to your *$scope.awesomeThings* array (because we want it to show up on the user’s page immediately). Altogether, your code to add a newThing to your local array and database will look like:
-
-~~~javascript
-$scope.awesomeThings.push(newThing);
-$http.post('/api/things', newThing).success(function(thatThingWeJustAdded) {
- $scope.awesomeThings.pop(); // let's lose that id-lacking newThing
- $scope.awesomeThings.push(thatThingWeJustAdded); // and add the id-having newThing!
-};
-~~~
-This updates the local array for seemingly instant results for your user and then syncs it to your database and updates the local array in the background with the database’s version of your *newThing* object, unique *._id* and all. Notice the callback we pass to the *success* function receives the new *thing* back from the database as an argument! This way you can easily add it back to your local scope without too much overhead.
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Seed-data)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Dynamic-URLs-using-$routeParams)
View
11 data/wiki/RTFM.md
@@ -1,11 +0,0 @@
-> RTFM is an initialism for the expression "Read The F**king Manual"
-
-![RTFM Comic](http://i.imgur.com/UxbHkrB.png)
-
-## Urban Dictionary
-
-> "Read The F**king Manual" — a term showing the frustration of being bothered with questions so trivial that the asker could have quickly figured out the answer on their own with minimal effort, usually by reading readily-available documents. People who say "RTFM!" might be considered rude, but the true rude ones are the annoying people who take absolutely no self-responsibility and expect to have all the answers handed to them personally.
-
-*"Damn, that's the twelveth time that somebody posted this question to the message board today! RTFM, already!"*
-
-https://www.youtube.com/watch?v=Bumx4AerJUQ
View
10 data/wiki/Refresh-Your-Browser-Cache.md
@@ -1,10 +0,0 @@
-You may have to do a "hard refresh" of a page in your browser if you have an out of date, cached version of that website.
-
-While on the problematic site use the key combination below to trigger a hard refresh depending on your operating system:
-* Windows: CTRL + F5
-* Mac/Apple: Apple + R or command + R
-* Linux: F5
-
-To learn more about this read: http://refreshyourcache.com/en/cache/
-
-If a hard refresh doesn't work, try opening the problematic page in your browser's private browsing mode.
View
15 data/wiki/Restrict-a-page-to-authenticated-users.md
@@ -1,15 +0,0 @@
-Let's say you have a route that you want to restrict to logged-in users; maybe you have a <a href="#">/profile</a> page that lets your users fill in some information about themselves, but it wouldn't work if they weren't logged in. Open **/client/app/profile/profile.js**, and add `authenticate: true` to the options passed to *$routeProvider.when* like so:
-
-~~~javascript
- $routeProvider
- .when('/profile', {
- templateUrl: 'app/profile/profile.html',
- controller: 'ProfileCtrl',
- authenticate: true // restrict to authenticated users
- });
-~~~
-
-This way, if the user isn't authenticated when they try to access the <A href="#">/profile</a> page, they'll be redirected to your login screen to authenticate before continuing to their profile page.
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Get-info-about-the-current-user)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/isLoggedInAsync())
View
9 data/wiki/Searching-for-Your-Issue-on-Github.md
@@ -1,9 +0,0 @@
-If you still see problems after [Getting Help on Gitter](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/How-to-Get-Help-on-Gitter), you will want to try to see if anyone else has posted about a similar problem.
-
-![gif walking through the subsequent steps to search GitHub for the issue](http://i.imgur.com/MdrSdQW.gif)
-
-1. Go to FreeCodeCamp's [Github Issues](https://github.com/FreeCodeCamp/FreeCodeCamp/issues) page.
-
-2. Use the search bar to search for already filed issues that may be related to your problem.
- * If you find one, read it! You can subscribe to get updates about that specific issue by clicking on `Subscribe` in the sidebar. You can also comment on the issue if you have something to add.
- * If you cannot find any relevant issues you should [Create a New Github Issue](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Creating-a-New-Github-Issue).
View
6 data/wiki/Seed-data.md
@@ -1,6 +0,0 @@
-The *things* that show up on your app's main view are part of some seed data that is added to your database (including your test and admin users) every time you restart your app (by running `grunt serve` in the command line). This data is defined in **/server/config/seed.js**.
-
-You can add, remove, or change data in this file, and it will be written to your database, overwriting any duplicates the next time you run `grunt serve`. If an object defined in **seed.js** is overwritten, the database will assign a new *.\_id* property to it (we'll cover *.\_id* properties in the next section), which may give you some issues later on in testing. To avoid this, you can turn off seeding by setting `seedDB: false` in **/server/config/environment/development.js**.
-
-[PREVIOUS](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Accessing-the-database-from-your-frontend)
-[NEXT](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Quick-tip:-keep-data-in-sync)
View
9 data/wiki/Slack.md
@@ -1,9 +0,0 @@
-### Slack is a popular chatroom service that Free Code Camp outgrew
-
-![Free Code Camp's Slack usage stats](https://www.evernote.com/l/AHRvSgBsEqZMBqugb3gWNG9jSKhPT8Dj5FAB/image.png)
-
-As much as we enjoyed using this service, it is a poor fit for large open source communities. This said, many open source communities still use Slack, and Slack does nothing to discourage this practice.
-
-If you're curious, you can read about [Slack's false advertising and the debacle this caused in June 2015](http://blog.freecodecamp.com/2015/06/so-yeah-we-tried-slack-and-we-deeply-regretted-it.html).
-
-Free Code Camp now uses [Gitter](https://github.com/FreeCodeCamp/freecodecamp/wiki/Gitter).
View
59 data/wiki/Spanish-Translation-Terminology.md
@@ -1,59 +0,0 @@
-#Spanish terminology alignment
-
-Para evitar confusión para otros Campers necesitamos alinearnos todos los traductores con la misma terminología. Para ello, hemos creado una lista con las palabras más comúnes y las traducciones que hemos estado utilizando hasta ahora.
-
-Vale recalcar que todos los términos están abiertos a discusión. En caso se tenga que hacer algún cambio, nos pueden enviar un mensaje directo a través de Slack a @miya o @eabedrapo.
-
-##FCC terminology
-
-###Untranslated
-* Free Code Camp
-* Waypoint
-* Bonfire
-* Zipline
-* Basejump
-* Top menu buttons.
-* Camper
-* Full Stack
-* Bug
-
-
-##CS terminology
-
-###Untranslated
-* Hardware
-* Software
-* Bit
-* Byte
-* Front-end
-* Link
-* Framework
-* Query
-
-###Translated
-* Boolean Logic: Lógica Booleana
-* Loop: Búcle
-* Computer Science: Informática
-* Run (a program): Ejecutar
-* Click: Darle click
-* Responsive: Adaptable
-
-##General terminology
-
-###Translated
-* Non-profit: Empresas sin fines de lucro
-* Self-paced: Manejados a tu propio ritmo
-
-##HTML / CSS terminology
-
-###Non-Traslated
-* Web
-* Tests & challengeSeeds (they shouldn't be translated, at least for this first version).
-
-
-####To do
-Video para mostrar a otras personas como colaborar con la traducción y revisión de los archivos.
-
-####To discuss
-Género a usar? ejem: "Una de las mejores maneras de mantenerte **motivado** cuando estás aprendiendo..."
-* "motivado o motivada" (ambos?)
View
5 data/wiki/Streaks.md
@@ -1,5 +0,0 @@
-Your user profile displays your recent activity. If you get [Brownie Points](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Brownie-Points/) on several consecutive days, you will start a streak.
-
-![A picture of a camper's streak readout showing a 21-day streak](https://www.evernote.com/l/AlyDvfhZplROUZxyMN8dIGGd-DQT7Bn8S9oB/image.png)
-
-This shows everyone that you are highly active in our community, and that you code a lot. When you're learning to code, it's important that you [code at least some everyday](http://www.quora.com/How-does-one-become-a-great-coder/answer/Quincy-Larson).
View
7 data/wiki/The-main-advantages-of-Free-Code-Camp.md
@@ -1,7 +0,0 @@
-Free Code Camp's main advantages are that we're accessible to busy adults who want to change careers.
-
-Specifically, we're:
-
-- Free
-- Self-paced
-- Browser-based
View
12 data/wiki/Tips-on-How-To-Become-A-Good-Pair-Programmer.md
@@ -1,12 +0,0 @@
-Pair programming is a great way to learn programming! [Read why.](https://github.com/FreeCodeCamp/freecodecamp/wiki/Why-You-Should-Try-Pair-Programming)
-
-1. **Communicate well with your partner.** Voice chat will make communication easy, let you focus on learning, and will allow you to use your time effectively.
-
-2. **Before you start coding:** decide together with your partner how your workflow should look so that both you and your partner can benefit from the time spent coding. An example of a good workflow:
- - Read through and discuss the problem to make sure you understand it.
- - Solve the problem with pseudo-code by identifying the steps you need to take in order to get from the given inputs to the expected result.
- - Create your actual solution
-
-3. **When explaining things:** Ask questions to guide your partner's thoughts instead of just showing the answer right away. This will let him or her think about the problem and make it easier for them to learn.
-
-4. **Finally**, be *open to your partner's ideas*, *respect each other* and **have fun! :)**
View
24 data/wiki/Trying-to-understand-the-solution-for-FCCs-sorted-union-using-callback-function.md
@@ -1,24 +0,0 @@
-Hopefully the following post is appropriate for this forum...
-
- function unite(arr1, arr2, arr3) {
- var merge = function(coll,item) {
- if (coll.indexOf(item) < 0)
- coll.push(item);
- return coll;
- };
- //TODO this can be simplified
- arr1 = arr2.reduce(merge, arr1);
- arr1 = arr3.reduce(merge, arr1);
- return arr1;
- }
- unite([1, 2, 3], [5, 2, 1, 4], [2, 1]);
-
-I've already submitted an answer for "Sorted Union" but it was without using "reduce", which uses a "callback function". The answer that I've found, shown above uses it.
-
-I've spent several hours so far trying to understand where "merge" gets its arguments. I understand from reduce's prototype that its first argument is a callback function (which is merge in this case), and I get what a callback function is. And the callback function's arguments are supposedly: (previousValue, currentValue, index, array) when being called by "reduce", which steps, one-by-one, through the arrays somehow using merge. Maybe "item" matches up with being currentValue, but that's it.
-
-I don't know where someone's supposed to learn this type of programming because there are no examples like it in "prototypes" and "callback functions" where arguments required seem to change depending on context.
-
-I would greatly appreciate someone explaining the above example to me or at least where the heck I would learn to do what's apparently been done in this example.
-
-**chris dot r dot lafave at gmail dot com**
View
12 data/wiki/Waypoint Access Array Data with Indexes.md
@@ -1,12 +0,0 @@
-# Access Array Data with Indexes
-We can access the data inside arrays using indexes.
-
-Array indexes are written in the same bracket notation that strings use, except that instead of specifying a character, they are specifying an entry in the array.
-
-For example:
-
-```
-var array = [1,2,3];
-array[0]; //equals 1
-var data = array[1];
-```
View
2 data/wiki/Waypoint Add Elements within your Bootstrap Wells.md
@@ -1,2 +0,0 @@
-# Add Elements within your Bootstrap Wells
-Once you have gone deep enough in `divs` you can start adding your Bootstrap buttons.
View
4 data/wiki/Waypoint Add Font Awesome Icons to all of our Buttons.md
@@ -1,4 +0,0 @@
-# Add Font Awesome Icons to all of our Buttons
-`<i class="fa fa-trash"></i>` Will add a trash can icon.
-
-`<i class="fa fa-info-circle"></i>` Will add an info icon.
View
4 data/wiki/Waypoint Add Font Awesome Icons to our Buttons.md
@@ -1,4 +0,0 @@
-# Add Font Awesome Icons to our Buttons
-Font Awesome is a convenient library of icons. These icons are vector graphics, stored in the .svg file format. These icons are treated just like fonts. You can specify their size using pixels, and they will assume the font size of their parent HTML elements.
-
-`<i class="fa fa-thumbs-up"><button class="btn btn-block btn-primary">Like</i></button>`
View
4 data/wiki/Waypoint Add ID Attributes to Bootstrap Elements.md
@@ -1,4 +0,0 @@
-# Add ID Attributes to Bootstrap Elements
-Recall that in addition to class attributes, you can give each of your elements an id attribute.
-
-Each id should be unique to a specific element. Remember that you can give an element an id like this: `<div class="well" id="center-well">`
View
4 data/wiki/Waypoint Add Two Numbers with JavaScript.md
@@ -1,4 +0,0 @@
-# Add Two Numbers with JavaScript
-JavaScript uses the `+` symbol for addition. It can also be used instead of `parseInt()` but that is beyond this.
-
-`var sum = 10 + 10;`
View
10 data/wiki/Waypoint Add your JavaScript Slot Machine Slots.md
@@ -1,10 +0,0 @@
-# Add your JavaScript Slot Machine Slots
-For this part we should notify if they same number is returned three times or return `null` otherwise.
-
-```
-if(slotOne !== slotTwo || slotTwo !== slotThree){
- return (null);
- }
-```
-
-If slot one and to are different, or slot two and three are not the same, then return `null`.
View
23 data/wiki/Waypoint Apply the Default Bootstrap Button Style.md
@@ -1,23 +0,0 @@
-# Apply the Default Bootstrap Button Style
-Bootstrap has a button class called `btn-default`
-
-```
-<div class="container-fluid">
- <h3 class="text-primary text-center">jQuery Playground</h3>
- <div class="row">
- <div class="col-xs-6">
- <div class="well">
- <button class="btn btn-default"></button>
- <button class="btn btn-default"></button>
- <button class="btn btn-default"></button>
- </div>
- </div>
- <div class="col-xs-6">
- <div class="well">
- <button class="btn btn-default"></button>
- <button class="btn btn-default"></button>
- <button class="btn btn-default"></button>
- </div>
- </div>
- </div>
-</div>
View
10 data/wiki/Waypoint Bring your JavaScript Slot Machine to Life.md
@@ -1,10 +0,0 @@
-# Bring your JavaScript Slot Machine to Life
-Let's use the jQuery selector `$(".slot")` to select all of the slots.
-
-Once they are all selected, we can use bracket notation to access each individual slot:
-
-```
-$($(".slot")[0]).html(slotOne);
-$($(".slot")[1]).html(slotTwo);
-$($(".slot")[2]).html(slotThree);
-```
View
15 data/wiki/Waypoint Build JavaScript Objects.md
@@ -1,15 +0,0 @@
-# Build JavaScript Objects
-Objects are similar to arrays, except that instead of using indexes to access and modify their data, you access the data in objects through what are called properties.
-
-Here's a sample object:
-
-```
-var cat = {
- "name": "Whiskers",
- "legs": 4,
- "tails": 1,
- "enemies": ["Water", "Dogs"]
-};
-```
-
-Objects are useful for storing data in a structured way, and can represents real world objects, like a cats.
View
4 data/wiki/Waypoint Call out Optional Actions with Button Info.md
@@ -1,4 +0,0 @@
-# Call out Optional Actions with Button Info
-Bootstrap comes with several pre-defined colors for buttons. The `btn-info` class is used to call attention to optional actions that the user can take. Note that these buttons still need the `btn` and`btn-block` classes.
-
-`<button class= "btn btn-block btn-info">Info</button>`
View
4 data/wiki/Waypoint Center Text with Bootstrap.md
@@ -1,4 +0,0 @@
-# Center Text with Bootstrap
-Now that we're using Bootstrap, we can center our heading elements to make them look better. All we need to do is add the class text-center to our h1 and h2 elements.
-
-Remember that you can add several classes to the same element by separating each of them with a space, like this: `<h2 class="text-red text-center">your text</h2>`.
View
13 data/wiki/Waypoint Change the CSS of an Element Using jQuery.md
@@ -1,13 +0,0 @@
-# Change the CSS of an Element Using jQuery
-We can also change the CSS of an HTML element directly with jQuery.
-
-Query has a function called `.css()` that allows you to change the CSS of an element.
-
-```
-<script>
- $(document).ready(function() {
- $("#target1").css("color", "red");
-
- });
-</script>
-```
View
4 data/wiki/Waypoint Check the Length Property of a String Variable.md
@@ -1,4 +0,0 @@
-# Check the Length Property of a String Variable
-Data structures have properties. For example, strings have a property called `.length` that will tell you how many characters are in the string.
-
-`lastNameLength = lastName.length;`
View
4 data/wiki/Waypoint Clone an Element Using jQuery.md
@@ -1,4 +0,0 @@
-# Clone an Element Using jQuery
-jQuery has a function called`clone()` that makes a copy of an element.
-
-For example, if we wanted to copy target2 from our left-well to our right-well, we would use `$("#target2").clone().appendTo("#right-well");`
View
10 data/wiki/Waypoint Comment your JavaScript Code.md
@@ -1,10 +0,0 @@
-# Comment your JavaScript Code
-Comments are a great way to leave notes to yourself and to other people who will later need to figure out what it does. Any code in it will be ignored.
-
-Let's take a look at the two ways you can write comments in JavaScript.
-- The double-slash comment will comment out the remainder of the text on the current line:
-
-`// This is a comment.`
-- The slash-star-star-slash comment will comment out everything between the `/*` and the `*/` characters:
-
-`/* This is also a comment */`
View
26 data/wiki/Waypoint Create Bootstrap Wells.md
@@ -1,26 +0,0 @@
-# Create Bootstrap Wells
-Bootstrap has a class called `well` that can create a visual sense of depth for your columns.
-
-Nest one div element with the class well within each of your `col-xs-6 div` elements.
-
-```
-<div class="container-fluid">
- <h3 class="text-primary text-center">jQuery Playground</h3>
- <div class="row">
- <div class="col-xs-6">
- <div class="well">
-
-
-
- </div>
- </div>
- <div class="col-xs-6">
- <div class="well">
-
-
-
- </div>
- </div>
- </div>
-</div>
-```
View
2 data/wiki/Waypoint Create Decimal Numbers with JavaScript.md
@@ -1,2 +0,0 @@
-# Create Decimal Numbers with JavaScript
-JavaScript number variables can have decimals. `var myDecimal = 2.8;`
View
4 data/wiki/Waypoint Create a Block Element Bootstrap Button.md
@@ -1,4 +0,0 @@
-# Create a Block Element Bootstrap Button
-Normally, your button elements are only as wide as the text that they contain. By making them block elements, your button will stretch to fill your page's entire horizontal space. Note that these buttons still need the `btn` class.
-
-`<button class="btn btn-block">Like</button>`
View
4 data/wiki/Waypoint Create a Bootstrap Button.md
@@ -1,4 +0,0 @@
-# Create a Bootstrap Button
-Bootstrap has its own styles for button elements, which look much better than the plain HTML ones.
-
-`<button type="submit" class="btn">Like</button>`
View
2 data/wiki/Waypoint Create a Bootstrap Headline.md
@@ -1,2 +0,0 @@
-# Create a Bootstrap Headline
-`<h3 class="text-primary text-center"> jQuery Playground </h3>`
View
2 data/wiki/Waypoint Create a Bootstrap Row.md
@@ -1,2 +0,0 @@
-# Create a Bootstrap Row
-Create a div element with the class row. `<div class="row"></div>`
View
4 data/wiki/Waypoint Create a Class to Target with jQuery Selectors.md
@@ -1,4 +0,0 @@
-# Create a Class to Target with jQuery Selectors
-Not every class needs to have corresponding CSS. Sometimes we create classes just for the purpose of selecting these elements more easily using jQuery.
-
-For this we use the `target` class on the `button` elements.
View
12 data/wiki/Waypoint Create a Custom Heading.md
@@ -1,12 +0,0 @@
-# Create a Custom Heading
-Using `div` and the custom grid layout we can create our own heading.
-
-```
-<div class="row">
- <div class="col-xs-8">
- <h2 class="text-primary text-center">CatPhotoApp</h2>
- </div>
- <div class="col-xs-4">
- <a href="#"><img class="img-responsive thick-green-border" src="https://bit.ly/fcc-relaxing-cat"></a>
- </div>
-```
View
8 data/wiki/Waypoint Create a JavaScript Slot Machine.md
@@ -1,8 +0,0 @@
-# Create a JavaScript Slot Machine
-For this we have to generate three random numbers using the formula they give us and not the general one. `Math.floor(Math.random() * (3 - 1 + 1)) + 1;`
-
-```
-slotOne = Math.floor(Math.random() * (3 - 1 + 1)) + 1;
-slotTwo = Math.floor(Math.random() * (3 - 1 + 1)) + 1;
-slotThree = Math.floor(Math.random() * (3 - 1 + 1)) + 1;
-```
View
4 data/wiki/Waypoint Declare JavaScript Variables.md
@@ -1,4 +0,0 @@
-# Declare JavaScript Variables
-When we store data in a data structure, we call it a variable. JavaScript variables are written in `camel case`. An example of camel case is: `camelCase`.
-
-You can declare a variable this way `var myName = "Rafael";`
View
4 data/wiki/Waypoint Declare String Variables.md
@@ -1,4 +0,0 @@
-# Declare String Variables
-A String variable. It is nothing more than a "string" of characters. JavaScript strings are always wrapped in quotes.
-
-`var myFirstName = 'Rafael';`
View
2 data/wiki/Waypoint Delete your jQuery Functions.md
@@ -1,2 +0,0 @@
-# Delete your jQuery Functions
-To delete the functions it is just as any other piece of code that you want to remove, select it and delete with the keyboard.
View
8 data/wiki/Waypoint Disable an Element Using jQuery.md
@@ -1,8 +0,0 @@
-# Disable an Element Using jQuery
-You can also change the non-CSS properties of HTML elements with jQuery. For example, you can disable buttons.
-
-When you disable a button, it will become grayed-out and can no longer be clicked.
-
-jQuery has a function called `.prop()` that allows you to adjust the properties of elements.
-
-Here's how you would disable all buttons: `$('#button').prop('disabled', true);`
View
4 data/wiki/Waypoint Ditch Custom CSS for Bootstrap.md
@@ -1,4 +0,0 @@
-# Ditch Custom CSS for Bootstrap
-We can clean up our code and make our Cat Photo App look more conventional by using Bootstrap's built-in styles instead of the custom styles we created earlier.
-
-All you need to know is the built in [classes](http://getbootstrap.com/css/).
View
2 data/wiki/Waypoint Divide One Number by Another with JavaScript.md
@@ -1,2 +0,0 @@
-# Divide One Number by Another with JavaScript
-JavaScript uses use the `/` symbol for division. `var quotient = 66 / 33;`
View
6 data/wiki/Waypoint Find Numbers with Regular Expressions.md
@@ -1,6 +0,0 @@
-# Find Numbers with Regular Expressions
-We can use special selectors in Regular Expressions to select a particular type of value.
-
-One such selector is the digit selector `\d` which is used to grab the numbers in a string.
-
-It is used like this: `/\d+/g`.
View
6 data/wiki/Waypoint Find White Space with Regular Expressions.md
@@ -1,6 +0,0 @@
-# Find White Space with Regular Expressions
-We can also use selectors like`\s` to find spaces in a string.
-
-It is used like this:
-
-`/\s+/g`
View
2 data/wiki/Waypoint Generate Random Fractions with JavaScript.md
@@ -1,2 +0,0 @@
-# Generate Random Fractions with JavaScript
-JavaScript has a `Math.random()` function that generates a random decimal number.
View
6 data/wiki/Waypoint Generate Random Whole Numbers with JavaScript.md
@@ -1,6 +0,0 @@
-# Generate Random Whole Numbers with JavaScript
-It's great that we can create random decimal numbers, but it's even more useful if we lot more useful to generate a random whole number.
-
-To achieve this we can multiply the random number by ten and use the `Math.floor()` to convert the decimal number to a whole number
-
-`return(Math.floor(Math.random()*10));`
View
6 data/wiki/Waypoint Generate Random Whole Numbers within a Range.md
@@ -1,6 +0,0 @@
-# Generate Random Whole Numbers within a Range
-We can use a certain mathematical expression to get a random number between two numbers.
-
-`Math.floor(Math.random() * (max - min + 1)) + min`
-
-By using this we can control the output of a random number.
View
2 data/wiki/Waypoint Give Each Element a Unique ID.md
@@ -1,2 +0,0 @@
-# Give Each Element a Unique ID
-We will also want to be able to use jQuery to target each button by its unique id. So we add an unique id to each button.
View
6 data/wiki/Waypoint Give your JavaScript Slot Machine some stylish images.md
@@ -1,6 +0,0 @@
-# Give your JavaScript Slot Machine some stylish images
-We've already set up the images for you in an array called images. We can use different indexes to grab each of these.
-
-Here's how we would set the first slot to show a different image depending on which number its random number generates:
-
-`$($('.slot')[0]).html('<img src = "' + images[slotOne-1] + '">');`
View
8 data/wiki/Waypoint House our page within a Bootstrap Container Fluid Div.md
@@ -1,8 +0,0 @@
-# House our page within a Bootstrap Container Fluid Div
-To make the content responsive, we use the `container-fluid` class.
-
-```
-<div class="container-fluid">
-<h3 class="text-primary text-center">jQuery Playground</h3>
-</div>
-```
View
4 data/wiki/Waypoint Invert Regular Expression Matches with JavaScript.md
@@ -1,4 +0,0 @@
-# Invert Regular Expression Matches with JavaScript
-Use`/\S/gi`; to match everything that isn't a space in the string.
-
-You can invert any match by using the uppercase version of the selector `\s` versus `\S` for example.
View
11 data/wiki/Waypoint Iterate with JavaScript While Loops.md
@@ -1,11 +0,0 @@
-# Iterate with JavaScript While Loops
-Another type of JavaScript loop is called a `while loop` because it runs `while` something is true, and stops once that something is no longer true.
-
-```
-var ourArray = [];
-var i = 0;
-while(i < 5) {
-  ourArray.push(i);
-  i++;
-}
-```
View
2 data/wiki/Waypoint Label Bootstrap Buttons.md
@@ -1,2 +0,0 @@
-# Label Bootstrap Buttons
-Just like we labeled our [wells](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Waypoint-Label-Bootstrap-Wells), we want to label our buttons.
View
2 data/wiki/Waypoint Label Bootstrap Wells.md
@@ -1,2 +0,0 @@
-# Label Bootstrap Wells
-You can add labels to the wells by using the headers `<h4>` above the well divs.
View
12 data/wiki/Waypoint Learn how Script Tags and Document Ready Work.md
@@ -1,12 +0,0 @@
-# Learn how Script Tags and Document Ready Work
-For some reason FCC likes to introduce `jQuery` before JavaScript itself.
-
-To add JS to your HTML, you need a `script` tag. Your browser will run any JavaScript inside a script element, including jQuery.
-
-Inside your script element, add this code: `$(document).ready(function() {` to your script. Then close it on the following line (still inside your script element) with: `});`
-
-```
-<script> $(document).ready(function(){
-
-});</script>
-```
View
9 data/wiki/Waypoint Line up Form Elements Responsively with Bootstrap.md
@@ -1,9 +0,0 @@
-# Line up Form Elements Responsively with Bootstrap
-We line up the form elements the same way we do with others, using divs.
-
-```
-<div class="row">
-<div class="col-xs-7"><input type="text" class="form-control" placeholder="cat photo URL" required></div>
-<div class=col-xs-5><button type="submit" class="btn btn-primary"><i class="fa fa-paper-plane"></i> Submit</button></div>
-</div>
-```
View
2 data/wiki/Waypoint Make Images Mobile Responsive.md
@@ -1,2 +0,0 @@
-# Make Images Mobile Responsive
-When using Bootstrap, if you want an image to be responsive, all you have to do is add the class `img-responsive` to it. `<img class="img-responsive" src="http://bit.ly/fcc-running-cats">`
View
6 data/wiki/Waypoint Manipulate Arrays With pop().md
@@ -1,6 +0,0 @@
-# Manipulate Arrays With pop()
-Another way to change the data in an array is with the `.pop()` function.
-
-`.pop()` is used to "pop" a value off of the end of an array. We can retrieve this value by performing `pop()` in a variable declaration.
-
-Any type of variable can be "popped" off of an array.
View
4 data/wiki/Waypoint Manipulate Arrays With push().md
@@ -1,4 +0,0 @@
-# Manipulate Arrays With push()
-Not only can you `pop()` data off of the end of an array, you can also `push()` data onto the end of an array.
-
-`myArray.push(["dog", 3]);`
View
2 data/wiki/Waypoint Manipulate Arrays With shift().md
@@ -1,2 +0,0 @@
-# Manipulate Arrays With shift()
-`shift()` removes the first element unlike `pop()` which removes the last.
View
2 data/wiki/Waypoint Manipulate Arrays With unshift().md
@@ -1,2 +0,0 @@
-# Manipulate Arrays With unshift()
-`myArray.unshift('Paul');` Basically you call `unshift` and pass what was deleted.
View
8 data/wiki/Waypoint Manipulate JavaScript Objects.md
@@ -1,8 +0,0 @@
-# Manipulate JavaScript Objects
-We can add properties to objects like this:
-
-`myObject.myProperty = "myValue";`
-
-We can also delete them like this:
-
-`delete(myObject.myProperty);`
View
9 data/wiki/Waypoint Modify Array Data With Indexes.md
@@ -1,9 +0,0 @@
-# Modify Array Data With Indexes
-We can also modify the data stored in arrays by using indexes.
-
-For example:
-
-```
-var ourArray = [3,2,1];
-ourArray[0] = 1; // equals [1,2,1]
-```
View
4 data/wiki/Waypoint Multiply Two Numbers with JavaScript.md
@@ -1,4 +0,0 @@
-# Multiply Two Numbers with JavaScript
-JavaScript uses use the `*` symbol for multiplication.
-
-`var product = 8 * 10;`
View
2 data/wiki/Waypoint Nest one Array within Another Array.md
@@ -1,2 +0,0 @@
-# Nest one Array within Another Array
-You can nest arrays within other arrays, like this:`[["Bulls", 43]]`.
View
4 data/wiki/Waypoint Perform Arithmetic Operations on Decimals with JavaScript.md
@@ -1,4 +0,0 @@
-# Perform Arithmetic Operations on Decimals with JavaScript
-In JavaScript, you can perform calculations with decimal numbers, just like whole numbers.
-
-`var quotient = 4.4 / 2.0; // equals 2.2`
View
4 data/wiki/Waypoint Remove Classes from an element with jQuery.md
@@ -1,4 +0,0 @@
-# Remove Classes from an element with jQuery
-The same way we can add classes using jQuery, we an also remove them with `removeClass()`.
-
-`$("button").removeClass("btn-default");`
View
2 data/wiki/Waypoint Remove an Element Using jQuery.md
@@ -1,2 +0,0 @@
-# Remove an Element Using jQuery
-jQuery has a function called `.remove()` that will remove an HTML element entirely. `$("#target4").remove();`
View
4 data/wiki/Waypoint Responsively Style Checkboxes.md
@@ -1,4 +0,0 @@
-# Responsively Style Checkboxes
-You can use Bootstrap's `col-xs-*` classes on form elements, too! This way, our checkboxes will be evenly spread out across the page, regardless of how wide the screen resolution is.
-
-Nest all your checkboxes in a `<div class="row">` element. Then nest each of them in a `<div class="col-xs-4">` element.
View
18 data/wiki/Waypoint Responsively Style Radio Buttons.md
@@ -1,18 +0,0 @@
-# Responsively Style Radio Buttons
-You can use Bootstrap's `col-xs-*` classes on `form` elements. That will make radio buttons evenly spread out across the page regardless of how wide the screen might be.
-
-Nest all of your radio buttons within a `<div class="row">` element. Then nest each of them within a `<div class="col-xs-6">` element.
-
-```
-<form action="/submit-cat-photo">
- <div class="row">
- <div class="col-xs-6"><label><input type="radio" name="indoor-outdoor"> Indoor</label></div>
- <div class="col-xs-6"><label><input type="radio" name="indoor-outdoor"> Outdoor</label></div>
- <div class="col-xs-6"><label><input type="checkbox" name="personality"> Loving</label></div>
- <div class="col-xs-6"><label><input type="checkbox" name="personality"> Lazy</label></div>
- <div class="col-xs-6"><label><input type="checkbox" name="personality"> Crazy</label></div>
- </div>
- <input type="text" placeholder="cat photo URL" required>
- <button type="submit">Submit</button>
-</form>
-```
View
13 data/wiki/Waypoint Sift through Text with Regular Expressions.md
@@ -1,13 +0,0 @@
-# Sift through Text with Regular Expressions
-`Regular expressions` are used to find certain words or patterns inside of strings.
-
-Regular expressions are usually surrounded by `/` symbols.
-
-For example, if we wanted to find the number of times the word the occurred in the string The dog chased the cat, we could use the following regular expression: `/the+/gi`
-
-Let's break this down a bit:
-
-the is the pattern we want to match.
-- `+` means we want to find one or more occurrences of this pattern.
-- `g` means that we want to search the entire string for this pattern.
-- `i` means that we want to ignore the case (uppercase or lowercase) when searching for the pattern.
View
12 data/wiki/Waypoint Split your Bootstrap Row.md
@@ -1,12 +0,0 @@
-# Split your Bootstrap Row
-Create two `div` elements within your row, both with the class `col-xs-6`.
-
-```
-<div class="container-fluid">
- <h3 class="text-primary text-center">jQuery Playground</h3>
- <div class="row">
- <div class="col-xs-6"> </div>
- <div class="col-xs-6"></div>
- </div>
-</div>
-```
View
6 data/wiki/Waypoint Store Multiple Values in one Variable using JavaScript Arrays.md
@@ -1,6 +0,0 @@
-# Store Multiple Values in one Variable using JavaScript Arrays
-With JavaScript array variables, we can store several pieces of data in one place.
-
-You start an array declaration with an opening bracket, end it with a closing bracket, and put a comma between each entry, like this: `var sandwich = ["peanut butter", "jelly", "bread"]`.
-
-`myArray = [2,'j'];`
View
4 data/wiki/Waypoint Style Text Inputs as Form Controls.md
@@ -1,4 +0,0 @@
-# Style Text Inputs as Form Controls
-You can add the `fa-paper-plane` Font Awesome icon by adding `<i class="fa fa-paper-plane"></i>` within your submit button element.
-
-`<button type="submit" class="btn btn-primary"><i class="fa fa-paper-plane">Submit</i>`
View
4 data/wiki/Waypoint Subtract One Number from Another with JavaScript.md
@@ -1,4 +0,0 @@
-# Subtract One Number from Another with JavaScript
-We can also subtract one number from another.
-
-JavaScript uses use the - symbol for subtraction. `var difference = 45 - 33;`
View
4 data/wiki/Waypoint Target Elements by Class Using jQuery.md
@@ -1,4 +0,0 @@
-# Target Elements by Class Using jQuery
-Just as we did before, we can also target elements by classes.
-
-`$(".well").addClass("animated shake");`
View
4 data/wiki/Waypoint Target Elements by ID Using jQuery.md
@@ -1,4 +0,0 @@
-# Target Elements by ID Using jQuery
-You can also target elements by their id attributes. Note that, just like with CSS declarations, you type a # before the id's name.
-
-`$("#target3").addClass("animated fadeOut");`
View
6 data/wiki/Waypoint Target Even Numbered Elements Using jQuery.md
@@ -1,6 +0,0 @@
-# Target Even Numbered Elements Using jQuery
-You can also target all the even-numbered elements.
-
-Here's how you would target all the `odd-numbered` elements with class target and give them classes: `$('.target:odd').addClass('animated shake');`
-
-This will shake all the even ones: `$('.target:even').addClass("shake");`
View
14 data/wiki/Waypoint Target HTML Elements with Selectors Using jQuery.md
@@ -1,14 +0,0 @@
-# Target HTML Elements with Selectors Using jQuery
-After we have created our `document ready function` we can now have code that will run after the page loads. This will assure that your code does not run before the HTML is rendered to avoid bugs.
-
-jQuery often selects an HTML element with a selector, then does something to that element.
-
-The following code will make the buttons have a bouncy animation on page load.
-
-```
-<script>
- $(document).ready(function() {
- $("button").addClass("animated bounce");
- });
-</script>
-```
View
6 data/wiki/Waypoint Target a Specific Child of an Element Using jQuery.md
@@ -1,6 +0,0 @@
-# Target a Specific Child of an Element Using jQuery
-jQuery uses CSS Selectors to target elements. `target:nth-child(n)` css selector allows you to select all the nth element with the target class or element type.
-
-Here's how you would give the third element in each well bounce: `$(".target:nth-child(3)").addClass("animated bounce");`
-
-`$(".btn:nth-child(2)").addClass("animated bounce");`
View
6 data/wiki/Waypoint Target the Children of an Element Using jQuery.md
@@ -1,6 +0,0 @@
-# Target the Children of an Element Using jQuery
-Many HTML elements have children elements from which they inherit properties.
-
-jQuery has a function called `children()` that allows you to access the children of whichever element you've selected.
-
-Here's an example of how you would use the `children()` function: `$("#left-well").children().css("color", "blue");`
View
8 data/wiki/Waypoint Target the Parent of an Element Using jQuery.md
@@ -1,8 +0,0 @@
-# Target the Parent of an Element Using jQuery
-Every HTML elements has a parent element from which it inherits properties.
-
-For example, your jQuery Playground `h3` element has the parent element of`<div class="container-fluid">`, which itself has the parent body.
-
-jQuery has a function called `parent()` that allows you to access the parent of whichever element you've selected.
-
-Here's an example of how you would use the `parent()` function: `$("#left-well").parent().css("background-color", "blue")`
View
15 data/wiki/Waypoint Target the same element with multiple jQuery Selectors.md
@@ -1,15 +0,0 @@
-# Target the same element with multiple jQuery Selectors
-The multiple jQuery selectors are:
-1. By type: `$("button")`
-2. By class: `$(".btn")`
-3. By id: `$("#target1")`
-
-```
-<script>
- $(document).ready(function() {
- $("button").addClass("animated");
- $(".btn").addClass("shake");
- $("#target1").addClass("animated shake btn-primary");
- });
-</script>
-```
View
4 data/wiki/Waypoint Taste the Bootstrap Button Color Rainbow.md
@@ -1,4 +0,0 @@
-# Taste the Bootstrap Button Color Rainbow
-The `btn-primary` class is the main color you'll use in your app. It is useful for highlighting actions you want your user to take. Note that this button will still need the `btn` and `btn-block` classes.
-
-`<button class="btn btn-block btn-primary">Like</button>`
View
2 data/wiki/Waypoint Understand Boolean Values.md
@@ -1,2 +0,0 @@
-# Understand Boolean Values
-Booleans can only hold the value of either true or false. They are basically little on-off switches.
View
4 data/wiki/Waypoint Use Bracket Notation to Find the First Character in a String.md
@@ -1,4 +0,0 @@
-# Use Bracket Notation to Find the First Character in a String
-Bracket notation is a way to get a character at a specific index within a string.
-
-Computers don't start counting at `1` like humans do. They start at `0`. `firstLetterOfLastName = lastName[0];`
View
6 data/wiki/Waypoint Use Bracket Notation to Find the Last Character in a String.md
@@ -1,6 +0,0 @@
-# Use Bracket Notation to Find the Last Character in a String
-In order to get the last letter of a string, you can subtract one from the string's length.
-
-For example, if `var firstName = "Charles"`, you can get the value of the last letter of the string by using `firstName[firstName.length - 1]`.
-
-`var lastLetterOfLastName = lastName[lastName.length -1];`
View
6 data/wiki/Waypoint Use Bracket Notation to Find the Nth Character in a String.md
@@ -1,6 +0,0 @@
-# Use Bracket Notation to Find the Nth Character in a String
-You can also use bracket notation to get the character at other positions within a string.
-
-Remember that computers start counting at `0`, so the first character is actually the zeroth character.
-
-`var thirdLetterOfLastName = lastName[2];`
View
2 data/wiki/Waypoint Use Bracket Notation to Find the Nth-to-Last Character in a String.md
@@ -1,2 +0,0 @@
-# Use Bracket Notation to Find the Nth-to-Last Character in a String
-You can get the value of the third-to-last letter of the `var firstName = "Charles"` string by using `firstName[firstName.length - 3]`.
View
29 data/wiki/Waypoint Use Comments to Clarify Code.md
@@ -1,29 +0,0 @@
-# Use Comments to Clarify Code
-When we start using jQuery, we will modify HTML elements without needing to actually change them in HTML.
-
-This is a great way to make websites with a particular structure. Remember that you can start a comment with `<!-- and end a comment with -->`
-
-```
-<!--You shouldn't need to modify code below this line -->
-<div class="container-fluid">
- <h3 class="text-primary text-center">jQuery Playground</h3>
- <div class="row">
- <div class="col-xs-6">
- <h4>#left-well</h4>
- <div class="well" id="left-well">
- <button class="btn btn-default target" id="target1">#target1</button>
- <button class="btn btn-default target" id="target2">#target2</button>
- <button class="btn btn-default target" id="target3">#target3</button>
- </div>
- </div>
- <div class="col-xs-6">
- <h4>#right-well</h4>
- <div class="well" id="right-well">
- <button class="btn btn-default target" id="target4">#target4</button>
- <button class="btn btn-default target" id="target5">#target5</button>
- <button class="btn btn-default target" id="target6">#target6</button>
- </div>
- </div>
- </div>
-</div>
-```
View
15 data/wiki/Waypoint Use Conditional Logic with If-Else Statements.md
@@ -1,15 +0,0 @@
-# Use Conditional Logic with If-Else Statements
-We can use if statements in JavaScript to only execute code if a certain condition is met.
-
-if statements require some sort of `boolean` condition evaluate.
-
-```
-Example:
-
- if (1 == 2) {
-  return(true);
-}
-else {
-  return(false);
-}
-```
View
6 data/wiki/Waypoint Use Responsive Design with Bootstrap Fluid Containers.md
@@ -1,6 +0,0 @@
-# Use Responsive Design with Bootstrap Fluid Containers
-Bootstrap will figure out how wide your screen is and respond by resizing your HTML elements - hence the name Responsive Design.
-
-With responsive design, there is no need to design a mobile version of your website. It will look good on devices with screens of any width.
-
-You can add Bootstrap to any app just by including it with `<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"/>` at the top of your HTML.
View
4 data/wiki/Waypoint Use Spans for Inline Elements.md
@@ -1,4 +0,0 @@
-# Use Spans for Inline Elements
-You can use use spans to create inline elements. By using the span element, you can put several elements together, and even style different parts of the same element differently.
-
-`<p><span class = "text-danger">Things cats love:</span></p>`
View
4 data/wiki/Waypoint Use appendTo to Move Elements with jQuery.md
@@ -1,4 +0,0 @@
-# Use appendTo to Move Elements with jQuery
-jQuery has a function called `appendTo()` that allows you to select HTML elements and append them to another element.
-
-For example, if we wanted to move target4 from our right well to our left well, we would use `$("#target4").appendTo("#left-well");`
View
4 data/wiki/Waypoint Use jQuery to Modify the Entire Page.md
@@ -1,4 +0,0 @@
-# Use jQuery to Modify the Entire Page
-jQuery can target the body element as well.
-
-Here's how we would make the entire body fade out: `$('body').addClass('animated fadeOut');`
View
16 data/wiki/Waypoint Use the Bootstrap Grid to Put Elements Side By Side.md
@@ -1,16 +0,0 @@
-# Use the Bootstrap Grid to Put Elements Side By Side
-Bootstrap uses a responsive grid system that makes it easier to put elements into rows and tell each element's relative width.
-
-![Bootstrap 12 column grid layout](https://www.evernote.com/shard/s116/sh/f0944d97-08b8-4615-8273-a327bf41fb05/de1a3acbceef89ae/deep/0/)
-
-Note that in this illustration, the `col-md-_` class is being used. Here, md means medium, and _ is a number specifying how many columns wide the element should be. In this case, the column width of an element on a medium-sized screen, such as a laptop, is being specified.
-
-```
-<div class="row">
-
- <div class="col-xs-4"><button class="btn btn-block btn-primary">Like</button></div>
- <div class="col-xs-4"><button class="btn btn-block btn-info">Info</button></div>
- <div class="col-xs-4"><button class="btn btn-block btn-danger">Delete</button></div>
-
-</div>
-```
View
4 data/wiki/Waypoint Warn your Users of a Dangerous Action.md
@@ -1,4 +0,0 @@
-# Warn your Users of a Dangerous Action
-The `btn-danger` class is the button color you'll use to notify users that the button performs a destructive action, such as deleting a cat photo. Note that these buttons still need the `btn` and `btn-block` classes.
-
-`<button class="btn btn-block btn-danger">Delete</button>`
View
12 data/wiki/Waypoint Write Reusable JavaScript with Functions.md
@@ -1,12 +0,0 @@
-# Write Reusable JavaScript with Functions
-In JavaScript, we can divide up our code into reusable parts called functions.
-
-Here's an example of a function:
-
-```
-function functionName (a, b) {
-  return(a + b);
-}
-```
-
-We can "call" our function like this: `functionName();`, and it will run and return it's return value to us.
View
5 data/wiki/Waypoint-Add-Alt-Text-to-an-Image-for-Accessibility.md
@@ -1,5 +0,0 @@
-`alt` attributes, also known as alt text, are what browsers will display if they fail to load the image. alt attributes are also important for blind or visually impaired users to understand what an image portrays. And search engines also look at alt attributes.
-
-In short, every image should have an alt attribute!
-
-You can add an alt attribute right in the img element like this: `<img src="www.your-image-source.com/your-image.jpg" alt="your alt text"/>`.
View
3 data/wiki/Waypoint-Add-Borders-Around-your-Elements.md
@@ -1,3 +0,0 @@
-CSS borders have attributes like `style`, `color` and `width`.
-
-For example, if we wanted to create a red, 5 pixel border around an HTML element, we could use this class: `<style> .thin-red-border { border-color: red; border-width: 5px; border-style: solid; } </style>`.
View
1 data/wiki/Waypoint-Add-Different-Margins-to-Each-Side-of-an-Element.md
@@ -1 +0,0 @@
-CSS allows you to control the margin of an element on all four sides with `margin-top`, `margin-right`, `margin-bottom`, and `margin-left` attributes.
View
11 data/wiki/Waypoint-Add-Different-Padding-to-Each-Side-of-an-Element.md
@@ -1,11 +0,0 @@
-CSS allows you to control the padding of an element on all four sides with `padding-top`, `padding-right`, `padding-bottom`, and `padding-left` attributes.
-
-```
-.green-box {
- background-color: green;
- padding-top: 40px;
- padding-right: 20px;
- padding-bottom: 20px;
- padding-left: 40px;
-}
-```
View
3 data/wiki/Waypoint-Add-Images-to-your-Website.md
@@ -1,3 +0,0 @@
-You can add images to your website by using the `img` element, and point to an specific image's URL using the `src` attribute.
-
-An example of this would be `<img src="www.your-image-source.com/your-image.jpg">`. Note that in most cases, img elements are self-closing.
View
3 data/wiki/Waypoint-Add-Placeholder-Text-to-a-Text-Field.md
@@ -1,3 +0,0 @@
-Your placeholder text is what appears in your text input before your user has inputed anything.
-
-You can create placeholder text like so: `<input type="text" placeholder="this is placeholder text">`.
View
12 data/wiki/Waypoint-Add-Rounded-Corners-with-a-Border-Radius.md
@@ -1,12 +0,0 @@
-To make round corners it is all about `border-radius` and pixels.
-
-You can specify a border-radius with pixels. This will affect how rounded the corners are.
-
-```
-.thick-green-border {
- border-color: green;
- border-width: 10px;
- border-style: solid;
- border-radius: 10px;
-}
-```
View
1 data/wiki/Waypoint-Add-a-Negative-Margin-to-an-Element.md
@@ -1 +0,0 @@
-An element's `margin` controls the amount of space between an element's border and surrounding elements. If you set an element's margin to a **negative value**, the element will grow **larger**.
View
8 data/wiki/Waypoint-Add-a-Submit-Button-to-a-Form.md
@@ -1,8 +0,0 @@
-You will need to create a `button` element. Here's an example submit button: `<button type="submit">this button submits the form</button>`.
-
-```
-<form action="/submit-cat-photo">
- <input type="text" placeholder="cat photo URL">
- <button type="submit">Submit</button>
-</form>
-```
View
9 data/wiki/Waypoint-Adjust-the-Margin-of-an-Element.md
@@ -1,9 +0,0 @@
-An element's `margin` controls the amount of space between an element's `border` and surrounding elements.
-
-```
-.green-box {
- background-color: green;
- padding: 20px;
- margin: 20px;
-}
-```
View
8 data/wiki/Waypoint-Adjusting-the-Padding-of-an-Element.md
@@ -1,8 +0,0 @@
-HTML elements are essentially little rectangles. Three important attributes control the space that surrounds each HTML element: `padding`, `margin`, and `border`. An element's padding controls the amount of space between the element and its border.
-
-```
-.green-box {
- background-color: green;
- padding: 20px;
-}
-```
View
3 data/wiki/Waypoint-Change-the-Color-of-Text.md
@@ -1,3 +0,0 @@
-CSS allows us to change many styles. To change the color of an element we use `color`.
-
-Here's how you would set your h2 element's text color to blue: `<h2 style="color: blue">CatPhotoApp</h2>`.
View
1 data/wiki/Waypoint-Change-the-Font-Size-of-an-Element.md
@@ -1 +0,0 @@
-Font size is controlled by the `font-size` CSS attribute, like this: `h1 { font-size: 30px; }`.
View
3 data/wiki/Waypoint-Check-Radio-Buttons-and-Checkboxes-by-Default.md
@@ -1,3 +0,0 @@
-You can set a checkbox or radio button to be checked by default using the checked attribute.
-
-To do this, just add the word "checked" to the inside of an input element. For example, `<input type="radio" name="test-name" checked>`.
View
15 data/wiki/Waypoint-Comment-out-HTML.md
@@ -1,15 +0,0 @@
-Commenting is a way that you can leave comments within your code without affecting the code itself.
-
-It is also a convenient way to make code inactive without having to delete it entirely.
-
-You can start a comment with `<!-- and end a comment with -->`.
-
-```
-<!--
-<h1>Hello World</h1>
-
-<h2>CatPhotoApp</h2>
-
-<p>Hello Paragraph</p>
--->
-```
View
14 data/wiki/Waypoint-Create-a-Bulleted-Unordered-List.md
@@ -1,14 +0,0 @@
-HTML has a special element for creating unordered lists, or bullet point-style lists.
-
-Unordered lists start with a `<ul>` element. Then they contain some number of `<li>` elements.
-
-For example:
-
-```
-<ul>
-  <li>milk</li>
-  <li>cheese</li>
-</ul>
-```
-
-would create a bullet point-style list of "milk" and "cheese".
View
3 data/wiki/Waypoint-Create-a-Form-Element.md
@@ -1,3 +0,0 @@
-You can build web forms that actually submit data to a server using nothing more than pure HTML. You can do this by specifying an action on your `form` element.
-
-For example: `<form action="/url-where-you-want-to-submit-form-data"></form>`.
View
5 data/wiki/Waypoint-Create-a-Set-of-Checkboxes.md
@@ -1,5 +0,0 @@
-Checkboxes are a type of input.
-- Each of your checkboxes should be nested within its own label element.
-- All related checkbox inputs should have the same name attribute.
-
-Here's an example of a checkbox: `<label><input type="checkbox" name="personality"> Loving</label>`.
View
5 data/wiki/Waypoint-Create-a-Set-of-Radio-Buttons.md
@@ -1,5 +0,0 @@
-You can use radio buttons for questions where you want the user to only give you one answer.
-
-Radio buttons are a type of input. They should all be nested in their own label element. Furthermore, all related radio buttons should have the same name attribute.
-
-Here's an example of a radio button: `<label><input type="radio" name="indoor-outdoor"> Indoor</label>`.
View
3 data/wiki/Waypoint-Create-a-Text-Field.md
@@ -1,3 +0,0 @@
-Text inputs are a convenient way to get input from your user.
-
-You can create one like this: `<input type="text">`. Note that input elements are self-closing.
View
14 data/wiki/Waypoint-Create-an-Ordered-List.md
@@ -1,14 +0,0 @@
-HTML has a special element for creating ordered lists, or numbered-style lists.
-
-Ordered lists start with a `<ol>` element. Then they contain some number of `<li>` elements.
-
-For example:
-
-```
-<ol>
-  <li>hydrogen</li>
-  <li>helium</li>
-</ol>
-```
-
-would create a numbered list of "hydrogen" and "helium".
View
1 data/wiki/Waypoint-Delete-HTML-Elements.md
@@ -1 +0,0 @@
-Deleting elements is very simple. All you have to do is remove everything from the opening to the closing of the element and it will be removed. No extra code is needed.
View
11 data/wiki/Waypoint-Fill-in-the-Blank-with-Placeholder-Text.md
@@ -1,11 +0,0 @@
-Web developers traditionally use **lorem ipsum** text as placeholder text. It's called lorem ipsum text because those are the first two words of a famous passage by Cicero of Ancient Rome.
-
-**lorem ipsum** text has been used as placeholder text by typesetters since the 16th century, and this tradition continues on the web.
-
-```
-<h1>Hello World</h1>
-
-<h2>CatPhotoApp</h2>
-
-<p>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>
-```
View
3 data/wiki/Waypoint-Give-a-Background-Color-to-a-Div-Element.md
@@ -1,3 +0,0 @@
-You can set an element's background color with the `background-color` attribute.
-
-For example, if you wanted an element's background color to be green, you'd use `.green-background { background-color: green; }` within your `style` element.
View
6 data/wiki/Waypoint-Headline-with-the-h2-Element.md
@@ -1,6 +0,0 @@
-You can create different levels of Heading elements by using **h1, h2, h3, h4, h5, h6** which will result on different sizes.
-
-```
-<h1>Hello World</h1>
-<h2>CatPhotoApp</h2>
-```
View
1 data/wiki/Waypoint-Import-a-Google-Font.md
@@ -1 +0,0 @@
-To import a font from Google or any other site, this is the format that you should follow: `<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">`
View
9 data/wiki/Waypoint-Inform-with-the-Paragraph-Element.md
@@ -1,9 +0,0 @@
-`p` elements are the preferred element for normal-sized paragraph text on websites. P is short for "paragraph".
-
-You can create a p element like so: `<p>I'm a p tag!</p>`.
-
-```
-<h1>Hello World</h1>
-<h2>CatPhotoApp</h2>
-<p>Hello Paragraph</p>
-```
View
13 data/wiki/Waypoint-Inherit-Styles-from-the-Body-Element.md
@@ -1,13 +0,0 @@
-The `body` element can be style just like any other.
-
-```
-<style>
- body {
- background-color: black;
- color: green;
- font-family: Monospace
- }
-
-</style>
-<h1>Hello World</h1>
-```
View
23 data/wiki/Waypoint-Iterate-with-JavaScript-For-Loops.md
@@ -1,23 +0,0 @@
-# Iterate with JavaScript For Loops
-The most common type of JavaScript loop is called a `for loop` because it runs `for` a specific number of times.
-
-```
-var ourArray = [];
-for(var i = 0; i < 5; i++) {
-  ourArray.push(i);
-}
-```
-
-ourArray will now contain [0,1,2,3,4]
-
-## More about for loops
-```
-for(var i = 0; i < 5; i++) { // There are 3 parts here
-```
-There are three parts to for loop. They are separated by semicolons.
-
-1. The initialization: `var i = 0;` - This code runs only once at the start of the loop. It's usually used to declare the counter variable (with `var`) and initialize the counter (in this case it is set to 0).
-
-2. The condition: `i < 5;` - The loop will run as long as this is `true`. That means that as soon as `i` is equal to 5, the loop will stop looping. Note that the inside of the loop will never see `i` as 5 because it will stop before then. If this condition is initially `false`, the loop will never execute.
-
-3. The increment: `i++` - This code is run at the end of each loop. It's usually a simple increment (`++` operator), but can really be any mathematical transformation. It is used to move the counter (`i`) forward (or backwards, or whatever.
View
3 data/wiki/Waypoint-Link-to-External-Pages-with-Anchor-Elements.md
@@ -1,3 +0,0 @@
-`a` elements, also known as anchor elements, are used to link to content outside of the current page.
-
-Here's an example: `<p>Here's a <a href="http://freecodecamp.com"> link to Free Code Camp</a> for you to follow.</p>`.
View
10 data/wiki/Waypoint-Make-Circular-Images-with-a-Border-Radius.md
@@ -1,10 +0,0 @@
-You can also use percentage to `border-radius` to make things round.
-
-```
-.thick-green-border {
- border-color: green;
- border-width: 10px;
- border-style: solid;
- border-radius: 50%;
-}
-```
View
3 data/wiki/Waypoint-Make-Dead-Links-using-the-Hash-Symbol.md
@@ -1,3 +0,0 @@
-Replace your a element's `href` attribute with a `#`, also known as a hash symbol, to turn it into a dead link. Sometimes you want to add a elements to your website before you know where they will link.
-
-This is also handy when you're changing the behavior of a link using jQuery, which we'll learn about later.
View
23 data/wiki/Waypoint-Nest-Many-Elements-within-a-Single-Div-Element.md
@@ -1,23 +0,0 @@
-The `div` element, also known as a division element, is a general purpose container for other elements.
-
-The div element is probably the most commonly used HTML element of all. It's useful for passing the CSS of its own class declarations down to all the elements that it contains.
-
-Just like any other non-self-closing element, you can open a `div` element with `<div>` and close it on another line with `</div>`.
-
-```
-<div>
- <p>Things cats love:</p>
- <ul>
- <li>cat nip</li>
- <li>laser pointers</li>
- <li>lasagna</li>
- </ul>
- <p>Top 3 things cats hate:</p>
- <ol>
- <li>flea treatment</li>
- <li>thunder</li>
- <li>other cats</li>
- </ol>
-</div>
->
-```
View
1 data/wiki/Waypoint-Nest-an-Anchor-Element-within-a-Paragraph.md
@@ -1 +0,0 @@
-Nesting is simple, just add one element inside another: `<p> click here for <a href="http://www.catphotoapp.com">cat photos</a></p>`
View
3 data/wiki/Waypoint-Override-All-Other-Styles-by-using-Important.md
@@ -1,3 +0,0 @@
-In many situations, you will use CSS libraries. These may accidentally override your own CSS. So when you absolutely need to be sure that an element has specific CSS, you can use !important.
-
-An example of how to do this is: `color: red !important;` This will make sure that we use the wanted property regardless of other overrides.
View
19 data/wiki/Waypoint-Override-Class-Declarations-by-Styling-ID-Attributes.md
@@ -1,19 +0,0 @@
-We can use `id` to override styling too.
-
-```
-<style>
- body {
- background-color: black;
- font-family: Monospace;
- color: green;
- }
- .pink-text {
- color: pink;
- }
- .blue-text {
- color: blue;
- }
- #orange-text{color:orange;}
-</style>
-<h1 class="pink-text blue-text" id="orange-text">Hello World!</h1>
-```
View
1 data/wiki/Waypoint-Override-Class-Declarations-with-Inline-Styles.md
@@ -1 +0,0 @@
-Remember, in line styles look like this: `<h1 style="color: green">` They will override everything else that was changing the text color of h1.
View
1 data/wiki/Waypoint-Override-Styles-in-Subsequent-CSS.md
@@ -1 +0,0 @@
-Your classes will override the body's CSS, if we add a new class that changes the same property, the last one will be the one applied.
View
15 data/wiki/Waypoint-Prioritize-One-Style-Over-Another.md
@@ -1,15 +0,0 @@
-Classes to individual elements take priority over general styles.
-
-```
-<style>
- body {
- background-color: black;
- font-family: Monospace;
- color: green;
- }
- .pink-text{color: pink;}
-</style>
-<h1 class="pink-text">Hello World!</h1>
-```
-
-This makes for a pink h1 instead of a green one.
View
7 data/wiki/Waypoint-Say-Hello-to-HTML-Elements.md
@@ -1,7 +0,0 @@
-HTML elements are written with a start tag, with an end tag, with the content in between:
-
-`<tagname>content</tagname>` The HTML element is everything from the start tag to the end tag:
-
-`<p>My first HTML paragraph.</p>`
-
-Opening tags look like this: `<h1>`. Closing tags look like this: `</h1>` Note that the only difference between opening tags and closing tags is that closing tags have a slash after their opening angle bracket.
View
1 data/wiki/Waypoint-Set-the-Font-Family-of-an-Element.md
@@ -1 +0,0 @@
-To import a font from Google or any other site, this is the format that you should follow: `<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">`
View
7 data/wiki/Waypoint-Set-the-ID-of-an-Element.md
@@ -1,7 +0,0 @@
-In addition to classes, each HTML element can also have an `id` attribute.
-
-There are several benefits to using id attributes, and you'll learn more about them once you start using jQuery.
-
-`id` attributes should be unique. Browsers won't enforce this, but it is a widely agreed upon best practice. So please don't give more than one element the same id attribute.
-
-Here's an example of how you give your h2 element the id of cat-photo-app: <h2 id="cat-photo-app">
View
3 data/wiki/Waypoint-Size-your-Images.md
@@ -1,3 +0,0 @@
-CSS has an attribute called `width` that controls an element's width. Just like with fonts, we'll use `px` (pixels) to specify the image's width.
-
-For example, if we wanted to create a CSS class called larger-image that gave HTML elements a width of 500 pixels, we'd use: `<style> .larger-image { width: 500px; } </style>`.
View
3 data/wiki/Waypoint-Specify-How-Fonts-Should-Degrade.md
@@ -1,3 +0,0 @@
-There are several default fonts that are available in all browsers. These include `Monospace`, `Serif` and `Sans-Serif`.
-
-For example, if you wanted an element to use the `Helvetica` font, but also degrade to the `Sans-Serif` font when `Helvetica` wasn't available, you could use this CSS style: `p { font-family: Helvetica, Sans-Serif; }`.
View
1 data/wiki/Waypoint-Style-the-HTML-Body-Element.md
@@ -1 +0,0 @@
-Every HTML page has the `body` element. and it is like the main page.
View
1 data/wiki/Waypoint-Turn-an-Image-into-a-Link.md
@@ -1 +0,0 @@
-Creating images that link to things is essential and one of the most used things in Web Dev. Nest your image within an `a` element. Here's an example: `<a href="#"><img src="http://bit.ly/fcc-running-cats"/></a>`.
View
5 data/wiki/Waypoint-Uncomment-HTML.md
@@ -1,5 +0,0 @@
-Given that there are two ways to write comments in JavaScript:
-1. Using `//`
-2. Using `<!-- text -->`
-
-You can easily uncomment by just removing the comment elements.
View
11 data/wiki/Waypoint-Use-Abbreviated-Hex-Code.md
@@ -1,11 +0,0 @@
-red, which is `#FF0000` in hex code, can be shortened to `#F00`. That is, one digit for red, one digit for green, one digit for blue.
-
-This reduces the total number of possible colors to around 4,000. But browsers will interpret `#FF0000` and `#F00` as exactly the same color.
-
-```
-<style>
- body {
- background-color: #F00;
- }
-</style>
-```
View
7 data/wiki/Waypoint-Use-CSS-Selectors-to-Style-Elements.md
@@ -1,7 +0,0 @@
-Instead of giving style attributes one by one, we can do this to multiple elements at the same time.
-
-You can create a style element like this: `<style></style>`.
-
-Inside that style element, you can create a CSS selector for any HTML Elements. For example, if you wanted all h2 elements to be red, your style element would look like this: `<style>h2 {color: red;}</style>`.
-
-Note that it's important to have both opening and closing curly braces `({` and `})` around each element's style. You also need to make sure your element's style is between the opening and closing style tags. Finally, be sure to add the semicolon to the end of each of your element's styles.
View
10 data/wiki/Waypoint-Use-Clockwise-Notation-to-Specify-the-Margin-of-an-Element.md
@@ -1,10 +0,0 @@
-Instead of specifying an element's`margin-top`, `margin-right`, `margin-bottom`, and `margin-left` attributes, you can specify them all in one line, like this: `margin: 10px 20px 10px 20px;`.
-
-These four values work like a clock: top, right, bottom, left, and will produce the exact same result as using the side-specific margin instructions.
-
-```
-.green-box {
- background-color: green;
- margin: 40px 20px 20px 40px;
-}
-```
View
10 data/wiki/Waypoint-Use-Clockwise-Notation-to-Specify-the-Padding-of-an-Element.md
@@ -1,10 +0,0 @@
-Instead of specifying an element's `padding-top`, `padding-right`, `padding-bottom`, and `padding-lef`t attributes, you can specify them all in one line, like this: `padding: 10px 20px 10px 20px;`.
-
-These four values work like a clock: top, right, bottom, left, and will produce the exact same result as using the side-specific padding instructions.
-
-```
-.green-box {
- background-color: green;
- padding: 40px 20px 20px 40px
-}
-```
View
10 data/wiki/Waypoint-Use-HTML5-to-Require-a-Field.md
@@ -1,10 +0,0 @@
-You can require specific form fields so that your user will not be able to submit your form until he or she has filled them out.
-
-For example, if you wanted to make a text input field required, you can just add the word required within your input element, you would use: `<input type="text" required>`.
-
-```
-<form action="/submit-cat-photo">
- <input type="text" placeholder="cat photo URL" required>
- <button type="submit">Submit</button>
-</form>
-```
View
3 data/wiki/Waypoint-Use-Hex-Code-for-Specific-Colors.md
@@ -1,3 +0,0 @@
-With CSS, we use 6 hexadecimal number to represent colors. For example, `#000000` is the lowest possible value, and it represents the color black.
-
-This is the same as `#RRGGBB` which can also be simplified to `#RGB`.
View
1 data/wiki/Waypoint-Use-Hex-Code-for-Specific-Shades-of-Gray.md
@@ -1 +0,0 @@
-We can also create other shades of gray by evenly mixing all three colors. We can go very close to true black. `background-color: #111111;`
View
9 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Blue.md
@@ -1,9 +0,0 @@
-Just as with [red](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Red) and the others.
-
-```
-<style>
- body {
- background-color: #0000FF;
- }
-</style>
-```
View
1 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Gray.md
@@ -1 +0,0 @@
-We can also create different shades of gray by evenly mixing all three colors. `background-color: #808080;`
View
9 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Green.md
@@ -1,9 +0,0 @@
-Just as with [red](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Red) and the others.
-
-```
-<style>
- body {
- background-color: #00FF00;
- }
-</style>
-```
View
3 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-Red.md
@@ -1,3 +0,0 @@
-Hex code follows the red-green-blue, or rgb format. The first two digits of hex code represent the amount of red in the color. The third and fourth digit represent the amount of green. The fifth and sixth represent the amount of blue.
-
-So to get the absolute brightest red, you would just use `F` for the first and second digits (the highest possible value) and `0` for the third, fourth, fifth and sixth digits (the lowest possible value).
View
1 data/wiki/Waypoint-Use-Hex-Code-to-Color-Elements-White.md
@@ -1 +0,0 @@
-`0` is the lowest number in hex code, and represents a complete absence of color. `F` is the highest number in hex code, and it represents the maximum possible brightness.
View
9 data/wiki/Waypoint-Use-Hex-Code-to-Mix-Colors.md
@@ -1,9 +0,0 @@
-Orange is pure red, mixed with some green, and no blue.
-
-```
-<style>
- body {
- background-color: #FFA500;
- }
-</style>
-```
View
1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-Blue.md
@@ -1 +0,0 @@
-The RGB value blue: `rgb(0, 0, 255)`
View
1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-Gray.md
@@ -1 +0,0 @@
-RGB value for gray: `rgb(128, 128, 128)`
View
1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-Green.md
@@ -1 +0,0 @@
-The rgb value green: `rgb(0, 255, 0)`
View
1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-Red.md
@@ -1 +0,0 @@
-`background-color: rgb(255, 0, 0)`
View
1 data/wiki/Waypoint-Use-RGB-to-Color-Elements-White.md
@@ -1 +0,0 @@
-`background-color: rgb(255,255,255)`
View
1 data/wiki/Waypoint-Use-RGB-to-Mix-Colors.md
@@ -1 +0,0 @@
-RGB value orange: `rgb(255, 165, 0)`
View
5 data/wiki/Waypoint-Use-RGB-values-to-Color-Elements.md
@@ -1,5 +0,0 @@
-Another way you can represent colors in CSS is by using `rgb` values.
-
-RGB values look like this: `rgb(0, 0, 0)` for black and `rgb(255, 255, 255)` for white.
-
-Instead of using six hexadecimal digits like you do with hex code, with rbg you specify the brightness of each color with a number between 0 and 255. `background-color: rgb(0,0,0);`
View
3 data/wiki/Waypoint-Use-a-CSS-Class-to-Style-an-Element.md
@@ -1,3 +0,0 @@
-Classes are reusable styles that can be added to HTML elements. You can apply a class to an HTML element like this: `<h2 class="blue-text">CatPhotoApp</h2>`.
-
-Note that in your CSS style element, classes should start with a period. In your HTML elements' class declarations, classes shouldn't start with a period.
View
7 data/wiki/Waypoint-Use-an-ID-Attribute-to-Style-an-Element.md
@@ -1,7 +0,0 @@
-One cool thing about `id` attributes is that, like classes, you can style them using CSS.
-
-Here's an example of how you can take your element with the `id` attribute of cat-photo-element and give it the background color of green.
-
-In your style element: `#cat-photo-element { background-color: green; }`
-
-Note that inside your style element, you always reference classes by putting a `.` in front of their names. You always reference ids by putting a `#` in front of their names.
View
4 data/wiki/What-exactly-Free-Code-Camp-does.md
@@ -1,4 +0,0 @@
-We help our campers (students):
-- Learn full stack JavaScript
-- Build a portfolio of real apps that real people are using
-- Get a coding job
View
11 data/wiki/What-pair-programming-is-and-why-it-is-special.md
@@ -1,11 +0,0 @@
-Pair programming is where two people code together on one computer.
-
-![](http://cs10.org/sp15/resources/images/pairprogramming.jpg)
-
-Pair programming encourages you to discuss different approaches to solving problems, and to keep one another other motivated. The result is better code than either of you could have written by yourselves.
-
-Because of its benefits, many engineers pair program full time. And it's the best way to learn coding. Thanks to tools that allow two people to share mouse and keyboard inputs, you can pair program with a friend without needing to be in the same room.
-
-You can experience these benefits by pair programming with other Free Code Camp students on our coding challenges. Eventually, you'll work with people at nonprofits to build real-life software solutions.
-
-Here's [why you should try pair programming](https://github.com/FreeCodeCamp/freecodecamp/wiki/Why-You-Should-Try-Pair-Programming) and here are some tips on [how to be a good pair programmer](https://github.com/FreeCodeCamp/freecodecamp/wiki/Tips-on-How-To-Become-A-Good-Pair-Programmer).
View
10 data/wiki/What-the-main-advantages-of-Free-Code-Camp-are.md
@@ -1,10 +0,0 @@
-Free Code Camp's main advantages are that we're accessible to busy adults who want to change careers.
-
-Specifically, we're:
-
-* Free
-* Self-paced
-* Browser-based
-
-One of the most noticeable differences in this curriculum than other Code-Camp/School environments is the level of support: Using the chat-rooms for help, guidance, and assisting fellow coders gives you a better understanding of the code, easier access to explanations, and it's in real-time so you can question the confusion.
-
View
15 data/wiki/What-the-style-guide-for-Bonfires-is.md
@@ -1,15 +0,0 @@
-Writing Bonfire challenges is a great way to exercise your own problem solving and testing abilities. Follow this process closely to maximize the chances of us accepting your bonfire.
-
-- Fork the Free Code Camp repository and open `seed_data/bonfires.json` to become familiar with the format of our bonfires.
-- Regardless of your bonfire's difficulty, put it as the last bonfire in the JSON file. Change one of the numbers in the ID to ensure that your bonfire has a unique ID.
-- In the terminal, run `node seed_data/seed.js`. Run `gulp`. You should be able to navigate to your new bonfire in the challenge map. Whenever you make a change to bonfire.json, you'll need to reseed in order to see these changes in the browser.
-- Solve your own Bonfire. Confirm that your tests work as expected and that your instructions are sufficiently clear.
-- Submit a pull request to Free Code Camp's Staging branch and in the pull request body, link to a gist that has your algorithmic solution.
-
-Here is a description of each of the Bonfires' fields.
-- Name - The name of your challenge. It's OK for this to be humorous but it must be brief and relevant to the task.
-- Difficulty - Attempt to rate difficulty compared against existing bonfire challenges. A good proxy for the difficulty of a bonfire is how long it takes you to solve it. For every 15 minutes it takes, increase the difficulty. For example, a one-hour bonfire should probably be a 4.
-- Description- Separate paragraphs with a line break. Only the first paragraph is visible prior to a user before they click the the 'More information' button. All necessary information must be included in the first paragraph. Write this first paragraph as succinctly as possible. Subsequent paragraphs should offer hints or details if needed. If your subject matter warrants deeper understanding, you may link to Wikipedia.
-- Challenge Seed - This is where you set up what will be in the editor when the camper starts the bonfire.
-- Tests - These tests are what bring your challenge to life. Without them, we cannot confirm the accuracy of a user's submitted answer. Choose your tests wisely. Bonfire tests are written using the Chai.js assertion library. Please use the should and expect syntax for end user readability. As an example of what not do to, many of the original Bonfire challenges are written with assert syntax and many of the test cases are difficult to read. If your bonfire question has a lot of edge cases, you will need to write many tests for full coverage. If you find yourself writing more tests than you desire, you may consider simplifying the requirements of your bonfire challenge. For difficulty level 1 through 3, you will generally only need 2 to 4 tests.
-- MDNlinks- Take a look at `seed_data/bonfireMDNlinks.js`. If any of these concepts are relevant to your bonfire, be sure to include them. If you know of an MDN article that isn't linked here, you can add it to the bonfireMDNlinks.js file before adding it to your bonfire.
View
7 data/wiki/What-to-do-if-you-speak-a-language-that-Free-Code-Camp-does-not-yet-support.md
@@ -1,7 +0,0 @@
-Translation is an all-or-nothing proposal.
-
-We won't be able to add new languages to Free Code Camp until all of our challenges are translated into that language.
-
-In addition to translating these initially, we'll also need to maintain the translation as the challenges are gradually updated.
-
-If you're able to help us, you can join our [translation Trello board](https://trello.com/b/m7zhwXka/fcc-translation) by sending @quincylarson your email address in Gitter.
View
12 data/wiki/What-you-will-learn,-and-in-what-sequence-you-will-learn-it.md
@@ -1,12 +0,0 @@
-- [HTML5](https://developer.mozilla.org/en-US/docs/Web/HTML) - the structure of web pages
-- [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) - the visual style of web pages
-- [Bootstrap](http://getbootstrap.com/) - a "responsive design" tool that helps your websites look great on tablets and phones
-- [jQuery](https://jquery.com/) and [Ajax] (https://developer.mozilla.org/en-US/docs/AJAX) - easy tools for controlling content in the browser
-- [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) - the one programming language that all web browsers use
-- [Algorithms](https://en.wikipedia.org/wiki/Algorithm) - step-by-step recipes for getting things done
-- [Git](https://git-scm.com/) - a version control system for saving and sharing your projects
-- [MongoDB](https://www.mongodb.org/) - a popular non-relational database
-- [Angular.js](https://angularjs.org/) - a tool for making exciting web interfaces
-- [Express.js](http://expressjs.com/)- a powerful web development framework
-- [Node.js](https://nodejs.org/) - a platform for creating scalable network applications.
-- [Agile](https://en.wikipedia.org/wiki/Agile_software_development) - a set of software development principles that focus the design and production of a project on the needs of its users
View
24 data/wiki/Why-You-Should-Try-Pair-Programming.md
@@ -1,24 +0,0 @@
-#### When I started working through my first bonfires, I was really scared of speaking to strangers. What would this person think about me?
-Would I even be able to write good code with someone watching me?
-
-Now, some weeks later I've pair programmed and reviewed code with more than 40 campers and let me tell you: it's not as scary as it seems.
-It's perfectly normal to feel that way. Most of the campers that I've talked to agree that they were nervous too.
-
-**Here are a few good reasons to try pair programming** (I wish I knew this when I started...):
-
-### You can...
-- Build your professional network
-- Meet new friends - develop a support group
-- Improve social skills
-- Get motivation and encouragement from fellow campers
-- See other's coding styles
-- Learn from each other
-- Strengthen your strengths and get help finding and improving your weaknesses
-- Pair with **more** experienced dev to **improve your skills**
-- Pair with **less** experienced dev to **test your knowledge**
-- Gain a new skill that will be useful for interviews and employment down the road
-
-With the right person, pair programming is one of the best ways to learn at the same time as you make new friends!
-[You might also want to know how you could be a good pair programmer!](https://github.com/FreeCodeCamp/freecodecamp/wiki/Tips-on-How-To-Become-A-Good-Pair-Programmer)
-
-// Samuel (gr33n) with help from Ryan (rsprice)
View
7 data/wiki/Why-does-Free-Code-Camp-use-JavaScript-instead-of-Ruby-or-Python.md
@@ -1,7 +0,0 @@
-Like JavaScript, Ruby and Python are high-level scripting languages that can be used for full stack web development.
-
-But even if you learned these languages, you'd still need to learn JavaScript. That's because JavaScript is the only language that runs in web browsers. JavaScript has been around for 20 years, and it is still growing in popularity.
-
-Because of this, JavaScript has more tools and online learning resources than any other language.
-
-![A chart showing the volume of new GitHub repositories by year, with JavaScript growing and most languages declining.](https://s3.amazonaws.com/freecodecamp/github-repo-growth.png)
View
8 data/wiki/Why-you-need-Free-Code-Camp..md
@@ -1,8 +0,0 @@
-You need Free Code Camp because learning to code is hard.
-
-Most people who successfully learn to code:
-
-- Make friends with people who code
-- Code a little every day
-
-We give you the structure and the community you need so you can successfully learn to code.
View
17 data/wiki/Wiki-Style-Guide.md
@@ -1,17 +0,0 @@
-###"Wiki" is a Hawaiian word meaning "quick". Keep this in mind when creating wiki articles.
-
-We are always happy to help new contributors write, edit, and localize our wiki articles. Help us make Free Code Camp the best it can be.
-
-You can create a new wiki page by clicking the "New Page" button at top right.
-
-Keep your wiki articles short and focused. Your articles should be no longer than this article. If your article is longer than this, break it up smaller articles that link to each other.
-
-You can include images if they help you better communicate your subject.
-
-Use descriptive, punctuation-free titles.
-
-Our wiki articles are [written in GitHub-flavor Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet).
-
-If you have questions about contributing to the Free Code Camp Wiki message [@rafase282](https://gitter.im/rafase282) in [Gitter](https://github.com/FreeCodeCamp/freecodecamp/wiki/Gitter)
-
-We look forward to wiki-ing with you!
View
25 data/wiki/World-Language-Chat-Rooms.md
@@ -1,25 +0,0 @@
-The following are our language-specific chat rooms.
-
-**Please note that all chat rooms listed here are publicly accessible and indexed by search engines, so only share email addresses or other sensitive information in private messages.**
-
-- [Albanian](https://gitter.im/freecodecamp/Albanian)
-- [Arabic](https://gitter.im/freecodecamp/Arabic)
-- [Chinese](https://gitter.im/freecodecamp/Chinese)
-- [German](https://gitter.im/freecodecamp/Deutsch)
-- [Dutch](https://gitter.im/freecodecamp/Dutch)
-- [Spanish](https://gitter.im/freecodecamp/Espanol)
-- [French](https://gitter.im/freecodecamp/Francais)
-- [Japanese](https://gitter.im/freecodecamp/Japanese)
-- [Korean](https://gitter.im/freecodecamp/Korean)
-- [Persian](https://gitter.im/freecodecamp/Persian)
-- [Portugues](https://gitter.im/freecodecamp/Portugues)
-- [Romanian](https://gitter.im/freecodecamp/Romanian)
-- [Russian](https://gitter.im/freecodecamp/Russian)
-- [Swedish](https://gitter.im/freecodecamp/Swedish)
-- [Thai](https://gitter.im/freecodecamp/Thai)
-- [Tagalog](https://gitter.im/freecodecamp/Tagalog)
-- [Vietnamese](https://gitter.im/freecodecamp/Vietnamese)
-
-By joining these chat rooms, you accept our [Code of Conduct](https://github.com/FreeCodeCamp/freecodecamp/wiki/Code-of-Conduct).
-
-[Official Free Code Camp chat rooms](https://github.com/FreeCodeCamp/freecodecamp/wiki/Official-Free-Code-Camp-Chat-Rooms)
View
34 data/wiki/Writing-great-git-commit-message.md
@@ -1,34 +0,0 @@
-### The seven rules of a great git commit message
-
-1. Separate subject from body with a blank line
-2. Limit the subject line to 50 characters
-3. Capitalize the subject line
-4. Do not end the subject line with a period
-5. Use the imperative mood in the subject line
-6. Wrap the body at 72 characters
-7. Use the body to explain what and why vs. how
-
-**A properly formed git commit subject line should always be able to complete the following sentence:**
-
-> If applied, this commit will *`<<your subject line here>>`*
-
-## &nbsp;
-
-**For example:**
-
-* If applied, this commit will ***Refactor subsystem X for readability***
-* If applied, this commit will ***Update getting started documentation***
-* If applied, this commit will ***Remove deprecated methods***
-* If applied, this commit will ***Release version 1.0.0***
-* If applied, this commit will ***Merge pull request #123 from user/branch***
-
-**Notice how this doesn't work for the other non-imperative forms:**
-
-* If applied, this commit will *~~fixed bug with Y~~*
-* If applied, this commit will *~~changing behavior of X~~*
-* If applied, this commit will *~~more fixes for broken stuff~~*
-* If applied, this commit will *~~sweet new API methods~~*
-
-**Remember:** *Use of the imperative is important only in the subject line. You can relax this restriction when you're writing the body.*
-
-**Reference:** http://chris.beams.io/posts/git-commit
View
10 data/wiki/You-will-be-able-to-get-a-software-engineering-job-after-Free-Code-Camp.md
@@ -1,10 +0,0 @@
-If you complete Free Code Camp, *you will be able to get a coding job.* Dozens of our campers have already gotten coding jobs.
-
-![](https://www.evernote.com/shard/s116/sh/55c128c7-5d99-41cc-b03d-b3de22611c8d/b43e467b3889f646fec34bb4c161e2a2/deep/0/What's-wrong-with-this-picture----Code.org.png)
-
-Here are the facts:
-
-- There are hundreds of thousands of unfilled coding jobs.
-- Employers and the US government have joined together to promote nontraditional coding programs like Free Code Camp.
-- Full stack JavaScript is one of best paying skill sets, and has a ton of job openings.
-- The best proof that you're an employable developer is a portfolio filled with real apps that real people are using.
View
7 data/wiki/_Footer.md
@@ -1,7 +0,0 @@
-We help you learn to code, then practice by building projects for nonprofits. Learn Full-stack JavaScript, build a portfolio, and get a coding job by joining our open source community at http://freecodecamp.com
-
-[Follow Quincy on Quora](http://www.quora.com/Quincy-Larson/answers)
-[Follow us on Twitter](https://twitter.com/intent/user?screen_name=freecodecamp)
-[Like us on Facebook](https://www.facebook.com/freecodecamp)
-[Follow us on Twitch](http://twitch.tv/freecodecamp)
-And be sure to click the "Star" button in the upper right of this page.
View
12 data/wiki/_Sidebar.md
@@ -1,12 +0,0 @@
-New to Free Code Camp? Take a few minutes to browse these wiki articles:
-- [What exactly Free Code Camp does](https://github.com/FreeCodeCamp/freecodecamp/wiki/What-exactly-Free-Code-Camp-does)
-- [Why you need Free Code Camp](https://github.com/FreeCodeCamp/freecodecamp/wiki/Why-you-need-Free-Code-Camp.)
-- [What the main advantages of Free Code Camp are](https://github.com/FreeCodeCamp/freecodecamp/wiki/What-the-main-advantages-of-Free-Code-Camp-are)
-- [You will be able to get a software engineering job after Free Code Camp](https://github.com/FreeCodeCamp/freecodecamp/wiki/You-will-be-able-to-get-a-software-engineering-job-after-Free-Code-Camp)
-- [What you will learn, and in what sequence you will learn it](https://github.com/FreeCodeCamp/freecodecamp/wiki/What-you-will-learn,-and-in-what-sequence-you-will-learn-it)
-- [How long Free Code Camp takes to complete](https://github.com/FreeCodeCamp/freecodecamp/wiki/How-long-Free-Code-Camp-takes-to-complete)
-- [What pair programming is and why it is special](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/What-pair-programming-is-and-why-it-is-special)
-- [How to use the Free Code Camp Wiki]
-(https://github.com/FreeCodeCamp/freecodecamp/wiki/How-to-use-the-Free-Code-Camp-Wiki)
-- [Official Free Code Camp Chat Rooms](https://github.com/FreeCodeCamp/freecodecamp/wiki/Official-Free-Code-Camp-Chat-Rooms)
-- [List of Free Code Camp city based Campsites](https://github.com/FreeCodeCamp/freecodecamp/wiki/List-of-Free-Code-Camp-city-based-Campsites)
View
17 data/wiki/beta.md
@@ -1,17 +0,0 @@
-### What happens in betas, stays in betas
-
-![](http://www.hebraico.pro.br/biblia/beta.jpg)
-
-The [beta release](http://beta.freecodecamp.com) is where we ask people to test out new features.
-
-### Your progress on beta.freecodecamp.com will NOT be saved to freecodecamp.com's database! ###
-We really appreciate everyone's help ironing out our Beta Release, but please understand that it's not possible to merge two user databases with completely different sets of content. Think of our beta as just a preview test, to check things work properly. In fact the database maybe reset at any time so we can try out things like the sign-up process.
-
-Feel free to experiment with our beta site, but note the following:
-- Our beta site is quite buggy. If you notice a bug, please make sure it's a new one before you create an issue.
-- We've removed all authentication options other than GitHub from our beta. Don't worry - you will still be able to sign in using LinkedIn, Twitter, Google and Facebook in the future.
-- Our beta database is an old version of Free Code Camp's database. Your Free Code Camp account may not yet exist on the beta site, so please create one if you want to experiment with it.
-
-Also, please remember that all our Waypoint challenges are optional. **You will not have to go back and complete new waypoints as we add them.**
-
-We plan to merge all these new beta features into freecodecamp.com as soon as we've worked out all the major bugs.
View
101 data/wiki/bonfire-arguments-optional.md
@@ -1,101 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128) submitted by Rafase282 | https://github.com/Rafase282
-
-* FreeCodeCamp Profile: http://www.freecodecamp.com/rafase282
-* CodePed Profile: http://codepen.io/Rafase282/
-* LinkedIn: https://www.linkedin.com/in/rafase282
-
-# [My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-# Details
-
-* Difficulty: 2/5
-
-Fill in the object constructor with the methods specified in the tests.
-
-Create a function that sums two arguments together. If only one argument is provided, return a
-function that expects one additional argument and will return the sum.
-
-For example, add(2, 3) should return 5, and add(2) should return a function that is waiting for an
-argument so that var sum2And = add(2); return sum2And(3); // 5
-
-If either argument isn't a valid number, return undefined.
-
-Remember to use [RSAP](http://www.freecodecamp.com/field-guide/how-do-i-get-help-when-I-get-stuck) if you get stuck. Try to pair program. Write your own code.
-
-# Useful Links
-
-* [Global Function Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function)
-* [Arguments object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments)
-
-# Problem Script:
-
-```
-function add() {
- return false;
-}
-
-add(2,3);
-```
-## Explanation:
-It can be quite complicated to understand what needs to be done. There is always many ways to do something when coding but regardless of the algorithm used,
-we have to create a program that does the following:
-
-* It has to add two numbers passed as parameters and return the addition.
-* It has to check if any of the numbers are actual numbers, otherwise return **undefined** and stop the program right there.
-* It has to check if it has one or two arguments passed. More re ignored.
-* If it has only one then it has to return a function that used that number and expects another one, to then add it.
-
-## Hint: 1
-Every time you deal with an argument, you have to check if it is a number or not. For this a function that handles this task will save you repeated code.
-
-## Hint: 2
-When working on the case that it needs to return the function, it is wise to check if the first and only argument is a number again and base the code on that.
-
-## Hint: 3
-In the case that only one argument was passed, do not worry about how to prompt input for the second one, just make the function definition properly and things will work out the way they should.
-
-## My code
-
-```
-function add() {
-
- var checkNum = function (num) {
- if (typeof num !== 'number'){
- return undefined;
- }else
- return num;
- };
-
- if (arguments.length > 1) {
- var a = checkNum(arguments[0]);
- var b = checkNum(arguments[1]);
- if (a === undefined || b === undefined) {
- return undefined;
- } else {return a + b;}
- } else {
- var c = arguments[0];
- if(checkNum(c)){
- return function(arg2) {
- if (c === undefined || checkNum(arg2) === undefined) {
- return undefined;
- }else {
- return c + arg2;
- }
- };
- }
- }
-}
-```
-## Code Explanation:
-
-* First, I create a function with the sole purpose of checking if a number is actually a number and returns undefined if it is not. It uses **typeof** to check.
-* Check if we have two parameters, if so, then check if they are numbers or not using the **checkNum** function I created.
-* If they are not **undefined** then add them and return the addition. If they any of them is undefined then return undefined.
-* In the case that we only have one argument, then we return a new function that expects two parameters. For this we store the first argument before going into a new scope to avoid our arguments being overwritten.
-* Still inside the big else, we need to check the argument we saved, if it is a number then we return the function expecting a second argument.
-* Now inside the function we are returning, we have to check for non numbers again just as at the beginning using **checkNum** if undefined then return that, otherwise if numbers add them and return the addition.
-
-
-## [Go Home](https://github.com/Rafase282/My-FreeCodeCamp-Code/wiki)
View
80 data/wiki/bonfire-binary-agents.md
@@ -1,80 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128) submitted by Rafase282 | https://github.com/Rafase282
-
-* FreeCodeCamp Profile: http://www.freecodecamp.com/rafase282
-* CodePed Profile: http://codepen.io/Rafase282/
-* LinkedIn: https://www.linkedin.com/in/rafase282
-
-# [My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-# Details
-
-* Difficulty: 2/5
-
-Return an English translated sentence of the passed binary string.
-
-The binary string will be space separated.
-
-Remember to use [RSAP](http://www.freecodecamp.com/field-guide/how-do-i-get-help-when-I-get-stuck) if you get stuck. Try to pair program. Write your own code.
-
-# Useful Links
-
-* [String.charCodeAt()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt)
-* [String.fromCharCode()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode)
-
-# Problem Script:
-
-```
-function binaryAgent(str) {
- return str;
-}
-
-binaryAgent('01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111');
-```
-
-## Explanation:
-
-This problem is very straight forward, you will get string that will represent a sentence in binary code, and you need to translate that into words. There is not direct way to do this so you will have to translate twice.
-
-You should first convert from **binary** to **decimal** and from decimal to **ASCII**
-soon
-
-## Hint: 2
-Things are easier when focusing on smaller parts, divide the input to focus on one letter at the time.
-
-## Hint: 3
-Make sure that each time you transcode a character from binary to decimal, that you reset whatever variable you used to keep track of the ones. Also do not forget to turn everything back into one string.
-
-## My code:
-
-```
-function binaryAgent(str) {
- str = str.split(' ');
- var power;
- var decValue = 0;
- var sentence = '';
- for (var s in str) {
- for (var t in str[s]){
- if (str[s][t] == 1){
- power = Math.pow(2,+str[s].length - t - 1);
- decValue+= power;
- }
- }
- sentence+=(String.fromCharCode(decValue));
- decValue = 0;
- }
- return sentence;
-}
-```
-## My Code Explanation:
-
-* Separate the string into an array of strings separated by whitespace.
-* Create some variables that will be needed along the way, the names are self explanatory for the most part.
-* Iterate through each binary string in the new array.
-* For each of these binary strings, check for the ones and ignore the zeroes.
-* For those that are one or active then convert them to decimal, this takes into account the position and the right power it needs to be raised to.
-* Store the power into the **power** variable by adding it to any previous ones on the variable **decValue**. This variable will add and add the powers of the active ones until the end of the loop and then return the decimal number.
-* Convert the final decimal outside of the inner loop and then convert it to ASCII and saving it to **sentence** along with any other text string already converted and stored.
-* Reset the variable **decValue** to avoid getting wrong decimals before continuing to the outer loop.
-* At the end, we return out converted message.
View
1 data/wiki/bonfire-check-for-palindromes.md
@@ -1 +0,0 @@
-wiki coming soon!
View
72 data/wiki/bonfire-chunky-monkey.md
@@ -1,72 +0,0 @@
-![](http://i.imgur.com/CuXtGin.jpg)
-
-Our goal for this bonfire is to split `arr` (first argument) into smaller chunks of arrays with the length provided by `size` (second argument). There are 4 green checks (objectives) our code needs to pass in order to complete this bonfire:
-
-1. `(['a', 'b', 'c', 'd'], 2)` is expected to be `[['a', 'b'], ['c', 'd']]`
-2. `([0, 1, 2, 3, 4, 5], 3)` is expected to be `[[0, 1, 2], [3, 4, 5]]`
-3. `([0, 1, 2, 3, 4, 5], 2)` is expected to be `[[0, 1], [2, 3], [4, 5]]`
-4. `([0, 1, 2, 3, 4, 5], 4)` is expected to be `[[0, 1, 2, 3], [4, 5]]`
-
-Click **More information** under the bonfire title and read the helpful links if you haven't yet.
-&nbsp;
-
-## How to approach the bonfire
-
-The helpful links suggest to use `Array.push()` so let's start by first creating a new array to store the smaller arrays we will soon have like this:
-
- var newArray = [];
-
-&nbsp;
-Next we'll need a `for loop` to loop through `arr` then finally we need a method to do the actual splitting and we can use `Array.slice()` to do that. The key to this bonfire is understanding how a `for loop`, `size`, `Array.slice()` and `Array.push()` all work together.
-&nbsp;
-
-## How does a for loop and Array.slice() work
-
-**For Loop**
-
-A `for loop` keeps looping until a condition evaluates to false for example if we had:
-
- for (var i = 0; i < arr.length; i++)
-
-&nbsp;
-`i` starts with a value of 0, `i` loops until `i` is no longer less than the length of `arr` and during each repeat loop, the value of `i` increases by 1 (one). If `arr.length` happens to be 4 then the `for loop` stops right before `i` reaches 4.
-&nbsp;
-
-**Array.slice() Method**
-
-`Array.slice()` method extracts a portion of an array and returns a copy into a new array. We can declare which element to start and which element to stop. For example, if `arr` is `['a', 'b', 'c', 'd']` and we used `arr.slice(1, 3);`, the `Array.slice()` method starts at element 1 and stops at element 3 then returns:
-```js
-["b","c"]
-```
-_Notice how it captures the start element but doesn't capture the stop element._
-&nbsp;
-
-## Using a for loop and Array.slice() together
-
-If we use the following `for loop` while `size` is 2 (note: `size` = 2):
-
- (var i = 0; i < arr.length; i += size)
-
-&nbsp;
-The loop starts at element 0, loops once then `i += 2` which is another way of stating `i = i + 2` so now the new value of `i` becomes 2. What happens if we combine the following `arr.slice()` with the `for loop`?
-```js
-arr.slice(i, i + size)
-```
-&nbsp;
-
-## Push the arrays out
-
-We can combine the `Array.slice()` method with the `Array.push()` method inside the `for loop` like this:
-
- for (var i = 0; i < arr.length; i += size) {
- newArray.push(arr.slice(i, i + size));
- }
-
-&nbsp;
-`arr.slice()` will start at element 0 and stop at element 2. Here's the fun part: once the `for loop`, loops again then the value of `i` becomes 2 while the `i` in the `arr.slice()` will also have a value of 2. The new `arr.slice()` becomes:
-
- arr.slice(2, 2 + 2)
-
-&nbsp;
-Now `arr.slice()` starts at the element 2 and stops at element 4 and in the next loop, `arr.slice()` will start at element 4 and stop at element 6. `newArray.push()` will push all the elements out into chunks of smaller arrays with the length of `size`.
-&nbsp;
View
1 data/wiki/bonfire-confirm-the-ending.md
@@ -1 +0,0 @@
-wiki coming soon!
View
1 data/wiki/bonfire-convert-HTML-entities.md
@@ -1 +0,0 @@
-wiki coming soon!
View
60 data/wiki/bonfire-drop-it.md
@@ -1,60 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128) submitted by Rafase282 | https://github.com/Rafase282
-
-* FreeCodeCamp Profile: http://www.freecodecamp.com/rafase282
-* CodePed Profile: http://codepen.io/Rafase282/
-* LinkedIn: https://www.linkedin.com/in/rafase282
-
-# [My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-# Details
-
-* Difficulty: 2/5
-
-Drop the elements of an array (first argument), starting from the front, until the predicate (second argument) returns true.
-Remember to use [RSAP](http://www.freecodecamp.com/field-guide/how-do-i-get-help-when-I-get-stuck) if you get stuck. Try to pair program. Write your own code.
-
-# Useful Links
-
-* [Arguments object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments)
-* [Array.shift()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift)
-
-# Problem Script:
-
-```
-function drop(arr, func) {
- // Drop them elements.
- return arr;
-}
-
-drop([1, 2, 3], function(n) {return n < 3; });
-```
-
-## Explanation:
-
-Basically while the second argument is not true, you will have to remove the first element from the left of the array that was passed as the first argument.
-
-## Hint: 1
-You can use Array.shift() or filter that you should be more familiar with to solve this problem in a few lines of code.
-
-## Hint: 2
-Shift returns the element that was removed which we don't really need, all we need is the modified array that is left.
-
-## Hint: 3
-If you still can't figure out how to solve it with shift, then try solving it with filter, and check how filter works, if you become familiar with it, then you can make the code with shift.
-
-## My code:
-
-```
-function drop(arr, func) {
- return arr.filter(func);
-}
-
-drop([1, 2, 3], function(n) {return n < 3; });
-```
-
-## My Code Explanation:
-
-* I used filter as I was more familiar with it.
-* I have it filter the array to remove the elements that needs to be removed.
View
73 data/wiki/bonfire-everything-be-true.md
@@ -1,73 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128) submitted by Rafase282 | https://github.com/Rafase282
-
-* FreeCodeCamp Profile: http://www.freecodecamp.com/rafase282
-* CodePed Profile: http://codepen.io/Rafase282/
-* LinkedIn: https://www.linkedin.com/in/rafase282
-
-# [My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-# Details
-
-* Difficulty: 2/5
-
-Check if the predicate (second argument) returns truthy (defined) for all elements of a collection (first argument).
-
-For this, check to see if the property defined in the second argument is present on every element of the collection.
-
-Remember, you can access object properties through either dot notation or [] notation.
-
-Remember to use [RSAP](http://www.freecodecamp.com/field-guide/how-do-i-get-help-when-I-get-stuck) if you get stuck. Try to pair program. Write your own code.
-
-# Useful Links
-
-* [Object.hasOwnProperty()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
-* [Object.getOwnPropertyNames()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames)
-
-# Problem Script:
-```
-function every(collection, pre) {
- // Does everyone have one of these?
- return pre;
-}
-
-every([{'user': 'Tinky-Winky', 'sex': 'male'}, {'user': 'Dipsy', 'sex': 'male'}, {'user': 'Laa-Laa', 'sex': 'female'}, {'user': 'Po', 'sex': 'female'}], 'sex');
-
-```
-## Explanation:
-
-The program needs to check if the second argument is a truthy element, and it must check this for each object in the first argument.
-
->In JavaScript, a truthy value is a value that translates to true when evaluated in a Boolean context. All values are truthy unless they are defined as falsy (i.e., except for false, 0, "", null, undefined, and NaN).
-
-## Hint: 1
-Remember to iterate through the first argument to check each object.
-
-## Hint: 2
-Only if all of them are truth will we return true, so make sure all of them check.
-
-## Hint: 3
-You could use loops or callbacks functions, there are multiple ways to solve this problem.
-
-## My Code:
-```
-function every(collection, pre) {
- var counter = 0;
- for (var c in collection) {
- if (collection[c].hasOwnProperty(pre) || collection[c][pre] == pre){ counter++;}
- }
- if (counter == collection.length) {
- return true;
- } else
- return false;
-}
-
-every([{'user': 'Tinky-Winky', 'sex': 'male'}, {'user': 'Dipsy', 'sex': 'male'}, {'user': 'Laa-Laa',
-'sex': 'female'}, {'user': 'Po', 'sex': 'female'}], 'sex');
-```
-## My Code Explanation:
-
-* First I create a counter to check how many cases are actually true.
-* Then check for each object if it it has the same property or the same property value. If true then add one to the counter.
-* Outside the loop, I check to see if the counter variable has the same value as the length of **collection**, if true then return **true**, otherwise, return **false**
View
1 data/wiki/bonfire-find-the-longest-word-in-a-string.md
@@ -1 +0,0 @@
-wiki coming soon!
View
67 data/wiki/bonfire-finders-keepers.md
@@ -1,67 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128) submitted by Rafase282 | https://github.com/Rafase282
-
-* FreeCodeCamp Profile: http://www.freecodecamp.com/rafase282
-* CodePed Profile: http://codepen.io/Rafase282/
-* LinkedIn: https://www.linkedin.com/in/rafase282
-
-# [My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-# Details
-
-* Difficulty: 2/5
-
-Create a function that looks through an array (first argument) and returns the first element in the array that passes a truth test (second argument).
-
-Remember to use [RSAP](http://www.freecodecamp.com/field-guide/how-do-i-get-help-when-I-get-stuck) if you get stuck. Try to pair program. Write your own code.
-
-# Useful Links
-
-* [Array.some()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)
-
-# Problem Script:
-
-```
-function find(arr, func) {
- var num = 0;
- return num;
-}
-
-find([1, 2, 3, 4], function(num){ return num % 2 === 0; });
-```
-
-## Explanation:
-
-The problem is quite simple to understand. You will check for each element in the array that is passed in the first argument, if the element plugged in to the function passed as the second argument returns true the first time. We do not care about the second or third one that is true, only the very first one if any. If there are none, then return undefined. This last bit is not explained but it is part of the tests used.
-
-## Hint: 1
-You can use the function directly from the parameter, no need to rename it or anything.
-
-## Hint: 2
-You need to pass an element and record it if the function returns true, for this you just have to pass the element as the parameter for the function.
-
-## Hint: 3
-If no element satisfy the function then you must return **undefined**
-
-## My code:
-
-```
-function find(arr, func) {
- var num;
- for (var a in arr) {
- if (func(arr[a])){
- num = arr[a];
- return num;
- }
- }
- return num;
-}
-```
-
-## My Code Explanation:
-
-* To make the code easier, create an undefined variable that will be returned.
-* Loop through the array to check for each element if it satisfy the function. This is done by passing the arr[index of the loop] as the parameter for the function from the second argument.
-* If true, then store the array element, and return it. This will stop the loop. No else needed.
-* If the loop was not broken and it has ended, then return **num** which by default is undefined. This means that none of the elements from the array satisfied the function.
View
104 data/wiki/bonfire-make-a-person.md
@@ -1,104 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128)
-submitted by Rafase282
-
-[Github](https://github.com/Rafase282) |
-[FreeCodeCamp](http://www.freecodecamp.com/rafase282) |
-[CodePen](http://codepen.io/Rafase282/) |
-[LinkedIn](https://www.linkedin.com/in/rafase282) |
-[My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-## Details
-
-* Difficulty: 3/5
-
-Fill in the object constructor with the methods specified in the tests.
-
-Those methods are:
-
-* getFirstName()
-* getLastName()
-* getFullName()
-* setFirstName(first)
-* setLastName(last)
-* setFullName(firstAndLast)
-
-All functions that take an argument have an arity of 1, and the argument will be a string.
-
-These methods must be the only available means for interacting with the object.
-
-## Useful Links
-
-* [Closures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures)
-* [Details of the Object Model](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model)
-
-
-## Problem Script:
-
-```
-var Person = function(firstAndLast) {
- return firstAndLast;
-};
-
-var bob = new Person('Bob Ross');
-bob.getFullName();
-```
-
-## Explanation:
-
-When I started the program I figured I just had to create the six functions mentioned in the details. However, it was not as simple. Creating them as a function was not the right way, I had to create them in a different way to make them a key.
-
-There is also a tricky part as you need six keys no more or less, so at first I had the variable that store the original name as a key too which was wrong.
-
-As for the usage of array, that is optional, you could also create new variable to hold the separated string if you wish but an array is easier to deal with as strings are immutable.
-
-Read the instructions carefully, it is always a good hint on itself to run the code and check what the test results were so you know what to expect but do not fixate yourself on that. Once you understand what you need to do, this problem is very easy and straightforward.
-
-## Hint: 1
-
-Use the **this** notation to create the keys instead of regular functions: This means instead of ```var varName = function() {/*...*/}``` you should use ``` this.varName = function() {/*...*/}```
-
-## Hint: 2
-
-The program has a test that checks for how many keys you used, they have to be exactly six, the six mentioned in the details section. This means if you need to work with variables, make them local and not a key: ```this.fullName = firstAndLast;```
-
-## Hint: 3
-Often the code would not work the way you expect it due to wrong variable names, make sure to check that you spell them the right way. This happens to all of us at some point.
-
-## My code
-
-Please try hard before you check this solution.
-
-```
-var Person = function(firstAndLast) {
-
- var fullName = firstAndLast;
- var arr = fullName.split(' ');
-
- this.getFirstName = function() {
- return arr[0];
- };
- this.getLastName = function() {
- return arr[1];
- };
- this.getFullName = function() {
- return fullName;
- };
- this.setFirstName = function(first) {
- arr[0] = first;
- };
- this.setLastName = function(last) {
- arr[1] = last;
- };
- this.setFullName = function(firstAndLast) {
- fullName = firstAndLast;
- };
-};
-```
-## My Code Explanation:
-
-* Create a variable that will make a copy of the full name that was passed as a parameter.
-* Create another variable that will split that full name into first and last name array.
-* Then we can proceed to create the six keys needed and return what is needed.
-* For the setters, we can use the arr array and the right index to change the value to what was passed as a parameter.
View
92 data/wiki/bonfire-map-the-debris.md
@@ -1,92 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128) submitted by Rafase282 | https://github.com/Rafase282
-
-* FreeCodeCamp Profile: http://www.freecodecamp.com/rafase282
-* CodePed Profile: http://codepen.io/Rafase282/
-* LinkedIn: https://www.linkedin.com/in/rafase282
-
-## [My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-# Details
-
-* Difficulty: 3/5
-
-Return a new array that transforms the element's average altitude into their orbital periods.
-
-The array will contain objects in the format {name: 'name', avgAlt: avgAlt}.
-
-You can read about orbital periods on wikipedia.
-
-The values should be rounded to the nearest whole number. The body being orbited is Earth.
-
-The radius of the earth is 6367.4447 kilometers, and the GM value of earth is 398600.4418
-
-Remember to use [RSAP](http://www.freecodecamp.com/field-guide/how-do-i-get-help-when-I-get-stuck) if you get stuck. Try to pair program. Write your own code.
-
-
-# Useful Links
-
-* [Math.pow()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow)
-* [orbital periods](http://en.wikipedia.org/wiki/Orbital_period)
-
-## Problem Script:
-
-```
-function orbitalPeriod(arr) {
- var GM = 398600.4418;
- var earthRadius = 6367.4447;
- return arr;
-}
-
-orbitalPeriod([{name : "sputkin", avgAlt : 35873.5553}]);
-```
-
-## Explanation:
-
-The first thing to do is to get familiar with what the program is for, for this I would suggest you check the Wikipedia link as that is very important and from where you can also get the formula for the conversion. The hardest part are finding the formula, implementing it and for some modifying objects by the key. However, something that is not very clear is the fact that your program has to be able to check for any number od objects in the array which is what is tested on the second part.
-
-## Hint: 1
-
-The formula needed is: T = 2*pi * sqrt(earthRadius + avgAlt to the cube / GM)
-
-## Hint: 2
-Use Math.round() to round up to the next whole number as requested. Using Math.ceil() will let you pass the first test but fail the second one.
-
-## Hint: 3
-Find out how to remove and add key to an object
-
-## My code
-
-```
-function orbitalPeriod(arr) {
- var GM = 398600.4418;
- var earthRadius = 6367.4447;
- var a = 2 * Math.PI;
- var newArr = [];
- var getOrbPeriod = function (obj) {
- var c = Math.pow(earthRadius + obj.avgAlt ,3);
- var b = Math.sqrt(c/GM);
- var orbPeriod = Math.round(a * b);
- delete obj.avgAlt;
- obj.orbitalPeriod = orbPeriod;
- return obj;
- };
-
- for (var elem in arr){
- newArr.push(getOrbPeriod(arr[elem]));
- }
- return newArr;
-}
-```
-## Code Explanation:
-
-* The GM and earthRadius is given to us.
-* To make the code easier to edit and read, I separated each part of the equation.
-* Create a new array to store the orbPeriods.
-* a is 2 times pi. The part that is a constant is on the global scope while the rest is part of a function.
-* Create a function that will do the required work for any amount of objects.
-* c is the power of earthRadius + the value of avgAlt to the cube.
-* b is the square root of c divided by GM.
-* Create orbPeriod to store the product of a & b, with the ceiling function applied to round up to the next whole number.
-* Then we delete the key avgAlt, and add the new key and its value.
View
37 data/wiki/bonfire-mutations.md
@@ -1,37 +0,0 @@
-# Problem Explanation:
-- Return true if the string in the first element of the array contains all of the letters of the string in the second element of the array..
-
-## Hint: 1
-- If everything is lowercase it will be easier to compare.
-
-## Hint: 2
-- Our strings might be easier to work with if they were arrays of characters.
-
-## Hint: 3
-- A loop might help.
-
-## Spoiler Alert!
-[![687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif](https://files.gitter.im/FreeCodeCamp/Wiki/nlOm/thumb/687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif)](https://files.gitter.im/FreeCodeCamp/Wiki/nlOm/687474703a2f2f7777772e796f75726472756d2e636f6d2f796f75726472756d2f696d616765732f323030372f31302f31302f7265645f7761726e696e675f7369676e5f322e676966.gif)
-
-**Solution ahead!**
-
-## Solution Code:
-
-```
-function mutation(arr) {
- var test = arr[1].toLowerCase();
- var target = arr[0].toLowerCase();
- test = test.split('');
- target = target.split('');
- for (i=0;i<test.length;i++) {
- if (target.indexOf(test[i]) < 0)
- return false;
- }
- return true;
- }
-```
-
-## Code Explanation:
-- First, we make the to strings in the array lowercase.
-- Second, we split the individual strings in to 2 separate arrays of characters. test variable holds what we are looking for. target variable is where we are looking.
-- Third, we loop through our test characters, and if they are not _all_ found we return false.
View
83 data/wiki/bonfire-pairwise.md
@@ -1,83 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128) submitted by Rafase282 | https://github.com/Rafase282
-
-* FreeCodeCamp Profile: http://www.freecodecamp.com/rafase282
-* CodePed Profile: http://codepen.io/Rafase282/
-* LinkedIn: https://www.linkedin.com/in/rafase282
-
-# [My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-# Details
-
-* Difficulty: 3/5
-
-Return the sum of all indices of elements of 'arr' that can be paired with one other element to form a sum that equals the value in the second argument 'arg'. If multiple sums are possible, return the smallest sum. Once an element has been used, it cannot be reused to pair with another.
-
-For example, pairwise([1, 4, 2, 3, 0, 5], 7) should return 11 because 4, 2, 3 and 5 can be paired with each other to equal 7.
-
-pairwise([1, 3, 2, 4], 4) would only equal 1, because only the first two elements can be paired to equal 4, and the first element has an index of 0!
-
-Remember to use [RSAP](http://www.freecodecamp.com/field-guide/how-do-i-get-help-when-I-get-stuck) if you get stuck. Try to pair program. Write your own code.
-
-# Useful Links
-
-* [Array.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)
-
-# Problem Script:
-
-```
-function pairwise(arr, arg) {
- return arg;
-}
-
-pairwise([1,4,2,3,0,5], 7);
-```
-
-## Explanation:
-
-The program should look for the numbers in the array which would add to make the number from the **arg.** Then instead of adding those numbers up, you will add their **indices** which is the reason why you get 11 on the example from detail.
-
-Remember that arrays start at index 0 and go from there so from [1,4,2,3,0,5] if we switch to their indices it would be [0,1,2,3,4,5] then we add indices 1 + 2 + 3 + 5 and we get 11. That is what we need to return.
-
-## Hint: 1
-
-Remember to return the smaller sum if multiple are possible. This mean ```[1,1,1],1 should use 0 + 1 instead of 0+1 & 1 +1 , etc```
-
-## Hint: 2
-Try using an array of indices to track when an index has been used or not.
-
-## Hint: 3
-It is easy to confuse indices as being numbers, but since you will be interacting with them, make sure to work with them as integers to prevent the code from behaving erratically.
-
-# My code
-
-```
-function pairwise(arr, arg) {
- var index = [];
- for (var a in arr){
- var temp = arr[a];
- for (var i=1; i < arr.length; i++) {
- var temp2 = arr[i];
- if (temp + temp2 === arg && i > a && index.indexOf(+a) === -1 && index.indexOf(+i) === -1){
- index.push (+a,+i);
- }
- }
- }
- if (index.length >= 1) {
- return index.reduce(function(a, b){
- return a + b;
- });
- } else {
- return 0;
- }
-}
-```
-# Code Explained
-
-* First I create an empty array to store the indices that i will be adding.
-* Then I create an outer loop to get the first number.
-* Then get the second number from another inner loop.
-* Then I check to make sure that the two numbers add to arg that was passed as a parameter to the function; we also have to make sure the index from the second loop is grater than the one from the first loop to avoid adding wrong indices. We also have to check to make sure the indices are not already part of the **index** array.
-* If all that is true, then we add the two indices as integer by using '+' or parseInt(), and then we stop the inner loop since everything else would be redundant and wrong.
-* After all the loops are over, check in **index** is empty, if it is then return 0, otherwise return the addition of all the integers in it using Array.reduce(callbackFunc) to return the sum of the numbers.
View
1 data/wiki/bonfire-repeat-a-string-repeat-a-string.md
@@ -1 +0,0 @@
-wiki coming soon!
View
1 data/wiki/bonfire-return-largest-numbers-in-arrays.md
@@ -1 +0,0 @@
-wiki coming soon!
View
4 data/wiki/bonfire-roman-numeral-converter.md
@@ -1,4 +0,0 @@
-placeholder
-
-## hint one
-another hint
View
63 data/wiki/bonfire-slasher-flick.md
@@ -1,63 +0,0 @@
-You should make sure to try hard to solve the Bonfire yourself before reading this!
-# :link: [Original Bonfire](http://www.freecodecamp.com/challenges/bonfire-slasher-flick) :point_right:
-
-## Author
-
-![Andre](https://avatars2.githubusercontent.com/u/2698441?v=3&amp;s=460) submitted by [Andre - Clint Tecnologia](//freecodecamp.com/clint74) | https://github.com/clint74
-
-## The problem
-Return the remaining elements of an array after chopping off n elements from the head.
-Factorials are often represented with the shorthand notation n!
-
-For example: `slasher([1, 2, 3], 2);` must return [3]
-
-## Analysis
-Since we need only the remaining part of an array we can just remove what we don't.
-
-## Understanding slicing
-Slice allows to get only what you want from an array.
-
-## Understanding the splice
-If you want the **tail** of a snake remove the head first.
-The splice() method changes the content of an array by removing existing elements and/or adding new elements.
-This can be handy. Get an array, remove the first part and return the remaining.
-
-## :construction: My Solution is coming up!
-Don't scroll down if you don't want to see it!
-
-![warning](http://www.yourdrum.com/yourdrum/images/2007/10/10/red_warning_sign_2.gif)
-
-```
- ,,, ,,,
- ;" ^; ;' ",
- ; s$$$$$$$s ;
- , ss$$$$$$$$$$s ,'
- ;s$$$$$$$$$$$$$$$
- $$$$$$$$$$$$$$$$$$
- $$$$P""Y$$$Y""W$$$$$ -{ Happy Camping! }
- $$$$ p"$$$"q $$$$$
- $$$$ .$$$$$. $$$$
- $$DcaU$$$$$$$$$$
- "Y$$$"*"$$$Y"
- "$b.$$"
-```
-
-## My solution
-``` javascript
-function slasher(arr, howMany) {
- // remove the head
- arr.splice(0,howMany);
- //return the remaining or the tail \__/(**)-<
- return arr;
-}
-slasher([1, 2, 3], 2);
-```
-
-
-
-## References
-- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
-
-## If you enjoyed this guide, then type:
-`thanks @clint74`
-in the chat!
View
21 data/wiki/bonfire-smallest-common-multiple.md
@@ -1,21 +0,0 @@
-placeholder intro to the bonfire
-
-## hint
-Here freeze a multiple candidate starting from the biggest array value - call it J
-`for (var j = max; j <= 1000000; j++){...}`
-
-## hint
-Now you have to test your candidate
-`//I increase the denominator from min to max
- for (var k = arr[0]; k <= arr[1]; k++) {
-
- if (j % k === 0) { // every time the modulus is 0 increase a counting
- count++; // variable
- }`
-
-## final hint
-When your candidate is a multiple???
-`if (count === numbers.length) {
- multiple.push(j);
- }
-`
View
71 data/wiki/bonfire-steamroller.md
@@ -1,71 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128) submitted by Rafase282 | https://github.com/Rafase282
-
-* FreeCodeCamp Profile: http://www.freecodecamp.com/rafase282
-* CodePed Profile: http://codepen.io/Rafase282/
-* LinkedIn: https://www.linkedin.com/in/rafase282
-
-# [My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-# Details
-
-* Difficulty: 2/5
-
-Flatten a nested array. You must account for varying levels of nesting.
-
-Remember to use [RSAP](http://www.freecodecamp.com/field-guide/how-do-i-get-help-when-I-get-stuck) if you get stuck. Try to pair program. Write your own code.
-
-# Useful Links
-
-* [Array.isArray()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)
-
-# Problem Script:
-
-```
-function steamroller(arr) {
- // I'm a steamroller, baby
- return arr;
-}
-
-steamroller([1, [2], [3, [[4]]]]);
-```
-
-## Explanation:
-
-This problem seems simple but you need to make sure to flatten any array, regardless of the level which is what adds a bit of difficulty to the problem.
-
-## Hint: 1
-You need to check if an element is an array or not.
-
-## Hint: 2
-If you are dealing with an array, then you need flatten it by getting the value inside of the array. This means if you have [[4]] then instead of returning [4] you need to return 4. If you get [[[4]]] then the same, you want the 4. You can access it with arr[index1][index2] to go a level deeper.
-
-## Hint: 3
-You will definitely need recursion or another way to go beyond two level arrays to make the code flexible and not hard-coded to the answers needed. Have fun!
-
-## My code:
-
-```
-function steamroller(arr) {
- var flattenedArray = [];
- var flatten = function (arg) {
- if (!Array.isArray(arg)){
- flattenedArray.push(arg);
- } else {
- for (var a in arg) {
- flatten(arg[a]);
- }
- }
- };
- arr.forEach(flatten);
- return flattenedArray;
-}
-```
-## My Code Explanation:
-
-* Create a new variable to keep flattened arrays.
-* Create a function that will add non array elements to the new variable, and for the ones that are array it loops through them to get the element.
-* It does that by using recursion, if the element is an array then call the function again with a layer of array deeper to check if it is an array or not. if it is not then push that non-array element to the variable that gets returned. Otherwise, keep going deeper.
-* Use Array.forEach(callbackFunc) to go element by element of the original array.
-* Return the flattened array.
View
1 data/wiki/bonfire-sum-all-odd-fibonacci-numbers.md
@@ -1 +0,0 @@
-Think about how Fibonacci numbers are defined, and how you would redefine them on each iteration. There are many ways to do this, including using a temp variable and console.log statements to ensure you're on the right track.
View
82 data/wiki/bonfire-sum-all-primes.md
@@ -1,82 +0,0 @@
-# Author
-
-![@Rafase282](https://avatars0.githubusercontent.com/Rafase282?&s=128) submitted by Rafase282 | https://github.com/Rafase282
-
-* FreeCodeCamp Profile: http://www.freecodecamp.com/rafase282
-* CodePed Profile: http://codepen.io/Rafase282/
-* LinkedIn: https://www.linkedin.com/in/rafase282
-
-# [My Original Wiki](http://rafase282.github.io/My-FreeCodeCamp-Code/)
-
-# Details
-
-* Difficulty: 2/5
-
-Sum all the prime numbers up to and including the provided number.
-
-A prime number is defined as having only two divisors, 1 and itself. For example, 2 is a prime number because it's only divisible by 1 and 2. 1 isn't a prime number, because it's only divisible by itself.
-
-The provided number may not be a prime.
-
-Remember to use [RSAP](http://www.freecodecamp.com/field-guide/how-do-i-get-help-when-I-get-stuck) if you get stuck. Try to pair program. Write your own code.
-
-# Useful Links
-
-* [For Loops](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for)
-* [Array.push()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push)
-
-# Problem Script:
-```
-function sumPrimes(num) {
- return num;
-}
-
-sumPrimes(10);
-```
-
-## Explanation:
-
-The explanation for this problem is very simple. You will generate a list of prime numbers up to the number you are given as a parameter. Then you need to add them all up and return that value. The tricky part is on generating the list of prime numbers. I suggest you find a code or a good math algorithm that you can turn into code.
-
-## Hint: 1
-Generate a list of all the numbers up to and including the one you got as a parameter. This will be needed to determine which numbers are prime or not.
-
-## Hint: 2
-Check this [link](http://stackoverflow.com/questions/11966520/how-to-find-prime-numbers-between-0-100) if you prefer to find a solution for finding primes, or try learning and implementing your own [Sieve of Eratosthenes](https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes)
-
-## Hint: 3
-This problem is hard if you have to create your own code to check for primes, so don't feel bad if you had to use someone's code for that bit. Either way, you are most likely using array, so once you generate an array of primes, then just add them all up and return the number you get.
-
-## My code:
-
-```
-function sumPrimes(num) {
- var res = 0;
- function getPrimes(max) {
- var sieve = [], i, j, primes = [];
- for (i = 2; i <= max; ++i) {
- if (!sieve[i]) {
- primes.push(i);
- for (j = i << 1; j <= max; j += i) {
- sieve[j] = true;
- }
- }
- }
- return primes;
- }
- var primes = getPrimes(num);
- for (var p in primes) {
- res+= primes[p];
- }
-return res;
-}
-```
-
-## My Code Explanation:
-
-* Create a function that generates the numbers from 1 to **num** and check if they are prime along the way.
-* Declare the variables that will be needed.
-* Start with 2, if it has not been marked and added to the sieve array then it is a prime and we add it to the prime array.
-* Add the others to the sieve array.
-* Return the primes
-* Loop through the returned array and add all the elements to then return the final value.
View
1 data/wiki/bonfire-title-case-a-sentence.md
@@ -1 +0,0 @@
-wiki coming soon
View
42 data/wiki/bonfire-truncate-a-string.md
@@ -1,42 +0,0 @@
-# Instructions
-
-Truncate a string (first argument) if it is longer than the given maximum string length (second argument). Return the truncated string with a '...' ending.
-
-Note that the three dots at the end add to the string length.
-
-# Tests final code needs to pass
-
-1. expect(truncate('A-tisket a-tasket A green and yellow basket', 11)).to.eqls('A-tisket...');
-2. expect(truncate('Peter Piper picked a peck of pickled peppers', 14)).to.eqls('Peter Piper...');
-3. assert(truncate('A-tisket a-tasket A green and yellow basket', 'A-tisket a-tasket A green and yellow basket'.length) === 'A-tisket a-tasket A green and yellow basket', 'should not truncate if string is = length');
-4. assert.strictEqual(truncate('A-tisket a-tasket A green and yellow basket', 'A-tisket a-tasket A green and yellow basket'.length + 2), 'A-tisket a-tasket A green and yellow basket', 'should not truncate if string is < length');
-
-## Hint
-
-Truncate the string to a length equal to the second parameter passed to the function. Remember the added ... is included in the final string length.
-
-## My final code
-
- function truncate(str, num) {
- // Clear out that junk in your trunk
- if (str.length > num) {
- str = str.slice(0, num-3) + '...';
- }
- return str;
- }
-
- truncate('A-tisket a-tasket A green and yellow basket', 11);
-
-## Explanation
-
-First we need a conditional if statement to test if the length of the full string passed in as the first argument is greater than the maximum passed in as the second argument.
-
- if (str.length > num)
-
-Then we need to slice the full string at the length required (second argument). The trick is to minus the length of the ... that needs to be added to get the final truncated string.
-
- str = str.slice(0, num-3)
-
-Finally, just add the ... to the end of the sliced substring ready to be returned
-
- str = str.slice(0, num-3) + '...';
View
39 data/wiki/boolean.md
@@ -1,39 +0,0 @@
-The value passed as the first parameter is converted to a boolean value, if necessary. If value is omitted or is 0, -0, null, false, NaN, undefined, or the empty string (""), the object has an initial value of false. All other values, including any object or the string "false", create an object with an initial value of true.
-
-Do not confuse the primitive Boolean values true and false with the true and false values of the Boolean object.
-
-## More Details
-
-Any object whose value is not undefined or null, including a Boolean object whose value is false, evaluates to true when passed to a conditional statement. For example, the condition in the following if statement evaluates to true:
-
-```
-var x = new Boolean(false);
-if (x) {
- // this code is executed
-}
-```
-This behavior does not apply to Boolean primitives. For example, the condition in the following if statement evaluates to false:
-
-```
-var x = false;
-if (x) {
- // this code is not executed
-}
-```
-Do not use a Boolean object to convert a non-boolean value to a boolean value. Instead, use Boolean as a function to perform this task:
-
-```
-var x = Boolean(expression); // preferred
-var x = new Boolean(expression); // don't use
-```
-If you specify any object, including a Boolean object whose value is false, as the initial value of a Boolean object, the new Boolean object has a value of true.
-
-```
-var myFalse = new Boolean(false); // initial value of false
-var g = new Boolean(myFalse); // initial value of true
-var myString = new String('Hello'); // string object
-var s = new Boolean(myString); // initial value of true
-```
-Do not use a Boolean object in place of a Boolean primitive.
-
-[Orininal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
View
5 data/wiki/bootstrap.md
@@ -1,5 +0,0 @@
-A frontend [CSS](https://github.com/bothelpers/kbase/wiki/css) framework.
-
-You can find out more [here](http://getbootstrap.com/)
-
-> related: css, frameworks
View
20 data/wiki/bot-announce.md
@@ -1,20 +0,0 @@
-## Announcing CamperBot!
-
-CamperBot is our new AI friend who's going to make the FCC chatrooms more fun.
-He can get info from the wiki, share bonfire hints, and help you get brownie points for helping people!
-
-https://twitter.com/FreeCodeCamp/status/627338604134559744
-
-
-### beta testing
-Currently in beta test in the #HelpBonfires channel. Try it out here:
-https://gitter.im/FreeCodeCamp/HelpBonfires
-
-
-### read about what CamperBot features
-https://github.com/FreeCodeCamp/freecodecamp/wiki/camperbot
-
-
-### talk to the Dev Team
-https://gitter.im/dcsan/gitterbot
-

0 comments on commit be36b84

Please sign in to comment.
Something went wrong with that request. Please try again.