Compare commits

...

7 Commits
1.2 ... main

4 changed files with 149 additions and 94 deletions

47
diji-build.sh Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
echo "diji-build 1.0"
version=$(go run . -- --buildversion)
echo "Building diji $version"
rldir="release"
if [ -f "$rldir" ] ; then
rm -rf "$rldir"
echo "Removed files from the previous build"
fi
mkdir release
mkdir release/diji
cp -r diji-config release/diji
echo "diji-config prepared"
GOOS=linux GOARCH=amd64 go build -o release/diji/diji
(cd release; zip -r diji-$version-linux-amd64.zip diji; rm -rf diji/diji)
echo "linux/amd64 built"
GOOS=linux GOARCH=386 go build -o release/diji/diji
(cd release; zip -r diji-$version-linux-i386.zip diji; rm -rf diji/diji)
echo "linux/386 built"
GOOS=linux GOARCH=arm64 go build -o release/diji/diji
(cd release; zip -r diji-$version-linux-arm64.zip diji; rm -rf diji/diji)
echo "linux/arm64 built"
GOOS=linux GOARCH=arm go build -o release/diji/diji
(cd release; zip -r diji-$version-linux-arm.zip diji; rm -rf diji/diji)
echo "linux/arm built"
GOOS=darwin GOARCH=amd64 go build -o release/diji/diji
(cd release; zip -r diji-$version-macos-amd64.zip diji; rm -rf diji/diji)
echo "darwin/amd64 built"
GOOS=darwin GOARCH=arm64 go build -o release/diji/diji
(cd release; zip -r diji-$version-macos-arm64.zip diji; rm -rf diji/diji)
echo "darwin/arm64 built"
GOOS=windows GOARCH=amd64 go build -o release/diji/diji.exe
(cd release; zip -r diji-$version-windows-amd64.zip diji; rm -rf diji/diji.exe)
echo "windows/amd64 built"
GOOS=windows GOARCH=386 go build -o release/diji/diji.exe
(cd release; zip -r diji-$version-windows-i386.zip diji; rm -rf diji/diji.exe)
echo "windows/386 built"
GOOS=windows GOARCH=arm64 go build -o release/diji/diji.exe
(cd release; zip -r diji-$version-windows-arm64.zip diji; rm -rf diji/diji.exe)
echo "windows/arm64 built"
GOOS=windows GOARCH=arm go build -o release/diji/diji.exe
(cd release; zip -r diji-$version-windows-arm.zip diji; rm -rf diji/diji.exe)
echo "windows/arm built"
rm -rf release/diji
echo "Cleaned up"
echo "Done, the zips are ready in the release directory"

View File

@ -1,5 +1,8 @@
// Quick mode skips all the questions besides project name and always uses the default option. // Quick mode skips all the questions besides project name and always uses the default option.
quick-mode = false quick-mode = false
// Debug mode - prints all variables at the end of a run. // Should a favicon be added by default
debug = false favicon = true
// Create a commit after initializing the repo
commit = true

View File

@ -0,0 +1 @@
.DS_Store

188
diji.go
View File

