diff --git a/fixtures/hugo-structure.yml b/fixtures/hugo-structure.yml index 8f98145..0f958a0 100644 --- a/fixtures/hugo-structure.yml +++ b/fixtures/hugo-structure.yml @@ -1,8 +1,8 @@ mappings: - name: A exercises: - - B - C + - B - name: D exercises: - E diff --git a/fixtures/source/exercises/B/images/bimage1.png b/fixtures/source/exercises/B/images/bimage1.png new file mode 100644 index 0000000..e69de29 diff --git a/fixtures/source/exercises/C/images/cimage1.png b/fixtures/source/exercises/C/images/cimage1.png new file mode 100644 index 0000000..e69de29 diff --git a/fixtures/source/exercises/C/images/cimage2.png b/fixtures/source/exercises/C/images/cimage2.png new file mode 100644 index 0000000..e69de29 diff --git a/fixtures/target/01-A/C.md b/fixtures/target/01-A/01-C.md similarity index 100% rename from fixtures/target/01-A/C.md rename to fixtures/target/01-A/01-C.md diff --git a/fixtures/target/01-A/01-C/images/cimage1.png b/fixtures/target/01-A/01-C/images/cimage1.png new file mode 100644 index 0000000..e69de29 diff --git a/fixtures/target/01-A/01-C/images/cimage2.png b/fixtures/target/01-A/01-C/images/cimage2.png new file mode 100644 index 0000000..e69de29 diff --git a/fixtures/target/01-A/B.md b/fixtures/target/01-A/02-B.md similarity index 100% rename from fixtures/target/01-A/B.md rename to fixtures/target/01-A/02-B.md diff --git a/fixtures/target/01-A/02-B/images/bimage1.png b/fixtures/target/01-A/02-B/images/bimage1.png new file mode 100644 index 0000000..e69de29 diff --git a/fixtures/target/01-A/index.md b/fixtures/target/01-A/_index.md similarity index 100% rename from fixtures/target/01-A/index.md rename to fixtures/target/01-A/_index.md diff --git a/fixtures/target/02-D/E.md b/fixtures/target/02-D/01-E.md similarity index 100% rename from fixtures/target/02-D/E.md rename to fixtures/target/02-D/01-E.md diff --git a/fixtures/target/02-D/index.md b/fixtures/target/02-D/_index.md similarity index 100% rename from fixtures/target/02-D/index.md rename to fixtures/target/02-D/_index.md diff --git a/main.go b/main.go index 7556d05..159dee5 100644 --- a/main.go +++ b/main.go @@ -75,7 +75,7 @@ func main() { index := fmt.Sprintf("%02d", i+1) fullSrc := learningPath + "/" + mapping.Name + "/index.md" fullTgtDir := targetDir + "/" + index + "-" + mapping.Name - fullTgt := fullTgtDir + "/index.md" + fullTgt := fullTgtDir + "/_index.md" if !exists(fullTgtDir) { os.MkdirAll(fullTgtDir, mode) } @@ -84,12 +84,19 @@ func main() { err = shutil.CopyFile(fullSrc, fullTgt, false) check(err) - for _, exercise := range mapping.Exercises { + for j, exercise := range mapping.Exercises { + subIndex := fmt.Sprintf("%02d", j+1) fullSrc := exercisePath + "/" + exercise + "/README.md" - fullTgt := targetDir + "/" + index + "-" + mapping.Name + "/" + exercise + ".md" + fullTgt := targetDir + "/" + index + "-" + mapping.Name + "/" + subIndex + "-" + exercise + ".md" fmt.Println(fullSrc + " to " + fullTgt) err = shutil.CopyFile(fullSrc, fullTgt, false) check(err) + fullSrcImages := exercisePath + "/" + exercise + "/images" + if _, err := os.Stat(fullSrcImages); err == nil { + fullTgtImages := targetDir + "/" + index + "-" + mapping.Name + "/" + subIndex + "-" + exercise + "/images" + err = shutil.CopyTree(fullSrcImages, fullTgtImages, nil) + check(err) + } } } diff --git a/main_test.go b/main_test.go index d41491a..1cb6f17 100644 --- a/main_test.go +++ b/main_test.go @@ -66,8 +66,8 @@ var _ = Describe("hugo-parser", func() { result := `mappings: - name: A exercises: - - B - C + - B - name: D exercises: - E`