imported>=海豚= |
imported>Zyksnowy |
第1行: |
第1行: |
| // <nowiki>
| | 這是H醬的沙盒醬,目前還不會被經常清空。。 |
| // Code to make a footer message about pageviews
| |
| // © John Erling Blad, Creative Commons by Attribution 3.0
| |
|
| |
|
| $(function( $content ) {
| | [[JUNKLAND2]] |
| "use strict";
| | [[ 秋色正浓的夕阳色商店街]]https://danbooru.donmai.us/posts/1000734?tags=stealth_sex |
| var days = 7;
| | sumeragi_ryouko_no_bitch_na_1_nichi |
|
| | 四葉妹妹! |
| var conf = mw.config.get( [
| |
| 'wgUserLanguage',
| |
| 'wgNamespaceNumber',
| |
| 'wgServerName',
| |
| 'wgPageName'
| |
| ] );
| |
|
| |
| if ( conf.wgNamespaceNumber !== 0) {
| |
| mw.log( "So wise so young, they say do never live long." );
| |
| return;
| |
| }
| |
|
| |
| var ajax = {
| |
| 'protocol': mw.Uri.protocol,
| |
| 'host': 'hmoegirl.com',
| |
| 'path': '/api/rest_v1/metrics/pageviews/per-article'
| |
| };
| |
|
| |
| var buildURI = function(ajax, opts) {
| |
| var args = jQuery.extend({}, ajax, opts);
| |
| var path = ajax.path.split('/');
| |
| if (args.project === undefined) {
| |
| args.project = conf.wgServerName;
| |
| }
| |
| if (/^[\w\.]*$/.test(args.project)) path.push(args.project);
| |
| if (args.access === undefined) {
| |
| args.access = 'all-access';
| |
| }
| |
| if (/^[-\w]*$/.test(args.access)) path.push(args.access);
| |
| if (args.agents === undefined) {
| |
| args.agents = 'all-agents';
| |
| }
| |
| if (/^[-\w]*$/.test(args.agents)) path.push(args.agents);
| |
| if (args.pageName === undefined) {
| |
| args.pageName = conf.wgPageName;
| |
| path.push(args.pageName);
| |
| }
| |
| else {
| |
| if (/^[-+_\w\s%]*$/i.test(args.pageName)) path.push(args.pageName);
| |
| }
| |
| if (args.granularity === undefined) {
| |
| args.granularity = 'daily';
| |
| }
| |
| if (/^[\w]*$/.test(args.granularity)) path.push(args.granularity);
| |
| var end = new Date();
| |
| var start = new Date(end.valueOf()-days*24*60*60*1000);
| |
| if (args.start === undefined) {
| |
| args.start = ''
| |
| +start.getUTCFullYear()
| |
| +(start.getUTCMonth()<10 ? '0' : '')+(start.getUTCMonth()+1)
| |
| +(start.getUTCDate()<10 ? '0' : '')+start.getUTCDate();
| |
| }
| |
| if (/^[\d]*$/i.test(args.start)) path.push(args.start);
| |
| if (args.end === undefined) {
| |
| args.end = ''
| |
| +end.getUTCFullYear()
| |
| +(end.getUTCMonth()<10 ? '0' : '')+(end.getUTCMonth()+1)
| |
| +(end.getUTCDate()<10 ? '0' : '')+end.getUTCDate();
| |
| }
| |
| if (/^[\d]*$/i.test(args.end)) path.push(args.end);
| |
| return new mw.Uri( jQuery.extend({}, args, { 'path': path.join('/')}) );
| |
| };
| |
|
| |
| var replied = null;
| |
|
| |
| var stats = {
| |
| count: 0,
| |
| mean: 0,
| |
| items: null
| |
| };
| |
|
| |
| var api = new mw.Api();
| |
|
| |
|
| function loadGraph() {
| | キスと魔王と紅茶~Kiss×Lord×Darjeeling~ |
| if (replied !== null) return;
| |
| replied = false;
| |
| api
| |
| .ajax({
| |
| action: 'parse',
| |
| prop: 'text',
| |
| title: conf.wgPageName,
| |
| text: "{{Graph:PageViews|"+days+"|"+conf.wgPageName+"}}"
| |
| })
| |
| .fail(function(){
| |
| replied = null;
| |
| })
| |
| .done(function(data){
| |
| replied = true;
| |
| var $collapsible = $('#statbox').children('.mw-collapsible-content');
| |
| $.each( data.parse.text, function ( index, text ) {
| |
| $collapsible.append($('<div>').html(text));
| |
| });
| |
| });
| |
| }
| |
|
| |
| function render() {
| |
| if ($('#statbox').size() > 0) {
| |
| return;
| |
| }
| |
| var text = '';
| |
| if (stats.count>0) {
| |
| var nowMsg = 'pageview-now-single';
| |
| if (stats.count>1) {
| |
| nowMsg = 'pageview-now-multiple';
| |
| }
| |
| text += mw.message( nowMsg, stats.items[0].views, stats.items[0].ago ).text();
| |
| }
| |
| if (stats.count>1) {
| |
| var prevMsg = 'pageview-prev-same';
| |
| if (stats.items[1].views > stats.items[0].views) {
| |
| prevMsg = 'pageview-prev-down';
| |
| } else if (stats.items[1].views < stats.items[0].views) {
| |
| prevMsg = 'pageview-prev-up';
| |
| }
| |
| text += ' ' + mw.message( prevMsg, Math.abs(stats.items[0].views - stats.items[1].views), stats.items[1].ago-stats.items[0].ago ).text();
| |
| var meanMsg = 'pageview-mean';
| |
| text += ' ' + mw.message( meanMsg, Math.round(stats.mean), stats.count ).text();
| |
| }
| |
| if (stats.count !== days) {
| |
| var incompleteMsg = 'pageview-incomplete';
| |
| text += ' ' + mw.message( incompleteMsg ).text();
| |
| }
| |
| var $stat = $('<li>')
| |
| .attr({'id': 'statbox', 'data-mw': 'interface'});
| |
| $stat
| |
| .text(text)
| |
| .prependTo('#footer-info');
| |
| if (stats.count>1) {
| |
| $stat
| |
| .addClass('statbox mw-collapsible mw-collapsed')
| |
| .append($('<div>').addClass('mw-collapsible-content'))
| |
| .makeCollapsible();
| |
| }
| |
| $stat.children('.mw-collapsible-toggle').mouseover(loadGraph);
| |
| }
| |
|
| |
| var statsRequest = $.ajax({
| |
| 'cache':true,
| |
| 'dataType': 'json',
| |
| 'url': buildURI(ajax, {}) })
| |
| .done(function(data){
| |
| if (!(data.items)) {
| |
| data.items = [];
| |
| }
| |
| data.items.reverse();
| |
| var num = 0;
| |
| var acc = 0;
| |
| var now = new Date();
| |
| var daylength = 24*60*60*1000;
| |
| $.each( data.items, function ( index, item ) {
| |
| acc += item.views;
| |
| num++;
| |
| var dtg = item.timestamp.replace(/^(\d{4})(\d{2})(\d{2}).*$/, '$1-$2-$3');
| |
| var then = new Date(dtg);
| |
| item.ago = Math.floor((now - then)/daylength);
| |
| });
| |
| stats.items = data.items;
| |
| stats.count = num;
| |
| stats.mean = acc/num;
| |
| });
| |
|
| |
| var msgs = {
| |
| 'pageview-now-single':'本条目在{{PLURAL:$2|昨天|$2天前}}仅有$1次浏览。',
| |
| 'pageview-now-multiple':'本条目{{PLURAL:$2|昨天|$2天前}}被浏览$1次,',
| |
| 'pageview-prev-down':'较那天之前$2天减少$1次浏览,',
| |
| 'pageview-prev-same':'与那天之前$2天相同,',
| |
| 'pageview-prev-up':'较那天之前$2天增长$1次浏览,',
| |
| 'pageview-mean':'在$2天内平均浏览量为$1次。',
| |
| 'pageview-incomplete':'数据集不完整。',
| |
| };
| |
|
| |
|
| var amRequest = api.ajax({
| | 牝トロ痴漢線 ~快楽嬢射案内~ (Metro Chikan-Sen ~Kairaku-Jousha Annai~) |
| action: 'query',
| | |
| meta: 'allmessages',
| | https://www.youtube.com/watch?v=_rZCofcCbc0 |
| amlang: conf.wgUserLanguage,
| | |
| ammessages: Object.keys(msgs)
| | インフィニット・ストラトス (IS) |
| })
| | |
| .done(function(data){
| | A 2009 light novel series by Yumi |
| $.each( data.query.allmessages, function ( index, message ) {
| | |
| if ( message.missing !== '' ) {
| | |
| mw.messages.set( message.normalizedname, message['*'] );
| | tsuki possession 14 |
| } else if (msgs[message.name]) {
| | |
| mw.messages.set( message.normalizedname, msgs[message.name] );
| | boku to gonee to umi no year!! 16 |
| }
| | |
| });
| | Copyrights |
| });
| | ? bishoujo mangekyou 214 |
| Promise.all([amRequest, statsRequest]).then(render);
| | |
| });
| | idu.com/s?wd=tsuki+possession+14+boku+to+gonee+to+umi+no+year!!+16+Copyrights+%3F+bishoujo+mangekyou+214+https%3A%2F%2Fdanbooru.donmai.us%2Fposts%3Fpage%3D11%26tags%3Dstealth_sex&ie=UTF-8 |
| // </nowiki> | | |
| | Copyrights |
| | ? aki no urara no akane-iro shoutengai 82 |
| | |
| | Copyrights |
| | ? uwaki tsuma 2 |
| | |
| | Copyrights |
| | ? witchblade 422 |
| | |
| | Copyrights |
| | ? aniyome 7 |
| | ---- |
| | https://danbooru.donmai.us/posts/2530971?tags=stealth_sex+animated |
| | |
| | https://danbooru.donmai.us/posts?utf8=✓&tags=under_kotatsu+SEX&ms=1 |
| | |
| | [[ 脚伸过桌子]] |
| | https://danbooru.donmai.us/posts?tags=footjob+under_table |
| | 大概鎖定了 |
| | ---- |
| | https://danbooru.donmai.us/posts/98170?tags=stealth_sex |
| | |
| | https://danbooru.donmai.us/posts/65913?tags=stealth_sex |
| | |
| | discreet_partner under_desk |
| | |
| | 結束,, |
| | |
| | https://danbooru.donmai.us/posts/1218906?tags=stealth_sex https://danbooru.donmai.us/posts?tags=smirk |
| | |
| | 差點以為是 https://chan.sankakucomplex.com/?tags=slight_smile&commit=Search |