{"id":157,"date":"2019-12-04T11:11:48","date_gmt":"2019-12-04T11:11:48","guid":{"rendered":"https:\/\/jack-herr.ga\/?page_id=157"},"modified":"2026-04-01T21:42:25","modified_gmt":"2026-04-01T19:42:25","slug":"about-me","status":"publish","type":"page","link":"https:\/\/jack-herr.ga\/en\/","title":{"rendered":"Home"},"content":{"rendered":"<section class=\"fw-main-row \"  >\n\t<div class=\"fw-container\">\n\t\t<div class=\"row\">\n\t\r\n\r\n<div class=\" col-xs-12 col-sm-12 \">\r\n    <div id=\"col_inner_877489360620b3037fc9b064f63a7372\" class=\"fw-col-inner\" data-paddings=\"0px 0px 0px 0px\">\r\n    \t\n<div id=\"home_content_954218bfd87cb3b458721f4a70135965\" class=\"home-content\">\n    <div class=\"row flex-v-align\">\n        <div class=\"col-sm-12 col-md-5 col-lg-5\">\n            <div class=\"home-photo\">\n                <div class=\"hp-inner\"><\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"col-sm-12 col-md-7 col-lg-7\">\n            <div class=\"home-text hp-left\">\n                                <div class=\"owl-carousel text-rotation\">                                    \n                                            <div class=\"item\">\n                            <h4>Windows Server - Administrator<\/h4>\n                        <\/div>\n                                            <div class=\"item\">\n                            <h4>Windows Server - Virtualizer<\/h4>\n                        <\/div>\n                                    <\/div>\n                                <h1>Jack Herrmann<\/h1>\n                <p>Hey! Cool, dass du auf meine Webseite gesto\u00dfen bist. Hoffentlich findest du hier einige interessanten Informationen \u00fcber mich!<\/p>\n                                   <div class=\"home-buttons\">\n                                            <a href=\"https:\/\/jack-herr.ga\/kontakt\" target=\"_self\" id=\"d1f6731aa005d8f1d798ec732721dbe9\" class=\"btn btn-secondary\">Kontakt<\/a>\n                                        <\/div>\n                                <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<!-- ===== LANYARD STATUS WIDGET ===== -->\n<style>\n.lny-wrap { margin: 30px 0; }\n.lny-card {\n  background: rgba(255,255,255,0.05);\n  border: 1px solid rgba(255,255,255,0.1);\n  border-radius: 12px;\n  padding: 20px;\n  margin-bottom: 16px;\n  transition: border-color 0.2s;\n  box-sizing: border-box;\n  width: 100%;\n}\n.lny-card:hover { border-color: rgba(255,255,255,0.25); }\n.lny-label {\n  font-size: 11px; font-weight: 600; letter-spacing: 0.08em;\n  text-transform: uppercase; color: rgba(255,255,255,0.5); margin: 0 0 12px;\n}\n.lny-row { display: flex; align-items: center; gap: 14px; }\n.lny-avatar-wrap { position: relative; flex-shrink: 0; width: 56px; height: 56px; }\n.lny-avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; display: block; }\n.lny-avatar-placeholder {\n  width: 56px; height: 56px; border-radius: 50%; background: #5865F2;\n  display: flex; align-items: center; justify-content: center;\n  font-size: 22px; color: #fff; font-weight: 700;\n}\n.lny-status-dot {\n  width: 16px; height: 16px; border-radius: 50%;\n  border: 3px solid #1a1a1a; position: absolute; bottom: 0; right: 0;\n}\n.status-online  { background: #23a55a; }\n.status-idle    { background: #f0b232; }\n.status-dnd     { background: #f23f43; }\n.status-offline { background: #80848e; }\n.lny-name        { font-size: 17px; font-weight: 600; color: #fff; margin: 0 0 2px; }\n.lny-status-text { font-size: 13px; color: rgba(255,255,255,0.55); margin: 0; }\n.lny-divider { border: none; border-top: 1px solid rgba(255,255,255,0.08); margin: 14px 0 0; }\n.lny-activity { display: flex; align-items: center; gap: 12px; width: 100%; margin-top: 14px; }\n.lny-activity-img { width: 48px; height: 48px; border-radius: 6px; object-fit: cover; flex-shrink: 0; }\n.lny-activity-icon {\n  width: 48px; height: 48px; border-radius: 6px; background: rgba(255,255,255,0.08);\n  display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0;\n}\n.lny-act-info { flex: 1; min-width: 0; }\n.lny-act-title {\n  font-size: 14px; font-weight: 600; color: #fff; margin: 0 0 2px;\n  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\n}\n.lny-act-sub {\n  font-size: 12px; color: rgba(255,255,255,0.55); margin: 0 0 1px;\n  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\n}\n.lny-bar-wrap {\n  width: 100%; height: 4px; background: rgba(255,255,255,0.15);\n  border-radius: 2px; margin-top: 8px; overflow: hidden; box-sizing: border-box;\n}\n.lny-bar { height: 100%; width: 0%; border-radius: 2px; transition: width 1s linear; }\n.lny-btn-row { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }\n.lny-btn {\n  display: inline-block; padding: 6px 14px; border-radius: 6px; font-size: 12px;\n  font-weight: 600; text-decoration: none; border: 1px solid rgba(255,255,255,0.15);\n  transition: background 0.15s, border-color 0.15s; cursor: pointer; white-space: nowrap;\n}\n.lny-btn-spotify { background: rgba(30,215,96,0.15); border-color: rgba(30,215,96,0.35); color: #1DB954; }\n.lny-btn-spotify:hover { background: rgba(30,215,96,0.25); border-color: rgba(30,215,96,0.55); }\n.lny-btn-yt { background: rgba(255,0,0,0.15); border-color: rgba(255,0,0,0.35); color: #ff4444; }\n.lny-btn-yt:hover { background: rgba(255,0,0,0.25); border-color: rgba(255,0,0,0.55); }\n.lny-spotify-card {\n  background: linear-gradient(135deg, rgba(30,215,96,0.12), rgba(30,215,96,0.04));\n  border-color: rgba(30,215,96,0.3);\n}\n.lny-spotify-card .lny-label { color: #1DB954; }\n.lny-spotify-card .lny-bar   { background: #1DB954; }\n.lny-yt-card {\n  background: linear-gradient(135deg, rgba(255,0,0,0.12), rgba(255,0,0,0.04));\n  border-color: rgba(255,0,0,0.3);\n}\n.lny-yt-card .lny-label { color: #ff4444; }\n.lny-yt-card .lny-bar   { background: #ff4444; }\n<\/style>\n\n<div class=\"lny-wrap\" style=\"display:none;\">\n  <div class=\"lny-card\" id=\"lny-discord-card\">\n    <p class=\"lny-label\">Discord Status<\/p>\n    <div class=\"lny-row\">\n      <div class=\"lny-avatar-wrap\">\n        <div class=\"lny-avatar-placeholder\" id=\"lny-ph\">?<\/div>\n        <img decoding=\"async\" id=\"lny-avatar\" class=\"lny-avatar\" src=\"\" alt=\"\" style=\"display:none;\">\n        <span class=\"lny-status-dot status-offline\" id=\"lny-dot\"><\/span>\n      <\/div>\n      <div>\n        <p class=\"lny-name\" id=\"lny-username\"><\/p>\n        <p class=\"lny-status-text\" id=\"lny-status-text\"><\/p>\n      <\/div>\n    <\/div>\n    <div id=\"lny-acts\"><\/div>\n  <\/div>\n\n  <div class=\"lny-card lny-spotify-card\" id=\"lny-spotify-card\" style=\"display:none;\">\n    <p class=\"lny-label\">\ud83c\udfb5 Spotify \u2014 Gerade l\u00e4uft<\/p>\n    <div class=\"lny-activity\">\n      <img decoding=\"async\" id=\"lny-sp-img\" class=\"lny-activity-img\" src=\"\" alt=\"\" style=\"border-radius:4px;flex-shrink:0;\">\n      <div class=\"lny-act-info\">\n        <p class=\"lny-act-title\" id=\"lny-sp-song\"><\/p>\n        <p class=\"lny-act-sub\"   id=\"lny-sp-artist\"><\/p>\n        <p class=\"lny-act-sub\"   id=\"lny-sp-album\" style=\"opacity:0.6;\"><\/p>\n        <div class=\"lny-bar-wrap\"><div class=\"lny-bar\" id=\"lny-sp-bar\"><\/div><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"lny-btn-row\" id=\"lny-sp-btns\"><\/div>\n  <\/div>\n\n  <div class=\"lny-card lny-yt-card\" id=\"lny-yt-card\" style=\"display:none;\">\n    <p class=\"lny-label\">\u25b6\ufe0f YouTube Music \u2014 Gerade l\u00e4uft<\/p>\n    <div class=\"lny-activity\">\n      <img decoding=\"async\" id=\"lny-yt-img\" class=\"lny-activity-img\" src=\"\" alt=\"\" style=\"border-radius:4px;flex-shrink:0;\">\n      <div class=\"lny-act-info\">\n        <p class=\"lny-act-title\" id=\"lny-yt-song\"><\/p>\n        <p class=\"lny-act-sub\"   id=\"lny-yt-artist\"><\/p>\n        <div class=\"lny-bar-wrap\"><div class=\"lny-bar\" id=\"lny-yt-bar\"><\/div><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"lny-btn-row\" id=\"lny-yt-btns\"><\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function () {\n  var USER_ID = \"488303323481374721\";\n  var ws, pingTimer, spTimer, ytTimer, renderTimer;\n  var actTimers = {};\n\n  var VALID_STATUSES = { online: true, idle: true, dnd: true, offline: true };\n\n  \/\/ Zwei getrennte Quellen:\n  \/\/ wsState  = kommt vom WebSocket (Aktivit\u00e4ten zuverl\u00e4ssig, Status NICHT)\n  \/\/ apiState = kommt vom REST-Poll  (Status zuverl\u00e4ssig)\n  \/\/ Beim Render gewinnt apiState.status immer \u00fcber wsState.status\n  var wsState = {\n    activities: [],\n    spotify: null,\n    discord_user: null,\n    status: null\n  };\n  var apiState = {\n    status: null\n  };\n\n  var iconCache = {\n    \"1425690433018925056\": \"https:\/\/cdn.discordapp.com\/app-icons\/1425690433018925056\/385864ebfdda22c76c0bd944c8722efd.png?size=128\",\n  };\n\n  var statusLabels = {\n    online:  \"Online\",\n    idle:    \"Abwesend\",\n    dnd:     \"Bitte nicht st\u00f6ren\",\n    offline: \"Offline\"\n  };\n\n  \/\/ REST API pollen \u2014 gibt den echten Status zur\u00fcck, nicht den buggy WS-Status\n  function pollStatus() {\n    fetch(\"https:\/\/api.lanyard.rest\/v1\/users\/\" + USER_ID)\n      .then(function(r) { return r.json(); })\n      .then(function(json) {\n        if (json && json.data && json.data.discord_status &&\n            VALID_STATUSES[json.data.discord_status]) {\n          var newStatus = json.data.discord_status;\n          if (apiState.status !== newStatus) {\n            apiState.status = newStatus;\n            renderUI();\n          }\n        }\n      })\n      .catch(function() {}); \/\/ Netzwerkfehler ignorieren\n  }\n\n  function setText(id, val) {\n    var el = document.getElementById(id);\n    if (el && el.textContent !== val) el.textContent = val;\n  }\n  function setSrc(id, val) {\n    var el = document.getElementById(id);\n    if (el && el.getAttribute(\"src\") !== val) el.src = val;\n  }\n\n  function mergeWsData(data) {\n    if (data.discord_user && data.discord_user.id) wsState.discord_user = data.discord_user;\n    if (Array.isArray(data.activities))            wsState.activities   = data.activities;\n    if (Object.prototype.hasOwnProperty.call(data, \"spotify\")) wsState.spotify = data.spotify;\n    \/\/ WS-Status nur als Fallback wenn API noch nichts geliefert hat\n    if (!apiState.status && data.discord_status && VALID_STATUSES[data.discord_status]) {\n      wsState.status = data.discord_status;\n    }\n  }\n\n  function fetchAppIcon(appId, callback) {\n    if (!appId) { callback(null); return; }\n    callback(iconCache[appId] || null);\n  }\n\n  function resolveImage(key, appId) {\n    if (!key) return null;\n    if (key.startsWith(\"mp:external\/\"))\n      return \"https:\/\/media.discordapp.net\/external\/\" + key.replace(\"mp:external\/\", \"\");\n    if (key.startsWith(\"spotify:\")) return null;\n    if (key.startsWith(\"http:\/\/\") || key.startsWith(\"https:\/\/\")) return key;\n    if (appId) return \"https:\/\/cdn.discordapp.com\/app-assets\/\" + appId + \"\/\" + key + \".png\";\n    return null;\n  }\n\n  function extractYouTubeId(largeImageKey) {\n    if (!largeImageKey) return null;\n    var match = largeImageKey.match(\/\\\/vi(?:_webp)?\\\/([a-zA-Z0-9_-]{11})\\\/\/);\n    if (match) return match[1];\n    match = largeImageKey.match(\/[?&]v=([a-zA-Z0-9_-]{11})\/);\n    if (match) return match[1];\n    return null;\n  }\n\n  function buildSpotifyButtons(spotify) {\n    var row = document.getElementById(\"lny-sp-btns\");\n    row.innerHTML = \"\";\n    if (spotify.track_id) {\n      var a = document.createElement(\"a\");\n      a.className = \"lny-btn lny-btn-spotify\";\n      a.href = \"https:\/\/open.spotify.com\/track\/\" + spotify.track_id;\n      a.target = \"_blank\"; a.rel = \"noopener\";\n      a.textContent = \"\ud83c\udfa7 Auf Spotify anh\u00f6ren\";\n      row.appendChild(a);\n    }\n  }\n\n  function buildYtButtons(act) {\n    var row = document.getElementById(\"lny-yt-btns\");\n    row.innerHTML = \"\";\n    var videoId = null;\n    if (act.sync_id) videoId = act.sync_id;\n    if (!videoId && act.assets && act.assets.large_image)\n      videoId = extractYouTubeId(act.assets.large_image);\n    var a = document.createElement(\"a\");\n    a.className = \"lny-btn lny-btn-yt\";\n    a.target = \"_blank\"; a.rel = \"noopener\";\n    if (videoId) {\n      a.href = \"https:\/\/music.youtube.com\/watch?v=\" + videoId;\n      a.textContent = \"\u25b6\ufe0f Auf YouTube Music anh\u00f6ren\";\n    } else if (act.details) {\n      var q = encodeURIComponent((act.details || \"\") + \" \" + (act.state || \"\"));\n      a.href = \"https:\/\/music.youtube.com\/search?q=\" + q;\n      a.textContent = \"\ud83d\udd0d Auf YouTube Music suchen\";\n    } else { return; }\n    row.appendChild(a);\n  }\n\n  function setSlotImage(imgEl, iconEl, imgUrl, appId, actType) {\n    var fallbackEmoji = actType === 1 ? \"\ud83d\udcfa\" : \"\ud83c\udfae\";\n    function showEmoji() {\n      imgEl.style.display = \"none\"; iconEl.style.display = \"flex\";\n      if (iconEl.textContent !== fallbackEmoji) iconEl.textContent = fallbackEmoji;\n    }\n    function showImg(url) {\n      imgEl.onerror = function() {\n        fetchAppIcon(appId, function(iconUrl) {\n          if (iconUrl && imgEl.getAttribute(\"src\") !== iconUrl) {\n            imgEl.onerror = function() { showEmoji(); };\n            imgEl.src = iconUrl; imgEl.style.display = \"block\"; iconEl.style.display = \"none\";\n          } else { showEmoji(); }\n        });\n      };\n      if (imgEl.getAttribute(\"src\") !== url) imgEl.src = url;\n      imgEl.style.display = \"block\"; iconEl.style.display = \"none\";\n    }\n    if (imgUrl) { showImg(imgUrl); }\n    else { fetchAppIcon(appId, function(iconUrl) { if (iconUrl) showImg(iconUrl); else showEmoji(); }); }\n  }\n\n  function connect() {\n    if (ws) { try { ws.close(); } catch(e){} }\n    ws = new WebSocket(\"wss:\/\/api.lanyard.rest\/socket\");\n    ws.onopen = function() {\n      ws.send(JSON.stringify({ op: 2, d: { subscribe_to_id: USER_ID } }));\n    };\n    ws.onmessage = function(e) {\n      var msg = JSON.parse(e.data);\n      if (msg.op === 1) {\n        clearInterval(pingTimer);\n        pingTimer = setInterval(function() {\n          if (ws.readyState === WebSocket.OPEN) ws.send(JSON.stringify({ op: 3 }));\n        }, msg.d.heartbeat_interval);\n      }\n      if (msg.op === 0 && (msg.t === \"INIT_STATE\" || msg.t === \"PRESENCE_UPDATE\")) {\n        mergeWsData(msg.d);\n        \/\/ Bei Aktivit\u00e4tswechsel sofort Status neu pollen\n        pollStatus();\n        clearTimeout(renderTimer);\n        renderTimer = setTimeout(renderUI, 400);\n      }\n    };\n    ws.onerror = function() {};\n    ws.onclose = function() {\n      clearInterval(pingTimer); clearInterval(spTimer); clearInterval(ytTimer);\n      setTimeout(connect, 5000);\n    };\n  }\n\n  function renderUI() {\n    \/\/ API-Status hat Vorrang, WS-Status nur als Fallback\n    var status = apiState.status || wsState.status || \"offline\";\n\n    document.querySelector(\".lny-wrap\").style.display =\n      status === \"offline\" ? \"none\" : \"block\";\n    if (status === \"offline\") return;\n\n    var av = document.getElementById(\"lny-avatar\");\n    var ph = document.getElementById(\"lny-ph\");\n    if (wsState.discord_user && wsState.discord_user.avatar) {\n      var newSrc = \"https:\/\/cdn.discordapp.com\/avatars\/\" +\n        wsState.discord_user.id + \"\/\" + wsState.discord_user.avatar + \".png?size=128\";\n      if (av.getAttribute(\"src\") !== newSrc) av.src = newSrc;\n      av.style.display = \"block\"; ph.style.display = \"none\";\n    } else {\n      av.style.display = \"none\"; ph.style.display = \"flex\";\n    }\n\n    if (wsState.discord_user) {\n      setText(\"lny-username\",\n        wsState.discord_user.global_name || wsState.discord_user.username || \"Unbekannt\");\n    }\n\n    var dot = document.getElementById(\"lny-dot\");\n    var wantedClass = \"lny-status-dot status-\" + status;\n    if (dot.className !== wantedClass) dot.className = wantedClass;\n\n    var label = statusLabels[status] || status;\n    var customStatus = wsState.activities.find(function(a) { return a.type === 4; });\n    if (customStatus && customStatus.state) label = label + \" \u00b7 \" + customStatus.state;\n    setText(\"lny-status-text\", label);\n\n    var acts = wsState.activities.filter(function(a) {\n      return a.type !== 4 && a.name !== \"Spotify\" && a.name !== \"YouTube Music\";\n    });\n\n    var actsEl   = document.getElementById(\"lny-acts\");\n    var existing = actsEl.querySelectorAll(\".lny-act-slot\");\n    if (existing.length !== acts.length) {\n      Object.keys(actTimers).forEach(function(k){ clearInterval(actTimers[k]); });\n      actTimers = {};\n      actsEl.innerHTML = \"\";\n      for (var i = 0; i < acts.length; i++) {\n        var slot = document.createElement(\"div\");\n        slot.className = \"lny-act-slot\";\n        slot.innerHTML =\n          '<hr class=\"lny-divider\">' +\n          '<div class=\"lny-activity\">' +\n            '<div class=\"lny-activity-icon lny-act-icon\">\ud83c\udfae<\/div>' +\n            '<img decoding=\"async\" class=\"lny-activity-img lny-act-img\" src=\"\" alt=\"\" style=\"display:none;\">' +\n            '<div class=\"lny-act-info\">' +\n              '<p class=\"lny-act-title lny-act-name\"><\/p>' +\n              '<p class=\"lny-act-sub lny-act-detail\"><\/p>' +\n              '<p class=\"lny-act-sub lny-act-state\"><\/p>' +\n            '<\/div>' +\n          '<\/div>';\n        actsEl.appendChild(slot);\n      }\n    }\n\n    var slots = actsEl.querySelectorAll(\".lny-act-slot\");\n    for (var j = 0; j < acts.length; j++) {\n      var act  = acts[j];\n      var sl   = slots[j];\n      var nameEl   = sl.querySelector(\".lny-act-name\");\n      var detailEl = sl.querySelector(\".lny-act-detail\");\n      var stateEl  = sl.querySelector(\".lny-act-state\");\n      var imgEl    = sl.querySelector(\".lny-act-img\");\n      var iconEl   = sl.querySelector(\".lny-act-icon\");\n      if (nameEl.textContent   !== (act.name    || \"\")) nameEl.textContent   = act.name    || \"\";\n      if (detailEl.textContent !== (act.details  || \"\")) detailEl.textContent = act.details || \"\";\n      if (stateEl.textContent  !== (act.state    || \"\")) stateEl.textContent  = act.state   || \"\";\n      var imgUrl = resolveImage(\n        act.assets && act.assets.large_image ? act.assets.large_image : null,\n        act.application_id\n      );\n      setSlotImage(imgEl, iconEl, imgUrl, act.application_id, act.type);\n    }\n\n    var spCard = document.getElementById(\"lny-spotify-card\");\n    if (wsState.spotify && wsState.spotify.song) {\n      spCard.style.display = \"block\";\n      setText(\"lny-sp-song\",   wsState.spotify.song);\n      setText(\"lny-sp-artist\", (wsState.spotify.artist || \"\").replace(\/;\/g, \", \"));\n      setText(\"lny-sp-album\",  wsState.spotify.album || \"\");\n      if (wsState.spotify.album_art_url) setSrc(\"lny-sp-img\", wsState.spotify.album_art_url);\n      buildSpotifyButtons(wsState.spotify);\n      clearInterval(spTimer);\n      (function(ts) {\n        var bar = document.getElementById(\"lny-sp-bar\");\n        spTimer = setInterval(function() {\n          var pct = Math.min(100, Math.max(0, ((Date.now() - ts.start) \/ (ts.end - ts.start)) * 100));\n          bar.style.width = pct + \"%\";\n        }, 1000);\n      })(wsState.spotify.timestamps);\n    } else {\n      spCard.style.display = \"none\";\n      clearInterval(spTimer);\n    }\n\n    var ytAct  = wsState.activities.find(function(a) { return a.name === \"YouTube Music\"; });\n    var ytCard = document.getElementById(\"lny-yt-card\");\n    if (ytAct) {\n      ytCard.style.display = \"block\";\n      setText(\"lny-yt-song\",   ytAct.details || \"\");\n      setText(\"lny-yt-artist\", ytAct.state   || \"\");\n      var ytImg    = document.getElementById(\"lny-yt-img\");\n      var ytImgUrl = resolveImage(\n        ytAct.assets && ytAct.assets.large_image ? ytAct.assets.large_image : null,\n        ytAct.application_id\n      );\n      if (ytImgUrl) {\n        if (ytImg.getAttribute(\"src\") !== ytImgUrl) ytImg.src = ytImgUrl;\n        ytImg.style.display = \"block\";\n      } else { ytImg.style.display = \"none\"; }\n      buildYtButtons(ytAct);\n      if (ytAct.timestamps && ytAct.timestamps.start && ytAct.timestamps.end) {\n        clearInterval(ytTimer);\n        (function(ts) {\n          var bar = document.getElementById(\"lny-yt-bar\");\n          ytTimer = setInterval(function() {\n            var pct = Math.min(100, Math.max(0, ((Date.now() - ts.start) \/ (ts.end - ts.start)) * 100));\n            bar.style.width = pct + \"%\";\n          }, 1000);\n        })(ytAct.timestamps);\n      }\n    } else {\n      ytCard.style.display = \"none\";\n      clearInterval(ytTimer);\n    }\n  }\n\n  \/\/ Beim Start sofort REST-Status holen, danach alle 30s wiederholen\n  pollStatus();\n  setInterval(pollStatus, 30000);\n  connect();\n})();\n<\/script>\n<!-- ===== END LANYARD STATUS WIDGET ===== -->\t<\/div>\r\n<\/div>\r\n<\/div>\n\n\t<\/div>\n<\/section>\n\n","protected":false},"excerpt":{"rendered":"<p>Windows Server &#8211; Administrator Windows Server &#8211; Virtualizer Jack Herrmann Hey! Cool, dass du auf meine Webseite gesto\u00dfen bist. Hoffentlich findest du hier einige interessanten Informationen \u00fcber mich! Kontakt Discord Status ? \ud83c\udfb5 Spotify \u2014 Gerade l\u00e4uft \u25b6\ufe0f YouTube Music \u2014 Gerade l\u00e4uft<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"footnotes":""},"class_list":["post-157","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/jack-herr.ga\/en\/wp-json\/wp\/v2\/pages\/157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jack-herr.ga\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jack-herr.ga\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jack-herr.ga\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jack-herr.ga\/en\/wp-json\/wp\/v2\/comments?post=157"}],"version-history":[{"count":91,"href":"https:\/\/jack-herr.ga\/en\/wp-json\/wp\/v2\/pages\/157\/revisions"}],"predecessor-version":[{"id":564,"href":"https:\/\/jack-herr.ga\/en\/wp-json\/wp\/v2\/pages\/157\/revisions\/564"}],"wp:attachment":[{"href":"https:\/\/jack-herr.ga\/en\/wp-json\/wp\/v2\/media?parent=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}