mirror of
https://github.com/makew0rld/amfora.git
synced 2024-11-28 02:02:34 +03:00
💄 >9 link texts are in line - fixes #60
This commit is contained in:
parent
fb2bce5a78
commit
f3b7437046
@ -5,6 +5,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
### Added
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Two digit (and higher) link texts are now in line with one digit ones (#60)
|
||||||
|
|
||||||
|
|
||||||
## [1.4.0] - 2020-07-28
|
## [1.4.0] - 2020-07-28
|
||||||
### Added
|
### Added
|
||||||
- **Theming** - check out [default-config.toml](./default-config.toml) for details (#46)
|
- **Theming** - check out [default-config.toml](./default-config.toml) for details (#46)
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"github.com/makeworld-the-better-one/amfora/display"
|
"github.com/makeworld-the-better-one/amfora/display"
|
||||||
)
|
)
|
||||||
|
|
||||||
var version = "1.4.0"
|
var version = "1.5.0-unreleased"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// err := logger.Init()
|
// err := logger.Init()
|
||||||
|
@ -145,6 +145,26 @@ func convertRegularGemini(s string, numLinks, width int) (string, []string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
links = append(links, url)
|
links = append(links, url)
|
||||||
|
num := numLinks + len(links) // Visible link number, one-indexed
|
||||||
|
|
||||||
|
var indent int
|
||||||
|
if num > 99 {
|
||||||
|
// Indent link text by 3 or more spaces
|
||||||
|
indent = len(strconv.Itoa(num)) + 4 // +4 indent for spaces and brackets
|
||||||
|
} else {
|
||||||
|
// One digit and two digit links have the same spacing - see #60
|
||||||
|
indent = 5 // +4 indent for spaces and brackets, and 1 for link number
|
||||||
|
}
|
||||||
|
|
||||||
|
// Spacing after link number: 1 or 2 spaces?
|
||||||
|
var spacing string
|
||||||
|
if num > 9 {
|
||||||
|
// One space to keep it in line with other links - see #60
|
||||||
|
spacing = " "
|
||||||
|
} else {
|
||||||
|
// One digit numbers use two spaces
|
||||||
|
spacing = " "
|
||||||
|
}
|
||||||
|
|
||||||
// Wrap and add link text
|
// Wrap and add link text
|
||||||
// Wrap the link text, but add some spaces to indent the wrapped lines past the link number
|
// Wrap the link text, but add some spaces to indent the wrapped lines past the link number
|
||||||
@ -161,44 +181,44 @@ func convertRegularGemini(s string, numLinks, width int) (string, []string) {
|
|||||||
// Those are the default colors, anyway
|
// Those are the default colors, anyway
|
||||||
|
|
||||||
wrappedLink = wrapLine(linkText, width,
|
wrappedLink = wrapLine(linkText, width,
|
||||||
strings.Repeat(" ", len(strconv.Itoa(numLinks+len(links)))+4)+ // +4 for spaces and brackets
|
strings.Repeat(" ", indent)+
|
||||||
`["`+strconv.Itoa(numLinks+len(links)-1)+`"][`+config.GetColorString("amfora_link")+`]`,
|
`["`+strconv.Itoa(num-1)+`"][`+config.GetColorString("amfora_link")+`]`,
|
||||||
`[-][""]`,
|
`[-][""]`,
|
||||||
false, // Don't indent the first line, it's the one with link number
|
false, // Don't indent the first line, it's the one with link number
|
||||||
)
|
)
|
||||||
|
|
||||||
// Add special stuff to first line, like the link number
|
// Add special stuff to first line, like the link number
|
||||||
wrappedLink[0] = fmt.Sprintf(`[%s::b][`, config.GetColorString("link_number")) +
|
wrappedLink[0] = fmt.Sprintf(`[%s::b][`, config.GetColorString("link_number")) +
|
||||||
strconv.Itoa(numLinks+len(links)) + "[]" + "[-::-] " +
|
strconv.Itoa(num) + "[]" + "[-::-]" + spacing +
|
||||||
`["` + strconv.Itoa(numLinks+len(links)-1) + `"][` + config.GetColorString("amfora_link") + `]` +
|
`["` + strconv.Itoa(num-1) + `"][` + config.GetColorString("amfora_link") + `]` +
|
||||||
wrappedLink[0] + `[-][""]`
|
wrappedLink[0] + `[-][""]`
|
||||||
} else {
|
} else {
|
||||||
// Not a gemini link
|
// Not a gemini link
|
||||||
|
|
||||||
wrappedLink = wrapLine(linkText, width,
|
wrappedLink = wrapLine(linkText, width,
|
||||||
strings.Repeat(" ", len(strconv.Itoa(numLinks+len(links)))+4)+ // +4 for spaces and brackets
|
strings.Repeat(" ", indent)+
|
||||||
`["`+strconv.Itoa(numLinks+len(links)-1)+`"][`+config.GetColorString("foreign_link")+`]`,
|
`["`+strconv.Itoa(num-1)+`"][`+config.GetColorString("foreign_link")+`]`,
|
||||||
`[-][""]`,
|
`[-][""]`,
|
||||||
false, // Don't indent the first line, it's the one with link number
|
false, // Don't indent the first line, it's the one with link number
|
||||||
)
|
)
|
||||||
|
|
||||||
wrappedLink[0] = fmt.Sprintf(`[%s::b][`, config.GetColorString("link_number")) +
|
wrappedLink[0] = fmt.Sprintf(`[%s::b][`, config.GetColorString("link_number")) +
|
||||||
strconv.Itoa(numLinks+len(links)) + "[]" + "[-::-] " +
|
strconv.Itoa(num) + "[]" + "[-::-]" + spacing +
|
||||||
`["` + strconv.Itoa(numLinks+len(links)-1) + `"][` + config.GetColorString("foreign_link") + `]` +
|
`["` + strconv.Itoa(num-1) + `"][` + config.GetColorString("foreign_link") + `]` +
|
||||||
wrappedLink[0] + `[-][""]`
|
wrappedLink[0] + `[-][""]`
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// No colors allowed
|
// No colors allowed
|
||||||
|
|
||||||
wrappedLink = wrapLine(linkText, width,
|
wrappedLink = wrapLine(linkText, width,
|
||||||
strings.Repeat(" ", len(strconv.Itoa(numLinks+len(links)))+4)+ // +4 for spaces and brackets
|
strings.Repeat(" ", len(strconv.Itoa(num))+4)+ // +4 for spaces and brackets
|
||||||
`["`+strconv.Itoa(numLinks+len(links)-1)+`"]`,
|
`["`+strconv.Itoa(num-1)+`"]`,
|
||||||
`[""]`,
|
`[""]`,
|
||||||
false, // Don't indent the first line, it's the one with link number
|
false, // Don't indent the first line, it's the one with link number
|
||||||
)
|
)
|
||||||
|
|
||||||
wrappedLink[0] = `[::b][` + strconv.Itoa(numLinks+len(links)) + "[][::-] " +
|
wrappedLink[0] = `[::b][` + strconv.Itoa(num) + "[][::-] " +
|
||||||
`["` + strconv.Itoa(numLinks+len(links)-1) + `"]` +
|
`["` + strconv.Itoa(num-1) + `"]` +
|
||||||
wrappedLink[0] + `[""]`
|
wrappedLink[0] + `[""]`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user