2020-06-18 23:54:48 +03:00
|
|
|
package structs
|
|
|
|
|
|
|
|
// Page is for storing UTF-8 text/gemini pages, as well as text/plain pages.
|
|
|
|
type Page struct {
|
2020-06-24 03:07:25 +03:00
|
|
|
Url string
|
|
|
|
Content string // The processed content, NOT raw. Uses cview colour tags. All link/link texts must have region tags.
|
|
|
|
Links []string // URLs, for each region in the content.
|
|
|
|
Row int // Scroll position
|
|
|
|
Column int // ditto
|
|
|
|
//Displayable bool // Set to true once the content has been modified to display nicely on the screen - margins added
|
2020-06-18 23:54:48 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
// Size returns an approx. size of a Page in bytes.
|
|
|
|
func (p *Page) Size() int {
|
|
|
|
b := len(p.Content) + len(p.Url)
|
|
|
|
for i := range p.Links {
|
|
|
|
b += len(p.Links[i])
|
|
|
|
}
|
|
|
|
return b
|
|
|
|
}
|