Neu: Gronkh Games Suche
This commit is contained in:
parent
e6cf4fd21f
commit
0ff5fbf83a
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
||||
/shape_shifter
|
||||
/pokemon_quiz/images/gen*
|
||||
gronkh_games/get_playlists.py
|
||||
/gronkh_games/venv
|
||||
|
BIN
gronkh_games/gronkh.jpg
Normal file
BIN
gronkh_games/gronkh.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
2358
gronkh_games/gronkh_playlists.json
Normal file
2358
gronkh_games/gronkh_playlists.json
Normal file
File diff suppressed because it is too large
Load Diff
102
gronkh_games/gronkhretro_playlists.json
Normal file
102
gronkh_games/gronkhretro_playlists.json
Normal file
@ -0,0 +1,102 @@
|
||||
[
|
||||
{
|
||||
"title": "Sim City [PC] [1989]",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON7eSphzM5kMTSvB2o1yrdN6"
|
||||
},
|
||||
{
|
||||
"title": "Crossing Souls",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON43TfvU9XhHGkePbbrALEZj"
|
||||
},
|
||||
{
|
||||
"title": "Leisure Suit Larry 3: Passionate Patty in Pursuit of the Pulsating Pectorals (1989)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON5XPq2LsyYnNeI46kBd4wU3"
|
||||
},
|
||||
{
|
||||
"title": "Leisure Suit Larry 2: Looking for Love (1988)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON6b-eundWMGTCStzZjBS23F"
|
||||
},
|
||||
{
|
||||
"title": "King's Quest (2015)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON5WA2U9596MXFuO1Xt-7TrO"
|
||||
},
|
||||
{
|
||||
"title": "Leisure Suit Larry 1: Reloaded (2013)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON6YfXaWcHUM-pikb_z21yQ8"
|
||||
},
|
||||
{
|
||||
"title": "Leisure Suit Larry 1: Land of the Lounge Lizards (SCI) (1991)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON7fW28gzpHFEp5lubZvp4my"
|
||||
},
|
||||
{
|
||||
"title": "Leisure Suit Larry 1: Land of the Lounge Lizards (AGI) (1987)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON7Q8FYI4X_uHIckTrorls-q"
|
||||
},
|
||||
{
|
||||
"title": "Thimbleweed Park (2016)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON5L0GyGpA0TgE3mXP34smQH"
|
||||
},
|
||||
{
|
||||
"title": "King's Quest IV: The Perils of Rosella (SCI) (1988)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON6oc9dagBv18wCxqOsFuyaT"
|
||||
},
|
||||
{
|
||||
"title": "King's Quest III: To Heir Is Human (AGI) (1986)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON43xEGBTGjdOg7zwa3ZljXS"
|
||||
},
|
||||
{
|
||||
"title": "King's Quest II: Romancing The Throne (AGI) (1985)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON7cLpovr0xntlhkZgGQBs3K"
|
||||
},
|
||||
{
|
||||
"title": "King's Quest I: Quest For The Crown (AGI) (1984)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON4d6Sw71fEd85PVmV2v-X5v"
|
||||
},
|
||||
{
|
||||
"title": "Drawn 1: The Painted Tower",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON6lDLc0jfiC3ZPenRKfFp7i"
|
||||
},
|
||||
{
|
||||
"title": "LOOM",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON4TtCigzbiPybgCPhT0_7QK"
|
||||
},
|
||||
{
|
||||
"title": "Eternally Us",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON7q-Vb_Z8CIWpvlwbFQ_ZBb"
|
||||
},
|
||||
{
|
||||
"title": "Vollgas: Full Throttle",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON4DMKzPCYn1rMnfCTETSWME"
|
||||
},
|
||||
{
|
||||
"title": "Sam & Max: Hit the Road",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON6eOpfjG0_XGaqryup_892E"
|
||||
},
|
||||
{
|
||||
"title": "Day of the Tentacle",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON4Tuelt35mbcxO18U1fRxPr"
|
||||
},
|
||||
{
|
||||
"title": "The Legend of Kyrandia 2: Hand of Fate",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON5vgQAJEPHE3FSU48I6Bo48"
|
||||
},
|
||||
{
|
||||
"title": "The Legend of Kyrandia 1",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON5myaIaHCWXeHIiNKhjp2hX"
|
||||
},
|
||||
{
|
||||
"title": "Monkey Island 4: Flucht von Monkey Island",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON42ULzUa0xJqiY_jICWlpDQ"
|
||||
},
|
||||
{
|
||||
"title": "Monkey Island 3: The Curse of Monkey Island",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON4NkTAaMPm_pzH9Us-7_z7a"
|
||||
},
|
||||
{
|
||||
"title": "Monkey Island 2: LeChuck's Revenge",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON75NIf2-ljxyLl2cy0iN3Eo"
|
||||
},
|
||||
{
|
||||
"title": "Monkey Island 1: The Secret of Monkey Island",
|
||||
"url": "https://www.youtube.com/playlist?list=PLLAIg3KRKON7VWqJ2WmKdK84liTT3iajW"
|
||||
}
|
||||
]
|
170
gronkh_games/gronkhrpgs_playlists.json
Normal file
170
gronkh_games/gronkhrpgs_playlists.json
Normal file
@ -0,0 +1,170 @@
|
||||
[
|
||||
{
|
||||
"title": "ELEX 2",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3ypAcvYwx5HkIosIRu0XGkKj"
|
||||
},
|
||||
{
|
||||
"title": "ELEX",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yoDGGw3j6xZXhoaNHQ07SGz"
|
||||
},
|
||||
{
|
||||
"title": "Skyrim 2020",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3ypDxNBivk_2fMfYwFzh65RM"
|
||||
},
|
||||
{
|
||||
"title": "Grim Dawn",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yockIXBWE_vN3HiowK2iEk7"
|
||||
},
|
||||
{
|
||||
"title": "Ni No Kuni",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yp2WnaogPb4AHMYta6Hbm7-"
|
||||
},
|
||||
{
|
||||
"title": "The Witcher 3: Blood & Wine",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yphGapng3KAF5fMACej-ink"
|
||||
},
|
||||
{
|
||||
"title": "The Witcher 3 (Preview)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yq8imIPDQM6m316agSwi0b9"
|
||||
},
|
||||
{
|
||||
"title": "The Witcher 3: Wild Hunt",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yow5M7v_wOXckSOecNveNe6"
|
||||
},
|
||||
{
|
||||
"title": "World of Warcraft: Mists of Pandaria",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3ypmlJ4YXbY0LatBVVZ2TG_q"
|
||||
},
|
||||
{
|
||||
"title": "World of Warcraft",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yooIpCnPIEzHQwEfll1UqPX"
|
||||
},
|
||||
{
|
||||
"title": "The Witcher 3: Hearts of Stone",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3ypoIrWbonpOfzQWHJBk75J-"
|
||||
},
|
||||
{
|
||||
"title": "Doom & Destiny",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yqGUvw6MI7Uj8qRrlSvX7wV"
|
||||
},
|
||||
{
|
||||
"title": "Pixel Heroes: Byte & Magic",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yp4EQn7PpRSc_QcCHDP6Hv3"
|
||||
},
|
||||
{
|
||||
"title": "Mittelerde: Mordors Schatten",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3youbYwna-ze6ZFSURPGH0IA"
|
||||
},
|
||||
{
|
||||
"title": "Kingdoms of Amalur: Reckoning",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yrw8u-WV9r-Cay9E1Y-C-4N"
|
||||
},
|
||||
{
|
||||
"title": "South Park: Der Stab der Wahrheit",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3ypLHf4-jqsdgwfrfnfuEmFe"
|
||||
},
|
||||
{
|
||||
"title": "A Bird Story",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yrCYN0Gwze1Wgg_1fBPJi6E"
|
||||
},
|
||||
{
|
||||
"title": "To the Moon",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yqgIbTzMhSOyiQvpF4wx0Mz"
|
||||
},
|
||||
{
|
||||
"title": "Kingdom Come: Deliverance (Preview)",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yo_ey7ghncNTIDHwSAefWp1"
|
||||
},
|
||||
{
|
||||
"title": "Hammerwatch",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3ypyZB3Vx8OYGpvmy0sH8kTq"
|
||||
},
|
||||
{
|
||||
"title": "Torchlight",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yr0ZxQTNBCGvSxSWwSWDzyc"
|
||||
},
|
||||
{
|
||||
"title": "Dragon's Prophet",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yqhWHVxQYiQln9nr-53XO94"
|
||||
},
|
||||
{
|
||||
"title": "Neverwinter",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yq28OGjgembAU_bUqhvdTHu"
|
||||
},
|
||||
{
|
||||
"title": "Atlantica Online",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yr2W43Jl4ThPOLeDOuxu1jU"
|
||||
},
|
||||
{
|
||||
"title": "Runes of Magic",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yq5d-WU9crM9HoaGdQjRmzE"
|
||||
},
|
||||
{
|
||||
"title": "Battle of the Immortals",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yqmjozXBIXcE3leLvnLDxD0"
|
||||
},
|
||||
{
|
||||
"title": "Allods Online",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yrPHbJlJ7TTkbH-HlAaC6K1"
|
||||
},
|
||||
{
|
||||
"title": "Diablo 3: Reaper of Souls",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yoFbyhXz6T_n4s6WdB8sNkf"
|
||||
},
|
||||
{
|
||||
"title": "Diablo 3",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yrdNSWey0BBKnRlJnfxMOre"
|
||||
},
|
||||
{
|
||||
"title": "Risen 3: Preview",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yq-a_dK67hW_60gaziurofu"
|
||||
},
|
||||
{
|
||||
"title": "Dragon Age 2",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yqheytao1NufmZavbZWQDdR"
|
||||
},
|
||||
{
|
||||
"title": "Fable 3",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yoAk8ZJrBQlLSbyQZACYZnk"
|
||||
},
|
||||
{
|
||||
"title": "Fable 2",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yrjjVlKxZgMUMjVty4vfS6X"
|
||||
},
|
||||
{
|
||||
"title": "Fable 1: The Lost Chapters",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yq6ZrxCMYQoaXkOJMG5pYaW"
|
||||
},
|
||||
{
|
||||
"title": "Dragon Age: Origins - Hexenjagd",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yrEA9v8OoCXPldqedcapmux"
|
||||
},
|
||||
{
|
||||
"title": "Dragon Age: Origins - Die Golems von Amgarrak",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yqB7qCTysq3FEKHFV_-AAMO"
|
||||
},
|
||||
{
|
||||
"title": "Dragon Age: Origins - Lelianas Lied",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yqhEGJvo2r3TTRIBIqPNRIB"
|
||||
},
|
||||
{
|
||||
"title": "Dragon Age: Origins - Chroniken der Dunklen Brut",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yrpFrVJ1gXBg1vIk8LkIACY"
|
||||
},
|
||||
{
|
||||
"title": "Dragon Age: Origins - Awakening",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yoLawd8xRXDoaoHyGEkGqS3"
|
||||
},
|
||||
{
|
||||
"title": "Risen 3: Titan Lords",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yov8DVkEC0QFtOL82795f_u"
|
||||
},
|
||||
{
|
||||
"title": "Risen 2: Dark Waters",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yrlH8P8wtbittNWuI-BhYzK"
|
||||
},
|
||||
{
|
||||
"title": "Risen 1",
|
||||
"url": "https://www.youtube.com/playlist?list=PLG7fOCeDa3yrGk-6v8gx-2h_r51yu9rtJ"
|
||||
}
|
||||
]
|
50
gronkh_games/gronkhtv_playlists.json
Normal file
50
gronkh_games/gronkhtv_playlists.json
Normal file
@ -0,0 +1,50 @@
|
||||
[
|
||||
{
|
||||
"title": "#MiMO: Minecraft Monday",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3zlgUWFxUABwTIYOl7pO6rq"
|
||||
},
|
||||
{
|
||||
"title": "#FREiAB18",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3xWoyYFLcwnqnLEggcvHi-0"
|
||||
},
|
||||
{
|
||||
"title": "GRONKH LiVESTREAMS 🔴 Alle Streams in ganzer Länge",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3zp8bgyRVqTEqmQTyLG1y7k"
|
||||
},
|
||||
{
|
||||
"title": "gronkhTV LIVE 010 ★ 22.02.2015 ★ KaffeeKranZ 1: Besiege & Happy Wheels",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3zTOCTOBjxooD_rHBkRufzh"
|
||||
},
|
||||
{
|
||||
"title": "gronkhTV LIVE 009 ★ 06.02.2015 ★ One Finger Death Punch, Oculus Rift & STAIRS",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3xNQQ03RAYb9RErOMrk0nii"
|
||||
},
|
||||
{
|
||||
"title": "gronkhTV LIVE 007 ★ 23.01.2015 ★ Stranded Deep & The Escapists",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3yU39EbFmvyhZi_0nG1qghA"
|
||||
},
|
||||
{
|
||||
"title": "gronkhTV LIVE 006 ★ 16.01.2015 ★ #LaFamilia #GELDWÄSCHE",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3xM92fOqMdJ4DnPq6NMjxVh"
|
||||
},
|
||||
{
|
||||
"title": "gronkhTV LIVE 005 ★ 10.01.2015 ★ MINECRAFT: Let's Show-Welt Revisited",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3xc61DFRgb4e9FSeW3s1Ode"
|
||||
},
|
||||
{
|
||||
"title": "gronkhTV LIVE 004 ★ 09.01.2015 ★ UNITYMEDIA WARTESCHLEIFEN-RAVE",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3w2GrLpbcM7NMj__rHHBAro"
|
||||
},
|
||||
{
|
||||
"title": "gronkhTV LIVE 003 ★ 06.01.2015 ★ Der 4stündige 10-Minuten-Livestream",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3yCl60juaFby4UzzKLi-t4C"
|
||||
},
|
||||
{
|
||||
"title": "gronkhTV LIVE 001 ★ 10.12.2014 ★ 'Snurn Test",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3xP2SHlAekQIwEum5LBOUnn"
|
||||
},
|
||||
{
|
||||
"title": "gronkhTV LIVE 002 ★ 26.12.2014 ★ Weihnachts-Special 2014",
|
||||
"url": "https://www.youtube.com/playlist?list=PLpvcKPE8wS3zD-NsubPW_985JmP7SOhPN"
|
||||
}
|
||||
]
|
26
gronkh_games/gronkhzeugs_playlists.json
Normal file
26
gronkh_games/gronkhzeugs_playlists.json
Normal file
@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"title": "Let's Sing",
|
||||
"url": "https://www.youtube.com/playlist?list=PL88B91BA7D21C57C2"
|
||||
},
|
||||
{
|
||||
"title": "Tutorials",
|
||||
"url": "https://www.youtube.com/playlist?list=PL65BCBBAD1C24F543"
|
||||
},
|
||||
{
|
||||
"title": "Unboxings",
|
||||
"url": "https://www.youtube.com/playlist?list=PL72DC7AC1C76DE5AB"
|
||||
},
|
||||
{
|
||||
"title": "Let's Talk",
|
||||
"url": "https://www.youtube.com/playlist?list=PLF7E4F9056A9680EA"
|
||||
},
|
||||
{
|
||||
"title": "Let's Read",
|
||||
"url": "https://www.youtube.com/playlist?list=PL56A13031D0E65CFE"
|
||||
},
|
||||
{
|
||||
"title": "Let's Sing (Snippets)",
|
||||
"url": "https://www.youtube.com/playlist?list=PL3F2EECD9929946D9"
|
||||
}
|
||||
]
|
493
gronkh_games/index.html
Normal file
493
gronkh_games/index.html
Normal file
@ -0,0 +1,493 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Gronkh Games Suche</title>
|
||||
|
||||
<!-- Open Graph Tags -->
|
||||
<meta property="og:title" content="Gronkh Games Suche">
|
||||
<meta property="og:description" content="Durchsuche Spiele, die Gronkh auf seinem YouTube-Kanal gespielt hat.">
|
||||
<meta property="og:url" content="https://tools.ponywave.de/gronkh_games">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="https://tools.ponywave.de/gronkh_games/gronkh.jpg">
|
||||
|
||||
<link rel="icon" href="https://tools.ponywave.de/gronkh_games/gronkh.jpg" type="image/jpg">
|
||||
|
||||
<!-- Analytics -->
|
||||
<script defer src="https://stats.ponywave.de/script" data-website-id="9ef713d2-adb9-4906-9df5-708d8a8b9131" data-tag="gronkh_games"></script>
|
||||
|
||||
<style>
|
||||
:root {
|
||||
--primary-color: #6a329f;
|
||||
--secondary-color: #8a5cb5;
|
||||
--accent-color: #4a1979;
|
||||
--background-color: #f5f0fa;
|
||||
--canvas-background: #ffffff;
|
||||
--text-color: #333333;
|
||||
--footer-background: #333333;
|
||||
--footer-text: #ffffff;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--background-color);
|
||||
color: var(--text-color);
|
||||
line-height: 1.6;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
header {
|
||||
background-color: var(--primary-color);
|
||||
color: white;
|
||||
text-align: center;
|
||||
padding: 2rem 1rem;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
main {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem;
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.search-container {
|
||||
margin-bottom: 2rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.search-box {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
#search-input {
|
||||
flex: 1;
|
||||
padding: 12px 20px;
|
||||
font-size: 1rem;
|
||||
border: 2px solid var(--secondary-color);
|
||||
border-radius: 4px 0 0 4px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#search-button {
|
||||
background-color: var(--primary-color);
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 0 4px 4px 0;
|
||||
padding: 0 20px;
|
||||
cursor: pointer;
|
||||
font-size: 1rem;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
#search-button:hover {
|
||||
background-color: var(--accent-color);
|
||||
}
|
||||
|
||||
.channel-selector {
|
||||
margin-bottom: 1.5rem;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
}
|
||||
|
||||
.channel-selector h3 {
|
||||
margin-bottom: 0.5rem;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.channel-buttons {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.channel-button {
|
||||
background-color: var(--canvas-background);
|
||||
color: var(--primary-color);
|
||||
border: 2px solid var(--secondary-color);
|
||||
border-radius: 4px;
|
||||
padding: 8px 15px;
|
||||
cursor: pointer;
|
||||
font-weight: 500;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.channel-button:hover {
|
||||
background-color: var(--secondary-color);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.channel-button.active {
|
||||
background-color: var(--primary-color);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.update-info {
|
||||
color: #666;
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
margin-bottom: 1rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.game-section {
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
.game-container {
|
||||
background-color: var(--canvas-background);
|
||||
border-radius: 8px;
|
||||
padding: 1.5rem;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.game-list {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.game-item {
|
||||
padding: 12px 15px;
|
||||
border-bottom: 1px solid #eee;
|
||||
transition: background-color 0.2s;
|
||||
}
|
||||
|
||||
.game-item:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.game-item:hover {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.game-item a {
|
||||
color: var(--primary-color);
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.game-item a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
footer {
|
||||
background-color: var(--footer-background);
|
||||
color: var(--footer-text);
|
||||
text-align: center;
|
||||
padding: 1.5rem;
|
||||
margin-top: auto;
|
||||
}
|
||||
|
||||
footer a {
|
||||
color: #ccc;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
footer a:hover {
|
||||
color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.heart {
|
||||
color: #ff6b6b;
|
||||
}
|
||||
|
||||
.loading {
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
font-style: italic;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
header {
|
||||
padding: 1.5rem 1rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
main {
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
||||
.game-container {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.channel-buttons {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.channel-button {
|
||||
width: 100%;
|
||||
max-width: 200px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>Gronkh Games Suche</h1>
|
||||
<p>Finde alle Spiele, die Gronkh auf YouTube gespielt hat</p>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="search-container">
|
||||
<div class="channel-selector">
|
||||
<h3>Wähle einen Kanal:</h3>
|
||||
<div class="channel-buttons">
|
||||
<button class="channel-button active" data-channel="all">Alle Kanäle</button>
|
||||
<button class="channel-button" data-channel="gronkh">Gronkh</button>
|
||||
<button class="channel-button" data-channel="gronkhretro">GronkhRetro</button>
|
||||
<button class="channel-button" data-channel="gronkhrpgs">GronkhRPGs</button>
|
||||
<button class="channel-button" data-channel="gronkhtv">GronkhTV</button>
|
||||
<button class="channel-button" data-channel="gronkhzeugs">GronkhZeugs</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="search-box">
|
||||
<input type="text" id="search-input" placeholder="Spielname eingeben..." aria-label="Spielname eingeben">
|
||||
<button id="search-button">Suchen</button>
|
||||
</div>
|
||||
<p class="update-info">Spieleliste zuletzt aktualisiert am 10.03.2025</p>
|
||||
</div>
|
||||
|
||||
<div class="game-section">
|
||||
<h2>Suchergebnisse</h2>
|
||||
<div class="game-container" id="search-results">
|
||||
<p id="no-results-message">Gib einen Suchbegriff ein, um Spiele zu finden.</p>
|
||||
<ul class="game-list" id="results-list" style="display: none;"></ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="game-section">
|
||||
<h2>Neuste Spiele</h2>
|
||||
<div class="game-container">
|
||||
<ul class="game-list" id="newest-list">
|
||||
<li class="loading">Lade neuste Spiele...</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="game-section">
|
||||
<h2>Zufällige Spiele</h2>
|
||||
<div class="game-container">
|
||||
<ul class="game-list" id="random-list">
|
||||
<li class="loading">Lade zufällige Spiele...</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<p><a href="https://tools.ponywave.de/">Zurück zur Startseite</a> | © <span id="current-year"></span> Akamaru | Made with <span class="heart">❤️</span> by Claude</p>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// Kanal-Optionen
|
||||
const channels = {
|
||||
all: 'playlists.json',
|
||||
gronkh: 'gronkh_playlists.json',
|
||||
gronkhretro: 'gronkhretro_playlists.json',
|
||||
gronkhrpgs: 'gronkhrpgs_playlists.json',
|
||||
gronkhtv: 'gronkhtv_playlists.json',
|
||||
gronkhzeugs: 'gronkhzeugs_playlists.json'
|
||||
};
|
||||
|
||||
// Standard-Kanal
|
||||
let currentChannel = 'all';
|
||||
let allGames = {}; // Cache für alle geladenen Spiele
|
||||
|
||||
// Daten aus JSON-Datei laden
|
||||
async function loadGames(channel = currentChannel) {
|
||||
try {
|
||||
if (allGames[channel]) {
|
||||
return allGames[channel]; // Cache nutzen, wenn Daten bereits geladen sind
|
||||
}
|
||||
|
||||
const response = await fetch(channels[channel]);
|
||||
if (!response.ok) {
|
||||
throw new Error(`Fehler beim Laden der ${channel} Spieldaten`);
|
||||
}
|
||||
const games = await response.json();
|
||||
allGames[channel] = games; // Ergebnisse im Cache speichern
|
||||
return games;
|
||||
} catch (error) {
|
||||
console.error('Fehler:', error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
// Aktuelle Jahreszahl im Footer einfügen
|
||||
document.getElementById('current-year').textContent = new Date().getFullYear();
|
||||
|
||||
// Kanalauswahl-Buttons einrichten
|
||||
function setupChannelButtons() {
|
||||
const channelButtons = document.querySelectorAll('.channel-button');
|
||||
|
||||
channelButtons.forEach(button => {
|
||||
button.addEventListener('click', async () => {
|
||||
// Aktiven Button markieren
|
||||
channelButtons.forEach(btn => btn.classList.remove('active'));
|
||||
button.classList.add('active');
|
||||
|
||||
// Kanal wechseln und Listen neu laden
|
||||
currentChannel = button.dataset.channel;
|
||||
await updateLists();
|
||||
|
||||
// Suchergebnisse zurücksetzen
|
||||
document.getElementById('results-list').style.display = 'none';
|
||||
document.getElementById('no-results-message').textContent = 'Gib einen Suchbegriff ein, um Spiele zu finden.';
|
||||
document.getElementById('no-results-message').style.display = 'block';
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Listen neu laden
|
||||
async function updateLists() {
|
||||
// Lade-Indikatoren anzeigen
|
||||
document.getElementById('newest-list').innerHTML = '<li class="loading">Lade neuste Spiele...</li>';
|
||||
document.getElementById('random-list').innerHTML = '<li class="loading">Lade zufällige Spiele...</li>';
|
||||
|
||||
const games = await loadGames();
|
||||
if (!games || games.length === 0) {
|
||||
document.getElementById('newest-list').innerHTML = '<li>Keine Spiele gefunden</li>';
|
||||
document.getElementById('random-list').innerHTML = '<li>Keine Spiele gefunden</li>';
|
||||
return;
|
||||
}
|
||||
|
||||
updateNewestList(games);
|
||||
updateRandomList(games);
|
||||
}
|
||||
|
||||
// Neuste Spiele anzeigen
|
||||
function updateNewestList(games) {
|
||||
const newestList = document.getElementById('newest-list');
|
||||
newestList.innerHTML = '';
|
||||
|
||||
const newestGames = games.slice(0, 5);
|
||||
|
||||
if (newestGames.length === 0) {
|
||||
newestList.innerHTML = '<li>Keine neuen Spiele gefunden</li>';
|
||||
return;
|
||||
}
|
||||
|
||||
newestGames.forEach(game => {
|
||||
const li = document.createElement('li');
|
||||
li.className = 'game-item';
|
||||
li.innerHTML = `<a href="${game.url}" target="_blank">${game.title}</a>`;
|
||||
newestList.appendChild(li);
|
||||
});
|
||||
}
|
||||
|
||||
// Zufällige Spiele anzeigen
|
||||
function updateRandomList(games) {
|
||||
const randomList = document.getElementById('random-list');
|
||||
randomList.innerHTML = '';
|
||||
|
||||
if (games.length === 0) {
|
||||
randomList.innerHTML = '<li>Keine Spiele gefunden</li>';
|
||||
return;
|
||||
}
|
||||
|
||||
const shuffledGames = [...games].sort(() => 0.5 - Math.random());
|
||||
const randomGames = shuffledGames.slice(0, 5);
|
||||
|
||||
randomGames.forEach(game => {
|
||||
const li = document.createElement('li');
|
||||
li.className = 'game-item';
|
||||
li.innerHTML = `<a href="${game.url}" target="_blank">${game.title}</a>`;
|
||||
randomList.appendChild(li);
|
||||
});
|
||||
}
|
||||
|
||||
// Suchfunktion
|
||||
async function performSearch() {
|
||||
const searchTerm = document.getElementById('search-input').value.trim().toLowerCase();
|
||||
const resultsList = document.getElementById('results-list');
|
||||
const noResultsMessage = document.getElementById('no-results-message');
|
||||
|
||||
if (!searchTerm) {
|
||||
resultsList.style.display = 'none';
|
||||
noResultsMessage.textContent = 'Gib einen Suchbegriff ein, um Spiele zu finden.';
|
||||
noResultsMessage.style.display = 'block';
|
||||
return;
|
||||
}
|
||||
|
||||
// Spiele für aktuellen Kanal laden
|
||||
const games = await loadGames();
|
||||
|
||||
// Spiele filtern, die dem Suchbegriff entsprechen
|
||||
const matchingGames = games.filter(game =>
|
||||
game.title.toLowerCase().includes(searchTerm)
|
||||
);
|
||||
|
||||
resultsList.innerHTML = '';
|
||||
|
||||
if (matchingGames.length === 0) {
|
||||
resultsList.style.display = 'none';
|
||||
noResultsMessage.textContent = 'Keine Spiele gefunden, die zum Suchbegriff passen.';
|
||||
noResultsMessage.style.display = 'block';
|
||||
return;
|
||||
}
|
||||
|
||||
// Zeige maximal 5 Suchergebnisse an
|
||||
const displayGames = matchingGames.slice(0, 5);
|
||||
displayGames.forEach(game => {
|
||||
const li = document.createElement('li');
|
||||
li.className = 'game-item';
|
||||
li.innerHTML = `<a href="${game.url}" target="_blank">${game.title}</a>`;
|
||||
resultsList.appendChild(li);
|
||||
});
|
||||
|
||||
noResultsMessage.style.display = 'none';
|
||||
resultsList.style.display = 'block';
|
||||
}
|
||||
|
||||
// Seiteninitalisierung
|
||||
async function initializePage() {
|
||||
// Kanalauswahl einrichten
|
||||
setupChannelButtons();
|
||||
|
||||
// Such-Button und Enter-Taste
|
||||
document.getElementById('search-button').addEventListener('click', performSearch);
|
||||
document.getElementById('search-input').addEventListener('keyup', event => {
|
||||
if (event.key === 'Enter') performSearch();
|
||||
});
|
||||
|
||||
// Initiale Listen laden
|
||||
await updateLists();
|
||||
}
|
||||
|
||||
// Beim Laden der Seite initialisieren
|
||||
document.addEventListener('DOMContentLoaded', initializePage);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
2698
gronkh_games/playlists.json
Normal file
2698
gronkh_games/playlists.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -205,6 +205,10 @@
|
||||
<h2 class="tool-title">Kemono Friends Logo Generator</h2>
|
||||
<p class="tool-description">Generiere Logos im Kemono Friends Stil</p>
|
||||
</a>
|
||||
<a href="https://tools.ponywave.de/gronkh_games" class="tool-bubble">
|
||||
<h2 class="tool-title">Gronkh Games Suche</h2>
|
||||
<p class="tool-description">Durchsuche Spiele, die Gronkh auf YouTube gespielt hat</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -18,4 +18,5 @@ https://tools.ponywave.de/pinkie_timer
|
||||
https://tools.ponywave.de/depp_gpt
|
||||
https://tools.ponywave.de/emoji
|
||||
https://tools.ponywave.de/banana_run
|
||||
https://tools.ponywave.de/pokemon_quiz
|
||||
https://tools.ponywave.de/pokemon_quiz
|
||||
https://tools.ponywave.de/gronkh_games
|
Loading…
x
Reference in New Issue
Block a user