{"id":626,"date":"2026-01-12T01:08:15","date_gmt":"2026-01-12T01:08:15","guid":{"rendered":"https:\/\/yebbo.com\/ethiodiego\/?p=626"},"modified":"2026-01-12T16:43:25","modified_gmt":"2026-01-12T16:43:25","slug":"yebbo-communication-network-live-global-board","status":"publish","type":"post","link":"http:\/\/yebbo.com\/ethiodiego\/yebbo-communication-network-live-global-board\/","title":{"rendered":"Yebbo Communication Network \u2013 Live Global Board"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"am\">\n<head>\n<meta charset=\"UTF-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n<title>Ethiopian Clock Ticker 1000&#215;100 | Yebbo.com<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\" \/>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin \/>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Share+Tech+Mono&#038;family=Nunito:wght@600;700&#038;display=swap\" rel=\"stylesheet\" \/>\n<style>\n  \/* Reset & Base *\/\n  * { box-sizing: border-box; margin: 0; padding: 0; }\n  \n  \/* Widget Container *\/\n  .yebbo-clock-widget {\n    width: 1000px;\n    height: 100px;\n    max-width: 100%;\n    font-family: 'Nunito', system-ui, sans-serif;\n    position: relative;\n    border-radius: 14px;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    background: #020617;\n    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);\n  }\n\n  \/* Ethiopian Flag Background *\/\n  .yebbo-stripes {\n    position: absolute;\n    inset: 0;\n    z-index: 0;\n    opacity: 0.2;\n    display: flex;\n    flex-direction: column;\n  }\n  .yebbo-stripe { height: 33.333%; }\n  .yebbo-stripe.green { background: #078930; }\n  .yebbo-stripe.yellow { background: #FCDD09; }\n  .yebbo-stripe.red { background: #DA121A; }\n\n  \/* Gradient Overlay *\/\n  .yebbo-overlay {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    background: linear-gradient(\n      90deg, \n      rgba(0, 0, 0, 0.8) 0%, \n      rgba(0, 0, 0, 0.4) 50%, \n      rgba(0, 0, 0, 0.8) 100%\n    );\n  }\n\n  \/* Ticker Container *\/\n  .yebbo-ticker {\n    position: absolute;\n    inset: 0;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    overflow: hidden;\n    padding: 0 20px;\n  }\n\n  \/* Scrolling Track *\/\n  .yebbo-track {\n    display: inline-flex;\n    align-items: center;\n    gap: 40px;\n    white-space: nowrap;\n    will-change: transform;\n    animation: yebbo-scroll 20s linear infinite;\n    padding-right: 40px;\n  }\n\n  \/* Individual Items *\/\n  .yebbo-item {\n    display: inline-flex;\n    align-items: baseline;\n    gap: 12px;\n    flex-shrink: 0;\n  }\n\n  \/* Labels *\/\n  .yebbo-label {\n    font-size: 14px;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: #FCDD09;\n    opacity: 0.95;\n    font-weight: 700;\n    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);\n  }\n\n  \/* Time Display *\/\n  .yebbo-time {\n    font-family: 'Share Tech Mono', monospace;\n    font-size: 42px;\n    line-height: 1;\n    letter-spacing: 0.06em;\n    color: #38bdf8;\n    text-shadow: 0 0 12px rgba(56, 189, 248, 0.7);\n    font-weight: 400;\n    min-width: 150px;\n  }\n\n  \/* Date Display *\/\n  .yebbo-date {\n    font-size: 13px;\n    color: #e5e7eb;\n    opacity: 0.9;\n    margin-left: 8px;\n    font-weight: 600;\n  }\n\n  \/* Separator Dots *\/\n  .yebbo-sep {\n    display: inline-block;\n    width: 10px;\n    height: 10px;\n    border-radius: 50%;\n    background: #22c55e;\n    box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.2);\n    flex-shrink: 0;\n  }\n\n  \/* Branding *\/\n  .yebbo-brand {\n    font-size: 13px;\n    color: #22c55e;\n    opacity: 0.95;\n    font-weight: 600;\n    letter-spacing: 0.05em;\n    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);\n  }\n\n  \/* Animation *\/\n  @keyframes yebbo-scroll {\n    from { transform: translateX(0); }\n    to { transform: translateX(-50%); }\n  }\n\n  \/* Hover Effect *\/\n  .yebbo-clock-widget:hover .yebbo-track {\n    animation-play-state: paused;\n  }\n\n  \/* Responsive *\/\n  @media (max-width: 1100px) {\n    .yebbo-clock-widget {\n      width: 95%;\n      height: 90px;\n    }\n    .yebbo-time { font-size: 36px; min-width: 130px; }\n    .yebbo-label { font-size: 13px; }\n    .yebbo-date { font-size: 12px; }\n    .yebbo-track { gap: 30px; }\n  }\n\n  @media (max-width: 768px) {\n    .yebbo-clock-widget {\n      height: 80px;\n      border-radius: 10px;\n    }\n    .yebbo-time { font-size: 30px; min-width: 110px; }\n    .yebbo-label { font-size: 12px; }\n    .yebbo-date { font-size: 11px; }\n    .yebbo-brand { font-size: 11px; }\n    .yebbo-track { gap: 25px; }\n  }\n<\/style>\n<\/head>\n\n<body>\n  <!-- Main Widget Container -->\n  <div class=\"yebbo-clock-widget\" role=\"marquee\" aria-label=\"Ethiopian and Local Time Display\">\n    \n    <!-- Ethiopian Flag Background -->\n    <div class=\"yebbo-stripes\">\n      <div class=\"yebbo-stripe green\"><\/div>\n      <div class=\"yebbo-stripe yellow\"><\/div>\n      <div class=\"yebbo-stripe red\"><\/div>\n    <\/div>\n    \n    <!-- Gradient Overlay -->\n    <div class=\"yebbo-overlay\"><\/div>\n    \n    <!-- Scrolling Ticker -->\n    <div class=\"yebbo-ticker\">\n      <div class=\"yebbo-track\" id=\"yebboTrack\">\n        <!-- First Set -->\n        <div class=\"yebbo-item\">\n          <span class=\"yebbo-label\">\u12e8\u12a2\u1275\u12ee\u1335\u12eb \u1230\u12d3\u1275<\/span>\n          <span class=\"yebbo-time\" id=\"yebboEthTime\">00:00:00<\/span>\n          <span class=\"yebbo-date\" id=\"yebboEthDate\">\u1218\u1235\u12a8\u1228\u121d 1, 2016 \u12d3.\u121d<\/span>\n        <\/div>\n        \n        <span class=\"yebbo-sep\" aria-hidden=\"true\"><\/span>\n        \n        <div class=\"yebbo-item\">\n          <span class=\"yebbo-label\">Local Time<\/span>\n          <span class=\"yebbo-time\" id=\"yebboLocalTime\">00:00:00<\/span>\n          <span class=\"yebbo-date\" id=\"yebboLocalDate\">Mon, Jan 1, 2025<\/span>\n        <\/div>\n        \n        <span class=\"yebbo-sep\" aria-hidden=\"true\"><\/span>\n        \n        <div class=\"yebbo-item\">\n          <span class=\"yebbo-brand\">\u00a9 YebboBooks \u2022 Yebbo Communication Network \u2022 1999\u20132026<\/span>\n        <\/div>\n        \n        <!-- Duplicate Set for Seamless Loop -->\n        <div class=\"yebbo-item\">\n          <span class=\"yebbo-label\">\u12e8\u12a2\u1275\u12ee\u1335\u12eb \u1230\u12d3\u1275<\/span>\n          <span class=\"yebbo-time\" id=\"yebboEthTime2\">00:00:00<\/span>\n          <span class=\"yebbo-date\" id=\"yebboEthDate2\">\u1218\u1235\u12a8\u1228\u121d 1, 2016 \u12d3.\u121d<\/span>\n        <\/div>\n        \n        <span class=\"yebbo-sep\" aria-hidden=\"true\"><\/span>\n        \n        <div class=\"yebbo-item\">\n          <span class=\"yebbo-label\">Local Time<\/span>\n          <span class=\"yebbo-time\" id=\"yebboLocalTime2\">00:00:00<\/span>\n          <span class=\"yebbo-date\" id=\"yebboLocalDate2\">Mon, Jan 1, 2025<\/span>\n        <\/div>\n        \n        <span class=\"yebbo-sep\" aria-hidden=\"true\"><\/span>\n        \n        <div class=\"yebbo-item\">\n          <span class=\"yebbo-brand\">\u00a9 by Yebbo Communication Network \u2022 1999\u20132026<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n<script>\n\/\/ Ethiopian Calendar Functions\nfunction gregorianToJDN(year, month, day) {\n  const a = Math.floor((14 - month) \/ 12);\n  const y = year + 4800 - a;\n  const m = month + 12 * a - 3;\n  return day + Math.floor((153 * m + 2) \/ 5) + \n         365 * y + Math.floor(y \/ 4) - \n         Math.floor(y \/ 100) + Math.floor(y \/ 400) - 32045;\n}\n\nfunction jdnToEthiopian(jdn) {\n  const ETHIOPIC_EPOCH = 1723856;\n  const diff = jdn - ETHIOPIC_EPOCH;\n  const r = diff % 1461;\n  const n = Math.floor(diff \/ 1461);\n  const year = 4 * n + Math.floor(r \/ 365);\n  const dayOfYear = (r % 365) + 1;\n  const month = Math.floor((dayOfYear - 1) \/ 30) + 1;\n  const day = ((dayOfYear - 1) % 30) + 1;\n  return { year, month, day };\n}\n\n\/\/ Ethiopian Month Names\nconst ETHIOPIC_MONTHS = [\n  \"\u1218\u1235\u12a8\u1228\u121d\", \"\u1325\u1245\u121d\u1275\", \"\u1205\u12f3\u122d\", \"\u1273\u1205\u1233\u1235\", \"\u1325\u122d\", \"\u12e8\u12ab\u1272\u1275\",\n  \"\u1218\u130b\u1262\u1275\", \"\u121a\u12eb\u12da\u12eb\", \"\u130d\u1295\u1266\u1275\", \"\u1230\u1294\", \"\u1210\u121d\u120c\", \"\u1290\u1210\u1234\", \"\u1333\u1309\u121c\u1295\"\n];\n\n\/\/ DOM Update Helper\nfunction updateElement(id, text) {\n  const element = document.getElementById(id);\n  if (element) element.textContent = text;\n}\n\n\/\/ Format Time with Leading Zero\nfunction padZero(num) {\n  return String(num).padStart(2, '0');\n}\n\n\/\/ Update All Clocks\nfunction updateAllClocks() {\n  const now = new Date();\n  \n  \/\/ Format Local Time (24-hour format)\n  const localHours = padZero(now.getHours());\n  const localMinutes = padZero(now.getMinutes());\n  const localSeconds = padZero(now.getSeconds());\n  const localTime = `${localHours}:${localMinutes}:${localSeconds}`;\n  \n  \/\/ Format Local Date\n  const localDate = now.toLocaleDateString('en-US', {\n    weekday: 'short',\n    month: 'short',\n    day: 'numeric',\n    year: 'numeric'\n  });\n  \n  \/\/ Update Local Time Elements\n  updateElement('yebboLocalTime', localTime);\n  updateElement('yebboLocalTime2', localTime);\n  updateElement('yebboLocalDate', localDate);\n  updateElement('yebboLocalDate2', localDate);\n  \n  \/\/ Ethiopian Time (Addis Ababa timezone)\n  const addisAbabaTime = new Date(\n    now.toLocaleString('en-US', { timeZone: 'Africa\/Addis_Ababa' })\n  );\n  \n  \/\/ Ethiopian Time Format (12-hour)\n  let ethHours = addisAbabaTime.getHours();\n  const ethMinutes = padZero(addisAbabaTime.getMinutes());\n  const ethSeconds = padZero(addisAbabaTime.getSeconds());\n  \n  \/\/ Convert to 12-hour format\n  const ethHour12 = ((ethHours + 11) % 12) + 1;\n  const ethTime = `${padZero(ethHour12)}:${ethMinutes}:${ethSeconds}`;\n  \n  \/\/ Update Ethiopian Time Elements\n  updateElement('yebboEthTime', ethTime);\n  updateElement('yebboEthTime2', ethTime);\n  \n  \/\/ Calculate Ethiopian Date\n  const ethGregorianYear = addisAbabaTime.getFullYear();\n  const ethGregorianMonth = addisAbabaTime.getMonth() + 1;\n  const ethGregorianDay = addisAbabaTime.getDate();\n  \n  const jdn = gregorianToJDN(ethGregorianYear, ethGregorianMonth, ethGregorianDay);\n  const ethDate = jdnToEthiopian(jdn);\n  \n  \/\/ Format Ethiopian Date\n  const ethMonthName = ETHIOPIC_MONTHS[ethDate.month - 1];\n  const ethDateFormatted = `${ethMonthName} ${ethDate.day}, ${ethDate.year} \u12d3.\u121d`;\n  \n  \/\/ Update Ethiopian Date Elements\n  updateElement('yebboEthDate', ethDateFormatted);\n  updateElement('yebboEthDate2', ethDateFormatted);\n}\n\n\/\/ Initialize and Update Every Second\nfunction initializeClock() {\n  \/\/ Initial update\n  updateAllClocks();\n  \n  \/\/ Update every second\n  setInterval(updateAllClocks, 1000);\n  \n  \/\/ Pause animation when tab is not visible\n  document.addEventListener('visibilitychange', function() {\n    const track = document.getElementById('yebboTrack');\n    if (document.hidden) {\n      track.style.animationPlayState = 'paused';\n    } else {\n      track.style.animationPlayState = 'running';\n    }\n  });\n}\n\n\/\/ Start when DOM is loaded\nif (document.readyState === 'loading') {\n  document.addEventListener('DOMContentLoaded', initializeClock);\n} else {\n  initializeClock();\n}\n\n\/\/ Export as embeddable widget (optional)\nif (typeof window !== 'undefined') {\n  window.YebboClockWidget = {\n    version: '1.0.0',\n    refresh: updateAllClocks,\n    getCurrentEthiopianTime: function() {\n      const now = new Date();\n      const addisAbabaTime = new Date(\n        now.toLocaleString('en-US', { timeZone: 'Africa\/Addis_Ababa' })\n      );\n      return addisAbabaTime;\n    }\n  };\n}\n<\/script>\n\n<!-- Embed Code for Website -->\n<script>\n\/\/ Auto-embed script for easy integration\n(function() {\n  \/\/ This function can be called to embed the widget anywhere\n  window.embedYebboClock = function(containerId) {\n    const container = document.getElementById(containerId);\n    if (!container) {\n      console.error('Container not found:', containerId);\n      return;\n    }\n    \n    \/\/ Clone the widget\n    const widget = document.querySelector('.yebbo-clock-widget').cloneNode(true);\n    container.innerHTML = '';\n    container.appendChild(widget);\n    \n    \/\/ Reinitialize the clock for the new widget\n    setTimeout(() => {\n      if (typeof initializeClock === 'function') {\n        initializeClock();\n      }\n    }, 100);\n  };\n})();\n<\/script>\n<\/body>\n<\/html>\n\n\n\n<!DOCTYPE html>\n<html lang=\"am\">\n<head>\n<meta charset=\"UTF-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n<title>Ethiopian Clock &#8211; Vertical Display | Yebbo.com<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\" \/>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin \/>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Share+Tech+Mono&#038;family=Nunito:wght@600;700;800&#038;display=swap\" rel=\"stylesheet\" \/>\n<style>\n  \/* Reset & Base *\/\n  * { \n    box-sizing: border-box; \n    margin: 0; \n    padding: 0; \n  }\n  \n  body {\n    background: #000;\n    min-height: 100vh;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n  }\n  \n  \/* Vertical Banner Container *\/\n  .yebbo-vertical-clock {\n    width: 300px;\n    min-height: 600px;\n    background: #020617;\n    border-radius: 20px;\n    overflow: hidden;\n    position: relative;\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.7);\n    display: flex;\n    flex-direction: column;\n    font-family: 'Nunito', system-ui, sans-serif;\n  }\n  \n  \/* Ethiopian Flag Stripes - Vertical Layout *\/\n  .yebbo-vertical-stripes {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    z-index: 0;\n    opacity: 0.15;\n  }\n  \n  .yebbo-vertical-stripe {\n    flex: 1;\n  }\n  \n  .yebbo-vs-green { background: #078930; }\n  .yebbo-vs-yellow { background: #FCDD09; }\n  .yebbo-vs-red { background: #DA121A; }\n  \n  \/* Header Section *\/\n  .yebbo-vertical-header {\n    padding: 25px 20px 15px;\n    text-align: center;\n    position: relative;\n    z-index: 1;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n    background: linear-gradient(to bottom, rgba(2, 6, 23, 0.9), rgba(2, 6, 23, 0.7));\n  }\n  \n  .yebbo-vertical-title {\n    color: #FCDD09;\n    font-size: 22px;\n    font-weight: 800;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    margin-bottom: 5px;\n    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);\n  }\n  \n  .yebbo-vertical-subtitle {\n    color: #38bdf8;\n    font-size: 14px;\n    opacity: 0.9;\n    font-weight: 600;\n  }\n  \n  \/* Time Display Sections *\/\n  .yebbo-time-section {\n    padding: 30px 20px;\n    position: relative;\n    z-index: 1;\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n  }\n  \n  .yebbo-time-section.ethiopian {\n    background: linear-gradient(to bottom, rgba(56, 189, 248, 0.05), transparent);\n  }\n  \n  .yebbo-time-section.local {\n    background: linear-gradient(to bottom, rgba(34, 197, 94, 0.05), transparent);\n  }\n  \n  .yebbo-section-label {\n    color: #e5e7eb;\n    font-size: 12px;\n    text-transform: uppercase;\n    letter-spacing: 0.15em;\n    margin-bottom: 15px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n  }\n  \n  .yebbo-section-label::before,\n  .yebbo-section-label::after {\n    content: '';\n    flex: 1;\n    height: 1px;\n    background: linear-gradient(90deg, transparent, currentColor, transparent);\n  }\n  \n  .yebbo-time-display {\n    font-family: 'Share Tech Mono', monospace;\n    font-size: 42px;\n    text-align: center;\n    color: #38bdf8;\n    text-shadow: 0 0 15px rgba(56, 189, 248, 0.7);\n    margin-bottom: 10px;\n    font-weight: 400;\n    letter-spacing: 0.05em;\n  }\n  \n  .yebbo-date-display {\n    color: #e5e7eb;\n    font-size: 16px;\n    text-align: center;\n    opacity: 0.9;\n    font-weight: 600;\n    line-height: 1.4;\n  }\n  \n  .yebbo-ethiopian-date {\n    color: #FCDD09;\n    font-size: 18px;\n    margin-top: 5px;\n  }\n  \n  \/* Separator *\/\n  .yebbo-vertical-separator {\n    height: 40px;\n    position: relative;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n  \n  .yebbo-vertical-dot {\n    width: 8px;\n    height: 8px;\n    border-radius: 50%;\n    background: #22c55e;\n    box-shadow: 0 0 10px rgba(34, 197, 94, 0.5);\n    position: relative;\n  }\n  \n  .yebbo-vertical-dot::before,\n  .yebbo-vertical-dot::after {\n    content: '';\n    position: absolute;\n    left: 50%;\n    transform: translateX(-50%);\n    width: 1px;\n    height: 15px;\n    background: rgba(34, 197, 94, 0.3);\n  }\n  \n  .yebbo-vertical-dot::before {\n    bottom: 100%;\n  }\n  \n  .yebbo-vertical-dot::after {\n    top: 100%;\n  }\n  \n  \/* Footer *\/\n  .yebbo-vertical-footer {\n    padding: 20px;\n    text-align: center;\n    position: relative;\n    z-index: 1;\n    background: rgba(0, 0, 0, 0.5);\n    border-top: 1px solid rgba(255, 255, 255, 0.08);\n  }\n  \n  .yebbo-vertical-brand {\n    color: #22c55e;\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: 0.05em;\n    line-height: 1.6;\n  }\n  \n  .yebbo-vertical-copyright {\n    color: rgba(255, 255, 255, 0.7);\n    font-size: 11px;\n    margin-top: 8px;\n  }\n  \n  \/* Timezone Indicator *\/\n  .yebbo-timezone {\n    display: inline-block;\n    padding: 4px 10px;\n    background: rgba(56, 189, 248, 0.1);\n    border: 1px solid rgba(56, 189, 248, 0.3);\n    border-radius: 12px;\n    color: #38bdf8;\n    font-size: 10px;\n    margin-top: 10px;\n    font-weight: 600;\n  }\n  \n  \/* Responsive *\/\n  @media (max-width: 350px) {\n    .yebbo-vertical-clock {\n      width: 280px;\n      min-height: 550px;\n    }\n    \n    .yebbo-time-display {\n      font-size: 36px;\n    }\n    \n    .yebbo-ethiopian-date {\n      font-size: 16px;\n    }\n  }\n  \n  @media (min-height: 800px) {\n    .yebbo-vertical-clock {\n      min-height: 700px;\n    }\n    \n    .yebbo-time-section {\n      padding: 40px 20px;\n    }\n  }\n  \n  \/* Glow Animation for Time *\/\n  @keyframes yebbo-glow {\n    0%, 100% {\n      text-shadow: 0 0 15px rgba(56, 189, 248, 0.7),\n                   0 0 25px rgba(56, 189, 248, 0.3);\n    }\n    50% {\n      text-shadow: 0 0 20px rgba(56, 189, 248, 0.9),\n                   0 0 35px rgba(56, 189, 248, 0.5),\n                   0 0 45px rgba(56, 189, 248, 0.2);\n    }\n  }\n  \n  .yebbo-time-display {\n    animation: yebbo-glow 3s ease-in-out infinite;\n  }\n  \n  \/* Hover Effects *\/\n  .yebbo-vertical-clock:hover {\n    transform: translateY(-5px);\n    transition: transform 0.3s ease;\n    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8);\n  }\n  \n  .yebbo-vertical-clock {\n    transition: all 0.3s ease;\n  }\n<\/style>\n<\/head>\n\n<body>\n  <!-- Vertical Clock Banner -->\n  <div class=\"yebbo-vertical-clock\">\n    \n    <!-- Ethiopian Flag Background -->\n    <div class=\"yebbo-vertical-stripes\">\n      <div class=\"yebbo-vertical-stripe yebbo-vs-green\"><\/div>\n      <div class=\"yebbo-vertical-stripe yebbo-vs-yellow\"><\/div>\n      <div class=\"yebbo-vertical-stripe yebbo-vs-red\"><\/div>\n    <\/div>\n    \n    <!-- Header -->\n    <div class=\"yebbo-vertical-header\">\n      <div class=\"yebbo-vertical-title\">\u12e8\u12a2\u1275\u12ee\u1335\u12eb \u1230\u12d3\u1275<\/div>\n      <div class=\"yebbo-vertical-subtitle\">Ethiopian Time Display<\/div>\n    <\/div>\n    \n    <!-- Ethiopian Time Section -->\n    <div class=\"yebbo-time-section ethiopian\">\n      <div class=\"yebbo-section-label\">Ethiopian Time<\/div>\n      <div class=\"yebbo-time-display\" id=\"yebboVerticalEthTime\">00:00:00<\/div>\n      <div class=\"yebbo-date-display\">\n        <div id=\"yebboVerticalEthDate\">\u1218\u1235\u12a8\u1228\u121d 1, 2016 \u12d3.\u121d<\/div>\n        <div class=\"yebbo-timezone\">GMT+3 \u2022 Addis Ababa<\/div>\n      <\/div>\n    <\/div>\n    \n    <!-- Separator -->\n    <div class=\"yebbo-vertical-separator\">\n      <div class=\"yebbo-vertical-dot\"><\/div>\n    <\/div>\n    \n    <!-- Local Time Section -->\n    <div class=\"yebbo-time-section local\">\n      <div class=\"yebbo-section-label\">Local Time<\/div>\n      <div class=\"yebbo-time-display\" id=\"yebboVerticalLocalTime\">00:00:00<\/div>\n      <div class=\"yebbo-date-display\" id=\"yebboVerticalLocalDate\">\n        Monday, January 1, 2025\n      <\/div>\n    <\/div>\n    \n    <!-- Footer -->\n    <div class=\"yebbo-vertical-footer\">\n      <div class=\"yebbo-vertical-brand\">\n        Yebbo Communication Network\n      <\/div>\n      <div class=\"yebbo-vertical-copyright\">\n        \u00a9 1999\u20132026 \u2022 YebboBooks \u2022 All rights reserved\n      <\/div>\n    <\/div>\n  <\/div>\n\n<script>\n\/\/ Ethiopian Calendar Functions\nfunction gregorianToJDN(year, month, day) {\n  const a = Math.floor((14 - month) \/ 12);\n  const y = year + 4800 - a;\n  const m = month + 12 * a - 3;\n  return day + Math.floor((153 * m + 2) \/ 5) + \n         365 * y + Math.floor(y \/ 4) - \n         Math.floor(y \/ 100) + Math.floor(y \/ 400) - 32045;\n}\n\nfunction jdnToEthiopian(jdn) {\n  const ETHIOPIC_EPOCH = 1723856;\n  const diff = jdn - ETHIOPIC_EPOCH;\n  const r = diff % 1461;\n  const n = Math.floor(diff \/ 1461);\n  const year = 4 * n + Math.floor(r \/ 365);\n  const dayOfYear = (r % 365) + 1;\n  const month = Math.floor((dayOfYear - 1) \/ 30) + 1;\n  const day = ((dayOfYear - 1) % 30) + 1;\n  return { year, month, day };\n}\n\n\/\/ Ethiopian Month Names\nconst ETHIOPIC_MONTHS = [\n  \"\u1218\u1235\u12a8\u1228\u121d\", \"\u1325\u1245\u121d\u1275\", \"\u1205\u12f3\u122d\", \"\u1273\u1205\u1233\u1235\", \"\u1325\u122d\", \"\u12e8\u12ab\u1272\u1275\",\n  \"\u1218\u130b\u1262\u1275\", \"\u121a\u12eb\u12da\u12eb\", \"\u130d\u1295\u1266\u1275\", \"\u1230\u1294\", \"\u1210\u121d\u120c\", \"\u1290\u1210\u1234\", \"\u1333\u1309\u121c\u1295\"\n];\n\n\/\/ English Day Names for Ethiopian Date\nconst ENGLISH_DAYS = [\n  \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"\n];\n\nconst ENGLISH_MONTHS = [\n  \"January\", \"February\", \"March\", \"April\", \"May\", \"June\",\n  \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"\n];\n\n\/\/ Helper Functions\nfunction padZero(num) {\n  return String(num).padStart(2, '0');\n}\n\nfunction updateElement(id, text) {\n  const element = document.getElementById(id);\n  if (element) element.textContent = text;\n}\n\n\/\/ Format Ethiopian date with weekday\nfunction formatEthiopianDateFull(ethDate) {\n  const monthName = ETHIOPIC_MONTHS[ethDate.month - 1];\n  return `${monthName} ${ethDate.day}, ${ethDate.year} \u12d3.\u121d`;\n}\n\n\/\/ Format local date nicely\nfunction formatLocalDateFull(date) {\n  const day = ENGLISH_DAYS[date.getDay()];\n  const month = ENGLISH_MONTHS[date.getMonth()];\n  const dayNum = date.getDate();\n  const year = date.getFullYear();\n  return `${day}, ${month} ${dayNum}, ${year}`;\n}\n\n\/\/ Update Vertical Clock\nfunction updateVerticalClock() {\n  const now = new Date();\n  \n  \/\/ Local Time (24-hour format)\n  const localHours = padZero(now.getHours());\n  const localMinutes = padZero(now.getMinutes());\n  const localSeconds = padZero(now.getSeconds());\n  const localTime = `${localHours}:${localMinutes}:${localSeconds}`;\n  \n  \/\/ Update Local Time Display\n  updateElement('yebboVerticalLocalTime', localTime);\n  updateElement('yebboVerticalLocalDate', formatLocalDateFull(now));\n  \n  \/\/ Ethiopian Time (Addis Ababa timezone)\n  const addisAbabaTime = new Date(\n    now.toLocaleString('en-US', { timeZone: 'Africa\/Addis_Ababa' })\n  );\n  \n  \/\/ Ethiopian Time Format (12-hour)\n  let ethHours = addisAbabaTime.getHours();\n  const ethMinutes = padZero(addisAbabaTime.getMinutes());\n  const ethSeconds = padZero(addisAbabaTime.getSeconds());\n  \n  \/\/ Convert to 12-hour format with AM\/PM indicator\n  const ethHour12 = ((ethHours + 11) % 12) + 1;\n  const ampm = ethHours >= 12 ? 'PM' : 'AM';\n  const ethTime = `${padZero(ethHour12)}:${ethMinutes}:${ethSeconds}`;\n  \n  \/\/ Update Ethiopian Time Display\n  updateElement('yebboVerticalEthTime', ethTime);\n  \n  \/\/ Calculate Ethiopian Date\n  const ethGregorianYear = addisAbabaTime.getFullYear();\n  const ethGregorianMonth = addisAbabaTime.getMonth() + 1;\n  const ethGregorianDay = addisAbabaTime.getDate();\n  \n  const jdn = gregorianToJDN(ethGregorianYear, ethGregorianMonth, ethGregorianDay);\n  const ethDate = jdnToEthiopian(jdn);\n  \n  \/\/ Update Ethiopian Date Display\n  updateElement('yebboVerticalEthDate', formatEthiopianDateFull(ethDate));\n  \n  \/\/ Update timezone based on user's location\n  updateTimezoneDisplay();\n}\n\n\/\/ Update timezone information\nfunction updateTimezoneDisplay() {\n  const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n  const timezoneOffset = -new Date().getTimezoneOffset() \/ 60;\n  const offsetSign = timezoneOffset >= 0 ? '+' : '';\n  \n  \/\/ You could display this if you want to show user's timezone\n  \/\/ updateElement('userTimezone', `GMT${offsetSign}${timezoneOffset} \u2022 ${timezone}`);\n}\n\n\/\/ Initialize Clock\nfunction initializeVerticalClock() {\n  \/\/ Initial update\n  updateVerticalClock();\n  \n  \/\/ Update every second\n  setInterval(updateVerticalClock, 1000);\n  \n  \/\/ Add hover effect\n  const clock = document.querySelector('.yebbo-vertical-clock');\n  clock.addEventListener('mouseenter', () => {\n    clock.style.transform = 'translateY(-5px)';\n    clock.style.boxShadow = '0 20px 40px rgba(0, 0, 0, 0.8)';\n  });\n  \n  clock.addEventListener('mouseleave', () => {\n    clock.style.transform = 'translateY(0)';\n    clock.style.boxShadow = '0 15px 35px rgba(0, 0, 0, 0.7)';\n  });\n}\n\n\/\/ Start when DOM is loaded\nif (document.readyState === 'loading') {\n  document.addEventListener('DOMContentLoaded', initializeVerticalClock);\n} else {\n  initializeVerticalClock();\n}\n\n\/\/ Export as embeddable widget\nif (typeof window !== 'undefined') {\n  window.YebboVerticalClock = {\n    version: '1.0.0',\n    refresh: updateVerticalClock,\n    getEthiopianTime: function() {\n      const now = new Date();\n      const addisAbabaTime = new Date(\n        now.toLocaleString('en-US', { timeZone: 'Africa\/Addis_Ababa' })\n      );\n      \n      \/\/ Calculate Ethiopian date\n      const jdn = gregorianToJDN(\n        addisAbabaTime.getFullYear(),\n        addisAbabaTime.getMonth() + 1,\n        addisAbabaTime.getDate()\n      );\n      const ethDate = jdnToEthiopian(jdn);\n      \n      return {\n        time: addisAbabaTime,\n        ethiopianDate: ethDate,\n        formattedDate: formatEthiopianDateFull(ethDate)\n      };\n    }\n  };\n}\n\n\/\/ Auto-embed function for vertical clock\n(function() {\n  window.embedYebboVerticalClock = function(containerId) {\n    const container = document.getElementById(containerId);\n    if (!container) {\n      console.error('Container not found:', containerId);\n      return;\n    }\n    \n    \/\/ Clone the vertical clock widget\n    const clockHTML = `\n      <div class=\"yebbo-vertical-clock\">\n        <div class=\"yebbo-vertical-stripes\">\n          <div class=\"yebbo-vertical-stripe yebbo-vs-green\"><\/div>\n          <div class=\"yebbo-vertical-stripe yebbo-vs-yellow\"><\/div>\n          <div class=\"yebbo-vertical-stripe yebbo-vs-red\"><\/div>\n        <\/div>\n        <div class=\"yebbo-vertical-header\">\n          <div class=\"yebbo-vertical-title\">\u12e8\u12a2\u1275\u12ee\u1335\u12eb \u1230\u12d3\u1275<\/div>\n          <div class=\"yebbo-vertical-subtitle\">Ethiopian Time Display<\/div>\n        <\/div>\n        <div class=\"yebbo-time-section ethiopian\">\n          <div class=\"yebbo-section-label\">Ethiopian Time<\/div>\n          <div class=\"yebbo-time-display\" id=\"yebboVerticalEthTimeEmbed\">00:00:00<\/div>\n          <div class=\"yebbo-date-display\">\n            <div id=\"yebboVerticalEthDateEmbed\">\u1218\u1235\u12a8\u1228\u121d 1, 2016 \u12d3.\u121d<\/div>\n            <div class=\"yebbo-timezone\">GMT+3 \u2022 Addis Ababa<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"yebbo-vertical-separator\">\n          <div class=\"yebbo-vertical-dot\"><\/div>\n        <\/div>\n        <div class=\"yebbo-time-section local\">\n          <div class=\"yebbo-section-label\">Local Time<\/div>\n          <div class=\"yebbo-time-display\" id=\"yebboVerticalLocalTimeEmbed\">00:00:00<\/div>\n          <div class=\"yebbo-date-display\" id=\"yebboVerticalLocalDateEmbed\">\n            Monday, January 1, 2025\n          <\/div>\n        <\/div>\n        <div class=\"yebbo-vertical-footer\">\n          <div class=\"yebbo-vertical-brand\">Yebbo Communication Network<\/div>\n          <div class=\"yebbo-vertical-copyright\">\u00a9 1999\u20132026 \u2022 YebboBooks \u2022 All rights reserved<\/div>\n        <\/div>\n      <\/div>\n    `;\n    \n    container.innerHTML = clockHTML;\n    \n    \/\/ Reinitialize the clock for the embedded version\n    setTimeout(() => {\n      \/\/ You would need to adapt the update functions for embedded version\n      \/\/ This is simplified - in production you'd want to reuse the same functions\n      console.log('Yebbo Vertical Clock embedded successfully');\n    }, 100);\n  };\n})();\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Ethiopian Clock Ticker 1000&#215;100 | Yebbo.com \u12e8\u12a2\u1275\u12ee\u1335\u12eb \u1230\u12d3\u1275 00:00:00 \u1218\u1235\u12a8\u1228\u121d 1, 2016 \u12d3.\u121d Local Time 00:00:00 Mon, Jan 1, 2025 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":632,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[32,36],"tags":[],"class_list":["post-626","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-techinology","category-yebbotech"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"http:\/\/yebbo.com\/ethiodiego\/wp-content\/uploads\/2026\/01\/ChatGPT-Image-Jan-11-2026-05_31_39-PM.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8nzgb-a6","jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/posts\/626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/comments?post=626"}],"version-history":[{"count":6,"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/posts\/626\/revisions"}],"predecessor-version":[{"id":639,"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/posts\/626\/revisions\/639"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/media\/632"}],"wp:attachment":[{"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/media?parent=626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/categories?post=626"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yebbo.com\/ethiodiego\/wp-json\/wp\/v2\/tags?post=626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}