MrBlue
Senior Member
- Dec 18, 2009
- 975
- 695
Here is a SOPA/PIPA blackout page template by Zachary Johnson.
I've added the necessary 503 header for search engines.
Just copy/paste the code below into a file and save as your temporary index.php
View demo:
I've added the necessary 503 header for search engines.
Just copy/paste the code below into a file and save as your temporary index.php
View demo:
Code:
http://www.zachstronaut.com/lab/text-shadow-box/stop-sopa.html
Code:
<?php
/* Tell search engines that the site is temporarily unavailable */
$protocol = $_SERVER["SERVER_PROTOCOL"];
if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol ) $protocol = 'HTTP/1.0';
header( "$protocol 503 Service Unavailable", true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>STOP SOPA!</title>
<style type="text/css" media="all">
html,
body {
margin: 0;
padding: 0;
}
#text-shadow-box {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
width: 100%;
height: 100%;
overflow: hidden;
background: #444;
font-family: Helvetica, Arial, sans-serif;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-user-select: none;
}
#text-shadow-box #tsb-text,
#text-shadow-box #tsb-link {
position: absolute;
top: 40%;
left: 0;
width: 100%;
height: 1em;
margin: -0.77em 0 0 0;
font-size: 90px;
line-height: 1em;
font-weight: bold;
text-align: center;
}
#text-shadow-box #tsb-text {
font-size: 100px;
color: transparent;
text-shadow: black 0px -45.2px 19px;
}
#text-shadow-box #tsb-link a {
color: #999;
text-decoration: none;
}
#text-shadow-box #tsb-box,
#text-shadow-box #tsb-wall {
position: absolute;
top: 40%;
left: 0;
width: 100%;
height: 60%;
}
#text-shadow-box #tsb-box {
-webkit-box-shadow: black 0px -45.2px 39px;
-moz-box-shadow: black 0px -45.2px 39px;
}
#text-shadow-box #tsb-wall {
background: #999;
}
#text-shadow-box #tsb-wall p {
position: relative;
font-size: 18px;
line-height: 1.5em;
text-align: justify;
color: #222;
width: 550px;
margin: 1.5em auto;
cursor: default;
}
#text-shadow-box #tsb-wall p a {
color: #fff;
}
#text-shadow-box #tsb-wall p a:hover {
text-decoration: none;
color: #000;
background: #fff;
}
#tsb-spot {
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
pointer-events: none;
background: -webkit-gradient(radial, center center, 0, center center, 450, from(rgba(0,0,0,0)), to(rgba(0,0,0,1)));
background: -moz-radial-gradient(center 45deg, circle closest-side, transparent 0, black 450px);
}
</style>
<!--[if IE]>
<style type="text/css">
/* Sadly no IE9 support for pointer-events: none; nor CSS2 text-shadow */
#tsb-spot {
display: none;
}
#tsb-ie {
position: absolute;
top: -90%;
left: -50%;
width: 200%;
height: 334%;
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPHJhZGlhbEdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNzUlIj4KICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMCIvPgogICAgPHN0b3Agb2Zmc2V0PSI3NCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L3JhZGlhbEdyYWRpZW50PgogIDxyZWN0IHg9Ii01MCIgeT0iLTUwIiB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
}
</style>
<![endif]-->
</head><body>
<div id="text-shadow-box">
<div style="-moz-box-shadow: 0pt 88.4px 59px black;" id="tsb-box"></div>
<p style="text-shadow: 112.8px 88.4px 39px black;" id="tsb-text">STOP SOPA!</p>
<p id="tsb-link"><a href="http://americancensorship.org/">STOP SOPA!</a></p>
<div id="tsb-wall">
<div id="tsb-ie"></div>
<p>This site has gone dark today in protest of the U.S. Stop
Online Piracy Act (SOPA) and PROTECT-IP Act (PIPA). The U.S. Congress
is about to censor the Internet, even though the vast majority of
Americans are opposed. We need to kill these bills to protect our rights
to free speech, privacy, and prosperity. Learn more at <a href="http://americancensorship.org/">AmericanCensorship.org</a></p>
</div>
<div style="background-position: -282px -336px;" id="tsb-spot"></div>
</div>
<script type="text/javascript" language="javascript" charset="utf-8">
/**
* Zachary Johnson
* http://www.zachstronaut.com
* I place the following code in the public domain.
*
* Fork it on GitHub: https://github.com/zachstronaut/stop-sopa
*/
var text = null;
var spot = null;
var box = null;
var boxProperty = '';
init();
function init() {
text = document.getElementById('tsb-text');
spot = document.getElementById('tsb-spot');
box = document.getElementById('tsb-box');
if (typeof box.style.webkitBoxShadow == 'string') {
boxProperty = 'webkitBoxShadow';
} else if (typeof box.style.MozBoxShadow == 'string') {
boxProperty = 'MozBoxShadow';
} else if (typeof box.style.boxShadow == 'string') {
boxProperty = 'boxShadow';
}
if (text && spot && box) {
document.getElementById('text-shadow-box').onmousemove = onMouseMove;
document.getElementById('text-shadow-box').ontouchmove = function (e) {e.preventDefault(); e.stopPropagation(); onMouseMove({clientX: e.touches[0].clientX, clientY: e.touches[0].clientY});};
}
}
function onMouseMove(e) {
if (typeof e === 'undefined' || typeof e.clientX === 'undefined') {
return;
}
var xm = (e.clientX - Math.floor(window.innerWidth / 2)) * 0.4;
var ym = (e.clientY - Math.floor(window.innerHeight / 3)) * 0.4;
var d = Math.round(Math.sqrt(xm*xm + ym*ym) / 5);
text.style.textShadow = -xm + 'px ' + -ym + 'px ' + (d + 10) + 'px black';
if (boxProperty) {
box.style[boxProperty] = '0 ' + -ym + 'px ' + (d + 30) + 'px black';
}
xm = e.clientX - Math.floor(window.innerWidth / 2);
ym = e.clientY - Math.floor(window.innerHeight / 2);
spot.style.backgroundPosition = xm + 'px ' + ym + 'px';
}
</script>
</body></html>