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.
Go to file
Sven Fischer 2ff3302a83
update dependencies
3 weeks ago
example update example screenshot after version v0.10 6 years ago
scripts adjust scripts/ to support tags without starting character v 5 years ago
tmpl fix integrity params 8 months ago
.gitignore reuse writeNewJSON for article stats 2 years ago
.gitlab-ci.yml rework gitlab-ci file 12 months ago
.goreleaser.yml add reading duration charts for months and years 2 years ago
LICENSE add LICENSE 7 years ago readme: update command help output from version 0.27 3 years ago
article-stats.go update interface to *WallabagTime 12 months ago
chart-ascii-table.go fix time formatting in table display and repeat header every 100 lines 6 years ago
chart-json-pretty.go move panic calls out of other than main method 6 years ago
chart-png.go update go-chart to v2 1 year ago
copy.go add flag overwrite for CopyDir function 5 years ago
data-checks.go implement flag to save validated data only 3 years ago
data-checks_test.go add test if data set is valid 3 years ago
data-json.go refactor code to easily generate reading stats for different time periods 2 years ago
flags.go remove flag for article reading stats and always generate them 2 years ago
go.mod update dependencies 3 weeks ago
go.sum update dependencies 3 weeks ago
html.go remove jquery dependency 1 year ago
magefile.go use latest staticcheck again 12 months ago
main.go add a todo 8 months ago
output.go improve staticcheck findings 1 year ago
validate.go remove not needed else block 3 years ago
version.go compiled in version fixed 2 years ago


Draws a chart for unread and total articles in your wallabag instance.

Chart is only created when there at least two data sets, in which unread and total are both different compared with their previous value. Otherwise, if the delta is zero, the go-chart lib does not print a chart.


Example chart


Copy example/config.json along with your wallabag-stats binary and change it according to your wallabag instance.

Updates via Cron

You can install a cronjob to fetch the stats data from your wallabag and let the graph being printed on changes. E.g. a user cronjob line by editing your cronjob file via cronjob -e:

* * * * * cd /home/$USER/opt/wallabag-stats/ && ./wallabag-stats && cp -r output/ /var/www

Updates via systemd Timer


wallabag-stats -h

Usage of ./wallabag-stats:
  -config string
    	file name of config JSON file (default "config.json")
  -d	get debug output (implies verbose mode)
  -data string
    	file name of data JSON file (default "data.json")
    	collect data only, do not generate any charts
    	get even more debug output like data (implies debug mode)
  -f	force regeneration of charts and html even if no new data is present
    	prints all data as formatted json
    	prints all data as ascii table
  -v	print version
    	get through every data item and sort invalid data entries out
    	verbose mode

Project Status

Go Report Card

Go Report Card

How to release

git tag x.yz
git push --tags
goreleaser --rm-dist