本站源代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tamal Saha 171b359877 Use gitea forked macaron (#7933) 4 years ago
..
.gitignore Use gitea forked macaron (#7933) 4 years ago
LICENSE Use gitea forked macaron (#7933) 4 years ago
README.md Use gitea forked macaron (#7933) 4 years ago
paginater.go Use gitea forked macaron (#7933) 4 years ago

README.md

Paginater Build Status

Package paginater is a helper module for custom pagination calculation.

Installation

go get github.com/Unknwon/paginater

Getting Started

The following code shows an example of how to use paginater:

package main

import "github.com/Unknwon/paginater"

func main() {
	// Arguments:
	// - Total number of rows
	// - Number of rows in one page
	// - Current page number 
	// - Number of page links
	p := paginater.New(45, 10, 3, 3)
	
	// Then use p as a template object named "Page" in "demo.html"
	// ...
}

demo.html

{{if not .Page.IsFirst}}[First](1){{end}}
{{if .Page.HasPrevious}}[Previous]({{.Page.Previous}}){{end}}

{{range .Page.Pages}}
	{{if eq .Num -1}}
	...
	{{else}}
	{{.Num}}{{if .IsCurrent}}(current){{end}}
	{{end}}
{{end}}

{{if .Page.HasNext}}[Next]({{.Page.Next}}){{end}}
{{if not .Page.IsLast}}[Last]({{.Page.TotalPages}}){{end}}

Possible output:

[First](1) [Previous](2) ... 2 3(current) 4 ... [Next](4) [Last](5)

As you may guess, if the Page value is -1, you should print ... in the HTML as common practice.

Getting Help

License

This project is under Apache v2 License. See the LICENSE file for the full license text.

上海开阖软件有限公司 沪ICP备12045867号-1