2024-03-20 18:19:04 +01:00
<!DOCTYPE html> < html lang = "cs" > < 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 > Harmonogram - NoLogWeb< / title > < meta name = "description" content = "Momentálně pracuji na zavedení nového způsobu organizace mých aktivit, a to i s využitím moderních informačních technologií v maximální možné míře..." > < meta name = "generator" content = "Publii Open-Source CMS for Static Site" > < link rel = "canonical" href = "https://jsem.nudista.online/harmonogram/" > < link rel = "alternate" type = "application/atom+xml" href = "https://jsem.nudista.online/feed.xml" > < link rel = "alternate" type = "application/json" href = "https://jsem.nudista.online/feed.json" > < meta property = "og:title" content = "Harmonogram" > < meta property = "og:image" content = "https://jsem.nudista.online/media/website/logo.svg" > < meta property = "og:image:width" content = "80" > < meta property = "og:image:height" content = "84" > < meta property = "og:site_name" content = "Jsem · Nudista · Online" > < meta property = "og:description" content = "Momentálně pracuji na zavedení nového způsobu organizace mých aktivit, a to i s využitím moderních informačních technologií v maximální možné míře..." > < meta property = "og:url" content = "https://jsem.nudista.online/harmonogram/" > < meta property = "og:type" content = "article" > < link rel = "shortcut icon" href = "https://jsem.nudista.online/media/website/favicon.ico" type = "image/x-icon" > < link rel = "preload" href = "https://jsem.nudista.online/assets/dynamic/fonts/publicsans/publicsans.woff2" as = "font" type = "font/woff2" crossorigin > < link rel = "stylesheet" href = "https://jsem.nudista.online/assets/css/style.css?v=d5b944aa3a94c7de68aead07dac491c3" > < script type = "application/ld+json" > { "@context" : "http://schema.org" , "@type" : "Article" , "mainEntityOfPage" : { "@type" : "WebPage" , "@id" : "https://jsem.nudista.online/harmonogram/" } , "headline" : "Harmonogram" , "datePublished" : "2024-02-29T12:32" , "dateModified" : "2024-03-20T18:18" , "image" : { "@type" : "ImageObject" , "url" : "https://jsem.nudista.online/media/website/logo.svg" , "height" : 84 , "width" : 80 } , "description" : "Momentálně pracuji na zavedení nového způsobu organizace mých aktivit, a to i s využitím moderních informačních technologií v maximální možné míře..." , "author" : { "@type" : "Person" , "name" : "CZ 🇨🇿" , "url" : "https://jsem.nudista.online/autor/jan-rippl-cz/" } , "publisher" : { "@type" : "Organization" , "name" : "CZ 🇨🇿" , "logo" : { "@type" : "ImageObject" , "url" : "https://jsem.nudista.online/media/website/logo.svg" , "height" : 84 , "width" : 80 } } } < / script > < noscript > < style > i m g [ l o a d i n g ] {
2024-03-09 22:18:20 +01:00
opacity: 1;
}< / style > < / noscript > < script src = "/kalendar/dist/index.global.js" > < / script > < script src = "/kalendar/packages/list/index.global.js" > < / script > < script src = "/kalendar/packages/core/locales/cs.global.js" > < / script > < script src = "/kalendar/packages/google-calendar/index.global.js" > < / script > < script type = "text/javascript" > d o c u m e n t . a d d E v e n t L i s t e n e r ( ' D O M C o n t e n t L o a d e d ' , f u n c t i o n ( ) {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
headerToolbar: {
left: 'title',
center: '',
right: ''
},
footerToolbar: {
start: '',
center: '',
2024-03-19 00:17:30 +01:00
end: 'today prev,next'
2024-03-09 22:18:20 +01:00
},
2024-03-19 00:08:27 +01:00
initialView: 'listWeek',
2024-03-09 22:18:20 +01:00
locale: 'cs',
timeZone: 'Europe/Prague',
displayEventTime: true, // don't show the time column in list view
googleCalendarApiKey: 'AIzaSyD0IpA16TFEGbQNqUaD5MNmVm364DpHlqU',
eventSources: [
{
googleCalendarId: 'b4742c190c0f07274f2d3b8d0646db4b8dd98289c8159113bdda029514286bf3@group.calendar.google.com'
},
{
googleCalendarId: 'o8sn1cursjbacb729ulb4c50og@group.calendar.google.com',
className: 'nice-event'
},
{
googleCalendarId: 'uqu50taoqg4gi4jrl7pu7kknfs@group.calendar.google.com',
className: 'nice-event'
},
{
googleCalendarId: 'cs.czech#holiday@group.v.calendar.google.com',
className: 'nice-event'
},
{
googleCalendarId: 'janrippl@gmail.com',
className: 'nice-event'
}
]
});
calendar.render();
2024-03-19 00:29:24 +01:00
});< / script > < link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" > < script > f u n c t i o n g e t D a t e T i m e ( ) {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth()+1;
var day = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
if(month.toString().length == 1) {
month = '0'+month;
}
if(day.toString().length == 1) {
day = '0'+day;
}
if(hour.toString().length == 1) {
hour = '0'+hour;
}
if(minute.toString().length == 1) {
minute = '0'+minute;
}
if(second.toString().length == 1) {
second = '0'+second;
}
var dateTime = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;
return dateTime;
}
// example usage: realtime clock
setInterval(function(){
currentTime = getDateTime();
document.getElementById("digital-clock").innerHTML = currentTime;
2024-03-28 03:34:02 +01:00
}, 1000);< / script > < style > : root { --toc-max-height : auto ; } html { scroll-padding-top : 2 rem ; } . post__toc h3 { align-items : center ; border : none ; cursor : pointer ; display : inline-flex ; gap : .5 em ; margin : 0 ; padding : 0 ; user-select : none ; } . post__toc > ol { margin-left : 0 ; max-height : 0 ; overflow : auto ; opacity : 0 ; transition : opacity 0.3 s ease-out , max-height 0.5 s ease-out ; } . post__toc > ol [ aria-hidden = "false" ] { max-height : var ( - - toc - max - height ) ; opacity : 1 ; transition : opacity 0.3 s ease-in , max-height 0.5 s ease-in ; } . post__toc ol { counter-reset : item ; list-style : none ; } . post__toc li { padding-left : 0 ; padding-bottom : 0 ; } . post__toc ol ol { margin-left : 1.5 rem ; margin-top : 0 ; } . post__toc ol ol li :: before { margin-left : 0 ; } . post__toc a { align-items : stretch ; color : var ( - - toc - link - color , var ( - - link - color ) ) ; display : inline-flex ; flex-wrap : nowrap ; } . post__toc a : hover , . post__toc a : active , . post__toc a : focus { color : var ( - - toc - link - color - hover , var ( - - link - color - hover ) ) ; } . post__toc a :: before { content : counters ( item , "." , decimal ) ". " ; counter-increment : item ; color : var ( - - toc - number - color , var ( - - text - color ) ) ; display : inline-block ; flex-grow : 0 ; flex-shrink : 0 ; margin-right : 0.2 em ; } . post__toc-toggle { background : none ; border : none ; border-radius : 0 ; box-shadow : none ; color : var ( - - toc - toggle - link - color , var ( - - color ) ) ; cursor : pointer ; display : inline ; font-weight : normal ; overflow : visible ; padding : 0 ; text-align : left ; text-decoration : none ; text-transform : none ; vertical-align : baseline ; will-change : unset ; } . post__toc-toggle : hover , . post__toc-toggle : active , . post__toc-toggle : focus { background : inherit ; border : inherit ; box-shadow : inherit ; color : var ( - - toc - toggle - link - color - hover , var ( - - color , inherit ) ) ; text-decoration : none ; transform : inherit ; } . post__toc-toggle :: before { content : "[" ; color : var ( - - toc - toggle - color , var ( - - text - color ) ) ; } . post__toc-toggle :: after { content : "]" ; color : var ( - - toc - toggle - color , var ( - - text - color ) ) ; } < / style > < noscript > < style > . post__toc > ol { max-height : var ( - - toc - max - height ) ; opacity : 1 ; transition : none ; } . post__toc h3 { cursor : default ; } < / style > < / noscript > < style > . fi { fill : none ; stroke-linecap : round ; stroke-linejoin : round ; vertical-align : middle } < / style > < style > : root { --flb-container-gap : 0.8 rem ; --flb-container-direction : row ; --flb-btn-hover-effect : translate3d ( 0 , -2 px , 0 ) ; --flb-btn-gap : 0.4 rem ; --flb-btn-transition : all 0.24 s ease-out ; --flb-btn-border-radius : 6 px ; --flb-btn-font-family : var ( - - body - font ) ; --flb-btn-font-size : 0.875 rem ; --flb-btn-line-height : inherit ; --flb-icon-size : 24 px ; --flb-link-color : #404258 ; --flb-link-color-hover : #EC1037 ; --flb-link-icon-color : #404258 ; --flb-link-icon-color-hover : #EC1037 ; } . flb-container { display : inline-flex ; flex-direction : var ( - - flb - container - direction ) ; flex-wrap : wrap ; gap : var ( - - flb - container - gap ) ; justify-content : center ; } a . tltp tltp--top { all : unset ; align-items : center ; color : var ( - - flb - link - color ) ; cursor : pointer ; display : inline-flex ; font-family : var ( - - flb - btn - font - family ) ; font-size : var ( - - flb - btn - font - size ) ; gap : var ( - - flb - btn - gap ) ; line-height : var ( - - flb - btn - line - height ) ; transition : var ( - - flb - btn - transition ) ; text-decodration : none ; will-change : transform ; } a . tltp tltp--top : hover { color : var ( - - flb - link - color - hover ) ; transform : var ( - - flb - btn - hover - effect ) ; } a . tltp tltp--top svg { fill : var ( - - flb - link - icon - color ) ; height : var ( - - flb - icon - size ) ; margin : unset ; opacity : unset ; pointer-events : none ; transition : var ( - - flb - btn - transition ) ; width : var ( - - flb - icon - size ) ; } a . tltp tltp--top : hover svg { fill : var ( - - flb - link - icon - color - hover ) ; } a . tltp tltp--top svg { fill : hsla ( var ( - - s - platform - h ) , var ( - - s - platform - s ) , var ( - - s - platform - l ) , var ( - - s - platform - a ) ) ; } a . tltp tltp--top : hover svg { fill : hsla ( var ( - - s - platform - h ) , var ( - - s - platform - s ) , var ( - - s - platform - l ) , var ( - - s - platform - a ) ) ; } a . tltp tltp--top . p-mastodon { --s-platform-h : 252 ; --s-platform-s : 59 % ; --s-platform-l : 51 % ; --s-platform-a : 1 ; } a . tltp tltp--top . p-twitter { --s-platform-h : 0 ; --s-platform-s : 0 % ; --s-platform-l : 0 % ; --s-platform-a : 1 ; } a . tltp tltp--top . p-deviantart { --s-platform-h : 161 ; --s-platform-s : 100 % ; --s-platform-l : 45 % ; --s-platform-a : 1 ; } < / style > < / head > < body > <
2024-03-17 04:21:25 +01:00
Pulsetic.init({
monitor_id: 23424,
element_id: "pulsetic-badge"
});
2024-03-17 04:23:16 +01:00
}< / script > < br > < div id = "demo" style = "width:100%;" > < script > / / S e t t h e d a t e w e ' r e c o u n t i n g d o w n t o
2024-03-09 22:18:20 +01:00
//var countDownDate = new Date("<?php echo($row['mesic'] . " " . $row['den'] . ", " . $row['rok'] . " " . $row['hodina'] . ":" . $row['minuta'] . ":" . $row['sekunda']); ?> ").getTime();
var countDownDate = new Date("June 9, 2026 00:00:00").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get today's date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Display the result in the element with id="demo"
document.getElementById("demo").innerHTML = "< button title = 'Dny' > " + days + "< / button > < button title = 'Hodiny' > " + hours + "< / button > < button title = 'Minuty' > "
+ minutes + "< / button > < button title = 'Vteřiny' > " + seconds + "< / button > ";
// If the count down is finished, write some text
if (distance < 0 ) {
clearInterval(x);
document.getElementById("demo").innerHTML = "< button title = 'Dny' > 00< / button > :< button title = 'Hodiny' > 00< / button > :< button title = 'Minuty' > 00< / button > :< button title = 'Vteřiny' > 00< / button > ";
}
}, 1000);< / script > < / div > < p > < small > Vyprší dne: 26. června 2026< / small > < / p > < / section > < div class = "follow" > < div class = "flb-container" > < a href = "https://witter.cz/@janrippl" target = "_blank" class = "tltp tltp--top p-mastodon" > < svg width = "24" height = "24" aria-hidden = "false" > < use xlink:href = "https://jsem.nudista.online/media/plugins/followButtons/svg-map.svg#mastodon" / > < / svg > < / a > < a href = "https://twitter.com/JanRippl" target = "_blank" class = "tltp tltp--top p-twitter" > < svg width = "24" height = "24" aria-hidden = "false" > < use xlink:href = "https://jsem.nudista.online/media/plugins/followButtons/svg-map.svg#twitter" / > < / svg > < / a > < a href = "https://www.deviantart.com/janrippl" target = "_blank" class = "tltp tltp--top p-deviantart" > < svg width = "24" height = "24" aria-hidden = "false" > < use xlink:href = "https://jsem.nudista.online/media/plugins/followButtons/svg-map.svg#deviantart" / > < / svg > < / a > < / div > < / div > < / div > < / div > < / div > < / div > < script defer = "defer" src = "https://jsem.nudista.online/assets/js/scripts.min.js?v=12d8fcd46db8fdc7af6797ec26849875" > < / script > < script > v a r i m a g e s = d o c u m e n t . q u e r y S e l e c t o r A l l ( ' i m g [ l o a d i n g ] ' ) ;
for (var i = 0; i < images.length ; i + + ) {
if (images[i].complete) {
images[i].classList.add('is-loaded');
} else {
images[i].addEventListener('load', function () {
this.classList.add('is-loaded');
}, false);
}
}< / script > < script > ( f u n c t i o n ( ) {
let collapsibleTOCItems = document.querySelectorAll(".post__toc h3");
collapsibleTOCItems.forEach(function(item, index) {
let subList = item.nextElementSibling;
let parentItem = item.parentElement;
let toggleButton;
if (subList & & subList.tagName === "OL") {
let defaultState = 'false';
parentItem.setAttribute('aria-expanded', defaultState);
subList.setAttribute('aria-hidden', defaultState === 'true' ? 'false' : 'true');
item.setAttribute('id', 'sublist-' + index);
item.setAttribute('tabindex', '0');
const toggleElement = "both";
if (toggleElement === "header" || toggleElement === "both") {
item.addEventListener('click', function(event) {
event.preventDefault();
toggleSubList(this, toggleButton);
});
item.addEventListener('keydown', function(event) {
if (event.key === 'Enter' || event.key === ' ') {
event.preventDefault();
toggleSubList(this, toggleButton);
}
});
}
if (toggleElement === "button" || toggleElement === "both") {
toggleButton = item.querySelector('.post__toc-toggle');
toggleButton.textContent = defaultState === 'true' ? 'sbalit' : 'rozbalit';
toggleButton.addEventListener('click', function(event) {
event.stopPropagation();
event.preventDefault();
toggleSubList(item, toggleButton);
});
}
}
});
function toggleSubList(element, button) {
let parentItem = element.parentElement;
let subList = parentItem.querySelector('ol');
if (subList) {
if (parentItem.getAttribute('aria-expanded') === 'true') {
parentItem.setAttribute('aria-expanded', 'false');
subList.setAttribute('aria-hidden', 'true');
} else {
parentItem.setAttribute('aria-expanded', 'true');
subList.setAttribute('aria-hidden', 'false');
}
}
if (button) {
button.textContent = parentItem.getAttribute('aria-expanded') === 'true' ? 'sbalit' : 'rozbalit';
}
}
})();< / script > < / body > < / html >