{"id":3016,"date":"2025-09-17T15:44:21","date_gmt":"2025-09-17T15:44:21","guid":{"rendered":"https:\/\/garyhengeveld.com\/wordpress\/?p=3016"},"modified":"2026-03-05T15:21:39","modified_gmt":"2026-03-05T15:21:39","slug":"calendar","status":"publish","type":"post","link":"https:\/\/garyhengeveld.com\/wordpress\/calendar\/","title":{"rendered":"Calendar"},"content":{"rendered":"\n<style>\n  \/* GHCalendar Styles *\/\n  .calendar-container {\n    max-width: 700px;\n    margin: 0 auto;\n    font-family: Arial, sans-serif;\n    color: #333;\n    background-color: #f9f9f9;\n    padding: 20px;\n  }\n  h1 {\n    color: #007BFF;\n    text-align: center;\n  }\n  .nav {\n    display: flex;\n    justify-content: space-between;\n    margin-bottom: 10px;\n  }\n  .nav button {\n    background-color: #007BFF;\n    color: white;\n    border: none;\n    padding: 5px 10px;\n    cursor: pointer;\n  }\n  .month-header {\n    text-align: center;\n    font-size: 1.5em;\n    margin-bottom: 10px;\n  }\n  .weekdays, .days {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    gap: 5px;\n  }\n  .weekdays div {\n    font-weight: bold;\n    text-align: center;\n    padding: 5px;\n    color: #007BFF;\n  }\n  .day {\n    background-color: #e0f0ff;\n    border: 1px solid #007BFF;\n    padding: 10px;\n    text-align: center;\n    cursor: pointer;\n  }\n  .day.today {\n    background-color: #007BFF;\n    color: white;\n    font-weight: bold;\n  }\n  .event-editor {\n    display: none;\n    margin-top: 20px;\n    border: 1px solid #007BFF;\n    padding: 15px;\n    background-color: #e0f0ff;\n  }\n  .event-editor textarea {\n    width: 100%;\n    height: 100px;\n  }\n  .event-editor button {\n    margin-top: 10px;\n    background-color: #007BFF;\n    color: white;\n    border: none;\n    padding: 8px 12px;\n    cursor: pointer;\n  }\n  .import-export {\n    margin-top: 20px;\n    text-align: center;\n  }\n  .import-export input {\n    margin-top: 10px;\n  }\n.event-dot {\n  display: block;\n  width: 6px;\n  height: 6px;\n  background-color: green;\n  border-radius: 50%;\n  margin: 2px auto 0;\n}\n\n<\/style>\n\n<div class=\"calendar-container\">\n  <h1>GHCalendar<\/h1>\n  <div class=\"nav\">\n    <button onclick=\"changeMonth(-1)\">\u2190 Prev<\/button>\n    <div class=\"month-header\" id=\"monthHeader\"><\/div>\n    <button onclick=\"changeMonth(1)\">Next \u2192<\/button>\n  <\/div>\n  <div class=\"weekdays\">\n    <div>Sun<\/div><div>Mon<\/div><div>Tue<\/div><div>Wed<\/div><div>Thu<\/div><div>Fri<\/div><div>Sat<\/div>\n  <\/div>\n  <div class=\"days\" id=\"daysContainer\"><\/div>\n\n  <div class=\"event-editor\" id=\"eventEditor\">\n    <h3 id=\"eventDateLabel\"><\/h3>\n    <textarea id=\"eventText\"><\/textarea>\n    <button onclick=\"saveEvent()\">Save Event<\/button>\n  <\/div>\n\n  <div class=\"import-export\">\n    <p><strong>To load saved events:<\/strong> Select <code>GHCalendar_YYYY-MM-DD_HH-MM.xml<\/code> from your Downloads folder.<\/p>\n    <input id=\"xmlFile\" type=\"file\" accept=\".xml\" onchange=\"loadXMLFile(event)\">\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GHCalendar \u2190 Prev Next \u2192 Sun Mon Tue Wed Thu Fri Sat Save Event To load saved events: Select GHCalendar_YYYY-MM-DD_HH-MM.xml from your Downloads folder.<\/p>\n","protected":false},"author":1,"featured_media":3039,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106],"tags":[],"class_list":["post-3016","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software"],"_links":{"self":[{"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/posts\/3016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/comments?post=3016"}],"version-history":[{"count":9,"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/posts\/3016\/revisions"}],"predecessor-version":[{"id":3038,"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/posts\/3016\/revisions\/3038"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/media\/3039"}],"wp:attachment":[{"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/media?parent=3016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/categories?post=3016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/garyhengeveld.com\/wordpress\/wp-json\/wp\/v2\/tags?post=3016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}