Greasy Fork is available in English.

Valentine's Day

A script to make a surprise for Valentine's Day

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği yüklemek için Tampermonkey gibi bir uzantı yüklemeniz gerekir.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği indirebilmeniz için ayrıca Tampermonkey gibi bir eklenti kurmanız gerekmektedir.

Bu komut dosyasını yüklemek için bir kullanıcı komut dosyası yöneticisi uzantısı yüklemeniz gerekecek.

(Zaten bir kullanıcı komut dosyası yöneticim var, kurmama izin verin!)

Bu stili yüklemek için Stylus gibi bir uzantı yüklemeniz gerekir.

Bu stili yüklemek için Stylus gibi bir uzantı kurmanız gerekir.

Bu stili yükleyebilmek için Stylus gibi bir uzantı yüklemeniz gerekir.

Bu stili yüklemek için bir kullanıcı stili yöneticisi uzantısı yüklemeniz gerekir.

Bu stili yüklemek için bir kullanıcı stili yöneticisi uzantısı kurmanız gerekir.

Bu stili yükleyebilmek için bir kullanıcı stili yöneticisi uzantısı yüklemeniz gerekir.

(Zateb bir user-style yöneticim var, yükleyeyim!)

// ==UserScript==
// @name         Valentine's Day
// @name:zh-CN   情人节惊喜
// @name:zh-TW   情人節驚喜
// @namespace    hoothin
// @version      0.1
// @description  A script to make a surprise for Valentine's Day
// @description:zh-CN 伪装成百度新闻的情人节惊喜
// @description:zh-TW 僞裝成百度新聞的情人節驚喜
// @author       hoothin
// @license      MIT License
// @include      *://www.baidu.com/
// @include      *://www.baidu.com/home*
// @include      *://www.baidu.com/?tn=*
// @include      *://www.baidu.com/index.php*
// @include      *://www.baidu.com/s?wd=Valentine*
// @grant        GM_openInTab
// ==/UserScript==

(function() {
    'use strict';
    var valentinName = "小青";    //情人名字
    var myName = "许仙";    //自己名字
    var time = "2007 1 29";    //恋爱纪念日
    var valentineWords = "小青:颜值对我来说不是问题";    //新闻标题
    var valentinePhotoUrl = "http://n1.itc.cn/img8/wb/smccloud/fetch/2015/03/06/194736305359888206.GIF";    //新闻图链接
    
    var date=new Date();
    var dateDay=date.getDate(),dateMonth=date.getMonth()+1;
    if(dateDay!=14||dateMonth!=2)return;
    if(/wd=Valentine/.test(location.href)){
        var dayArr=time.split(" ");
        var html=`
        <!DOCTYPE HTML>
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
        <head>
	        <title>Our Love Story</title>
	        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        	<link href="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/css/default.css" type="text/css" rel="stylesheet">
	        <script type="text/javascript" src="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/js/jquery.js"></script>
        	<script type="text/javascript" src="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/js/garden.js"></script>
            <script type="text/javascript" src="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/js/functions.js"></script>
        </head>
        <body>
	        <div id="mainDiv">
        		<div id="content">
		        	<div id="loveHeart">
				        <canvas id="garden"></canvas>
        				<div id="words">
		        			<div id="messages">
				        		${valentinName}, I have fallen in love with you for
						        <div id="elapseClock"></div>
        					</div>
		        			<div id="loveu">
				        		Love u forever and ever.<br/>
						        <div class="signature">- ${myName}</div>
        					</div>
		        		</div>
        			</div>
		        </div>
	        </div>
	        <script type="text/javascript">
		        var offsetX = $("#loveHeart").width() / 2;
        		var offsetY = $("#loveHeart").height() / 2 - 55;
		        var together = new Date();
        		together.setFullYear(${dayArr[0]}, ${dayArr[1]}, ${dayArr[2]});
        		together.setHours(20);
		        together.setMinutes(0);
        		together.setSeconds(0);
		        together.setMilliseconds(0);
        		if (!document.createElement('canvas').getContext) {
		        	var msg = document.createElement("div");
        			msg.id = "errorMsg";
		        	msg.innerHTML = "Your browser doesn't support HTML5!<br/>Recommend use Chrome 14+/IE 9+/Firefox 7+/Safari 4+";
        			document.body.appendChild(msg);
		            document.execCommand("stop");
        		} else {
		        	startHeartAnimation();
        			timeElapse(together);
		        	setInterval(function () {
				        timeElapse(together);
        			}, 500);
	        	}
        	</script>
        </body>
        </html>`;
        GM_openInTab('data:text/html;charset=utf-8,' + encodeURIComponent(html),false);
    }else{
        var listWrapper=document.querySelector(".s-news-list-wrapper");
        if(listWrapper){
            var valentineItem=document.createElement("div");
            valentineItem.className="s-news-special s-news-item s-news-special-item-tpl-2 s-opacity-blank8";
            valentineItem.innerHTML=`<div class="s-pic-content"><div class="s-pic-content-own"> <ul class="s-news-content-imgs clearfix"> <li class="item-img-wrap"> <a href="https://www.baidu.com/s?wd=Valentine" target="_blank" title="${valentineWords}"> <img class="s-news-img" src="${valentinePhotoUrl}" height="119" width="179"> </a>   </li></ul></div></div> <div class="s-block-container"> <div class="s-block-container-own"> <div class="s-text-content"> <h2><a href="https://www.baidu.com/s?wd=Valentine" title="${valentineWords}" target="_blank" class="s-title-yahei">${valentineWords}</a><a href="javascript:;" class="del"></a></h2>  </div> <div class="from">  <span class="src-net"> <a href="http://ent.chinadaily.com.cn" target="_blank" data-src="1" data-click="LOG_LINK"> 中国日报网 </a> </span>  <span class="src-time">02-11 15:58</span>  <div class="dustbin" data-click="LOG_BTN_DUSTBIN"></div></div> </div> </div>`;
            listWrapper.insertBefore(valentineItem,listWrapper.firstChild);
        }
    }
})();