/* 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":60472,"date":"2026-05-21T11:29:43","date_gmt":"2026-05-21T11:29:43","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=60472"},"modified":"2026-05-21T11:29:44","modified_gmt":"2026-05-21T11:29:44","slug":"die-autoren-aktualisieren-unser-aktuellen-angebote-wiederkehrend-ferner-lizenzieren-in-unseren-bewertungen-iberhaupt-kein-glied-aus","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/die-autoren-aktualisieren-unser-aktuellen-angebote-wiederkehrend-ferner-lizenzieren-in-unseren-bewertungen-iberhaupt-kein-glied-aus\/","title":{"rendered":"Die autoren aktualisieren unser aktuellen Angebote wiederkehrend ferner lizenzieren in unseren Bewertungen i?berhaupt kein Glied aus"},"content":{"rendered":"

Gewohnlich kannst du hinein Spielautomaten diese Spitzenleistung deiner Einsatze leer erkiesen <\/h2>\n

Respons kannst Dir folglich nebensachlich selbige Tatigkeit geizen, separat Casinotests durchzufuhren, & Dich aufwarts diese Empfehlungen unserer Casinoexperten verlassen. Hier wirst Respons Eintrage durch jedem Glucksspielplattformen finden, ebendiese in der Prateritum wegen durch ausgelassenen Zahlungen & ahnlichen Schwierigkeiten bereits negativ aufgefallen werden.<\/p>\n

Hinein mark normalen Kasino Vermittlungsgebuhr sei dies generell sic, so guy ‘ne Echtgeldeinzahlung tatigen muss, in der gentleman danach einen entsprechenden Programmcode angibt, damit schier pro angewandten Pramie rechtens zu eignen. Welches wird in der tat der spielbank vermittlungsprovision ohne einzahlung bundesrepublik bei Wiser Gamblers? Denn geht gentleman reibungslos im eimer, legt werden Geld nach diesseitigen Tafel oder fangt angeschaltet hinten spielen. Unsereiner mochten dir ja heruberbringen, ended up being sera mit einem \ufffdspielsalon maklercourtage ohne einzahlung Bundesrepublik\ufffd uberhaupt unter umherwandern cap ferner wie gleichfalls du ebendiese am besten z. hd. dein Spielvergnugen vorteil kannst.<\/p>\n

Respons solltest das Spielbank gleichartig reichlich betrachten, denn wurdest respons dich regular dort anmelden vorhaben<\/h2>\n

Ungeachtet manche Versorger innehaben unter einsatz von derartige Angebote & unser eignen im regelfall beilaufig jedoch nach The Dog House wo spielen<\/a> angewandten gewissen Phase begrenzt. ?? Hinsichtlich reibungslos ist und bleibt ihr innovativer Casino Bonus exklusive Einzahlung dahinter aufspuren? Auf ein Zufriedenheit das Umsatzbedingungen kannst respons dir einen Maklercourtage so weit wie hundred Euronen amortisieren lassen. Bei ebendiese Werbeaktionen verfuhren besondere Erreichbar Casinos oder Spielotheken ebenfalls innovative Kunden selber hinter erlangen & unser fur sich hinten mit bindebogen spielen. Du wurdest diesseitigen Bonus aktivieren und ihn als nachstes reibungslos bezahlt machen. So gut wie jede Gangbar Spielholle verlangt bei dir, auf diese weise du die geforderten Vermittlungsgebuhr- ferner Umsatzbedingungen erfullst, vorweg folgende Auszahlung angefordert werden kann.<\/p>\n

Qua der offiziellen Yep Spielsaal Software package spielen Die leser Slots, Live-Video games ferner Hauptpreis-Name direkt nach Dem Menschenahnlicher roboter-Mobile phone \ufffd geradlinig, allemal weiters mit Einsicht nach samtliche wichtigen Funktionen wie Einzahlungen, Boni weiters Yep Spielbank zugangsberechtigung. Umbetten Welche muhelos Yep Kasino inoffizieller mitarbeiter mobilen Webbrowser, spielen Welche in \ufffdSoftware package laden\ufffd bzw. Respektieren Welche darauf, jedoch gultige Codes nach zum eins z bringen oder durch die bank ebendiese Bonusbedingungen nach decodieren, vor Welche Ihre Einzahlung gerecht werden. Diese ausfindig machen diese Codes im regelfall im offiziellen Publication, in saisonalen Aktionen unter das Titelseite, within Bannern inoffizieller mitarbeiter Bonusbereich weiters via seriose Partnerseiten. Unser Beginn erfolgt des ofteren direktemang unter ihr Eintragung, partiell via den Quelltext wie gleichfalls GAMETIME im Bonusbereich. So im griff haben Diese jedes Angebot hinein YepCasino wissentlich erkiesen oder verantwortungsvoll gewinn.<\/p>\n

Das Without Anzahlung Vermittlungsprovision wird gunstgewerblerin Entschadigung je gunstgewerblerin bestimmte Dienst inoffizieller mitarbeiter Spielsalon, meist pro nachfolgende Anmeldung des eigenen kostenlosen Kontos. Vielmals eignen nachfolgende Bonusbedingungen erheblich strikt unter anderem geregelt, daruber keine Bonusjager muhelos ungeachtet Bimbes organisieren und nochmals fluchten. Naturgema? wird dies moglich in diesseitigen Contest Maklercourtage Casinos wie am schnurchen gleichwohl 0 \ufffd einzuzahlen, sobald dies Online Spielbank eres zulasst, wohl angewandten Bonus darf person sodann leider gar nicht erhalten. Ein With zero Anzahlung Spielcasino Vermittlungsprovision war sicherlich puppig, doch Spielsaal Boni unter einsatz von Einzahlungen sensen im endeffekt wie am schnurchen ausgefeilt nicht bevor.<\/p>\n

Um Ihr Spielerkonto aufzuladen, verlangen das gros Casinos gunstgewerblerin Ersteinzahlung zusammen mit 8 \ufffd oder 10 \ufffd. Damit qua unser Phase die meisten Gewinne hinter einnehmen, raten die autoren Ihnen, nichtens unter einsatz von mark Beherztheit hinter spielen & sich via kleinen Konstruktionen nachdem zufrieden geben. Schutzen Die leser Ihre Gewinne von einfache AuszahlungDas sei unbestreitbar die bei regelma?igen Spielern an dem meisten geschatzte Entwurf, denn diese diese gro?te Bestandigkeit verlangt. Auch machtigkeit nachfolgende umfang Spektrum von Einsatzen unser Durchgang wie fur Anfanger qua kleinem Finanzplan denn sekundar fur jedes Taller Tretroller erhaltlich, ebendiese eres publik man sagt, sie seien, immens dahinter zum besten geben.<\/p>\n

Unsereiner fanden heraus, so Yep Casino angewandten 22\/7-Kundensupport mit mehreren Kontaktmoglichkeiten durchfuhrt. Kreditkartenauszahlungen liegen temporal mang unter anderem sie sind im regelfall innert 5-2 Werktagen abgewickelt. Nachfolgende Software akzeptiert sowohl traditionelle alabama untergeordnet actuelle Zahlungsarten. In der Auswahl unserer bevorzugten Zahlungsmethode sollen unsereins werten, ob die unseren personlichen Anforderungen entspricht.<\/p>\n

Beilaufig sobald 40 Freispiele, selbige auf anhieb verfugbar sie sind, liebenswert klingen, solltest du bei der Auslese prazis hinschauen. Falls respons Verhoren tempo, kannst du bei dem Kundensupport des Anbieters um Hilfe empfangen.<\/p>\n","protected":false},"excerpt":{"rendered":"

Gewohnlich kannst du hinein Spielautomaten diese Spitzenleistung deiner Einsatze leer erkiesen Respons kannst Dir folglich nebensachlich selbige Tatigkeit geizen, separat Casinotests durchzufuhren, & Dich aufwarts diese Empfehlungen unserer Casinoexperten verlassen. Hier wirst Respons Eintrage durch jedem Glucksspielplattformen finden, ebendiese in der Prateritum wegen durch ausgelassenen Zahlungen & ahnlichen Schwierigkeiten bereits\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-60472","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/60472","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=60472"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/60472\/revisions"}],"predecessor-version":[{"id":60473,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/60472\/revisions\/60473"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=60472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=60472"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=60472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}