Browse Source

Přemýšlel jsem, zda apríly nevyhodit do *.js, ale nakonec jen takhto do separátního template

pull/44/head
Jonas Havelka 9 months ago
parent
commit
c5b81871d2
  1. 61
      mamweb/templates/april.html
  2. 59
      mamweb/templates/base.html

61
mamweb/templates/april.html

@ -0,0 +1,61 @@
{% if april == 2021 %}
<script type="text/javascript" charset="utf-8">
function rotace(vektor, uhel_deg) {
var uhel = uhel_deg *(Math.PI / 180);
var x = vektor[0];
var y = vektor[1];
return [x*Math.cos(uhel) - y*Math.sin(uhel), x*Math.sin(uhel) + y*Math.cos(uhel)];
}
function rotace_a_posun(obj, uhel) {
var ow = obj.width();
var oh = obj.height();
var rohy = [[0,0], [0,oh], [ow, 0], [ow, oh]];
var minx = 0;
var miny = 0;
for (var roh of rohy) {
var otoceny = rotace(roh, uhel);
if (otoceny[0] < minx) {
minx = otoceny[0];
}
if (otoceny[1] < miny) {
miny = otoceny[1];
}
}
miny *= -1;
minx *= -1;
var transf_str = "translateX("+minx+"px) translateY("+miny+"px) rotate("+uhel+"deg)";
obj.css('transform-origin', 'top left');
obj.css('transform', transf_str);
}
function randomUhel() {
return Math.floor(360*Math.random());
}
$('.container').css('margin', 0);
rotace_a_posun($('.container'), randomUhel());
</script>
{% endif %}
{% if april == 2023 %}
<script>
{# By https://stackoverflow.com/a/34559316 #}
function walkText(node) {
if (node.nodeType == 3) {
node.data = node.data.replace(/M&M/g, "M💘M");
}
if (node.nodeType == 1 && node.nodeName != "SCRIPT") {
for (var i = 0; i < node.childNodes.length; i++) {
walkText(node.childNodes[i]);
}
}
}
walkText(document.body);
</script>
{% endif %}

59
mamweb/templates/base.html

@ -121,64 +121,7 @@
<script src="{% static 'bootstrap/js/bootstrap.js' %}"></script>
{% if april == 2021 %}
<script type="text/javascript" charset="utf-8">
function rotace(vektor, uhel_deg) {
var uhel = uhel_deg *(Math.PI / 180);
var x = vektor[0];
var y = vektor[1];
return [x*Math.cos(uhel) - y*Math.sin(uhel), x*Math.sin(uhel) + y*Math.cos(uhel)];
}
function rotace_a_posun(obj, uhel) {
var ow = obj.width();
var oh = obj.height();
var rohy = [[0,0], [0,oh], [ow, 0], [ow, oh]];
var minx = 0;
var miny = 0;
for (var roh of rohy) {
var otoceny = rotace(roh, uhel);
if (otoceny[0] < minx) {
minx = otoceny[0];
}
if (otoceny[1] < miny) {
miny = otoceny[1];
}
}
miny *= -1;
minx *= -1;
var transf_str = "translateX("+minx+"px) translateY("+miny+"px) rotate("+uhel+"deg)";
obj.css('transform-origin', 'top left');
obj.css('transform', transf_str);
}
function randomUhel() {
return Math.floor(360*Math.random());
}
$('.container').css('margin', 0);
rotace_a_posun($('.container'), randomUhel());
</script>
{% endif %}
{% if april == 2023 %}
<script>
{# By https://stackoverflow.com/a/34559316 #}
function walkText(node) {
if (node.nodeType == 3) {
node.data = node.data.replace(/M&M/g, "M💘M");
}
if (node.nodeType == 1 && node.nodeName != "SCRIPT") {
for (var i = 0; i < node.childNodes.length; i++) {
walkText(node.childNodes[i]);
}
}
}
walkText(document.body);
</script>
{% endif %}
{% include 'april.html' %}
{% block js %}{% endblock %}
</body>
</html>

Loading…
Cancel
Save