Greasy Fork is available in English.
A script to make a surprise for Valentine's Day
// ==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);
}
}
})();