Skip to content

Commit 9b93a81

Browse files
committed
refactor: project structure
1 parent 8aa398f commit 9b93a81

File tree

11 files changed

+57
-9
lines changed

11 files changed

+57
-9
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
node_modules/
44
dist/
55
create-disploy-app.js
6+
.disploy/
7+
.disploy.zip

assets/typescript/README.md renamed to assets/framework-ts/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<a href="https://vercel.com/?utm_source=disploy&utm_campaign=oss"><img src="https://www.datocms-assets.com/31049/1618983297-powered-by-vercel.svg" alt="Vercel" /></a>
88
</p>
99
<h3>
10-
TypeScript Example App
10+
Disploy CLI Framework (TypeScript)
1111
</h3>
1212
<br />
1313
<p>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

go.mod

+6-4
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ go 1.19
55
require (
66
github.com/charmbracelet/bubbles v0.14.0
77
github.com/charmbracelet/bubbletea v0.23.0
8-
github.com/charmbracelet/lipgloss v0.6.0
98
)
109

10+
require github.com/charmbracelet/lipgloss v0.6.0 // indirect
11+
1112
require (
1213
github.com/atotto/clipboard v0.1.4 // indirect
1314
github.com/aymanbagabas/go-osc52 v1.0.3 // indirect
@@ -21,7 +22,8 @@ require (
2122
github.com/muesli/reflow v0.3.0 // indirect
2223
github.com/muesli/termenv v0.13.0 // indirect
2324
github.com/rivo/uniseg v0.2.0 // indirect
24-
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect
25-
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
26-
golang.org/x/text v0.3.7 // indirect
25+
golang.org/x/net v0.2.0
26+
golang.org/x/sys v0.2.0 // indirect
27+
golang.org/x/term v0.2.0 // indirect
28+
golang.org/x/text v0.4.0 // indirect
2729
)

go.sum

+8-3
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,20 @@ github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJ
4242
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
4343
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
4444
github.com/sahilm/fuzzy v0.1.0/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y=
45+
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
46+
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
4547
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
4648
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
4749
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
4850
golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
4951
golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
50-
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU=
5152
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
52-
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
53+
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
54+
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
5355
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
54-
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
56+
golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM=
57+
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
5558
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
59+
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
60+
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
5661
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=

main.go

+12-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,18 @@ func main() {
4141
}
4242

4343
for _, f := range files {
44-
Choices = append(Choices, f.Name())
44+
// read the readme.md file and get the first heading
45+
46+
readme, err := ioutil.ReadFile(".disploy/create-disploy-app-main/assets/" + f.Name() + "/README.md")
47+
48+
if err != nil {
49+
fmt.Println(err)
50+
os.Exit(1)
51+
}
52+
53+
heading := GetFirstHeading(string(readme))
54+
55+
Choices = append(Choices, heading)
4556
}
4657

4758
choiceModel := ChoiceModel()

util.go

+28
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,36 @@ import (
1111
"os/exec"
1212
"path/filepath"
1313
"strings"
14+
15+
"golang.org/x/net/html"
1416
)
1517

18+
func GetFirstHeading(markdown string) string {
19+
head := strings.Split(markdown, "<div align=\"center\">")[1]
20+
head = strings.Split(head, "</div>")[0]
21+
22+
r := strings.NewReader(head)
23+
z := html.NewTokenizer(r)
24+
25+
for {
26+
tt := z.Next()
27+
28+
switch {
29+
case tt == html.ErrorToken:
30+
// End of the document, we're done
31+
return ""
32+
case tt == html.StartTagToken:
33+
t := z.Token()
34+
35+
if t.Data == "h3" {
36+
z.Next()
37+
return strings.TrimSpace(z.Token().Data)
38+
}
39+
}
40+
}
41+
42+
}
43+
1644
func WriteToJson(file string, property string, value string, subproperty ...string) {
1745
f, err := os.Open(file)
1846

0 commit comments

Comments
 (0)