From 5cd904f07649ad312749eb837221553de3933982 Mon Sep 17 00:00:00 2001 From: KZacharski Date: Fri, 18 Aug 2023 13:36:52 +0200 Subject: [PATCH] idk what probably finished --- .gitignore | 3 +- diji.go | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 84 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2426b97..204002c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .DS_Store -*.test \ No newline at end of file +*.test +diji diff --git a/diji.go b/diji.go index 18027b4..804e312 100644 --- a/diji.go +++ b/diji.go @@ -5,6 +5,7 @@ import ( "io" "log" "os" + "os/exec" "strings" ) @@ -49,6 +50,9 @@ func main() { fmt.Scanln(&projname) var createcss bool = true var createjs bool = true + var createsample bool = false + var initgit bool = true + var creategitignore bool = true configbytes, err := os.ReadFile(".diji-config/config.txt") if err != nil { fmt.Print(err) @@ -59,6 +63,11 @@ func main() { var cssstr string var jsstr string + var samplestr string + var langstr string = "en" + var gitstr string + var gitignorestr string + var gifiles string if quickmode == false { @@ -66,12 +75,31 @@ func main() { fmt.Scanln(&cssstr) fmt.Print("Create a js file (y/n, default y): ") fmt.Scanln(&jsstr) + fmt.Print("Website language (default en): ") + fmt.Scanln(&langstr) + fmt.Print("Insert sample content (y/n, default n): ") + fmt.Scanln(&samplestr) + fmt.Print("Initialize a git repo (y/n, default y): ") + fmt.Scanln(&gitstr) + fmt.Print("Create .gitignore (y/n, default y): ") + fmt.Scanln(&gitignorestr) + fmt.Print("Add files/file types to .gitignore: ") + fmt.Scanln(&gifiles) if cssstr == "n" { createcss = false } if jsstr == "n" { createjs = false } + if samplestr == "y" { + createsample = true + } + if gitstr == "n" { + initgit = false + } + if gitignorestr == "n" { + creategitignore = false + } } if err := os.Mkdir(projname, os.ModePerm); err != nil { @@ -90,8 +118,11 @@ func main() { copy(".diji-config/defaultfav.png", favpath) fmt.Println(favpath + " created.") var indexcontent1 string = ` - + + + + ` + projname + ` ` @@ -100,7 +131,18 @@ func main() { var jstag string = ` ` var indexcontent2 string = ` + + ` + var samplecontent string = `

` + projname + `

+

Generated with diji

+

Website content

` + if createsample == true { + indexcontent2 = ` + +` + samplecontent + ` +` + } if createcss == true { indexcontent1 = indexcontent1 + csstag } @@ -142,6 +184,42 @@ font-family: sans-serif; fmt.Println(jsname + " created.") } + var giname string + var gicontent string + + if creategitignore == true { + giname = projname + "/.gitignore" + gicontent = ".DS_Store " + gifiles + gignore, err := os.Create(giname) + if err != nil { + log.Fatal(err) + } + _, err2 := gignore.WriteString(gicontent) + check(err2) + defer gignore.Close() + + fmt.Println(giname + " created.") + } + + if initgit == true { + cmd := exec.Command("git", "init", projname) + if err := cmd.Run(); err != nil { + log.Fatal(err) + } + cmd1 := exec.Command("git", "add", ".") + cmd1.Dir = "./" + projname + if err := cmd1.Run(); err != nil { + log.Fatal(err) + } + + cmd2 := exec.Command("git", "commit", "-a", "-m", `"Initial commit"`) + cmd2.Dir = "./" + projname + if err := cmd2.Run(); err != nil { + log.Fatal(err) + } + fmt.Println("Git repo initialized.") + } + if debug == true { fmt.Println("projname(string): " + projname) fmt.Print("createcss(bool): ") @@ -170,4 +248,7 @@ font-family: sans-serif; fmt.Println("jsname(string): " + jsname) } + fmt.Println("Project created in ./" + projname + ".") + fmt.Println("Thanks for using diji.") + }