@ -43,23 +43,18 @@ func copy(src, dst string) (int64, error) {
} }
func main() { func main() {
var ver string = "1.2" var ver string = "1.3"
var version int = 3 // var version int = 4
argsar := os.Args[1:] argsar := os.Args[1:]
var debugelement string = "-d"
var quickelement string = "-q" var quickelement string = "-q"
var debugargument bool = false var buildelement string = "--buildversion"
var addfavelement string = "-f"
var commitelement string = "-c"
var quickargument bool = false var quickargument bool = false
var buildargument bool = false
for i := 0; i < len(argsar); i++ { var addfavargument bool = false
// checking if the array contains the given value var commitargument bool = false
if argsar[i] == debugelement {
// changing the boolean variable
debugargument = true
break
}
}
for i := 0; i < len(argsar); i++ { for i := 0; i < len(argsar); i++ {
// checking if the array contains the given value // checking if the array contains the given value
@ -70,6 +65,38 @@ func main() {
} }
} }
for i := 0; i < len(argsar); i++ {
// checking if the array contains the given value
if argsar[i] == buildelement {
// changing the boolean variable
buildargument = true
break
}
}
for i := 0; i < len(argsar); i++ {
// checking if the array contains the given value
if argsar[i] == addfavelement {
// changing the boolean variable
addfavargument = true
break
}
}
if buildargument == true {
fmt.Print(ver)
os.Exit(0)
}
for i := 0; i < len(argsar); i++ {
// checking if the array contains the given value
if argsar[i] == commitelement {
// changing the boolean variable
commitargument = true
break
}
}
var projname string var projname string
fmt.Println("地基") fmt.Println("地基")
@ -104,16 +131,19 @@ func main() {
fmt.Print(err) fmt.Print(err)
} }
configtext := string(configbytes) configtext := string(configbytes)
var quickmode bool = strings.Contains(configtext, "quick-mode = true")
var debug bool = strings.Contains(configtext, "debug = true")
if debugargument == true { var gitemplatelocation string
if debug == true {
debug = false gitemplatelocation = configlocation + "/gitignore.txt"
} else if debug == false { gibytes, err := os.ReadFile(gitemplatelocation)
debug = true if err != nil {
} fmt.Print(err)
} }
gitemplatetext := string(gibytes)
var quickmode bool = strings.Contains(configtext, "quick-mode = true")
var addfav bool = strings.Contains(configtext, "favicon = true")
var commitinit bool = strings.Contains(configtext, "commit = true")
if quickargument == true { if quickargument == true {
if quickmode == true { if quickmode == true {
@ -123,6 +153,22 @@ func main() {
} }
} }
if addfavargument == true {
if addfav == true {
addfav = false
} else if addfav == false {
addfav = true
}
}
if commitargument == true {
if commitinit == true {
commitinit = false
} else if commitinit == false {
commitinit = true
}
}
var cssstr string var cssstr string
var jsstr string var jsstr string
var samplestr string var samplestr string
@ -181,13 +227,17 @@ func main() {
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
var assetspath string = projname + "/assets"
if err := os.Mkdir(assetspath, os.ModePerm); err != nil { if addfav == true {
log.Fatal(err) var assetspath string = projname + "/assets"
if err := os.Mkdir(assetspath, os.ModePerm); err != nil {
log.Fatal(err)
}
var favpath string = assetspath + "/favicon.png"
copy(configlocation+"/defaultfav.png", favpath)
fmt.Println(favpath + " created.")
} }
var favpath string = assetspath + "/favicon.png"
copy(configlocation+"/defaultfav.png", favpath)
fmt.Println(favpath + " created.")
var indexcontent1 string = `<!DOCTYPE html> var indexcontent1 string = `<!DOCTYPE html>
<html lang="` + langstr + `"> <html lang="` + langstr + `">
<head> <head>
@ -195,7 +245,6 @@ func main() {
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>` + projname + `</title> <title>` + projname + `</title>
<link rel="icon" type="image" href="./assets/favicon.png">
` `
var csstag string = `<link rel="stylesheet" type="text/css" href="style.css"> var csstag string = `<link rel="stylesheet" type="text/css" href="style.css">
` `
@ -214,6 +263,11 @@ func main() {
` + samplecontent + ` ` + samplecontent + `
</body>` </body>`
} }
var favtag string = `<link rel="icon" type="image" href="./assets/favicon.png">
`
if addfav == true {
indexcontent1 = indexcontent1 + favtag
}
if createcss == true { if createcss == true {
indexcontent1 = indexcontent1 + csstag indexcontent1 = indexcontent1 + csstag
} }
@ -260,7 +314,7 @@ font-family: sans-serif;
if creategitignore == true { if creategitignore == true {
giname = projname + "/.gitignore" giname = projname + "/.gitignore"
gicontent = ".DS_Store " + gifiles gicontent = gitemplatetext + gifiles
gignore, err := os.Create(giname) gignore, err := os.Create(giname)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
@ -277,74 +331,24 @@ font-family: sans-serif;
if err := cmd.Run(); err != nil { if err := cmd.Run(); err != nil {
log.Fatal(err) 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"`) if commitinit == true {
cmd2.Dir = "./" + projname
if err := cmd2.Run(); err != nil { cmd1 := exec.Command("git", "add", ".")
log.Fatal(err) 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.") fmt.Println("Git repo initialized.")
} }
if debug == true {
fmt.Println(version)
fmt.Println("projname(string): " + projname)
fmt.Print("createcss(bool): ")
fmt.Println(createcss)
fmt.Print("createjs(bool): ")
fmt.Println(createjs)
fmt.Print("configbytes([]byte]): ")
fmt.Println(configbytes)
fmt.Println("configtext(string): " + configtext)
fmt.Print("quickmode(bool): ")
fmt.Println(quickmode)
fmt.Print("debug(bool): ")
fmt.Println(debug)
fmt.Println("cssstr(string): " + cssstr)
fmt.Println("jsstr(string): " + jsstr)
fmt.Println("indname(string): " + indname)
fmt.Println("assetspath(string): " + assetspath)
fmt.Println("favpath(string): " + favpath)
fmt.Println("indexcontent1(string): " + indexcontent1)
fmt.Println("csstag(string): " + csstag)
fmt.Println("jstag(string): " + jstag)
fmt.Println("indexcontent2(string): " + indexcontent2)
fmt.Println("indexcontent(string): " + indexcontent)
fmt.Println("cssname(string): " + cssname)
fmt.Println("csscontent(string): " + csscontent)
fmt.Println("jsname(string): " + jsname)
fmt.Print("argsar(array): ")
fmt.Println(argsar)
fmt.Println("debugelement(string): " + debugelement)
fmt.Println("quickelement(string): " + quickelement)
fmt.Print("debugargument(bool): ")
fmt.Println(debugargument)
fmt.Print("quickargument(bool): ")
fmt.Println(quickargument)
fmt.Println("configlocation(string): " + configlocation)
fmt.Println("configfile(string): " + configfile)
fmt.Println("exPath(string): " + exPath)
fmt.Println("samplestr(string): " + samplestr)
fmt.Println("langstr(string): " + langstr)
fmt.Println("gitstr(string): " + gitstr)
fmt.Println("gitignorestr(string): " + gitignorestr)
fmt.Println("gifiles(string): " + gifiles)
fmt.Print("createsample(bool): ")
fmt.Println(createsample)
fmt.Print("initgit(bool): ")
fmt.Println(initgit)
fmt.Print("creategitignore(bool): ")
fmt.Println(creategitignore)
fmt.Println("samplecontent(string)" + samplecontent)
fmt.Println("giname(string)" + giname)
fmt.Println("gicontent(string)" + gicontent)
}
fmt.Println("Project created in ./" + projname + ".") fmt.Println("Project created in ./" + projname + ".")
fmt.Println("Thanks for using diji.") fmt.Println("Thanks for using diji.")