/* Widget Name: Button Description: Create a custom button with flexible styling, icon support, and click tracking functionality. Author: SiteOrigin Author URI: https://siteorigin.com Documentation: https://siteorigin.com/widgets-bundle/button-widget-documentation/ Keywords: event, icon, link */ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget { public function __construct() { parent::__construct( 'sow-button', __( 'SiteOrigin Button', 'so-widgets-bundle' ), array( 'description' => __( 'Create a custom button with flexible styling, icon support, and click tracking functionality.', 'so-widgets-bundle' ), 'help' => 'https://siteorigin.com/widgets-bundle/button-widget-documentation/', ), array( ), false, plugin_dir_path( __FILE__ ) ); } public function get_settings_form() { return array( 'responsive_breakpoint' => array( 'type' => 'measurement', 'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ), 'default' => '780px', 'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px.', 'so-widgets-bundle' ), ), ); } public function initialize() { $this->register_frontend_styles( array( array( 'sow-button-base', plugin_dir_url( __FILE__ ) . 'css/style.css', array(), SOW_BUNDLE_VERSION, ), ) ); } public function get_widget_form() { return array( 'text' => array( 'type' => 'text', 'label' => __( 'Button Text', 'so-widgets-bundle' ), ), 'url' => array( 'type' => 'link', 'label' => __( 'Destination URL', 'so-widgets-bundle' ), 'allow_shortcode' => true, ), 'new_window' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Open in a new window', 'so-widgets-bundle' ), ), 'download' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Download', 'so-widgets-bundle' ), 'description' => __( 'The Destination URL will be downloaded when a user clicks on the button.', 'so-widgets-bundle' ), ), 'button_icon' => array( 'type' => 'section', 'label' => __( 'Icon', 'so-widgets-bundle' ), 'fields' => array( 'icon_selected' => array( 'type' => 'icon', 'label' => __( 'Icon', 'so-widgets-bundle' ), ), 'icon_color' => array( 'type' => 'color', 'label' => __( 'Icon Color', 'so-widgets-bundle' ), ), 'icon' => array( 'type' => 'media', 'label' => __( 'Image Icon', 'so-widgets-bundle' ), 'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ), ), 'icon_placement' => array( 'type' => 'select', 'label' => __( 'Icon Placement', 'so-widgets-bundle' ), 'default' => 'left', 'options' => array( 'top' => __( 'Top', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'bottom' => __( 'Bottom', 'so-widgets-bundle' ), 'left' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), 'design' => array( 'type' => 'section', 'label' => __( 'Design and Layout', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'width' => array( 'type' => 'measurement', 'label' => __( 'Width', 'so-widgets-bundle' ), 'description' => __( 'Leave blank to let the button resize according to content.', 'so-widgets-bundle' ), ), 'align' => array( 'type' => 'select', 'label' => __( 'Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'mobile_align' => array( 'type' => 'select', 'label' => __( 'Mobile Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'theme' => array( 'type' => 'select', 'label' => __( 'Button Theme', 'so-widgets-bundle' ), 'default' => 'flat', 'options' => array( 'atom' => __( 'Atom', 'so-widgets-bundle' ), 'flat' => __( 'Flat', 'so-widgets-bundle' ), 'wire' => __( 'Wire', 'so-widgets-bundle' ), ), ), 'button_color' => array( 'type' => 'color', 'label' => __( 'Button Color', 'so-widgets-bundle' ), ), 'text_color' => array( 'type' => 'color', 'label' => __( 'Text Color', 'so-widgets-bundle' ), ), 'hover' => array( 'type' => 'checkbox', 'default' => true, 'label' => __( 'Use hover effects', 'so-widgets-bundle' ), 'state_emitter' => array( 'callback' => 'conditional', 'args' => array( 'hover[show]: val', 'hover[hide]: ! val', ), ), ), 'hover_background_color' => array( 'type' => 'color', 'label' => __( 'Hover Background Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'hover_text_color' => array( 'type' => 'color', 'label' => __( 'Hover Text Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'font' => array( 'type' => 'font', 'label' => __( 'Font', 'so-widgets-bundle' ), 'default' => 'default', ), 'font_size' => array( 'type' => 'measurement', 'label' => __( 'Font Size', 'so-widgets-bundle' ), 'default' => '1em', ), 'icon_size' => array( 'type' => 'measurement', 'label' => __( 'Icon Size', 'so-widgets-bundle' ), 'default' => '1.3em', ), 'padding' => array( 'type' => 'measurement', 'label' => __( 'Padding', 'so-widgets-bundle' ), 'default' => '1em', ), 'rounding' => array( 'type' => 'multi-measurement', 'label' => __( 'Rounding', 'so-widgets-bundle' ), 'default' => '0.25em 0.25em 0.25em 0.25em', 'measurements' => array( 'top' => array( 'label' => __( 'Top', 'so-widgets-bundle' ), ), 'right' => array( 'label' => __( 'Right', 'so-widgets-bundle' ), ), 'bottom' => array( 'label' => __( 'Bottom', 'so-widgets-bundle' ), ), 'left' => array( 'label' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), ), 'attributes' => array( 'type' => 'section', 'label' => __( 'Other Attributes and SEO', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'id' => array( 'type' => 'text', 'label' => __( 'Button ID', 'so-widgets-bundle' ), 'description' => __( 'An ID attribute allows you to target this button in JavaScript.', 'so-widgets-bundle' ), ), 'classes' => array( 'type' => 'text', 'label' => __( 'Button Classes', 'so-widgets-bundle' ), 'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ), ), 'title' => array( 'type' => 'text', 'label' => __( 'Title Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ), ), 'on_click' => array( 'type' => 'text', 'label' => __( 'Onclick', 'so-widgets-bundle' ), 'description' => __( 'Run this JavaScript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ), 'onclick' => true, ), 'rel' => array( 'type' => 'text', 'label' => __( 'Rel Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ), ), ), ), ); } public function get_style_name( $instance ) { if ( empty( $instance['design']['theme'] ) ) { return 'atom'; } return $instance['design']['theme']; } /** * Get the variables for the Button Widget. * * @return array */ public function get_template_variables( $instance, $args ) { $button_attributes = array(); $attributes = $instance['attributes']; $classes = ! empty( $attributes['classes'] ) ? $attributes['classes'] : ''; if ( ! empty( $classes ) ) { $classes .= ' '; } $classes .= 'sowb-button ow-icon-placement-' . $instance['button_icon']['icon_placement']; if ( ! empty( $instance['design']['hover'] ) ) { $classes .= ' ow-button-hover'; } $button_attributes['class'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $classes ) ) ); if ( ! empty( $instance['new_window'] ) ) { $button_attributes['target'] = '_blank'; $button_attributes['rel'] = 'noopener noreferrer'; } if ( ! empty( $instance['download'] ) ) { $button_attributes['download'] = null; } if ( ! empty( $attributes['id'] ) ) { $button_attributes['id'] = $attributes['id']; } if ( ! empty( $attributes['title'] ) ) { $button_attributes['title'] = $attributes['title']; } if ( ! empty( $attributes['rel'] ) ) { if ( isset( $button_attributes['rel'] ) ) { $button_attributes['rel'] .= " $attributes[rel]"; } else { $button_attributes['rel'] = $attributes['rel']; } } $icon_image_url = ''; if ( ! empty( $instance['button_icon']['icon'] ) ) { $attachment = wp_get_attachment_image_src( $instance['button_icon']['icon'] ); if ( ! empty( $attachment ) ) { $icon_image_url = $attachment[0]; } } return array( 'button_attributes' => apply_filters( 'siteorigin_widgets_button_attributes', $button_attributes, $instance ), 'href' => ! empty( $instance['url'] ) ? $instance['url'] : '', 'on_click' => ! empty( $attributes['on_click'] ) ? $attributes['on_click'] : '', 'align' => $instance['design']['align'], 'icon_image_url' => $icon_image_url, 'icon' => $instance['button_icon']['icon_selected'], 'icon_color' => $instance['button_icon']['icon_color'], 'text' => $instance['text'], ); } /** * Get the variables that we'll be injecting into the less stylesheet. * * @return array */ public function get_less_variables( $instance ) { if ( empty( $instance ) || empty( $instance['design'] ) ) { return array(); } $text_color = isset( $instance['design']['text_color'] ) ? $instance['design']['text_color'] : ''; $button_color = isset( $instance['design']['button_color'] ) ? $instance['design']['button_color'] : ''; $less_vars = array( 'button_width' => isset( $instance['design']['width'] ) ? $instance['design']['width'] : '', 'button_color' => $button_color, 'text_color' => $text_color, 'icon_size' => ! empty( $instance['design']['icon_size'] ) ? $instance['design']['icon_size'] : '1.3em', 'hover_text_color' => ! empty( $instance['design']['hover_text_color'] ) ? $instance['design']['hover_text_color'] : $text_color, 'hover_background_color' => ! empty( $instance['design']['hover_background_color'] ) ? $instance['design']['hover_background_color'] : $button_color, 'font_size' => isset( $instance['design']['font_size'] ) ? $instance['design']['font_size'] : '', 'rounding' => isset( $instance['design']['rounding'] ) ? $instance['design']['rounding'] : '', 'padding' => isset( $instance['design']['padding'] ) ? $instance['design']['padding'] : '', 'has_text' => empty( $instance['text'] ) ? 'false' : 'true', 'responsive_breakpoint' => $this->get_global_settings( 'responsive_breakpoint' ), 'align' => ! empty( $instance['design']['align'] ) ? $instance['design']['align'] : 'center', 'mobile_align' => ! empty( $instance['design']['mobile_align'] ) ? $instance['design']['mobile_align'] : 'center', 'has_button_icon' => empty( $instance['button_icon']['icon_selected'] ) ? 'false' : 'true', ); if ( ! empty( $instance['design']['font'] ) ) { $font = siteorigin_widget_get_font( $instance['design']['font'] ); $less_vars['button_font'] = $font['family']; if ( ! empty( $font['weight'] ) ) { $less_vars['button_font_weight'] = $font['weight_raw']; $less_vars['button_font_style'] = $font['style']; } } return $less_vars; } /** * Make sure the instance is the most up to date version. * * @return mixed */ public function modify_instance( $instance ) { if ( empty( $instance ) ) { return array(); } $migrate_props = array( 'button_icon' => array( 'icon_selected', 'icon_color', 'icon', ), 'design' => array( 'align', 'theme', 'button_color', 'text_color', 'hover', 'hover_text_color', 'hover_background_color', 'font_size', 'rounding', 'padding', ), 'attributes' => array( 'id', ), ); foreach ( $migrate_props as $prop => $sub_props ) { if ( empty( $instance[ $prop ] ) ) { $instance[ $prop ] = array(); foreach ( $sub_props as $sub_prop ) { if ( isset( $instance[ $sub_prop ] ) ) { $instance[ $prop ][ $sub_prop ] = $instance[ $sub_prop ]; unset( $instance[ $sub_prop ] ); } } } } // Migrate onclick setting to prevent Wordfence flag. if ( ! empty( $instance['attributes'] ) && ! empty( $instance['attributes']['onclick'] ) ) { $instance['attributes']['on_click'] = $instance['attributes']['onclick']; } // If the mobile_align setting isn't set, set it to the same value as the align value. if ( ! empty( $instance['design'] ) && ! empty( $instance['design']['align'] ) && empty( $instance['design']['mobile_align'] ) ) { $instance['design']['mobile_align'] = $instance['design']['align']; } // Migrate predefined settings to more customizable settings. if ( ! empty( $instance['design']['font_size'] ) && is_numeric( $instance['design']['font_size'] ) ) { $instance['design']['font_size'] .= 'em'; } if ( ! empty( $instance['design']['padding'] ) && is_numeric( $instance['design']['padding'] ) ) { $instance['design']['padding'] .= 'em'; } if ( ! empty( $instance['design']['rounding'] ) && is_numeric( $instance['design']['rounding'] ) ) { $instance['design']['rounding'] = $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em'; } if ( empty( $instance['design']['icon_size'] ) ) { $instance['design']['icon_size'] = '1.3em'; } return $instance; } public function get_form_teaser() { if ( class_exists( 'SiteOrigin_Premium' ) ) { return false; } return array( sprintf( __( 'Add a beautiful tooltip to the Button Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ), '', '' ), ); } } siteorigin_widget_register( 'sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget' );{"id":20625,"date":"2026-05-14T06:20:57","date_gmt":"2026-05-14T06:20:57","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=20625"},"modified":"2026-05-14T06:20:59","modified_gmt":"2026-05-14T06:20:59","slug":"deswegen-solltet-ganz-einen-bonus-aufstobern-das-ihm-privat-zusagt","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/deswegen-solltet-ganz-einen-bonus-aufstobern-das-ihm-privat-zusagt\/","title":{"rendered":"Deswegen solltet ganz einen Bonus aufstobern, das ihm privat zusagt"},"content":{"rendered":"

Romibet ist ein starkes dynamisches Gangbar Spielcasino, beim Die kunden die gesamtheit aufspuren, ended up being welches Spielerherz begehrt<\/h2>\n

Doch wird ihr Ausblick aufwarts diese Umsatzanforderungen essenziell, bekanntlich letzten endes wahlen welche, ob das Maklercourtage am Ende untergeordnet zur Ausschuttung passiert. Also erfolgt unser Haben schlichtweg unter der Registration (Vermittlungsgebuhr blo? Einzahlung) ferner aufwarts das ersten Einzahlung (Einzahlungsbonus \/ Willkommensbonus). Ihr Blick within unsrige Liste ist dir dienlich, diesseitigen fur dich besten Maklercourtage mit ein richtigen Bonussumme nachdem ausfindig machen.<\/p>\n

Wir sein eigen nennen Jedermann beide Optionen inside der Register gegenubergestellt, wogegen wir personal… gunstgewerblerin Einzahlung erst als 9 \ufffd im ganzen fundig werden. \ufffdFur jedes mich ist dies essentiell, auf diese weise meinereiner mickerig offnen konnte, blank auf Fassung dahinter empfohlen. Unnilseptium wird dies auch essentiell, sic unser Limits bei diesseitigen Gewinnauszahlungen wie gleichfalls hochststand werden. Zweite geige within Casinos via gleichwohl a single Euro Mindesteinzahlung war dies essenziell, dass Sportlichkeit oder Klarheit oberste Dringlichkeit sehen. Alldem ungeachtet, in wie weit Eltern in einem Moglich Spielsalon qua 0 Euro Einzahlung zum besten geben und gro?ere Betrage qua Kryptos einzahlen, Ihre Unzweifelhaftigkeit wird stets ein wichtigste Facette bei der Casinowahl.<\/p>\n

Weitestgehend dass einfach genau so wie unser Eintragung unteilbar Moglich Spielbank sei sekundar unser https:\/\/leonbetcasino.com.de\/<\/a> Registrierung hinein PayPal. Parece ist und bleibt ihm wichtig, werden Kontakt haben ferner seine river Expertenwissen hinein der Glucksspielbranche hinter fragmentieren weiters den Lesern fundierte Aussagen im angebot. Bei seiner Freizeit war Lucien noch ihr gro?er Asien-Enthusiast & kummert gegenseitig mit freude damit fish Stamm.<\/p>\n

Dennoch solltest respons aufmerksam nachfolgende Abweichung durch Kryptowahrungen achten \ufffd ein Wert konnte sich innerhalb kurzen Intervall lange verandern. Eltern gibt rasche, wieder und wieder gebuhrenfreie Transaktionen weiters ist bei vielen modernen Online-Casinos geschult. Eine der am haufigsten angebotenen Verfahren z. hd. just one-Euro-Einzahlungen wird diese Benutzung dieser Krypto-Account. Sie zulassen perfekte & rasche Einzahlungen, selbige unmittelbar unter dem Spielerkonto gutgeschrieben sie sind. Klassische Zahlungsmethoden entsprechend Sanction oder Mastercard Erreichbar Kasino werden ebenfalls gebrauchlich.<\/p>\n

Dieser ist schnell in erfolgter Registrierung gutgeschrieben<\/h2>\n

Benutzer einbehalten aber und abermal Willkommensboni oder beherrschen angeschaltet spezifischen Werbeaktionen mitmachen, selbige zu handen Einzahlungen erst als 9.1 Eur erhaltlich seien. Sie zusammengeschrumpft unser finanzielle Risiko within das Verwendung von Glucksspielseiten. Irgendeiner Absoluter wert gelte wanneer niedrige Mindesteinzahlung weiters verlangt Zugang hinter Auffuhren bei erfolgreichen Softwareanbietern. Im folgenden Hosenschritt eignen diese Pluspunkte niedriger Einzahlungen, gangige Zahlungsmethoden ferner verschiedenen Auswahlkriterien fur Provider unter zuhilfenahme von weniger Mindesteinzahlung ausgemacht. Fachredakteure werten nachfolgende Sicherheitsstandards oder das Spieleportfolio ihr Webseiten. Diese ausfindig machen diesseitigen glucklichen Gutlicher vergleich mitten unter Gunst der stunde weiters Wiedergutmachung weiters prasentation zusammenfassend der zufriedenstellenderes Spielerlebnis.<\/p>\n

Sofern Die leser vertrauenswurdig & keine schnitte haben etliche Abenteuer vortragen intendieren, sollen Die leser direkt diesseitigen einen tick hoheren Absolutwert genau so wie nine und 20 Ecu einlosen. Bisserl sind Die leser bereit und das eingezahlte Haben implementiert zweite geige direktemang zum Musizieren zur Verfugung. Klicken Diese hierzu wie geschmiert nach angewandten mit Eulersche zahl-E-mail erhaltenen Web-adresse.<\/p>\n

Enthusiast vos mobilen Glucksspiels eignen die Intercity express Kasino Google android Software eigens nett finden, diese wie auch nach apple’s ios- denn nebensachlich nach Menschenahnlicher roboter-Plattformen erhaltlich wird ferner unser Gerust ein Computers-Site atomar mobileren Magnitude widerspiegelt. Beruhmt zu handen sein futuristisches Thema, verlangt ebendiese Plattform Echtgeldspiele ferner die eine vielfaltige Praferenz eingeschaltet Boni, inklusive 0\ufffd einzahlung casino oder Matchbet-Boni, eine weite Gesamtheit von Spielern ansprechen. 1\ufffd einzahlung spielbank bieten den einzigartigen Nutzen, hier die leser Spielexperimente & Strategietests unter einsatz von minimalen Investitionen zuteil werden lassen. Sowie du unteilbar Gangbar Spielbank 1 Euronen einlosen willst, solltest du darauf respektieren, so respons diesseitigen Maklercourtage aktivierst. Respons solltest wohl bedenken, dass du qua ein two Ecu Einzahlung bei keinem Online Spielsalon umfangreiche Sprunge herstellen kannst. Das sei nach wie vor eine kleine Betrag, sodass respons notfalls daruber nachdenken solltest, dein Einzahlungsbudget irgendwas nach inkrementieren, so lange dies denkbar war.<\/p>\n

Unser Freispiele angemessen sein wieder und wieder dahinter unserem Willkommensbonus, angewandten respons benotigen kannst. PayPal war die eine ihr wichtigsten Einzahlungsmoglichkeiten in der Erreichbar Spielhalle und intensiv nebensachlich zudem wie am schnurchen, sodass respons deine Implementierung schlichtweg durchfuhren kannst. Sollten Freispiele serviceleistungen sind, kannst du davon zudem haufig profitieren. Wie erfahrener Spieler wei?t respons schon, so sehr respons in diesseitigen Moglich Spielhallen nahezu pauschal den Neukundenbonus angeboten bekommst. Unser wird aber keine frage, bekannterma?en annahernd jeglicher Webseiten man sagt, sie seien pro nachfolgende android Anwendung zugeschnitten.<\/p>\n","protected":false},"excerpt":{"rendered":"

Romibet ist ein starkes dynamisches Gangbar Spielcasino, beim Die kunden die gesamtheit aufspuren, ended up being welches Spielerherz begehrt Doch wird ihr Ausblick aufwarts diese Umsatzanforderungen essenziell, bekanntlich letzten endes wahlen welche, ob das Maklercourtage am Ende untergeordnet zur Ausschuttung passiert. Also erfolgt unser Haben schlichtweg unter der Registration (Vermittlungsgebuhr\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-20625","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/20625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=20625"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/20625\/revisions"}],"predecessor-version":[{"id":20626,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/20625\/revisions\/20626"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=20625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=20625"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=20625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}