Adds spacing to gemini docs to normalize the formatting with gopher docs

This commit is contained in:
Sloom Sloum Sluom IV 2020-09-08 21:20:34 -07:00
parent 97b74ea767
commit 01d071e510
7 changed files with 16 additions and 5 deletions

BIN
.client.go.swp Normal file

Binary file not shown.

BIN
.page.go.swp Normal file

Binary file not shown.

BIN
.url.go.swp Normal file

Binary file not shown.

View File

@ -977,6 +977,7 @@ func (c *client) handleGemini(u Url) {
case 2:
// Success
if capsule.MimeMaj == "text" || (c.Options["showimages"] == "true" && capsule.MimeMaj == "image") {
u.Mime = capsule.MimeMin
pg := MakePage(u, capsule.Content, capsule.Links)
pg.FileType = capsule.MimeMaj
pg.WrapContent(c.Width-1, (c.Options["theme"] == "color"))

BIN
gemini/.gemini.go.swp Normal file

Binary file not shown.

View File

@ -361,6 +361,7 @@ func parseGemini(b, currentUrl string) (string, []string) {
links := make([]string, 0, 10)
inPreBlock := false
spacer := " "
outputIndex := 0
for i, ln := range splitContent {
@ -371,7 +372,7 @@ func parseGemini(b, currentUrl string) (string, []string) {
alt := strings.TrimSpace(ln)
if len(alt) > 3 {
alt = strings.TrimSpace(alt[3:])
splitContent[outputIndex] = fmt.Sprintf("[ %s ]", alt)
splitContent[outputIndex] = fmt.Sprintf("%s[ALT][ %s ]", spacer, alt)
outputIndex++
}
} else if isPreBlockDeclaration {
@ -401,7 +402,12 @@ func parseGemini(b, currentUrl string) (string, []string) {
if inPreBlock && (BlockBehavior == "alt" || BlockBehavior == "neither") {
continue
}
splitContent[outputIndex] = ln
var leader, tail string = "", ""
if len(ln) > 0 && ln[0] == '#' {
leader = "\033[1m"
tail = "\033[0m"
}
splitContent[outputIndex] = fmt.Sprintf("%s%s%s%s", spacer, leader, ln, tail)
outputIndex++
}
}

10
page.go
View File

@ -72,7 +72,8 @@ func (p *Page) WrapContent(width int, color bool) {
}
width = min(width, 100)
counter := 0
spacer := " "
gopherspacer := " "
geminispacer := " "
var content strings.Builder
var esc strings.Builder
escape := false
@ -126,8 +127,11 @@ func (p *Page) WrapContent(width int, color bool) {
content.WriteRune('\n')
counter = 0
if p.Location.Mime == "1" {
content.WriteString(spacer)
counter += len(spacer)
content.WriteString(gopherspacer)
counter += len(gopherspacer)
} else if strings.HasSuffix(p.Location.Mime, "gemini") {
content.WriteString(geminispacer)
counter += len(geminispacer)
}
content.WriteRune(ch)
counter++