Skip to content

Instantly share code, notes, and snippets.

@RedL0tus
Last active August 19, 2020 20:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RedL0tus/31428a6f0f6e48e8e9722be2252fc30d to your computer and use it in GitHub Desktop.
Save RedL0tus/31428a6f0f6e48e8e9722be2252fc30d to your computer and use it in GitHub Desktop.
gf.v2bv.net
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>嘿嘿嘿嘿嘿嘿</title>
<meta name="description" content="SaltedFish Network Status" />
<link href="https://fonts.googleapis.com/css?family=Inconsolata:400,700&amp;subset=latin-ext,vietnamese"rel="stylesheet" />
<style>
*{margin:0;padding:0}*,*:before,*:after{box-sizing:inherit}html{min-height:100%;box-sizing:border-box;-webkit-tap-highlight-color:transparent;font-size:62.5%}body{font-family:'Inconsolata', monospace;font-weight:400;-webkit-font-smoothing:antialiased}article,aside,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}h1,h2,h3,h4,h5,h6{font-weight:400;color:#163541}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}img{max-width:100%;font-style:italic;vertical-align:middle;border:0}svg:not(:root){overflow:hidden}svg{pointer-events:none;max-height:100%}a{background-color:transparent;text-decoration:none;color:#0067FB}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}i,em{font-weight:italic}figure{margin:0}hr{margin-top:2.5rem;margin-bottom:2.5rem;width:100%;height:1px;border:0;background:#EFF1F3}pre{overflow:auto}.u-container{max-width:62rem;margin-right:auto;margin-left:auto;padding-top:10rem;padding-right:1rem;padding-left:1rem}.u-separate{margin-right:.45rem;margin-left:.25rem;color:#5C6E74}.c-page__header{margin-bottom:10rem}.c-page__header h1{margin-bottom:2.5rem;line-height:1.5;font-size:2.4rem;color:#163541}.c-page__header p{line-height:1;font-size:1.8rem}.c-page__footer{margin-bottom:10rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.c-page__footer p{line-height:1.5;font-size:1.8rem;color:#5C6E74}.c-article{margin-bottom:10rem}.c-article__header{margin-bottom:5rem}@media screen and (min-width: 45rem){.c-article__header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline}}.c-article__title{line-height:1.5;font-size:3.2rem;color:#163541}.c-article__time{line-height:1.5;font-size:1.8rem;color:#5C6E74}.c-article__main{margin-bottom:5rem;line-height:1.5;font-size:1.8rem;color:#5C6E74}.c-article__main>*{margin-bottom:1.8rem}.c-article__main h2{line-height:1.5;font-size:2.4rem}.c-article__main h3{line-height:1.5;font-size:2rem}.c-article__main h4{line-height:1.6;font-size:1.8rem}.c-article__main h5{line-height:1.5;font-size:1.8rem}.c-article__main strong{color:#163541;font-weight:400}.c-article__main blockquote{margin-left:0;margin-right:0;padding-left:1.8rem;border-left:1px solid #EFF1F3}.c-article__main ul,.c-article__main ol{margin-left:2.1rem}.c-tag{margin-right:1rem;position:relative;white-space:nowrap;line-height:1.5;font-size:1.8rem;color:#163541}.c-tag:before{color:#869395;content:'#\\2009'}.c-archives{margin-bottom:10rem}.c-archives__year{margin-bottom:2.5rem;line-height:1.5;font-size:3.2rem}.c-archives__list{margin-bottom:2.5rem;list-style:none}.c-archives__item{padding-top:2.5rem;padding-bottom:2.5rem;border-top:1px solid #EFF1F3}@media screen and (min-width: 45rem){.c-archives__item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}}.c-archives__item h3{line-height:1.5;font-size:1.8rem}.c-archives__item p{line-height:1.5;font-size:1.8rem;color:#515862}pre,code{font-family:'Inconsolata', monospace;font-size:1.4rem;line-height:1.5}.highlight{border-radius:4px;background:#FDFDFD;border:1px solid #E8E8EB;color:#93a1a1}.highlight .gutter{padding:1.2rem;border-right:1px solid #E8E8EB}.highlight .code{padding:1.2rem}span.lineno{padding:1rem;border-right:1px solid #E8E8EB}.highlight .c{color:#586e75}.highlight .err{color:#93a1a1}.highlight .g{color:#93a1a1}.highlight .k{color:#859900}.highlight .l{color:#93a1a1}.highlight .n{color:#93a1a1}.highlight .o{color:#859900}.highlight .x{color:#cb4b16}.highlight .p{color:#93a1a1}.highlight .cm{color:#586e75}.highlight .cp{color:#859900}.highlight .c1{color:#586e75}.highlight .cs{color:#859900}.highlight .gd{color:#2aa198}.highlight .ge{color:#93a1a1;font-style:italic}.highlight .gr{color:#dc322f}.highlight .gh{color:#cb4b16}.highlight .gi{color:#859900}.highlight .go{color:#93a1a1}.highlight .gp{color:#93a1a1}.highlight .gs{color:#93a1a1;font-weight:bold}.highlight .gu{color:#cb4b16}.highlight .gt{color:#93a1a1}.highlight .kc{color:#cb4b16}.highlight .kd{color:#268bd2}.highlight .kn{color:#859900}.highlight .kp{color:#859900}.highlight .kr{color:#268bd2}.highlight .kt{color:#dc322f}.highlight .ld{color:#93a1a1}.highlight .m{color:#2aa198}.highlight .s{color:#2aa198}.highlight .na{color:#93a1a1}.highlight .nb{color:#B58900}.highlight .nc{color:#268bd2}.highlight .no{color:#cb4b16}.highlight .nd{color:#268bd2}.highlight .ni{color:#cb4b16}.highlight .ne{color:#cb4b16}.highlight .nf{color:#268bd2}.highlight .nl{color:#93a1a1}.highlight .nn{color:#93a1a1}.highlight .nx{color:#93a1a1}.highlight .py{color:#93a1a1}.highlight .nt{color:#268bd2}.highlight .nv{color:#268bd2}.highlight .ow{color:#859900}.highlight .w{color:#93a1a1}.highlight .mf{color:#2aa198}.highlight .mh{color:#2aa198}.highlight .mi{color:#2aa198}.highlight .mo{color:#2aa198}.highlight .sb{color:#586e75}.highlight .sc{color:#2aa198}.highlight .sd{color:#93a1a1}.highlight .s2{color:#2aa198}.highlight .se{color:#cb4b16}.highlight .sh{color:#93a1a1}.highlight .si{color:#2aa198}.highlight .sx{color:#2aa198}.highlight .sr{color:#dc322f}.highlight .s1{color:#2aa198}.highlight .ss{color:#2aa198}.highlight .bp{color:#268bd2}.highlight .vc{color:#268bd2}.highlight .vg{color:#268bd2}.highlight .vi{color:#268bd2}.highlight .il{color:#2aa198}
</style>
<style>
.status-table {
width: 100%;
}
.dot-green:before {
color: #28c940;
content: '\\25CF';
font-size: 1em;
}
.dot-yellow:before {
color: #fdc720;
content: '\\25CF';
font-size: 1em;
}
.dot-red:before {
color: #ff4d51;
content: '\\25CF';
font-size: 1em;
}
</style>
<script type="text/javascript">
"use script";
const baseInterval = 2000;
const minInterval = 10;
const startThreshold = 0.8;
var contentIncrementLiteral_1 = "最";
var contentIncrementLiteral_2 = "棒";
var contentIncrement_1 = "";
var contentIncrement_2 = "";
var contentTemplate = "我女朋友最%Inc1%棒棒%Inc2%%Inc2%啦~~~";
var interval = 10;
var started = false;
var paused = false;
function togglePause() {
paused = !paused;
console.log(`>>> Easteregg paused: ${paused}`);
}
// From Stack Overflow: https://stackoverflow.com/a/8028584
function getScrollPercentage() {
const h = document.documentElement,
b = document.body,
st = 'scrollTop',
sh = 'scrollHeight';
return (h[st]||b[st]) / ((h[sh]||b[sh]) - h.clientHeight);
}
function getNewInterval(percentage) {
newInterval = Math.ceil((1.0 - percentage) * baseInterval);
if (newInterval < minInterval) {
newInterval = minInterval;
}
return newInterval;
}
function onWindowScroll() {
if (paused) {
return;
}
const percentage = getScrollPercentage();
if (percentage > startThreshold) {
if (! started) {
started = true;
console.log(">>> Started");
}
} else if (started) {
started = false;
console.log(">>> Stopped");
return;
}
newInterval = getNewInterval(percentage);
if (Math.abs(newInterval - interval) > 10) {
interval = newInterval;
console.log(`>>> Interval updated to ${interval}`);
}
}
async function contentUpdateLoop() {
while(true) {
await new Promise(r => setTimeout(r, interval));
if (started && ! paused) {
contentIncrement_1 += contentIncrementLiteral_1;
contentIncrement_2 += contentIncrementLiteral_2;
content = contentTemplate.replaceAll("%Inc1%", contentIncrement_1);
content = content.replaceAll("%Inc2%", contentIncrement_2);
document.getElementById("footer_note").innerHTML = content;
console.log(`>>> Content updated to ${content}`);
}
}
}
document.addEventListener('DOMContentLoaded', function() {
window.addEventListener("scroll", onWindowScroll);
interval = getNewInterval(getScrollPercentage());
console.log(`>>> Current interval: ${interval}`);
contentUpdateLoop();
});
</script>
</head>
<body>
<div class="u-container">
<div class="c-page">
<article class="c-article">
<header class="c-page__header" id="page_header">
<h1>嘿嘿嘿嘿嘿</h1>
</header>
<div class="c-article__main">
<p>
我有一个超可爱的女朋友,不知道你们有没有见过。
<br \>
<del>(此处没有照片,我自己好好藏着都来不及,怎么会给你们看!)</del>
<br \>
她现在很好,我只是想告诉你们我有一个超棒的女朋友!
<br \>
</p>
<hr />
<br \>
<br \>
<p>
<b>(本段写于 2020-06-01)</b>
<br />
第一次相遇是是参加社团活动的时候。这位小可爱所在的音乐剧社团跟我参加的错开了半个小时,而两边的教室只隔了一堵墙,于是她就过来串门了。当时我和另外几个同学在忙社团需要做的东西,只是有一句没一句得聊了几次。但是某次之后她的社团时间做了调整,于是除了最后去看了她的演出就没怎么接触了。那次演出结束之后虽然见到了她但是也不知道说什么。这一中断就是半年<del>中间仅有的一次交谈是她说我头发比一个女同学还长了(是真的)</del>。<br \>
<br \>
后来真的开始有接触是去年下半年的事情了,因为我跟她报了三门一样的课。真的接触下来发现她真的是一个很优秀很可爱的人。上课的时候非常认真,成绩也是顶尖。虽然那时候就开始有点喜欢她了,但是我也胆子比较小不敢说什么。说来惭愧,最后得到联系方式还是因为某次她有一项作业需要别人帮忙。起先只是聊点有得没的,后来不知道怎么着打起了电话。发现了我跟她有不少共同的爱好和相似的地方,最神奇的是很多时候真的能很准得猜到对方在想什么。<br \>
<br \>
那几个月相处下来的过程中出现过各种各样的情况,有过开心的时候也有过矛盾。最后的结果就是发现我真的喜欢上了她。但是因为我的一些问题,表白则是后面又拖了好几个月,那之后我们就成了男女朋友关系。向自己喜欢的人表白并被接纳真的是一件很让人开心的事情。只是人算不如天算,今年这场疫情真的打乱了很多原本的计划。<br \>
<br \>
这几个月下来虽然见面的次数并不算多,但是每次都是特别开心,平时也一直保持着联系。就只能盼望着现在的这些幺蛾子们早点退散。<br \>
<br \>
真的有好多想跟她一起做的事情!<br \>
<ul>
<li>一起逛街挑礼物!</li>
<li>一起出去吃(好吃的)日料!</li>
<li>一起去德云社!<del>(这个画风不太对)</del></li>
<li>一起吃热干面!</li>
<li>还有好多好多!</li>
</ul>
<br />
不只是这些,能跟我的小可爱在一起就是最开心的事情~<br />
<br />
前两天我们见到了面,经历了在一起的第 100 天,今天又是在一起的第一个儿童节。我们一定要这样一直好好得过下去!<br />
<br />
祝我的小朋友儿童节快乐!
<hr />
<br />
<b>(本段写于 2020-06-10)</b>
<br />
前两天在 SJM 的最后一个学期结束了,毕业典礼的时候见到了我女朋友,一如既往得好康(尖叫)。这也意味着在 SJM 的四年正式结束了,虽然这意味着我能摆脱掉宗教课之类的烦人的东西,但是同时也意味着不能这么容易得见到她了。这件事情我们从一开始就明白,也没有办法避免。但主要的问题是我们都没料到这次 COVID-19 疫情,真的是打乱了很多原本的计划;不过不知道算不算是因祸得福的一个好处是我会在 Fresno 待到更晚,也算是增加了多见面的可能。真想每时每刻都跟她在一起。<br />
<br />
世事难料,谁都无法知道之后会发生什么。我能做的就只有在现在的情况下多陪陪她,同时也尽可能得多享受和她在一起的时间。就算只是打个电话、玩个游戏、在群里放闪(把自己的快乐建立在逼别人恰柠檬的前提之上)(甚至还要收钱)(x)都是小小的幸福。<br />
<br />
不管啥情况咱就尽所能得好好过,再难的事情也总会有个尽头的。最多就是这一两年麻烦一点,又算不上什么。<br />
<br />
另外再小声说一句:这段时间你还是要好好学习的,毕竟考试还是很重要的。复习压力大的时候就找我,有什么问题的话也都可以找我。我永远支持你!<del>大傲娇!</del><br />
<br />
<hr />
<br />
<b>(本段写于 2020-06-19)</b>
<br />
四个月啦!因为有你在噩梦都不算是噩梦了呢。这两天能看到你为了接下来的考试而努力准备,每天沉迷学习。我又高兴又有些心疼,学习之余也不要忘了好好休息好好吃饭呀,也要多陪陪我嘛,感觉就跟空巢老父亲一样的(不是<br />
<br />
不管怎么样我就要你一直好好的,不管最后结果如何,对得起咱的努力就好,不需要给自己太大的压力的。而且你真的超棒的呀!<br />
<br />
咱要一直好下去!<br />
<br />
<hr />
<br />
<b>(本段写于 2020-07-19)</b>
<br />
咱在一起都五个月了诶,感觉时间过得好快。2020 这起奇奇怪怪的五个月里面咱遇到的事情也不少了,不也都过来了,还有什么好怕的。<br />
<br />
不过咱在一起也才五个月,感觉根本不够。这五个月里面咱一起聊天一起皮真的很高兴,只要有你在做什么都是快乐的。<br />
<br />
咱俩以后还有无数个五个月呢,最爱你了。<br />
<br />
<hr />
<br />
<b>(本段写于 2020-08-19)</b>
<br />
六个月啦!你已经成为我的女朋友半年啦!现在甚至有点怀疑你昨天晚上背单词到那么晚其实是想故意等到今天,虽然想跟你说不许晚睡,但是心里还是高兴呀。这半年来有你真好,每天有一个小可爱陪伴,你说怎么可能不快乐(嘿嘿嘿嘿嘿)。每天都是想你想你,想跟你拉手,想抱抱你,晚上做梦天天都能梦到你。想在任何时候都能陪在你身边,跟你一起做任何事情都十分快乐。最爱你啦。<br />
<br />
这六个月来虽然见面的机会不算很多,但是我们每天都有在好好的联系,都有好好地互相分享我们的生活。毕竟我们住在同一个地区,照着同样的阳光,呼吸着同样地空气,对话框后面依旧是我最爱的小可爱。每次打电话的时候听着我的小可爱的声音感觉也是十分安心。甚至有时候晚上了两个人都舍不得挂电话,两个人你一句拜拜,我一句拜拜但是都不愿意第一个挂。就算是平时老是想催你早睡的我,在那时候都会忘了时间。我们自己都经常笑咱这样迟早说晚安到天亮,没办法,想一直听到你的声音呀,才舍不得挂电话。最爱你啦。<br />
<br />
前两天跟你出去约会的时候特别的高兴,终于有机会单独跟你一起出去玩,一起单独吃饭。我们一起喝了饮料,一起手拉着手在外面逛,还一起玩了 Overcooked。因为有你,这些普普通通的事情也让我觉得十分幸福。唯一的遗憾就是时间真的不够长,抱抱还不够多。我们还有好多好多事情没一起做呢,我想做饭给你吃,想一起去听演唱会,想一起去各种各样的地方!咱俩之后的时间里,一定要一点一点把它们实现!最爱你啦。<br />
<br />
这六个月来我还有在思考应该对你怎么好。你的居居有时候还是有点神经大条,这方面真的对不起,以后争取不要再出现那些情况啦,你的居居现在也有在努力做到多考虑考虑会怎么样。就算有遇到这种情况我们也要好好沟通呀。一定要让你越来越快乐!最爱你啦!<br />
<br />
最近每天晚上都要给你一个可爱的小故事,主题永远是爱你。我们要把我们的故事一直写下去。最爱你啦!<br />
<br />
六个月对咱还只是个开始呀,我们要一直一直在一起。下次见面我要争取带你喝到奶茶,吃到更好吃的东西,一起过更有意思的一天,留下更美好的回忆呀。最爱你啦!<br />
<br />
<hr />
<br />
<p>未完待续...</p>
</p>
</div>
<footer class="c-page__footer" id="page_footer" onClick="togglePause()">
<hr />
<p id="footer_note">我女朋友最棒棒啦~</p>
<hr />
<br />
<p>
&copy; RedL0tus
2020 | SaltedFish Network
</p>
<br />
<p>
Follow me on:
<a rel="me" href="https://s.brined.fish/@KayMW">Mastodon</a>
&
<a href="https://github.com/RedL0tus">Github</a>
<span class="u-separate"/>
Subscribe: <a href="https://v2bv.net/feed.xml">RSS</a>
<br />
Blog: <a href="https://v2bv.net">v2bv.net</a>
</p>
</footer>
</article>
</div>
</div>
</body>
</html>
const link = "https://gist.githubusercontent.com/RedL0tus/31428a6f0f6e48e8e9722be2252fc30d/raw/index.html";
async function getPage(source) {
return await fetch(source);
};
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
/**
* Respond to the request
* @param {Request} request
*/
async function handleRequest(request) {
let page = await getPage(link);
return new Response(await page.text(), {status: 200, headers: { 'Content-Type': 'text/html;charset=UTF-8'}})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment