{
//
// ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:PageHistory
// Please do not modify it anywhere else, as it may get copied and override your changes.
// Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:PageHistory
// The graph uses Query API https://www.mediawiki.org/w/api.php?action=help&modules=query%2Brevisions
//
"version": 2,
"width": 500,
"height": 300,
// Loads last max (500) revisions of the given (or current) article
"data": [
{
"name": "values",
"url": "wikiapi:///?action=query&format=json&formatversion=2&prop=revisions&titles=Template%3AGraph%3APageHistory&rvlimit=max&rvprop=timestamp|user|size&rawcontinue",
"format": {
"type": "json",
"property": "query.pages.[0].revisions",
"parse": {"timestamp": "date","size": "number"}
},
},
{
"name": "stats",
"source": "values",
"transform": [{"type": "aggregate", "groupby": ["timestamp"], "summarize": {"size": "sum"} }]
}
],
"scales": [
{
"name": "x",
"type": "time",
"range": "width",
"domain": {"data": "values","field": "timestamp"}
},
{
"name": "y",
"type": "linear",
"range": "height",
"nice": true,
"domain": {"data": "stats","field": "sum_size"}
},
{
"name": "color",
"type": "ordinal",
"range": "category20",
"domain": {"data": "values","field": "user"}
}],
"axes": [
{
"type": "x",
"scale": "x",
"tickSizeEnd": 0,
"grid": true,
"subdivide": 2,
"properties": {
"ticks": {"stroke": {"value": "#666666"} },
"labels": {"fill": {"value": "#666666"},"angle": {"value": 30},"align": {"value": "left"} },
"grid": {"stroke": {"value": "#cacaca"} },
"axis": {"stroke": {"value": "#666666"},"strokeWidth": {"value": 2} }
}
},
{
"type": "y",
"scale": "y",
"grid": true,
"title": "Page size (bytes)",
"properties": {
"ticks": {"stroke": {"value": "#666666"} },
"labels": {"fill": {"value": "#666666"} },
"grid": {"stroke": {"value": "#cacaca"} },
"axis": {"stroke": {"value": "#666666"},"strokeWidth": {"value": 2} }
}
}],
"legends": [{
"fill": "color",
"title": "User",
"offset": 10,
"properties": {"symbols": {"stroke": {"value": "transparent"} } }
}],
"marks": [
{
"type": "line",
"from": {"data": "values"},
"properties": {
"enter": {
"x": {"scale": "x","field": "timestamp"},
"y": {"scale": "y","field": "size"},
"stroke": {"value": "#000"},
"strokeWidth": {"value": 1}
}
}
},
{
"type": "symbol",
"from": {"data": "values"},
"properties": {
"enter": {
"x": {"scale": "x","field": "timestamp"},
"y": {"scale": "y","field": "size"},
"fill": {"scale": "color", "field": "user"},
"size": {"value": 15},
"stroke": {"scale": "color", "field": "user"}
}
}
}]
}