Přemýšlel jsem, zda apríly nevyhodit do *.js, ale nakonec jen takhto do separátního template
This commit is contained in:
		
							parent
							
								
									52dc337a20
								
							
						
					
					
						commit
						c5b81871d2
					
				
					 2 changed files with 62 additions and 58 deletions
				
			
		
							
								
								
									
										61
									
								
								mamweb/templates/april.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								mamweb/templates/april.html
									
									
									
									
									
										Normal file
									
								
							|  | @ -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 %} | ||||
|  | @ -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…
	
		Reference in a new issue