{"id":16,"date":"2022-08-22T03:24:58","date_gmt":"2022-08-21T19:24:58","guid":{"rendered":"http:\/\/43.140.200.157\/?page_id=16"},"modified":"2025-11-24T17:27:15","modified_gmt":"2025-11-24T09:27:15","slug":"2-2","status":"publish","type":"page","link":"http:\/\/www.snailer.xyz\/","title":{"rendered":"\u9996\u9875"},"content":{"rendered":"\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-buttons is-horizontal is-content-justification-center is-nowrap is-layout-flex wp-container-core-buttons-is-layout-c9c93e97 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button has-custom-width wp-block-button__width-25 is-style-outline is-style-outline--1\"><a class=\"wp-block-button__link has-white-color has-text-color has-link-color has-medium-font-size has-text-align-center has-custom-font-size wp-element-button\" href=\"http:\/\/www.snailer.xyz\/index.php\/%e5%85%b3%e4%ba%8e%e6%88%91%e4%bb%ac\/\" style=\"border-radius:15px\">\u5173\u4e8e\u8717\u725b\u7bb1<\/a><\/div>\n\n\n\n<div class=\"wp-block-button has-custom-width wp-block-button__width-25 is-style-outline is-style-outline--2\"><a class=\"wp-block-button__link has-white-color has-text-color has-link-color has-medium-font-size has-custom-font-size wp-element-button\" href=\"http:\/\/www.snailer.xyz\/index.php\/%e8%9c%97%e7%89%9b%e7%9a%84%e6%97%a5%e8%ae%b0\/\" style=\"border-radius:15px\">\u8717\u725b\u7684\u65e5\u8bb0<\/a><\/div>\n\n\n\n<div class=\"wp-block-button has-custom-width wp-block-button__width-25 is-style-outline is-style-outline--3\"><a class=\"wp-block-button__link has-white-color has-text-color has-link-color has-medium-font-size has-custom-font-size wp-element-button\" href=\"http:\/\/www.snailer.xyz\/index.php\/\u66f4\u65b0\u548c\u65e5\u5fd7\/\" style=\"border-radius:15px\">\u66f4\u65b0\u548c\u65e5\u5fd7<\/a><\/div>\n\n\n\n<div class=\"wp-block-button has-custom-width wp-block-button__width-25 is-style-outline is-style-outline--4\"><a class=\"wp-block-button__link has-white-color has-text-color has-link-color has-medium-font-size has-custom-font-size wp-element-button\" href=\"http:\/\/www.snailer.xyz\/index.php\/%e9%97%ae%e9%a2%98%e4%b8%8e%e5%8f%8d%e9%a6%88\/\" style=\"border-radius:15px\">\u95ee\u9898\u4e0e\u53cd\u9988<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u55e8\uff0c\u8fd9\u91cc\u662f<strong>\u674e\u6893\u5370<\/strong>\uff0c\u6b22\u8fce\u6765\u5230\u8717\u725b\u7bb1\uff01<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u8717\u725b\u7bb1\u662f\u4e00\u4e2a<strong>\u827a\u672f\u8bbe\u8ba1<\/strong>\u8f85\u52a9\u5e73\u53f0\uff0c\u4e3a\u6bcf\u4e00\u4f4d\u670b\u53cb\u63d0\u4f9b\u5e2e\u52a9\u3002<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u5982\u679c\u60a8\u4f7f\u7528<strong>\u7535\u8111<\/strong>\u8bbf\u95ee\uff0c\u53ea\u9700\u8981\u628a\u9f20\u6807\u79fb\u52a8\u5230\u6700\u4e0a\u65b9\u7684\u51e0\u5927\u677f\u5757\uff0c\u83dc\u5355\u5c31\u4f1a\u81ea\u52a8\u5c55\u5f00\u3002<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u5982\u679c\u60a8\u4f7f\u7528<strong>\u624b\u673a<\/strong>\u8bbf\u95ee\uff0c\u60a8\u9700\u8981\u70b9\u51fb\u53f3\u4e0a\u89d2\u4e09\u4e2a\u6a2a\u6760\u7684\u56fe\u6807\u6765\u5c55\u5f00\u83dc\u5355\uff0c\u518d\u70b9\u51fb\u5012\u4e09\u89d2\u7b26\u53f7\u6765\u5c55\u5f00\u4e0b\u4e00\u7ea7\u83dc\u5355\u3002<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u70b9\u51fb\u4e0a\u65b9\u7684\u8717\u725b\uff0c\u5c06\u8fdb\u5165\u6211\u7684<strong>\u4f5c\u54c1\u96c6<\/strong>\u5c55\u793a\u9875\u9762\u3002<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684\u56fe\u6807\uff0c\u968f\u65f6<strong>\u8fd4\u56de\u9996\u9875<\/strong>\uff0c\u8bbf\u95ee\u5176\u5b83\u9875\u9762\u3002<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u611f\u8c22\u60a8\u7684\u8bbf\u95ee\uff0c\u8ba9\u6211\u4eec\u4e00\u8d77\uff0c\u65e0\u9650\u8fdb\u6b65\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528<strong>\u7535\u8111<\/strong>\u8bbf\u95ee\u4ee5\u4f7f\u7528\u8717\u725b\u7bb1\u5168\u90e8\u529f\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<div style=\"height:43px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\n\n<title>Interactive Music Player<\/title>\n<style>\n\/* \u8bbe\u7f6e\u5f00\u5173\u6309\u94ae\u6837\u5f0f *\/\n.switch {\n  display: block;\n  background-color: black;\n  width: 150px;\n  height: 195px;\n  box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.2), 0 0 1px 2px black, inset 0 2px 2px -2px white, inset 0 0 2px 15px #47434c, inset 0 0 2px 22px black;\n  border-radius: 5px;\n  padding: 20px;\n  perspective: 700px;\n  margin: 0 auto;\n}\n\n\/* \u9690\u85cf\u5f00\u5173\u7684\u5b9e\u9645input\u5143\u7d20 *\/\n.switch input {\n  display: none;\n}\n\n\/* \u9009\u4e2d\u65f6\u6539\u53d8\u6309\u94ae\u7684\u6837\u5f0f *\/\n.switch input:checked + .button {\n  transform: translateZ(20px) rotateX(25deg);\n  box-shadow: 0 -10px 20px #ff1818;\n}\n\n\/* \u9009\u4e2d\u65f6\u6309\u94ae\u5185\u706f\u5149\u7684\u52a8\u753b\u6548\u679c *\/\n.switch input:checked + .button .light {\n  animation: flicker 0.2s infinite 0.3s;\n}\n\n\/* \u9009\u4e2d\u65f6\u6309\u94ae\u5185\u5149\u6cfd\u7684\u663e\u793a *\/\n.switch input:checked + .button .shine {\n  opacity: 1;\n}\n\n\/* \u9009\u4e2d\u65f6\u6309\u94ae\u5185\u9634\u5f71\u7684\u663e\u793a *\/\n.switch input:checked + .button .shadow {\n  opacity: 0;\n}\n\n\/* \u8bbe\u7f6e\u6309\u94ae\u6837\u5f0f *\/\n.switch .button {\n  display: block;\n  transition: all 0.3s cubic-bezier(1, 0, 1, 1);\n  transform-origin: center center -20px;\n  transform: translateZ(20px) rotateX(-25deg);\n  transform-style: preserve-3d;\n  background-color: #9b0621;\n  height: 100%;\n  position: relative;\n  cursor: pointer;\n  background: linear-gradient(#980000 0%, #6f0000 30%, #6f0000 70%, #980000 100%);\n  background-repeat: no-repeat;\n}\n\n\/* \u8bbe\u7f6e\u6309\u94ae\u4e0a\u65b9\u7684\u6837\u5f0f *\/\n.switch .button::before {\n  content: \"\";\n  background: linear-gradient(rgba(255, 255, 255, 0.8) 10%, rgba(255, 255, 255, 0.3) 30%, #650000 75%, #320000) 50% 50%\/97% 97%, #b10000;\n  background-repeat: no-repeat;\n  width: 100%;\n  height: 50px;\n  transform-origin: top;\n  transform: rotateX(-90deg);\n  position: absolute;\n  top: 0;\n}\n\n\/* \u8bbe\u7f6e\u6309\u94ae\u4e0b\u65b9\u7684\u6837\u5f0f *\/\n.switch .button::after {\n  content: \"\";\n  background-image: linear-gradient(#650000, #320000);\n  width: 100%;\n  height: 50px;\n  transform-origin: top;\n  transform: translateY(50px) rotateX(-90deg);\n  position: absolute;\n  bottom: 0;\n  box-shadow: 0 50px 8px 0px black, 0 80px 20px 0px rgba(0, 0, 0, 0.5);\n}\n\n\/* \u8bbe\u7f6e\u706f\u5149\u6548\u679c *\/\n.switch .light {\n  opacity: 0;\n  animation: light-off 1s;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background-image: radial-gradient(#ffc97e, #ff1818 40%, transparent 70%);\n}\n\n\/* \u8bbe\u7f6e\u6309\u94ae\u4e0a\u7684\u70b9\u72b6\u88c5\u9970 *\/\n.switch .dots {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background-image: radial-gradient(transparent 30%, rgba(101, 0, 0, 0.7) 70%);\n  background-size: 10px 10px;\n}\n\n\/* \u8bbe\u7f6e\u6309\u94ae\u4e0a\u7684\u5b57\u7b26\u88c5\u9970 *\/\n.switch .characters {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background: linear-gradient(white, white) 50% 20%\/5% 20%, radial-gradient(circle, transparent 50%, white 52%, white 70%, transparent 72%) 50% 80%\/33% 25%;\n  background-repeat: no-repeat;\n}\n\n\/* \u8bbe\u7f6e\u6309\u94ae\u5149\u6cfd\u6548\u679c *\/\n.switch .shine {\n  transition: all 0.3s cubic-bezier(1, 0, 1, 1);\n  opacity: 0.3;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background: linear-gradient(white, transparent 3%) 50% 50%\/97% 97%, linear-gradient(rgba(255, 255, 255, 0.5), transparent 50%, transparent 80%, rgba(255, 255, 255, 0.5)) 50% 50%\/97% 97%;\n  background-repeat: no-repeat;\n}\n\n\/* \u8bbe\u7f6e\u6309\u94ae\u9634\u5f71\u6548\u679c *\/\n.switch .shadow {\n  transition: all 0.3s cubic-bezier(1, 0, 1, 1);\n  opacity: 1;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background: linear-gradient(transparent 70%, rgba(0, 0, 0, 0.8));\n  background-repeat: no-repeat;\n}\n\n\/* \u706f\u5149\u95ea\u70c1\u52a8\u753b *\/\n@keyframes flicker {\n  0% {\n    opacity: 1;\n  }\n  80% {\n    opacity: 0.8;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n\n\/* \u706f\u5149\u7184\u706d\u52a8\u753b *\/\n@keyframes light-off {\n  0% {\n    opacity: 1;\n  }\n  80% {\n    opacity: 0;\n  }\n}\n\n\/* \u8bbe\u7f6e\u8fdb\u5ea6\u6761\u6837\u5f0f *\/\n.progress-bar {\n  width: 100%;\n  height: 5px;\n  background: #ccc;\n  margin: 10px 0;\n  display: none;\n}\n\n\/* \u8bbe\u7f6e\u8fdb\u5ea6\u6761\u586b\u5145\u6837\u5f0f *\/\n.progress-bar div {\n  height: 100%;\n  background: #ff1818;\n  width: 0;\n}\n\n\/* \u8bbe\u7f6e\u6b4c\u8bcd\u5bb9\u5668\u6837\u5f0f *\/\n#lyrics {\n  text-align: center;\n  margin-top: 20px;\n  display: none;\n  font-size: 10px; \/* \u8c03\u6574\u5b57\u4f53\u5927\u5c0f *\/\n  overflow: hidden; \/* \u786e\u4fdd\u6ea2\u51fa\u7684\u5185\u5bb9\u88ab\u9690\u85cf *\/\n  height: 15em; \/* \u589e\u52a0\u5bb9\u5668\u9ad8\u5ea6 *\/\n}\n\n\/* \u8bbe\u7f6e\u6b4c\u8bcd\u884c\u6837\u5f0f *\/\n.lyric-line {\n  opacity: 0;\n  transition: opacity 0.2s ease-in-out; \/* \u8c03\u6574\u6b4c\u8bcd\u8fc7\u6e21\u6548\u679c *\/\n}\n<\/style>\n<\/head>\n<body>\n<div class=\"switch\">\n  <input type=\"checkbox\" id=\"toggle\">\n  <label class=\"button\" for=\"toggle\">\n    <div class=\"light\"><\/div>\n    <div class=\"dots\"><\/div>\n    <div class=\"characters\"><\/div>\n    <div class=\"shine\"><\/div>\n    <div class=\"shadow\"><\/div>\n  <\/label>\n<\/div>\n<div class=\"progress-bar\" id=\"progress-container\">\n  <div id=\"progress\"><\/div>\n<\/div>\n<div id=\"lyrics\">\n  <div id=\"lyric-container\">\n    <p id=\"line1\" class=\"lyric-line\"><\/p>\n    <p id=\"line2\" class=\"lyric-line\"><\/p>\n  <\/div>\n<\/div>\n<audio id=\"audio\" src=\"http:\/\/www.snailer.xyz\/wp-content\/uploads\/2024\/05\/DJ-Okawari-Flower-Dance.mp3\"><\/audio>\n\n<audio id=\"sound-on\" src=\"http:\/\/www.snailer.xyz\/wp-content\/uploads\/2024\/05\/\u5f00.mp3\"><\/audio>\n<audio id=\"sound-off\" src=\"http:\/\/www.snailer.xyz\/wp-content\/uploads\/2024\/05\/\u5173.mp3\"><\/audio>\n\n<script>\n\/\/ \u6b4c\u8bcd\u6570\u636e\nconst lyrics = [\n  { time: 0, text: [\"Flower Dance - DJ Okawari\", \" \"] },\n  { time: 5.22, text: [\"They serve the purpose of changing hydrogen into breathable oxygen.\", \"\u5b83\u4eec\u628a\u6c22\u6c14\u8f6c\u5316\u4e3a\u53ef\u4f9b\u547c\u5438\u7684\u6c27\u6c14\uff0c\"] },\n  { time: 9.41, text: [\"And they're as necessary here as the air is, on Earth.\", \"\u5b83\u4eec\u5728\u8fd9\u91cc\u5c31\u50cf\u7a7a\u6c14\u5728\u5730\u7403\u4e2d\u4e00\u6837\u91cd\u8981\u3002\"] },\n  { time: 14.33, text: [\"But I still say, they're flowers.\", \"\u4f46\u662f\uff0c\u6211\u8ba4\u4e3a\u5b83\u4eec\u662f\u82b1\uff0c\u4ec5\u6b64\u800c\u5df2\u3002\"] },\n  { time: 17.67, text: [\"If you like...\", \"\u5982\u679c\u4f60\u4e00\u5b9a\u8981\u8fd9\u4e48\u8ba4\u4e3a\u7684\u8bdd\u2026\u2026\"] },\n  { time: 20.2, text: [\"Do you sell them?\", \"\u4f60\u5356\u8fd9\u4e9b\u82b1\u5417\uff1f\"] },\n  { time: 21.82, text: [\"I'm afraid not.\", \"\u6211\u60f3\u6211\u4e0d\u4f1a\u5356\u3002\"] },\n  { time: 23.3, text: [\"But, maybe we could make a deal?\", \"\u4f46\u4e5f\u8bb8\u6211\u4eec\u53ef\u4ee5\u505a\u4e00\u4e2a\u4ea4\u6613\u3002\"] },\n  { time: 26.5, text: [\"...\", \" \"] },\n];\n\nlet previousLyricIndex = -1;\n\n\/\/ \u6dfb\u52a0\u5f00\u5173\u4e8b\u4ef6\u76d1\u542c\u5668\ndocument.getElementById('toggle').addEventListener('change', function () {\n  var audio = document.getElementById('audio');\n  var soundOn = document.getElementById('sound-on');\n  var soundOff = document.getElementById('sound-off');\n  var progressContainer = document.getElementById('progress-container');\n  var progress = document.getElementById('progress');\n  var lyricsContainer = document.getElementById('lyrics');\n\n  if (this.checked) {\n    soundOn.play();\n    audio.play();\n    progressContainer.style.display = 'block';\n    lyricsContainer.style.display = 'block';\n\n    \/\/ \u4f7f\u624b\u673a\u9707\u52a8\uff0c\u5ef6\u8fdf200\u6beb\u79d2\n    setTimeout(() => {\n      if (navigator.vibrate) {\n        console.log(\"Vibration supported\");\n        navigator.vibrate(75); \/\/ \u9707\u52a8100\u6beb\u79d2\n      } else {\n        console.log(\"Vibration not supported\");\n      }\n    }, 300);\n\n    \/\/ \u97f3\u9891\u65f6\u95f4\u66f4\u65b0\u4e8b\u4ef6\n    audio.addEventListener('timeupdate', function () {\n      var percentage = (audio.currentTime \/ audio.duration) * 100;\n      progress.style.width = percentage + '%';\n      updateLyrics(audio.currentTime);\n    });\n\n    \/\/ \u70b9\u51fb\u8fdb\u5ea6\u6761\u4e8b\u4ef6\n    progressContainer.addEventListener('click', function (event) {\n      var rect = progressContainer.getBoundingClientRect();\n      var offsetX = event.clientX - rect.left;\n      var newTime = (offsetX \/ rect.width) * audio.duration;\n      audio.currentTime = newTime;\n      updateLyrics(newTime);\n    });\n  } else {\n    soundOff.play();\n    audio.pause();\n    progressContainer.style.display = 'none';\n    lyricsContainer.style.display = 'none';\n\n    \/\/ \u4f7f\u624b\u673a\u9707\u52a8\uff0c\u5ef6\u8fdf200\u6beb\u79d2\n    setTimeout(() => {\n      if (navigator.vibrate) {\n        console.log(\"Vibration supported\");\n        navigator.vibrate(75); \/\/ \u9707\u52a8100\u6beb\u79d2\n      } else {\n        console.log(\"Vibration not supported\");\n      }\n    }, 300);\n  }\n});\n\n\/\/ \u66f4\u65b0\u6b4c\u8bcd\u51fd\u6570\nfunction updateLyrics(currentTime) {\n  let currentLyrics = lyrics.findIndex((lyric, index) => currentTime >= lyric.time && (index === lyrics.length - 1 || currentTime < lyrics[index + 1].time));\n  if (currentLyrics === -1) {\n    currentLyrics = lyrics.length;\n  }\n\n  if (previousLyricIndex !== currentLyrics) {\n    if (previousLyricIndex !== -1) {\n      document.getElementById('line1').style.opacity = 0;\n      document.getElementById('line2').style.opacity = 0;\n    }\n\n    setTimeout(() => {\n      if (currentLyrics === lyrics.length) {\n        document.getElementById('line1').innerText = finalLyrics[0];\n        document.getElementById('line2').innerText = finalLyrics[1];\n      } else {\n        document.getElementById('line1').innerText = lyrics[currentLyrics].text[0];\n        document.getElementById('line2').innerText = lyrics[currentLyrics].text[1];\n      }\n\n      document.getElementById('line1').style.opacity = 1;\n      document.getElementById('line2').style.opacity = 1;\n\n      previousLyricIndex = currentLyrics;\n    }, 200); \/\/ \u4ea4\u53c9\u6eb6\u89e3\u65f6\u95f4\u4e3a0.2\u79d2\n  }\n}\n\n\/\/ \u76d1\u542c\u97f3\u9891\u65f6\u95f4\u66f4\u65b0\u4e8b\u4ef6\uff0c\u66f4\u65b0\u6b4c\u8bcd\u548c\u8fdb\u5ea6\u6761\nconst audio = document.getElementById('audio');\naudio.addEventListener('timeupdate', function () {\n  updateLyrics(audio.currentTime);\n});\n\n\/\/ \u76d1\u542c\u8fdb\u5ea6\u6761\u70b9\u51fb\u4e8b\u4ef6\uff0c\u66f4\u65b0\u97f3\u9891\u64ad\u653e\u65f6\u95f4\u548c\u6b4c\u8bcd\ndocument.getElementById('progress-container').addEventListener('click', function (event) {\n  var rect = this.getBoundingClientRect();\n  var offsetX = event.clientX - rect.left;\n  var newTime = (offsetX \/ rect.width) * audio.duration;\n  audio.currentTime = newTime;\n  updateLyrics(newTime);\n});\n<\/script>\n<\/body>\n<\/html>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u6216\u8bb8\u662f\u4e2a\u6709\u8da3\u7684\u6309\u94ae\u2191<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Interactive Music Player \u6216\u8bb8\u662f\u4e2a\u6709\u8da3\u7684\u6309\u94ae\u2191<\/p>\n","protected":false},"author":1,"featured_media":5348,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-16","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"http:\/\/www.snailer.xyz\/index.php\/wp-json\/wp\/v2\/pages\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.snailer.xyz\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.snailer.xyz\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.snailer.xyz\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.snailer.xyz\/index.php\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":126,"href":"http:\/\/www.snailer.xyz\/index.php\/wp-json\/wp\/v2\/pages\/16\/revisions"}],"predecessor-version":[{"id":6498,"href":"http:\/\/www.snailer.xyz\/index.php\/wp-json\/wp\/v2\/pages\/16\/revisions\/6498"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.snailer.xyz\/index.php\/wp-json\/wp\/v2\/media\/5348"}],"wp:attachment":[{"href":"http:\/\/www.snailer.xyz\/index.php\/wp-json\/wp\/v2\/media?parent=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}