|
|
@ -35,6 +35,7 @@ func parseDir(folderPath string, newDir string) { |
|
|
|
} |
|
|
|
} |
|
|
|
func startTemplating(folderPath string, newDir string) { |
|
|
|
//do templating for each file in konstruiConfig.Files in konstruiConfig.Files
|
|
|
|
for i := 0; i < len(konstruiConfig.Files); i++ { |
|
|
|
fName := konstruiConfig.Files[i] |
|
|
|
fileNameSplitted := strings.Split(fName, ".") |
|
|
@ -49,6 +50,7 @@ func startTemplating(folderPath string, newDir string) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//do templating for the file pages in konstruiConfig.RepeatPages
|
|
|
|
c.Cyan("starting to generate Pages to repeat") |
|
|
|
for i := 0; i < len(konstruiConfig.RepeatPages); i++ { |
|
|
|
pageTemplate, data := getHtmlAndDataFromRepeatPages(konstruiConfig.RepeatPages[i]) |
|
|
@ -59,15 +61,53 @@ func startTemplating(folderPath string, newDir string) { |
|
|
|
writeFile(newDir+"/"+data[j]["pageName"]+"Page.html", generatedPage) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//copy the konstruiConfig.CopyRaw files without modificate them
|
|
|
|
for i := 0; i < len(konstruiConfig.CopyRaw); i++ { |
|
|
|
fName := konstruiConfig.CopyRaw[i] |
|
|
|
c.Yellow(fName) |
|
|
|
fileNameSplitted := strings.Split(fName, ".") |
|
|
|
if len(fileNameSplitted) > 1 { |
|
|
|
//is a file
|
|
|
|
copyFileRaw(folderPath, fName, newDir) |
|
|
|
} else { |
|
|
|
//is a directory
|
|
|
|
c.Red(folderPath + "/" + fName) |
|
|
|
copyDirRaw(folderPath, fName, newDir) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
func copyDirRaw(fromDir string, currentDir string, newDir string) { |
|
|
|
filesList, _ := ioutil.ReadDir("./" + fromDir + "/" + currentDir) |
|
|
|
fmt.Println(fromDir + "/" + currentDir) |
|
|
|
c.Green(newDir + "/" + currentDir) |
|
|
|
os.MkdirAll(newDir+"/"+currentDir, os.ModePerm) |
|
|
|
for _, f := range filesList { |
|
|
|
fileNameSplitted := strings.Split(f.Name(), ".") |
|
|
|
if len(fileNameSplitted) > 1 { |
|
|
|
//is a file
|
|
|
|
copyFileRaw(fromDir+"/"+currentDir, f.Name(), newDir+"/"+currentDir) |
|
|
|
} else { |
|
|
|
//is a directory
|
|
|
|
copyDirRaw(fromDir+"/"+currentDir, f.Name(), newDir+"/"+currentDir) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
func copyFileRaw(fromDir string, fName string, newDir string) { |
|
|
|
c.Yellow("copying raw " + fromDir + "//" + fName) |
|
|
|
fileContent := readFile(fromDir + "/" + fName) |
|
|
|
writeFile(newDir+"/"+fName, fileContent) |
|
|
|
} |
|
|
|
func main() { |
|
|
|
c.Green("getting files from /webInput") |
|
|
|
c.Green("getting conifg from file konstruiConfig.json") |
|
|
|
//first reads the konstrui.Config.json
|
|
|
|
readKonstruiConfig(rawFolderPath + "/" + konstruiConfigFile) |
|
|
|
c.Green("configuration:") |
|
|
|
fmt.Println(konstruiConfig.Files) |
|
|
|
c.Green("templating") |
|
|
|
//parseDir(rawFolderPath, newFolderPath)
|
|
|
|
|
|
|
|
startTemplating(rawFolderPath, newFolderPath) |
|
|
|
c.Green("webpage finished, wiles at /webOutput") |
|
|
|
c.Green("webpage finished, files at /webOutput") |
|
|
|
} |