diff --git a/index.js b/index.js index 28fdeeb7..f90ba2ed 100644 --- a/index.js +++ b/index.js @@ -11,7 +11,7 @@ jsing.addAll(require('./menu.json').map(function (name) { return { name, fn: function () { - var p = name.toLowerCase().replace(/\s/g, '-') + var p = name.toLowerCase().replace(/\s/g, '_') var dir = require('path').join(__dirname, 'problems', p) return problem(dir) } diff --git a/lib/problem.js b/lib/problem.js index dc011192..6acb03f9 100644 --- a/lib/problem.js +++ b/lib/problem.js @@ -17,7 +17,7 @@ module.exports = function createProblem (dirname) { var postfix = workshopper.i18n.lang() === 'en' ? '' : '_' + workshopper.i18n.lang() this.problem = { file: path.join(dirname, 'problem' + postfix + '.md') } this.solution = { file: path.join(dirname, 'solution' + postfix + '.md') } - this.solutionPath = path.resolve(__dirname, '..', 'solutions', problemName, 'index.js') + this.solutionPath = path.resolve(__dirname, '..', 'test', problemName, 'valid.js') this.troubleshootingPath = path.join(__dirname, '..', 'i18n', 'troubleshooting' + postfix + '.md') } diff --git a/problems/accessing-array-values/problem.md b/problems/accessing_array_values/problem.md similarity index 100% rename from problems/accessing-array-values/problem.md rename to problems/accessing_array_values/problem.md diff --git a/problems/accessing-array-values/problem_es.md b/problems/accessing_array_values/problem_es.md similarity index 100% rename from problems/accessing-array-values/problem_es.md rename to problems/accessing_array_values/problem_es.md diff --git a/problems/accessing-array-values/problem_fr.md b/problems/accessing_array_values/problem_fr.md similarity index 100% rename from problems/accessing-array-values/problem_fr.md rename to problems/accessing_array_values/problem_fr.md diff --git a/problems/accessing-array-values/problem_it.md b/problems/accessing_array_values/problem_it.md similarity index 100% rename from problems/accessing-array-values/problem_it.md rename to problems/accessing_array_values/problem_it.md diff --git a/problems/accessing-array-values/problem_ja.md b/problems/accessing_array_values/problem_ja.md similarity index 100% rename from problems/accessing-array-values/problem_ja.md rename to problems/accessing_array_values/problem_ja.md diff --git a/problems/accessing-array-values/problem_ko.md b/problems/accessing_array_values/problem_ko.md similarity index 100% rename from problems/accessing-array-values/problem_ko.md rename to problems/accessing_array_values/problem_ko.md diff --git a/problems/accessing-array-values/problem_nb-no.md b/problems/accessing_array_values/problem_nb-no.md similarity index 100% rename from problems/accessing-array-values/problem_nb-no.md rename to problems/accessing_array_values/problem_nb-no.md diff --git a/problems/accessing-array-values/problem_pt-br.md b/problems/accessing_array_values/problem_pt-br.md similarity index 100% rename from problems/accessing-array-values/problem_pt-br.md rename to problems/accessing_array_values/problem_pt-br.md diff --git a/problems/accessing-array-values/problem_ru.md b/problems/accessing_array_values/problem_ru.md similarity index 100% rename from problems/accessing-array-values/problem_ru.md rename to problems/accessing_array_values/problem_ru.md diff --git a/problems/accessing-array-values/problem_uk.md b/problems/accessing_array_values/problem_uk.md similarity index 100% rename from problems/accessing-array-values/problem_uk.md rename to problems/accessing_array_values/problem_uk.md diff --git a/problems/accessing-array-values/problem_zh-cn.md b/problems/accessing_array_values/problem_zh-cn.md similarity index 100% rename from problems/accessing-array-values/problem_zh-cn.md rename to problems/accessing_array_values/problem_zh-cn.md diff --git a/problems/accessing-array-values/problem_zh-tw.md b/problems/accessing_array_values/problem_zh-tw.md similarity index 100% rename from problems/accessing-array-values/problem_zh-tw.md rename to problems/accessing_array_values/problem_zh-tw.md diff --git a/problems/accessing-array-values/solution.md b/problems/accessing_array_values/solution.md similarity index 100% rename from problems/accessing-array-values/solution.md rename to problems/accessing_array_values/solution.md diff --git a/problems/accessing-array-values/solution_es.md b/problems/accessing_array_values/solution_es.md similarity index 100% rename from problems/accessing-array-values/solution_es.md rename to problems/accessing_array_values/solution_es.md diff --git a/problems/accessing-array-values/solution_fr.md b/problems/accessing_array_values/solution_fr.md similarity index 100% rename from problems/accessing-array-values/solution_fr.md rename to problems/accessing_array_values/solution_fr.md diff --git a/problems/accessing-array-values/solution_it.md b/problems/accessing_array_values/solution_it.md similarity index 100% rename from problems/accessing-array-values/solution_it.md rename to problems/accessing_array_values/solution_it.md diff --git a/problems/accessing-array-values/solution_ja.md b/problems/accessing_array_values/solution_ja.md similarity index 100% rename from problems/accessing-array-values/solution_ja.md rename to problems/accessing_array_values/solution_ja.md diff --git a/problems/accessing-array-values/solution_ko.md b/problems/accessing_array_values/solution_ko.md similarity index 100% rename from problems/accessing-array-values/solution_ko.md rename to problems/accessing_array_values/solution_ko.md diff --git a/problems/accessing-array-values/solution_nb-no.md b/problems/accessing_array_values/solution_nb-no.md similarity index 100% rename from problems/accessing-array-values/solution_nb-no.md rename to problems/accessing_array_values/solution_nb-no.md diff --git a/problems/accessing-array-values/solution_pt-br.md b/problems/accessing_array_values/solution_pt-br.md similarity index 100% rename from problems/accessing-array-values/solution_pt-br.md rename to problems/accessing_array_values/solution_pt-br.md diff --git a/problems/accessing-array-values/solution_ru.md b/problems/accessing_array_values/solution_ru.md similarity index 100% rename from problems/accessing-array-values/solution_ru.md rename to problems/accessing_array_values/solution_ru.md diff --git a/problems/accessing-array-values/solution_uk.md b/problems/accessing_array_values/solution_uk.md similarity index 100% rename from problems/accessing-array-values/solution_uk.md rename to problems/accessing_array_values/solution_uk.md diff --git a/problems/accessing-array-values/solution_zh-cn.md b/problems/accessing_array_values/solution_zh-cn.md similarity index 100% rename from problems/accessing-array-values/solution_zh-cn.md rename to problems/accessing_array_values/solution_zh-cn.md diff --git a/problems/accessing-array-values/solution_zh-tw.md b/problems/accessing_array_values/solution_zh-tw.md similarity index 100% rename from problems/accessing-array-values/solution_zh-tw.md rename to problems/accessing_array_values/solution_zh-tw.md diff --git a/problems/array-filtering/problem.md b/problems/array_filtering/problem.md similarity index 100% rename from problems/array-filtering/problem.md rename to problems/array_filtering/problem.md diff --git a/problems/array-filtering/problem_es.md b/problems/array_filtering/problem_es.md similarity index 100% rename from problems/array-filtering/problem_es.md rename to problems/array_filtering/problem_es.md diff --git a/problems/array-filtering/problem_fr.md b/problems/array_filtering/problem_fr.md similarity index 100% rename from problems/array-filtering/problem_fr.md rename to problems/array_filtering/problem_fr.md diff --git a/problems/array-filtering/problem_it.md b/problems/array_filtering/problem_it.md similarity index 100% rename from problems/array-filtering/problem_it.md rename to problems/array_filtering/problem_it.md diff --git a/problems/array-filtering/problem_ja.md b/problems/array_filtering/problem_ja.md similarity index 100% rename from problems/array-filtering/problem_ja.md rename to problems/array_filtering/problem_ja.md diff --git a/problems/array-filtering/problem_ko.md b/problems/array_filtering/problem_ko.md similarity index 100% rename from problems/array-filtering/problem_ko.md rename to problems/array_filtering/problem_ko.md diff --git a/problems/array-filtering/problem_nb-no.md b/problems/array_filtering/problem_nb-no.md similarity index 100% rename from problems/array-filtering/problem_nb-no.md rename to problems/array_filtering/problem_nb-no.md diff --git a/problems/array-filtering/problem_pt-br.md b/problems/array_filtering/problem_pt-br.md similarity index 100% rename from problems/array-filtering/problem_pt-br.md rename to problems/array_filtering/problem_pt-br.md diff --git a/problems/array-filtering/problem_ru.md b/problems/array_filtering/problem_ru.md similarity index 100% rename from problems/array-filtering/problem_ru.md rename to problems/array_filtering/problem_ru.md diff --git a/problems/array-filtering/problem_uk.md b/problems/array_filtering/problem_uk.md similarity index 100% rename from problems/array-filtering/problem_uk.md rename to problems/array_filtering/problem_uk.md diff --git a/problems/array-filtering/problem_zh-cn.md b/problems/array_filtering/problem_zh-cn.md similarity index 100% rename from problems/array-filtering/problem_zh-cn.md rename to problems/array_filtering/problem_zh-cn.md diff --git a/problems/array-filtering/problem_zh-tw.md b/problems/array_filtering/problem_zh-tw.md similarity index 100% rename from problems/array-filtering/problem_zh-tw.md rename to problems/array_filtering/problem_zh-tw.md diff --git a/problems/array-filtering/solution.md b/problems/array_filtering/solution.md similarity index 100% rename from problems/array-filtering/solution.md rename to problems/array_filtering/solution.md diff --git a/problems/array-filtering/solution_es.md b/problems/array_filtering/solution_es.md similarity index 100% rename from problems/array-filtering/solution_es.md rename to problems/array_filtering/solution_es.md diff --git a/problems/array-filtering/solution_fr.md b/problems/array_filtering/solution_fr.md similarity index 100% rename from problems/array-filtering/solution_fr.md rename to problems/array_filtering/solution_fr.md diff --git a/problems/array-filtering/solution_it.md b/problems/array_filtering/solution_it.md similarity index 100% rename from problems/array-filtering/solution_it.md rename to problems/array_filtering/solution_it.md diff --git a/problems/array-filtering/solution_ja.md b/problems/array_filtering/solution_ja.md similarity index 100% rename from problems/array-filtering/solution_ja.md rename to problems/array_filtering/solution_ja.md diff --git a/problems/array-filtering/solution_ko.md b/problems/array_filtering/solution_ko.md similarity index 100% rename from problems/array-filtering/solution_ko.md rename to problems/array_filtering/solution_ko.md diff --git a/problems/array-filtering/solution_nb-no.md b/problems/array_filtering/solution_nb-no.md similarity index 100% rename from problems/array-filtering/solution_nb-no.md rename to problems/array_filtering/solution_nb-no.md diff --git a/problems/array-filtering/solution_pt-br.md b/problems/array_filtering/solution_pt-br.md similarity index 100% rename from problems/array-filtering/solution_pt-br.md rename to problems/array_filtering/solution_pt-br.md diff --git a/problems/array-filtering/solution_ru.md b/problems/array_filtering/solution_ru.md similarity index 100% rename from problems/array-filtering/solution_ru.md rename to problems/array_filtering/solution_ru.md diff --git a/problems/array-filtering/solution_uk.md b/problems/array_filtering/solution_uk.md similarity index 100% rename from problems/array-filtering/solution_uk.md rename to problems/array_filtering/solution_uk.md diff --git a/problems/array-filtering/solution_zh-cn.md b/problems/array_filtering/solution_zh-cn.md similarity index 100% rename from problems/array-filtering/solution_zh-cn.md rename to problems/array_filtering/solution_zh-cn.md diff --git a/problems/array-filtering/solution_zh-tw.md b/problems/array_filtering/solution_zh-tw.md similarity index 100% rename from problems/array-filtering/solution_zh-tw.md rename to problems/array_filtering/solution_zh-tw.md diff --git a/problems/for-loop/problem.md b/problems/for_loop/problem.md similarity index 100% rename from problems/for-loop/problem.md rename to problems/for_loop/problem.md diff --git a/problems/for-loop/problem_es.md b/problems/for_loop/problem_es.md similarity index 100% rename from problems/for-loop/problem_es.md rename to problems/for_loop/problem_es.md diff --git a/problems/for-loop/problem_fr.md b/problems/for_loop/problem_fr.md similarity index 100% rename from problems/for-loop/problem_fr.md rename to problems/for_loop/problem_fr.md diff --git a/problems/for-loop/problem_it.md b/problems/for_loop/problem_it.md similarity index 100% rename from problems/for-loop/problem_it.md rename to problems/for_loop/problem_it.md diff --git a/problems/for-loop/problem_ja.md b/problems/for_loop/problem_ja.md similarity index 100% rename from problems/for-loop/problem_ja.md rename to problems/for_loop/problem_ja.md diff --git a/problems/for-loop/problem_ko.md b/problems/for_loop/problem_ko.md similarity index 100% rename from problems/for-loop/problem_ko.md rename to problems/for_loop/problem_ko.md diff --git a/problems/for-loop/problem_nb-no.md b/problems/for_loop/problem_nb-no.md similarity index 100% rename from problems/for-loop/problem_nb-no.md rename to problems/for_loop/problem_nb-no.md diff --git a/problems/for-loop/problem_pt-br.md b/problems/for_loop/problem_pt-br.md similarity index 100% rename from problems/for-loop/problem_pt-br.md rename to problems/for_loop/problem_pt-br.md diff --git a/problems/for-loop/problem_ru.md b/problems/for_loop/problem_ru.md similarity index 100% rename from problems/for-loop/problem_ru.md rename to problems/for_loop/problem_ru.md diff --git a/problems/for-loop/problem_uk.md b/problems/for_loop/problem_uk.md similarity index 100% rename from problems/for-loop/problem_uk.md rename to problems/for_loop/problem_uk.md diff --git a/problems/for-loop/problem_zh-cn.md b/problems/for_loop/problem_zh-cn.md similarity index 100% rename from problems/for-loop/problem_zh-cn.md rename to problems/for_loop/problem_zh-cn.md diff --git a/problems/for-loop/problem_zh-tw.md b/problems/for_loop/problem_zh-tw.md similarity index 100% rename from problems/for-loop/problem_zh-tw.md rename to problems/for_loop/problem_zh-tw.md diff --git a/problems/for-loop/solution.md b/problems/for_loop/solution.md similarity index 100% rename from problems/for-loop/solution.md rename to problems/for_loop/solution.md diff --git a/problems/for-loop/solution_es.md b/problems/for_loop/solution_es.md similarity index 100% rename from problems/for-loop/solution_es.md rename to problems/for_loop/solution_es.md diff --git a/problems/for-loop/solution_fr.md b/problems/for_loop/solution_fr.md similarity index 100% rename from problems/for-loop/solution_fr.md rename to problems/for_loop/solution_fr.md diff --git a/problems/for-loop/solution_it.md b/problems/for_loop/solution_it.md similarity index 100% rename from problems/for-loop/solution_it.md rename to problems/for_loop/solution_it.md diff --git a/problems/for-loop/solution_ja.md b/problems/for_loop/solution_ja.md similarity index 100% rename from problems/for-loop/solution_ja.md rename to problems/for_loop/solution_ja.md diff --git a/problems/for-loop/solution_ko.md b/problems/for_loop/solution_ko.md similarity index 100% rename from problems/for-loop/solution_ko.md rename to problems/for_loop/solution_ko.md diff --git a/problems/for-loop/solution_nb-no.md b/problems/for_loop/solution_nb-no.md similarity index 100% rename from problems/for-loop/solution_nb-no.md rename to problems/for_loop/solution_nb-no.md diff --git a/problems/for-loop/solution_pt-br.md b/problems/for_loop/solution_pt-br.md similarity index 100% rename from problems/for-loop/solution_pt-br.md rename to problems/for_loop/solution_pt-br.md diff --git a/problems/for-loop/solution_ru.md b/problems/for_loop/solution_ru.md similarity index 100% rename from problems/for-loop/solution_ru.md rename to problems/for_loop/solution_ru.md diff --git a/problems/for-loop/solution_uk.md b/problems/for_loop/solution_uk.md similarity index 100% rename from problems/for-loop/solution_uk.md rename to problems/for_loop/solution_uk.md diff --git a/problems/for-loop/solution_zh-cn.md b/problems/for_loop/solution_zh-cn.md similarity index 100% rename from problems/for-loop/solution_zh-cn.md rename to problems/for_loop/solution_zh-cn.md diff --git a/problems/for-loop/solution_zh-tw.md b/problems/for_loop/solution_zh-tw.md similarity index 100% rename from problems/for-loop/solution_zh-tw.md rename to problems/for_loop/solution_zh-tw.md diff --git a/problems/function-arguments/problem.md b/problems/function_arguments/problem.md similarity index 100% rename from problems/function-arguments/problem.md rename to problems/function_arguments/problem.md diff --git a/problems/function-arguments/problem_es.md b/problems/function_arguments/problem_es.md similarity index 100% rename from problems/function-arguments/problem_es.md rename to problems/function_arguments/problem_es.md diff --git a/problems/function-arguments/problem_fr.md b/problems/function_arguments/problem_fr.md similarity index 100% rename from problems/function-arguments/problem_fr.md rename to problems/function_arguments/problem_fr.md diff --git a/problems/function-arguments/problem_it.md b/problems/function_arguments/problem_it.md similarity index 100% rename from problems/function-arguments/problem_it.md rename to problems/function_arguments/problem_it.md diff --git a/problems/function-arguments/problem_ja.md b/problems/function_arguments/problem_ja.md similarity index 100% rename from problems/function-arguments/problem_ja.md rename to problems/function_arguments/problem_ja.md diff --git a/problems/function-arguments/problem_ko.md b/problems/function_arguments/problem_ko.md similarity index 100% rename from problems/function-arguments/problem_ko.md rename to problems/function_arguments/problem_ko.md diff --git a/problems/function-arguments/problem_nb-no.md b/problems/function_arguments/problem_nb-no.md similarity index 100% rename from problems/function-arguments/problem_nb-no.md rename to problems/function_arguments/problem_nb-no.md diff --git a/problems/function-arguments/problem_pt-br.md b/problems/function_arguments/problem_pt-br.md similarity index 100% rename from problems/function-arguments/problem_pt-br.md rename to problems/function_arguments/problem_pt-br.md diff --git a/problems/function-arguments/problem_ru.md b/problems/function_arguments/problem_ru.md similarity index 100% rename from problems/function-arguments/problem_ru.md rename to problems/function_arguments/problem_ru.md diff --git a/problems/function-arguments/problem_uk.md b/problems/function_arguments/problem_uk.md similarity index 100% rename from problems/function-arguments/problem_uk.md rename to problems/function_arguments/problem_uk.md diff --git a/problems/function-arguments/problem_zh-cn.md b/problems/function_arguments/problem_zh-cn.md similarity index 100% rename from problems/function-arguments/problem_zh-cn.md rename to problems/function_arguments/problem_zh-cn.md diff --git a/problems/function-arguments/problem_zh-tw.md b/problems/function_arguments/problem_zh-tw.md similarity index 100% rename from problems/function-arguments/problem_zh-tw.md rename to problems/function_arguments/problem_zh-tw.md diff --git a/problems/function-arguments/solution.md b/problems/function_arguments/solution.md similarity index 100% rename from problems/function-arguments/solution.md rename to problems/function_arguments/solution.md diff --git a/problems/function-arguments/solution_es.md b/problems/function_arguments/solution_es.md similarity index 100% rename from problems/function-arguments/solution_es.md rename to problems/function_arguments/solution_es.md diff --git a/problems/function-arguments/solution_fr.md b/problems/function_arguments/solution_fr.md similarity index 100% rename from problems/function-arguments/solution_fr.md rename to problems/function_arguments/solution_fr.md diff --git a/problems/function-arguments/solution_it.md b/problems/function_arguments/solution_it.md similarity index 100% rename from problems/function-arguments/solution_it.md rename to problems/function_arguments/solution_it.md diff --git a/problems/function-arguments/solution_ja.md b/problems/function_arguments/solution_ja.md similarity index 100% rename from problems/function-arguments/solution_ja.md rename to problems/function_arguments/solution_ja.md diff --git a/problems/function-arguments/solution_ko.md b/problems/function_arguments/solution_ko.md similarity index 100% rename from problems/function-arguments/solution_ko.md rename to problems/function_arguments/solution_ko.md diff --git a/problems/function-arguments/solution_nb-no.md b/problems/function_arguments/solution_nb-no.md similarity index 100% rename from problems/function-arguments/solution_nb-no.md rename to problems/function_arguments/solution_nb-no.md diff --git a/problems/function-arguments/solution_pt-br.md b/problems/function_arguments/solution_pt-br.md similarity index 100% rename from problems/function-arguments/solution_pt-br.md rename to problems/function_arguments/solution_pt-br.md diff --git a/problems/function-arguments/solution_ru.md b/problems/function_arguments/solution_ru.md similarity index 100% rename from problems/function-arguments/solution_ru.md rename to problems/function_arguments/solution_ru.md diff --git a/problems/function-arguments/solution_uk.md b/problems/function_arguments/solution_uk.md similarity index 100% rename from problems/function-arguments/solution_uk.md rename to problems/function_arguments/solution_uk.md diff --git a/problems/function-arguments/solution_zh-cn.md b/problems/function_arguments/solution_zh-cn.md similarity index 100% rename from problems/function-arguments/solution_zh-cn.md rename to problems/function_arguments/solution_zh-cn.md diff --git a/problems/function-arguments/solution_zh-tw.md b/problems/function_arguments/solution_zh-tw.md similarity index 100% rename from problems/function-arguments/solution_zh-tw.md rename to problems/function_arguments/solution_zh-tw.md diff --git a/problems/function-return-values/problem.md b/problems/function_return_values/problem.md similarity index 100% rename from problems/function-return-values/problem.md rename to problems/function_return_values/problem.md diff --git a/problems/function-return-values/problem_es.md b/problems/function_return_values/problem_es.md similarity index 100% rename from problems/function-return-values/problem_es.md rename to problems/function_return_values/problem_es.md diff --git a/problems/function-return-values/problem_fr.md b/problems/function_return_values/problem_fr.md similarity index 100% rename from problems/function-return-values/problem_fr.md rename to problems/function_return_values/problem_fr.md diff --git a/problems/function-return-values/problem_it.md b/problems/function_return_values/problem_it.md similarity index 100% rename from problems/function-return-values/problem_it.md rename to problems/function_return_values/problem_it.md diff --git a/problems/function-return-values/problem_ja.md b/problems/function_return_values/problem_ja.md similarity index 100% rename from problems/function-return-values/problem_ja.md rename to problems/function_return_values/problem_ja.md diff --git a/problems/function-return-values/problem_ko.md b/problems/function_return_values/problem_ko.md similarity index 100% rename from problems/function-return-values/problem_ko.md rename to problems/function_return_values/problem_ko.md diff --git a/problems/function-return-values/problem_nb-no.md b/problems/function_return_values/problem_nb-no.md similarity index 100% rename from problems/function-return-values/problem_nb-no.md rename to problems/function_return_values/problem_nb-no.md diff --git a/problems/function-return-values/problem_pt-br.md b/problems/function_return_values/problem_pt-br.md similarity index 100% rename from problems/function-return-values/problem_pt-br.md rename to problems/function_return_values/problem_pt-br.md diff --git a/problems/function-return-values/problem_ru.md b/problems/function_return_values/problem_ru.md similarity index 100% rename from problems/function-return-values/problem_ru.md rename to problems/function_return_values/problem_ru.md diff --git a/problems/function-return-values/problem_uk.md b/problems/function_return_values/problem_uk.md similarity index 100% rename from problems/function-return-values/problem_uk.md rename to problems/function_return_values/problem_uk.md diff --git a/problems/function-return-values/problem_zh-cn.md b/problems/function_return_values/problem_zh-cn.md similarity index 100% rename from problems/function-return-values/problem_zh-cn.md rename to problems/function_return_values/problem_zh-cn.md diff --git a/problems/function-return-values/problem_zh-tw.md b/problems/function_return_values/problem_zh-tw.md similarity index 100% rename from problems/function-return-values/problem_zh-tw.md rename to problems/function_return_values/problem_zh-tw.md diff --git a/problems/function-return-values/solution.md b/problems/function_return_values/solution.md similarity index 100% rename from problems/function-return-values/solution.md rename to problems/function_return_values/solution.md diff --git a/problems/function-return-values/solution_es.md b/problems/function_return_values/solution_es.md similarity index 100% rename from problems/function-return-values/solution_es.md rename to problems/function_return_values/solution_es.md diff --git a/problems/function-return-values/solution_fr.md b/problems/function_return_values/solution_fr.md similarity index 100% rename from problems/function-return-values/solution_fr.md rename to problems/function_return_values/solution_fr.md diff --git a/problems/function-return-values/solution_it.md b/problems/function_return_values/solution_it.md similarity index 100% rename from problems/function-return-values/solution_it.md rename to problems/function_return_values/solution_it.md diff --git a/problems/function-return-values/solution_ja.md b/problems/function_return_values/solution_ja.md similarity index 100% rename from problems/function-return-values/solution_ja.md rename to problems/function_return_values/solution_ja.md diff --git a/problems/function-return-values/solution_ko.md b/problems/function_return_values/solution_ko.md similarity index 100% rename from problems/function-return-values/solution_ko.md rename to problems/function_return_values/solution_ko.md diff --git a/problems/function-return-values/solution_nb-no.md b/problems/function_return_values/solution_nb-no.md similarity index 100% rename from problems/function-return-values/solution_nb-no.md rename to problems/function_return_values/solution_nb-no.md diff --git a/problems/function-return-values/solution_pt-br.md b/problems/function_return_values/solution_pt-br.md similarity index 100% rename from problems/function-return-values/solution_pt-br.md rename to problems/function_return_values/solution_pt-br.md diff --git a/problems/function-return-values/solution_ru.md b/problems/function_return_values/solution_ru.md similarity index 100% rename from problems/function-return-values/solution_ru.md rename to problems/function_return_values/solution_ru.md diff --git a/problems/function-return-values/solution_uk.md b/problems/function_return_values/solution_uk.md similarity index 100% rename from problems/function-return-values/solution_uk.md rename to problems/function_return_values/solution_uk.md diff --git a/problems/function-return-values/solution_zh-cn.md b/problems/function_return_values/solution_zh-cn.md similarity index 100% rename from problems/function-return-values/solution_zh-cn.md rename to problems/function_return_values/solution_zh-cn.md diff --git a/problems/function-return-values/solution_zh-tw.md b/problems/function_return_values/solution_zh-tw.md similarity index 100% rename from problems/function-return-values/solution_zh-tw.md rename to problems/function_return_values/solution_zh-tw.md diff --git a/problems/if-statement/problem.md b/problems/if_statement/problem.md similarity index 100% rename from problems/if-statement/problem.md rename to problems/if_statement/problem.md diff --git a/problems/if-statement/problem_es.md b/problems/if_statement/problem_es.md similarity index 100% rename from problems/if-statement/problem_es.md rename to problems/if_statement/problem_es.md diff --git a/problems/if-statement/problem_fr.md b/problems/if_statement/problem_fr.md similarity index 100% rename from problems/if-statement/problem_fr.md rename to problems/if_statement/problem_fr.md diff --git a/problems/if-statement/problem_it.md b/problems/if_statement/problem_it.md similarity index 100% rename from problems/if-statement/problem_it.md rename to problems/if_statement/problem_it.md diff --git a/problems/if-statement/problem_ja.md b/problems/if_statement/problem_ja.md similarity index 100% rename from problems/if-statement/problem_ja.md rename to problems/if_statement/problem_ja.md diff --git a/problems/if-statement/problem_ko.md b/problems/if_statement/problem_ko.md similarity index 100% rename from problems/if-statement/problem_ko.md rename to problems/if_statement/problem_ko.md diff --git a/problems/if-statement/problem_nb-no.md b/problems/if_statement/problem_nb-no.md similarity index 100% rename from problems/if-statement/problem_nb-no.md rename to problems/if_statement/problem_nb-no.md diff --git a/problems/if-statement/problem_pt-br.md b/problems/if_statement/problem_pt-br.md similarity index 100% rename from problems/if-statement/problem_pt-br.md rename to problems/if_statement/problem_pt-br.md diff --git a/problems/if-statement/problem_ru.md b/problems/if_statement/problem_ru.md similarity index 100% rename from problems/if-statement/problem_ru.md rename to problems/if_statement/problem_ru.md diff --git a/problems/if-statement/problem_uk.md b/problems/if_statement/problem_uk.md similarity index 100% rename from problems/if-statement/problem_uk.md rename to problems/if_statement/problem_uk.md diff --git a/problems/if-statement/problem_zh-cn.md b/problems/if_statement/problem_zh-cn.md similarity index 100% rename from problems/if-statement/problem_zh-cn.md rename to problems/if_statement/problem_zh-cn.md diff --git a/problems/if-statement/problem_zh-tw.md b/problems/if_statement/problem_zh-tw.md similarity index 100% rename from problems/if-statement/problem_zh-tw.md rename to problems/if_statement/problem_zh-tw.md diff --git a/problems/if-statement/solution.md b/problems/if_statement/solution.md similarity index 100% rename from problems/if-statement/solution.md rename to problems/if_statement/solution.md diff --git a/problems/if-statement/solution_es.md b/problems/if_statement/solution_es.md similarity index 100% rename from problems/if-statement/solution_es.md rename to problems/if_statement/solution_es.md diff --git a/problems/if-statement/solution_fr.md b/problems/if_statement/solution_fr.md similarity index 100% rename from problems/if-statement/solution_fr.md rename to problems/if_statement/solution_fr.md diff --git a/problems/if-statement/solution_it.md b/problems/if_statement/solution_it.md similarity index 100% rename from problems/if-statement/solution_it.md rename to problems/if_statement/solution_it.md diff --git a/problems/if-statement/solution_ja.md b/problems/if_statement/solution_ja.md similarity index 100% rename from problems/if-statement/solution_ja.md rename to problems/if_statement/solution_ja.md diff --git a/problems/if-statement/solution_ko.md b/problems/if_statement/solution_ko.md similarity index 100% rename from problems/if-statement/solution_ko.md rename to problems/if_statement/solution_ko.md diff --git a/problems/if-statement/solution_nb-no.md b/problems/if_statement/solution_nb-no.md similarity index 100% rename from problems/if-statement/solution_nb-no.md rename to problems/if_statement/solution_nb-no.md diff --git a/problems/if-statement/solution_pt-br.md b/problems/if_statement/solution_pt-br.md similarity index 100% rename from problems/if-statement/solution_pt-br.md rename to problems/if_statement/solution_pt-br.md diff --git a/problems/if-statement/solution_ru.md b/problems/if_statement/solution_ru.md similarity index 100% rename from problems/if-statement/solution_ru.md rename to problems/if_statement/solution_ru.md diff --git a/problems/if-statement/solution_uk.md b/problems/if_statement/solution_uk.md similarity index 100% rename from problems/if-statement/solution_uk.md rename to problems/if_statement/solution_uk.md diff --git a/problems/if-statement/solution_zh-cn.md b/problems/if_statement/solution_zh-cn.md similarity index 100% rename from problems/if-statement/solution_zh-cn.md rename to problems/if_statement/solution_zh-cn.md diff --git a/problems/if-statement/solution_zh-tw.md b/problems/if_statement/solution_zh-tw.md similarity index 100% rename from problems/if-statement/solution_zh-tw.md rename to problems/if_statement/solution_zh-tw.md diff --git a/problems/looping-through-arrays/problem.md b/problems/looping_through_arrays/problem.md similarity index 100% rename from problems/looping-through-arrays/problem.md rename to problems/looping_through_arrays/problem.md diff --git a/problems/looping-through-arrays/problem_es.md b/problems/looping_through_arrays/problem_es.md similarity index 100% rename from problems/looping-through-arrays/problem_es.md rename to problems/looping_through_arrays/problem_es.md diff --git a/problems/looping-through-arrays/problem_fr.md b/problems/looping_through_arrays/problem_fr.md similarity index 100% rename from problems/looping-through-arrays/problem_fr.md rename to problems/looping_through_arrays/problem_fr.md diff --git a/problems/looping-through-arrays/problem_it.md b/problems/looping_through_arrays/problem_it.md similarity index 100% rename from problems/looping-through-arrays/problem_it.md rename to problems/looping_through_arrays/problem_it.md diff --git a/problems/looping-through-arrays/problem_ja.md b/problems/looping_through_arrays/problem_ja.md similarity index 100% rename from problems/looping-through-arrays/problem_ja.md rename to problems/looping_through_arrays/problem_ja.md diff --git a/problems/looping-through-arrays/problem_ko.md b/problems/looping_through_arrays/problem_ko.md similarity index 100% rename from problems/looping-through-arrays/problem_ko.md rename to problems/looping_through_arrays/problem_ko.md diff --git a/problems/looping-through-arrays/problem_nb-no.md b/problems/looping_through_arrays/problem_nb-no.md similarity index 100% rename from problems/looping-through-arrays/problem_nb-no.md rename to problems/looping_through_arrays/problem_nb-no.md diff --git a/problems/looping-through-arrays/problem_pt-br.md b/problems/looping_through_arrays/problem_pt-br.md similarity index 100% rename from problems/looping-through-arrays/problem_pt-br.md rename to problems/looping_through_arrays/problem_pt-br.md diff --git a/problems/looping-through-arrays/problem_ru.md b/problems/looping_through_arrays/problem_ru.md similarity index 100% rename from problems/looping-through-arrays/problem_ru.md rename to problems/looping_through_arrays/problem_ru.md diff --git a/problems/looping-through-arrays/problem_uk.md b/problems/looping_through_arrays/problem_uk.md similarity index 100% rename from problems/looping-through-arrays/problem_uk.md rename to problems/looping_through_arrays/problem_uk.md diff --git a/problems/looping-through-arrays/problem_zh-cn.md b/problems/looping_through_arrays/problem_zh-cn.md similarity index 100% rename from problems/looping-through-arrays/problem_zh-cn.md rename to problems/looping_through_arrays/problem_zh-cn.md diff --git a/problems/looping-through-arrays/problem_zh-tw.md b/problems/looping_through_arrays/problem_zh-tw.md similarity index 100% rename from problems/looping-through-arrays/problem_zh-tw.md rename to problems/looping_through_arrays/problem_zh-tw.md diff --git a/problems/looping-through-arrays/solution.md b/problems/looping_through_arrays/solution.md similarity index 100% rename from problems/looping-through-arrays/solution.md rename to problems/looping_through_arrays/solution.md diff --git a/problems/looping-through-arrays/solution_es.md b/problems/looping_through_arrays/solution_es.md similarity index 100% rename from problems/looping-through-arrays/solution_es.md rename to problems/looping_through_arrays/solution_es.md diff --git a/problems/looping-through-arrays/solution_fr.md b/problems/looping_through_arrays/solution_fr.md similarity index 100% rename from problems/looping-through-arrays/solution_fr.md rename to problems/looping_through_arrays/solution_fr.md diff --git a/problems/looping-through-arrays/solution_it.md b/problems/looping_through_arrays/solution_it.md similarity index 100% rename from problems/looping-through-arrays/solution_it.md rename to problems/looping_through_arrays/solution_it.md diff --git a/problems/looping-through-arrays/solution_ja.md b/problems/looping_through_arrays/solution_ja.md similarity index 100% rename from problems/looping-through-arrays/solution_ja.md rename to problems/looping_through_arrays/solution_ja.md diff --git a/problems/looping-through-arrays/solution_ko.md b/problems/looping_through_arrays/solution_ko.md similarity index 100% rename from problems/looping-through-arrays/solution_ko.md rename to problems/looping_through_arrays/solution_ko.md diff --git a/problems/looping-through-arrays/solution_nb-no.md b/problems/looping_through_arrays/solution_nb-no.md similarity index 100% rename from problems/looping-through-arrays/solution_nb-no.md rename to problems/looping_through_arrays/solution_nb-no.md diff --git a/problems/looping-through-arrays/solution_pt-br.md b/problems/looping_through_arrays/solution_pt-br.md similarity index 100% rename from problems/looping-through-arrays/solution_pt-br.md rename to problems/looping_through_arrays/solution_pt-br.md diff --git a/problems/looping-through-arrays/solution_ru.md b/problems/looping_through_arrays/solution_ru.md similarity index 100% rename from problems/looping-through-arrays/solution_ru.md rename to problems/looping_through_arrays/solution_ru.md diff --git a/problems/looping-through-arrays/solution_uk.md b/problems/looping_through_arrays/solution_uk.md similarity index 100% rename from problems/looping-through-arrays/solution_uk.md rename to problems/looping_through_arrays/solution_uk.md diff --git a/problems/looping-through-arrays/solution_zh-cn.md b/problems/looping_through_arrays/solution_zh-cn.md similarity index 100% rename from problems/looping-through-arrays/solution_zh-cn.md rename to problems/looping_through_arrays/solution_zh-cn.md diff --git a/problems/looping-through-arrays/solution_zh-tw.md b/problems/looping_through_arrays/solution_zh-tw.md similarity index 100% rename from problems/looping-through-arrays/solution_zh-tw.md rename to problems/looping_through_arrays/solution_zh-tw.md diff --git a/problems/number-to-string/problem.md b/problems/number_to_string/problem.md similarity index 100% rename from problems/number-to-string/problem.md rename to problems/number_to_string/problem.md diff --git a/problems/number-to-string/problem_es.md b/problems/number_to_string/problem_es.md similarity index 100% rename from problems/number-to-string/problem_es.md rename to problems/number_to_string/problem_es.md diff --git a/problems/number-to-string/problem_fr.md b/problems/number_to_string/problem_fr.md similarity index 100% rename from problems/number-to-string/problem_fr.md rename to problems/number_to_string/problem_fr.md diff --git a/problems/number-to-string/problem_it.md b/problems/number_to_string/problem_it.md similarity index 100% rename from problems/number-to-string/problem_it.md rename to problems/number_to_string/problem_it.md diff --git a/problems/number-to-string/problem_ja.md b/problems/number_to_string/problem_ja.md similarity index 100% rename from problems/number-to-string/problem_ja.md rename to problems/number_to_string/problem_ja.md diff --git a/problems/number-to-string/problem_ko.md b/problems/number_to_string/problem_ko.md similarity index 100% rename from problems/number-to-string/problem_ko.md rename to problems/number_to_string/problem_ko.md diff --git a/problems/number-to-string/problem_nb-no.md b/problems/number_to_string/problem_nb-no.md similarity index 100% rename from problems/number-to-string/problem_nb-no.md rename to problems/number_to_string/problem_nb-no.md diff --git a/problems/number-to-string/problem_pt-br.md b/problems/number_to_string/problem_pt-br.md similarity index 100% rename from problems/number-to-string/problem_pt-br.md rename to problems/number_to_string/problem_pt-br.md diff --git a/problems/number-to-string/problem_ru.md b/problems/number_to_string/problem_ru.md similarity index 100% rename from problems/number-to-string/problem_ru.md rename to problems/number_to_string/problem_ru.md diff --git a/problems/number-to-string/problem_uk.md b/problems/number_to_string/problem_uk.md similarity index 100% rename from problems/number-to-string/problem_uk.md rename to problems/number_to_string/problem_uk.md diff --git a/problems/number-to-string/problem_zh-cn.md b/problems/number_to_string/problem_zh-cn.md similarity index 100% rename from problems/number-to-string/problem_zh-cn.md rename to problems/number_to_string/problem_zh-cn.md diff --git a/problems/number-to-string/problem_zh-tw.md b/problems/number_to_string/problem_zh-tw.md similarity index 100% rename from problems/number-to-string/problem_zh-tw.md rename to problems/number_to_string/problem_zh-tw.md diff --git a/problems/number-to-string/solution.md b/problems/number_to_string/solution.md similarity index 100% rename from problems/number-to-string/solution.md rename to problems/number_to_string/solution.md diff --git a/problems/number-to-string/solution_es.md b/problems/number_to_string/solution_es.md similarity index 100% rename from problems/number-to-string/solution_es.md rename to problems/number_to_string/solution_es.md diff --git a/problems/number-to-string/solution_fr.md b/problems/number_to_string/solution_fr.md similarity index 100% rename from problems/number-to-string/solution_fr.md rename to problems/number_to_string/solution_fr.md diff --git a/problems/number-to-string/solution_it.md b/problems/number_to_string/solution_it.md similarity index 100% rename from problems/number-to-string/solution_it.md rename to problems/number_to_string/solution_it.md diff --git a/problems/number-to-string/solution_ja.md b/problems/number_to_string/solution_ja.md similarity index 100% rename from problems/number-to-string/solution_ja.md rename to problems/number_to_string/solution_ja.md diff --git a/problems/number-to-string/solution_ko.md b/problems/number_to_string/solution_ko.md similarity index 100% rename from problems/number-to-string/solution_ko.md rename to problems/number_to_string/solution_ko.md diff --git a/problems/number-to-string/solution_nb-no.md b/problems/number_to_string/solution_nb-no.md similarity index 100% rename from problems/number-to-string/solution_nb-no.md rename to problems/number_to_string/solution_nb-no.md diff --git a/problems/number-to-string/solution_pt-br.md b/problems/number_to_string/solution_pt-br.md similarity index 100% rename from problems/number-to-string/solution_pt-br.md rename to problems/number_to_string/solution_pt-br.md diff --git a/problems/number-to-string/solution_ru.md b/problems/number_to_string/solution_ru.md similarity index 100% rename from problems/number-to-string/solution_ru.md rename to problems/number_to_string/solution_ru.md diff --git a/problems/number-to-string/solution_uk.md b/problems/number_to_string/solution_uk.md similarity index 100% rename from problems/number-to-string/solution_uk.md rename to problems/number_to_string/solution_uk.md diff --git a/problems/number-to-string/solution_zh-cn.md b/problems/number_to_string/solution_zh-cn.md similarity index 100% rename from problems/number-to-string/solution_zh-cn.md rename to problems/number_to_string/solution_zh-cn.md diff --git a/problems/number-to-string/solution_zh-tw.md b/problems/number_to_string/solution_zh-tw.md similarity index 100% rename from problems/number-to-string/solution_zh-tw.md rename to problems/number_to_string/solution_zh-tw.md diff --git a/problems/object-keys/problem.md b/problems/object_keys/problem.md similarity index 100% rename from problems/object-keys/problem.md rename to problems/object_keys/problem.md diff --git a/problems/object-keys/problem_es.md b/problems/object_keys/problem_es.md similarity index 100% rename from problems/object-keys/problem_es.md rename to problems/object_keys/problem_es.md diff --git a/problems/object-keys/problem_fr.md b/problems/object_keys/problem_fr.md similarity index 100% rename from problems/object-keys/problem_fr.md rename to problems/object_keys/problem_fr.md diff --git a/problems/object-keys/problem_it.md b/problems/object_keys/problem_it.md similarity index 100% rename from problems/object-keys/problem_it.md rename to problems/object_keys/problem_it.md diff --git a/problems/object-keys/problem_ja.md b/problems/object_keys/problem_ja.md similarity index 100% rename from problems/object-keys/problem_ja.md rename to problems/object_keys/problem_ja.md diff --git a/problems/object-keys/problem_ko.md b/problems/object_keys/problem_ko.md similarity index 100% rename from problems/object-keys/problem_ko.md rename to problems/object_keys/problem_ko.md diff --git a/problems/object-keys/problem_nb-no.md b/problems/object_keys/problem_nb-no.md similarity index 100% rename from problems/object-keys/problem_nb-no.md rename to problems/object_keys/problem_nb-no.md diff --git a/problems/object-keys/problem_pt-br.md b/problems/object_keys/problem_pt-br.md similarity index 100% rename from problems/object-keys/problem_pt-br.md rename to problems/object_keys/problem_pt-br.md diff --git a/problems/object-keys/problem_ru.md b/problems/object_keys/problem_ru.md similarity index 100% rename from problems/object-keys/problem_ru.md rename to problems/object_keys/problem_ru.md diff --git a/problems/object-keys/problem_uk.md b/problems/object_keys/problem_uk.md similarity index 100% rename from problems/object-keys/problem_uk.md rename to problems/object_keys/problem_uk.md diff --git a/problems/object-keys/problem_zh-cn.md b/problems/object_keys/problem_zh-cn.md similarity index 100% rename from problems/object-keys/problem_zh-cn.md rename to problems/object_keys/problem_zh-cn.md diff --git a/problems/object-keys/problem_zh-tw.md b/problems/object_keys/problem_zh-tw.md similarity index 100% rename from problems/object-keys/problem_zh-tw.md rename to problems/object_keys/problem_zh-tw.md diff --git a/problems/object-keys/solution.md b/problems/object_keys/solution.md similarity index 100% rename from problems/object-keys/solution.md rename to problems/object_keys/solution.md diff --git a/problems/object-keys/solution_es.md b/problems/object_keys/solution_es.md similarity index 100% rename from problems/object-keys/solution_es.md rename to problems/object_keys/solution_es.md diff --git a/problems/object-keys/solution_fr.md b/problems/object_keys/solution_fr.md similarity index 100% rename from problems/object-keys/solution_fr.md rename to problems/object_keys/solution_fr.md diff --git a/problems/object-keys/solution_it.md b/problems/object_keys/solution_it.md similarity index 100% rename from problems/object-keys/solution_it.md rename to problems/object_keys/solution_it.md diff --git a/problems/object-keys/solution_ja.md b/problems/object_keys/solution_ja.md similarity index 100% rename from problems/object-keys/solution_ja.md rename to problems/object_keys/solution_ja.md diff --git a/problems/object-keys/solution_ko.md b/problems/object_keys/solution_ko.md similarity index 100% rename from problems/object-keys/solution_ko.md rename to problems/object_keys/solution_ko.md diff --git a/problems/object-keys/solution_nb-no.md b/problems/object_keys/solution_nb-no.md similarity index 100% rename from problems/object-keys/solution_nb-no.md rename to problems/object_keys/solution_nb-no.md diff --git a/problems/object-keys/solution_pt-br.md b/problems/object_keys/solution_pt-br.md similarity index 100% rename from problems/object-keys/solution_pt-br.md rename to problems/object_keys/solution_pt-br.md diff --git a/problems/object-keys/solution_ru.md b/problems/object_keys/solution_ru.md similarity index 100% rename from problems/object-keys/solution_ru.md rename to problems/object_keys/solution_ru.md diff --git a/problems/object-keys/solution_uk.md b/problems/object_keys/solution_uk.md similarity index 100% rename from problems/object-keys/solution_uk.md rename to problems/object_keys/solution_uk.md diff --git a/problems/object-keys/solution_zh-cn.md b/problems/object_keys/solution_zh-cn.md similarity index 100% rename from problems/object-keys/solution_zh-cn.md rename to problems/object_keys/solution_zh-cn.md diff --git a/problems/object-keys/solution_zh-tw.md b/problems/object_keys/solution_zh-tw.md similarity index 100% rename from problems/object-keys/solution_zh-tw.md rename to problems/object_keys/solution_zh-tw.md diff --git a/problems/object-properties/problem.md b/problems/object_properties/problem.md similarity index 100% rename from problems/object-properties/problem.md rename to problems/object_properties/problem.md diff --git a/problems/object-properties/problem_es.md b/problems/object_properties/problem_es.md similarity index 100% rename from problems/object-properties/problem_es.md rename to problems/object_properties/problem_es.md diff --git a/problems/object-properties/problem_fr.md b/problems/object_properties/problem_fr.md similarity index 100% rename from problems/object-properties/problem_fr.md rename to problems/object_properties/problem_fr.md diff --git a/problems/object-properties/problem_it.md b/problems/object_properties/problem_it.md similarity index 100% rename from problems/object-properties/problem_it.md rename to problems/object_properties/problem_it.md diff --git a/problems/object-properties/problem_ja.md b/problems/object_properties/problem_ja.md similarity index 100% rename from problems/object-properties/problem_ja.md rename to problems/object_properties/problem_ja.md diff --git a/problems/object-properties/problem_ko.md b/problems/object_properties/problem_ko.md similarity index 100% rename from problems/object-properties/problem_ko.md rename to problems/object_properties/problem_ko.md diff --git a/problems/object-properties/problem_nb-no.md b/problems/object_properties/problem_nb-no.md similarity index 100% rename from problems/object-properties/problem_nb-no.md rename to problems/object_properties/problem_nb-no.md diff --git a/problems/object-properties/problem_pt-br.md b/problems/object_properties/problem_pt-br.md similarity index 100% rename from problems/object-properties/problem_pt-br.md rename to problems/object_properties/problem_pt-br.md diff --git a/problems/object-properties/problem_ru.md b/problems/object_properties/problem_ru.md similarity index 100% rename from problems/object-properties/problem_ru.md rename to problems/object_properties/problem_ru.md diff --git a/problems/object-properties/problem_uk.md b/problems/object_properties/problem_uk.md similarity index 100% rename from problems/object-properties/problem_uk.md rename to problems/object_properties/problem_uk.md diff --git a/problems/object-properties/problem_zh-cn.md b/problems/object_properties/problem_zh-cn.md similarity index 100% rename from problems/object-properties/problem_zh-cn.md rename to problems/object_properties/problem_zh-cn.md diff --git a/problems/object-properties/problem_zh-tw.md b/problems/object_properties/problem_zh-tw.md similarity index 100% rename from problems/object-properties/problem_zh-tw.md rename to problems/object_properties/problem_zh-tw.md diff --git a/problems/object-properties/solution.md b/problems/object_properties/solution.md similarity index 100% rename from problems/object-properties/solution.md rename to problems/object_properties/solution.md diff --git a/problems/object-properties/solution_es.md b/problems/object_properties/solution_es.md similarity index 100% rename from problems/object-properties/solution_es.md rename to problems/object_properties/solution_es.md diff --git a/problems/object-properties/solution_fr.md b/problems/object_properties/solution_fr.md similarity index 100% rename from problems/object-properties/solution_fr.md rename to problems/object_properties/solution_fr.md diff --git a/problems/object-properties/solution_it.md b/problems/object_properties/solution_it.md similarity index 100% rename from problems/object-properties/solution_it.md rename to problems/object_properties/solution_it.md diff --git a/problems/object-properties/solution_ja.md b/problems/object_properties/solution_ja.md similarity index 100% rename from problems/object-properties/solution_ja.md rename to problems/object_properties/solution_ja.md diff --git a/problems/object-properties/solution_ko.md b/problems/object_properties/solution_ko.md similarity index 100% rename from problems/object-properties/solution_ko.md rename to problems/object_properties/solution_ko.md diff --git a/problems/object-properties/solution_nb-no.md b/problems/object_properties/solution_nb-no.md similarity index 100% rename from problems/object-properties/solution_nb-no.md rename to problems/object_properties/solution_nb-no.md diff --git a/problems/object-properties/solution_pt-br.md b/problems/object_properties/solution_pt-br.md similarity index 100% rename from problems/object-properties/solution_pt-br.md rename to problems/object_properties/solution_pt-br.md diff --git a/problems/object-properties/solution_ru.md b/problems/object_properties/solution_ru.md similarity index 100% rename from problems/object-properties/solution_ru.md rename to problems/object_properties/solution_ru.md diff --git a/problems/object-properties/solution_uk.md b/problems/object_properties/solution_uk.md similarity index 100% rename from problems/object-properties/solution_uk.md rename to problems/object_properties/solution_uk.md diff --git a/problems/object-properties/solution_zh-cn.md b/problems/object_properties/solution_zh-cn.md similarity index 100% rename from problems/object-properties/solution_zh-cn.md rename to problems/object_properties/solution_zh-cn.md diff --git a/problems/object-properties/solution_zh-tw.md b/problems/object_properties/solution_zh-tw.md similarity index 100% rename from problems/object-properties/solution_zh-tw.md rename to problems/object_properties/solution_zh-tw.md diff --git a/problems/revising-strings/problem.md b/problems/revising_strings/problem.md similarity index 100% rename from problems/revising-strings/problem.md rename to problems/revising_strings/problem.md diff --git a/problems/revising-strings/problem_es.md b/problems/revising_strings/problem_es.md similarity index 100% rename from problems/revising-strings/problem_es.md rename to problems/revising_strings/problem_es.md diff --git a/problems/revising-strings/problem_fr.md b/problems/revising_strings/problem_fr.md similarity index 100% rename from problems/revising-strings/problem_fr.md rename to problems/revising_strings/problem_fr.md diff --git a/problems/revising-strings/problem_it.md b/problems/revising_strings/problem_it.md similarity index 100% rename from problems/revising-strings/problem_it.md rename to problems/revising_strings/problem_it.md diff --git a/problems/revising-strings/problem_ja.md b/problems/revising_strings/problem_ja.md similarity index 100% rename from problems/revising-strings/problem_ja.md rename to problems/revising_strings/problem_ja.md diff --git a/problems/revising-strings/problem_ko.md b/problems/revising_strings/problem_ko.md similarity index 100% rename from problems/revising-strings/problem_ko.md rename to problems/revising_strings/problem_ko.md diff --git a/problems/revising-strings/problem_nb-no.md b/problems/revising_strings/problem_nb-no.md similarity index 100% rename from problems/revising-strings/problem_nb-no.md rename to problems/revising_strings/problem_nb-no.md diff --git a/problems/revising-strings/problem_pt-br.md b/problems/revising_strings/problem_pt-br.md similarity index 100% rename from problems/revising-strings/problem_pt-br.md rename to problems/revising_strings/problem_pt-br.md diff --git a/problems/revising-strings/problem_ru.md b/problems/revising_strings/problem_ru.md similarity index 100% rename from problems/revising-strings/problem_ru.md rename to problems/revising_strings/problem_ru.md diff --git a/problems/revising-strings/problem_uk.md b/problems/revising_strings/problem_uk.md similarity index 100% rename from problems/revising-strings/problem_uk.md rename to problems/revising_strings/problem_uk.md diff --git a/problems/revising-strings/problem_zh-cn.md b/problems/revising_strings/problem_zh-cn.md similarity index 100% rename from problems/revising-strings/problem_zh-cn.md rename to problems/revising_strings/problem_zh-cn.md diff --git a/problems/revising-strings/problem_zh-tw.md b/problems/revising_strings/problem_zh-tw.md similarity index 100% rename from problems/revising-strings/problem_zh-tw.md rename to problems/revising_strings/problem_zh-tw.md diff --git a/problems/revising-strings/solution.md b/problems/revising_strings/solution.md similarity index 100% rename from problems/revising-strings/solution.md rename to problems/revising_strings/solution.md diff --git a/problems/revising-strings/solution_es.md b/problems/revising_strings/solution_es.md similarity index 100% rename from problems/revising-strings/solution_es.md rename to problems/revising_strings/solution_es.md diff --git a/problems/revising-strings/solution_fr.md b/problems/revising_strings/solution_fr.md similarity index 100% rename from problems/revising-strings/solution_fr.md rename to problems/revising_strings/solution_fr.md diff --git a/problems/revising-strings/solution_it.md b/problems/revising_strings/solution_it.md similarity index 100% rename from problems/revising-strings/solution_it.md rename to problems/revising_strings/solution_it.md diff --git a/problems/revising-strings/solution_ja.md b/problems/revising_strings/solution_ja.md similarity index 100% rename from problems/revising-strings/solution_ja.md rename to problems/revising_strings/solution_ja.md diff --git a/problems/revising-strings/solution_ko.md b/problems/revising_strings/solution_ko.md similarity index 100% rename from problems/revising-strings/solution_ko.md rename to problems/revising_strings/solution_ko.md diff --git a/problems/revising-strings/solution_nb-no.md b/problems/revising_strings/solution_nb-no.md similarity index 100% rename from problems/revising-strings/solution_nb-no.md rename to problems/revising_strings/solution_nb-no.md diff --git a/problems/revising-strings/solution_pt-br.md b/problems/revising_strings/solution_pt-br.md similarity index 100% rename from problems/revising-strings/solution_pt-br.md rename to problems/revising_strings/solution_pt-br.md diff --git a/problems/revising-strings/solution_ru.md b/problems/revising_strings/solution_ru.md similarity index 100% rename from problems/revising-strings/solution_ru.md rename to problems/revising_strings/solution_ru.md diff --git a/problems/revising-strings/solution_uk.md b/problems/revising_strings/solution_uk.md similarity index 100% rename from problems/revising-strings/solution_uk.md rename to problems/revising_strings/solution_uk.md diff --git a/problems/revising-strings/solution_zh-cn.md b/problems/revising_strings/solution_zh-cn.md similarity index 100% rename from problems/revising-strings/solution_zh-cn.md rename to problems/revising_strings/solution_zh-cn.md diff --git a/problems/revising-strings/solution_zh-tw.md b/problems/revising_strings/solution_zh-tw.md similarity index 100% rename from problems/revising-strings/solution_zh-tw.md rename to problems/revising_strings/solution_zh-tw.md diff --git a/problems/rounding-numbers/problem.md b/problems/rounding_numbers/problem.md similarity index 100% rename from problems/rounding-numbers/problem.md rename to problems/rounding_numbers/problem.md diff --git a/problems/rounding-numbers/problem_es.md b/problems/rounding_numbers/problem_es.md similarity index 100% rename from problems/rounding-numbers/problem_es.md rename to problems/rounding_numbers/problem_es.md diff --git a/problems/rounding-numbers/problem_fr.md b/problems/rounding_numbers/problem_fr.md similarity index 100% rename from problems/rounding-numbers/problem_fr.md rename to problems/rounding_numbers/problem_fr.md diff --git a/problems/rounding-numbers/problem_it.md b/problems/rounding_numbers/problem_it.md similarity index 100% rename from problems/rounding-numbers/problem_it.md rename to problems/rounding_numbers/problem_it.md diff --git a/problems/rounding-numbers/problem_ja.md b/problems/rounding_numbers/problem_ja.md similarity index 100% rename from problems/rounding-numbers/problem_ja.md rename to problems/rounding_numbers/problem_ja.md diff --git a/problems/rounding-numbers/problem_ko.md b/problems/rounding_numbers/problem_ko.md similarity index 100% rename from problems/rounding-numbers/problem_ko.md rename to problems/rounding_numbers/problem_ko.md diff --git a/problems/rounding-numbers/problem_nb-no.md b/problems/rounding_numbers/problem_nb-no.md similarity index 100% rename from problems/rounding-numbers/problem_nb-no.md rename to problems/rounding_numbers/problem_nb-no.md diff --git a/problems/rounding-numbers/problem_pt-br.md b/problems/rounding_numbers/problem_pt-br.md similarity index 100% rename from problems/rounding-numbers/problem_pt-br.md rename to problems/rounding_numbers/problem_pt-br.md diff --git a/problems/rounding-numbers/problem_ru.md b/problems/rounding_numbers/problem_ru.md similarity index 100% rename from problems/rounding-numbers/problem_ru.md rename to problems/rounding_numbers/problem_ru.md diff --git a/problems/rounding-numbers/problem_uk.md b/problems/rounding_numbers/problem_uk.md similarity index 100% rename from problems/rounding-numbers/problem_uk.md rename to problems/rounding_numbers/problem_uk.md diff --git a/problems/rounding-numbers/problem_zh-cn.md b/problems/rounding_numbers/problem_zh-cn.md similarity index 100% rename from problems/rounding-numbers/problem_zh-cn.md rename to problems/rounding_numbers/problem_zh-cn.md diff --git a/problems/rounding-numbers/problem_zh-tw.md b/problems/rounding_numbers/problem_zh-tw.md similarity index 100% rename from problems/rounding-numbers/problem_zh-tw.md rename to problems/rounding_numbers/problem_zh-tw.md diff --git a/problems/rounding-numbers/solution.md b/problems/rounding_numbers/solution.md similarity index 100% rename from problems/rounding-numbers/solution.md rename to problems/rounding_numbers/solution.md diff --git a/problems/rounding-numbers/solution_es.md b/problems/rounding_numbers/solution_es.md similarity index 100% rename from problems/rounding-numbers/solution_es.md rename to problems/rounding_numbers/solution_es.md diff --git a/problems/rounding-numbers/solution_fr.md b/problems/rounding_numbers/solution_fr.md similarity index 100% rename from problems/rounding-numbers/solution_fr.md rename to problems/rounding_numbers/solution_fr.md diff --git a/problems/rounding-numbers/solution_it.md b/problems/rounding_numbers/solution_it.md similarity index 100% rename from problems/rounding-numbers/solution_it.md rename to problems/rounding_numbers/solution_it.md diff --git a/problems/rounding-numbers/solution_ja.md b/problems/rounding_numbers/solution_ja.md similarity index 100% rename from problems/rounding-numbers/solution_ja.md rename to problems/rounding_numbers/solution_ja.md diff --git a/problems/rounding-numbers/solution_ko.md b/problems/rounding_numbers/solution_ko.md similarity index 100% rename from problems/rounding-numbers/solution_ko.md rename to problems/rounding_numbers/solution_ko.md diff --git a/problems/rounding-numbers/solution_nb-no.md b/problems/rounding_numbers/solution_nb-no.md similarity index 100% rename from problems/rounding-numbers/solution_nb-no.md rename to problems/rounding_numbers/solution_nb-no.md diff --git a/problems/rounding-numbers/solution_pt-br.md b/problems/rounding_numbers/solution_pt-br.md similarity index 100% rename from problems/rounding-numbers/solution_pt-br.md rename to problems/rounding_numbers/solution_pt-br.md diff --git a/problems/rounding-numbers/solution_ru.md b/problems/rounding_numbers/solution_ru.md similarity index 100% rename from problems/rounding-numbers/solution_ru.md rename to problems/rounding_numbers/solution_ru.md diff --git a/problems/rounding-numbers/solution_uk.md b/problems/rounding_numbers/solution_uk.md similarity index 100% rename from problems/rounding-numbers/solution_uk.md rename to problems/rounding_numbers/solution_uk.md diff --git a/problems/rounding-numbers/solution_zh-cn.md b/problems/rounding_numbers/solution_zh-cn.md similarity index 100% rename from problems/rounding-numbers/solution_zh-cn.md rename to problems/rounding_numbers/solution_zh-cn.md diff --git a/problems/rounding-numbers/solution_zh-tw.md b/problems/rounding_numbers/solution_zh-tw.md similarity index 100% rename from problems/rounding-numbers/solution_zh-tw.md rename to problems/rounding_numbers/solution_zh-tw.md diff --git a/problems/string-length/problem.md b/problems/string_length/problem.md similarity index 100% rename from problems/string-length/problem.md rename to problems/string_length/problem.md diff --git a/problems/string-length/problem_es.md b/problems/string_length/problem_es.md similarity index 100% rename from problems/string-length/problem_es.md rename to problems/string_length/problem_es.md diff --git a/problems/string-length/problem_fr.md b/problems/string_length/problem_fr.md similarity index 100% rename from problems/string-length/problem_fr.md rename to problems/string_length/problem_fr.md diff --git a/problems/string-length/problem_it.md b/problems/string_length/problem_it.md similarity index 100% rename from problems/string-length/problem_it.md rename to problems/string_length/problem_it.md diff --git a/problems/string-length/problem_ja.md b/problems/string_length/problem_ja.md similarity index 100% rename from problems/string-length/problem_ja.md rename to problems/string_length/problem_ja.md diff --git a/problems/string-length/problem_ko.md b/problems/string_length/problem_ko.md similarity index 100% rename from problems/string-length/problem_ko.md rename to problems/string_length/problem_ko.md diff --git a/problems/string-length/problem_nb-no.md b/problems/string_length/problem_nb-no.md similarity index 100% rename from problems/string-length/problem_nb-no.md rename to problems/string_length/problem_nb-no.md diff --git a/problems/string-length/problem_pt-br.md b/problems/string_length/problem_pt-br.md similarity index 100% rename from problems/string-length/problem_pt-br.md rename to problems/string_length/problem_pt-br.md diff --git a/problems/string-length/problem_ru.md b/problems/string_length/problem_ru.md similarity index 100% rename from problems/string-length/problem_ru.md rename to problems/string_length/problem_ru.md diff --git a/problems/string-length/problem_uk.md b/problems/string_length/problem_uk.md similarity index 100% rename from problems/string-length/problem_uk.md rename to problems/string_length/problem_uk.md diff --git a/problems/string-length/problem_zh-cn.md b/problems/string_length/problem_zh-cn.md similarity index 100% rename from problems/string-length/problem_zh-cn.md rename to problems/string_length/problem_zh-cn.md diff --git a/problems/string-length/problem_zh-tw.md b/problems/string_length/problem_zh-tw.md similarity index 100% rename from problems/string-length/problem_zh-tw.md rename to problems/string_length/problem_zh-tw.md diff --git a/problems/string-length/solution.md b/problems/string_length/solution.md similarity index 100% rename from problems/string-length/solution.md rename to problems/string_length/solution.md diff --git a/problems/string-length/solution_es.md b/problems/string_length/solution_es.md similarity index 100% rename from problems/string-length/solution_es.md rename to problems/string_length/solution_es.md diff --git a/problems/string-length/solution_fr.md b/problems/string_length/solution_fr.md similarity index 100% rename from problems/string-length/solution_fr.md rename to problems/string_length/solution_fr.md diff --git a/problems/string-length/solution_it.md b/problems/string_length/solution_it.md similarity index 100% rename from problems/string-length/solution_it.md rename to problems/string_length/solution_it.md diff --git a/problems/string-length/solution_ja.md b/problems/string_length/solution_ja.md similarity index 100% rename from problems/string-length/solution_ja.md rename to problems/string_length/solution_ja.md diff --git a/problems/string-length/solution_ko.md b/problems/string_length/solution_ko.md similarity index 100% rename from problems/string-length/solution_ko.md rename to problems/string_length/solution_ko.md diff --git a/problems/string-length/solution_nb-no.md b/problems/string_length/solution_nb-no.md similarity index 100% rename from problems/string-length/solution_nb-no.md rename to problems/string_length/solution_nb-no.md diff --git a/problems/string-length/solution_pt-br.md b/problems/string_length/solution_pt-br.md similarity index 100% rename from problems/string-length/solution_pt-br.md rename to problems/string_length/solution_pt-br.md diff --git a/problems/string-length/solution_ru.md b/problems/string_length/solution_ru.md similarity index 100% rename from problems/string-length/solution_ru.md rename to problems/string_length/solution_ru.md diff --git a/problems/string-length/solution_uk.md b/problems/string_length/solution_uk.md similarity index 100% rename from problems/string-length/solution_uk.md rename to problems/string_length/solution_uk.md diff --git a/problems/string-length/solution_zh-cn.md b/problems/string_length/solution_zh-cn.md similarity index 100% rename from problems/string-length/solution_zh-cn.md rename to problems/string_length/solution_zh-cn.md diff --git a/problems/string-length/solution_zh-tw.md b/problems/string_length/solution_zh-tw.md similarity index 100% rename from problems/string-length/solution_zh-tw.md rename to problems/string_length/solution_zh-tw.md diff --git a/solutions/accessing-array-values/index.js b/test/accessing_array_values/valid.js similarity index 100% rename from solutions/accessing-array-values/index.js rename to test/accessing_array_values/valid.js diff --git a/solutions/array-filtering/index.js b/test/array_filtering/valid.js similarity index 100% rename from solutions/array-filtering/index.js rename to test/array_filtering/valid.js diff --git a/solutions/arrays/index.js b/test/arrays/valid.js similarity index 100% rename from solutions/arrays/index.js rename to test/arrays/valid.js diff --git a/solutions/for-loop/index.js b/test/for_loop/valid.js similarity index 100% rename from solutions/for-loop/index.js rename to test/for_loop/valid.js diff --git a/solutions/function-arguments/index.js b/test/function_arguments/valid.js similarity index 100% rename from solutions/function-arguments/index.js rename to test/function_arguments/valid.js diff --git a/solutions/function-return-values/index.js b/test/function_return_values/valid.js similarity index 100% rename from solutions/function-return-values/index.js rename to test/function_return_values/valid.js diff --git a/solutions/functions/index.js b/test/functions/valid.js similarity index 100% rename from solutions/functions/index.js rename to test/functions/valid.js diff --git a/solutions/if-statement/index.js b/test/if_statement/valid.js similarity index 100% rename from solutions/if-statement/index.js rename to test/if_statement/valid.js diff --git a/solutions/introduction/index.js b/test/introduction/valid.js similarity index 100% rename from solutions/introduction/index.js rename to test/introduction/valid.js diff --git a/solutions/looping-through-arrays/index.js b/test/looping_through_arrays/valid.js similarity index 100% rename from solutions/looping-through-arrays/index.js rename to test/looping_through_arrays/valid.js diff --git a/solutions/number-to-string/index.js b/test/number_to_string/valid.js similarity index 100% rename from solutions/number-to-string/index.js rename to test/number_to_string/valid.js diff --git a/solutions/numbers/index.js b/test/numbers/valid.js similarity index 100% rename from solutions/numbers/index.js rename to test/numbers/valid.js diff --git a/solutions/object-keys/index.js b/test/object_keys/valid.js similarity index 100% rename from solutions/object-keys/index.js rename to test/object_keys/valid.js diff --git a/solutions/object-properties/index.js b/test/object_properties/valid.js similarity index 100% rename from solutions/object-properties/index.js rename to test/object_properties/valid.js diff --git a/solutions/objects/index.js b/test/objects/valid.js similarity index 100% rename from solutions/objects/index.js rename to test/objects/valid.js diff --git a/solutions/revising-strings/index.js b/test/revising_strings/valid.js similarity index 100% rename from solutions/revising-strings/index.js rename to test/revising_strings/valid.js diff --git a/solutions/rounding-numbers/index.js b/test/rounding_numbers/valid.js similarity index 100% rename from solutions/rounding-numbers/index.js rename to test/rounding_numbers/valid.js diff --git a/solutions/scope/index.js b/test/scope/valid.js similarity index 100% rename from solutions/scope/index.js rename to test/scope/valid.js diff --git a/solutions/string-length/index.js b/test/string_length/valid.js similarity index 100% rename from solutions/string-length/index.js rename to test/string_length/valid.js diff --git a/solutions/strings/index.js b/test/strings/valid.js similarity index 100% rename from solutions/strings/index.js rename to test/strings/valid.js diff --git a/solutions/this/index.js b/test/this/valid.js similarity index 100% rename from solutions/this/index.js rename to test/this/valid.js diff --git a/solutions/variables/index.js b/test/variables/valid.js similarity index 100% rename from solutions/variables/index.js rename to test/variables/valid.js