/* Widget Name: Editor Description: Insert and customize content with a rich text editor offering extensive formatting options. Author: SiteOrigin Author URI: https://siteorigin.com Documentation: https://siteorigin.com/widgets-bundle/editor-widget/ */ class SiteOrigin_Widget_Editor_Widget extends SiteOrigin_Widget { public function __construct() { parent::__construct( 'sow-editor', __( 'SiteOrigin Editor', 'so-widgets-bundle' ), array( 'description' => __( 'Insert and customize content with a rich text editor offering extensive formatting options.', 'so-widgets-bundle' ), 'help' => 'https://siteorigin.com/widgets-bundle/editor-widget/', ), array(), false, plugin_dir_path( __FILE__ ) ); add_filter( 'siteorigin_widgets_sanitize_instance_sow-editor', array( $this, 'add_noreferrer_to_link_targets' ) ); } public function get_widget_form() { $global_settings = $this->get_global_settings(); return array( 'title' => array( 'type' => 'text', 'label' => __( 'Title', 'so-widgets-bundle' ), ), 'text' => array( 'type' => 'tinymce', 'rows' => 20, 'wpautop_toggle_field' => '.siteorigin-widget-field-autop input[type="checkbox"]', ), 'autop' => array( 'type' => 'checkbox', 'default' => $global_settings['autop_default'], 'label' => __( 'Automatically add paragraphs', 'so-widgets-bundle' ), ), ); } public function get_settings_form() { return array( 'autop_default' => array( 'type' => 'checkbox', 'default' => true, 'label' => __( 'Enable the "Automatically add paragraphs" setting by default.', 'so-widgets-bundle' ), ), ); } public function get_template_variables( $instance, $args ) { $instance = wp_parse_args( $instance, array( 'text' => '' ) ); if ( // Only run these parts if we're rendering for the frontend. empty( $GLOBALS[ 'SITEORIGIN_PANELS_CACHE_RENDER' ] ) && empty( $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] ) ) { if ( function_exists( 'wp_filter_content_tags' ) ) { $instance['text'] = wp_filter_content_tags( $instance['text'] ); } elseif ( function_exists( 'wp_make_content_images_responsive' ) ) { $instance['text'] = wp_make_content_images_responsive( $instance['text'] ); } // Manual support for Jetpack Markdown module. if ( class_exists( 'WPCom_Markdown' ) && Jetpack::is_module_active( 'markdown' ) && $instance['text_selected_editor'] == 'html' ) { $markdown_parser = WPCom_Markdown::get_instance(); $instance['text'] = $markdown_parser->transform( $instance['text'] ); } // Run some known stuff. if ( ! empty( $GLOBALS['wp_embed'] ) ) { $instance['text'] = $GLOBALS['wp_embed']->run_shortcode( $instance['text'] ); $instance['text'] = $GLOBALS['wp_embed']->autoembed( $instance['text'] ); } // As in the Text Widget, we need to prevent plugins and themes from running `do_shortcode` in the `widget_text` // filter to avoid running it twice and to prevent `wpautop` from interfering with shortcodes' output. $widget_text_do_shortcode_priority = has_filter( 'widget_text', 'do_shortcode' ); if ( $widget_text_do_shortcode_priority !== false ) { remove_filter( 'widget_text', 'do_shortcode', $widget_text_do_shortcode_priority ); } $instance['text'] = apply_filters( 'widget_text', $instance['text'], $instance, $this ); if ( $widget_text_do_shortcode_priority !== false ) { add_filter( 'widget_text', 'do_shortcode', $widget_text_do_shortcode_priority ); } if ( $instance['autop'] ) { $instance['text'] = wpautop( $instance['text'] ); } // Don't process more more quicktag if this is a preview. if ( ! $this->is_preview() && empty( $GLOBALS[ 'SITEORIGIN_PANELS_PREVIEW_RENDER' ] ) && ( isset( $_POST['action'] ) && $_POST['action'] != 'so_widgets_preview' ) ) { $instance['text'] = $this->process_more_quicktag( $instance['text'] ); } } $instance['text'] = do_shortcode( shortcode_unautop( $instance['text'] ) ); return array( 'text' => $instance['text'], ); } private function process_more_quicktag( $content ) { $post = get_post(); if ( ! empty( $post ) ) { $panels_content = get_post_meta( $post->ID, 'panels_data', true ); } // We only want to do this processing if on archive pages for posts with non-PB layouts. if ( ! is_singular() && empty( $panels_content ) && ! $this->is_block_editor_page() && empty( $GLOBALS['SO_WIDGETS_BUNDLE_PREVIEW_RENDER'] ) ) { if ( preg_match( '//', $content, $matches ) ) { $content = explode( $matches[0], $content, 2 ); $content = $content[0]; $content = force_balance_tags( $content ); if ( ! empty( $matches[1] ) ) { $more_link_text = strip_tags( wp_kses_no_null( trim( $matches[1] ) ) ); } else { $more_link_text = __( 'Read More', 'so-widgets-bundle' ); } $more_link = apply_filters( 'the_content_more_link', ' ID}\" class=\"more-link\">$more_link_text", $more_link_text ); $content .= '

' . $more_link . '

'; } } return $content; } public function add_noreferrer_to_link_targets( $instance ) { if ( function_exists( 'wp_targeted_link_rel' ) && ! empty( $instance['text'] ) ) { $instance['text'] = wp_targeted_link_rel( $instance['text'] ); } return $instance; } public function get_style_name( $instance ) { // We're not using a style. return false; } public function get_form_teaser() { if ( class_exists( 'SiteOrigin_Premium' ) ) { return false; } return array( sprintf( __( 'Use Google Fonts right inside the Editor Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ), '', '' ), ); } } siteorigin_widget_register( 'sow-editor', __FILE__, 'SiteOrigin_Widget_Editor_Widget' ); Vincent Callebaut’s Arboricole Tower brings Vertical Agriculture to the City – Design a New Civilization

Vincent Callebaut’s Arboricole Tower brings Vertical Agriculture to the City

Vincent Callebaut Architectures, known for green projects that combine smart building with advanced renewable energy solutions, has officially unveiled Arboricole –

Referred to as a new “biophilic” building that brings agriculture to the urban landscape. Residents of the building can grow food on their own terraces thanks to permaculture, with the building’s curved, sinuous design acting to reduce turbulence and maximize comfort in these elevated gardens.

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving buildingVincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving buildingArboricole aims to answer a vital question: how can we adapt our European historic cities to climate change and the ensuing phenomena of strong floods, heavy rains, and current heat waves? To help combat these events, the building is covered with endemic plants from the Loire region that act as a “sponge,” limiting its carbon footprint, collecting rainwater, and optimizing the residents’ quality of life.

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

Related: Vincent Callebaut’s twisting carbon-absorbing skyscraper nears completion in Taipei

White tuffeau stone covers the building’s wave-shaped facade. The architects drew inspiration from the agriculture of the Angevin groves, whose undulating plateaus create a visually engaging waterfall effect. Designed for the intersection of Boulevard Ayrault and Quai Gambetta in Angers, France, the building gradually rises to 114 feet (35 meters) and maximizes the amount of sunshine each terrace receives during the day.

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture, urban vertical garden, agritecture, energy-conserving building

Micro-perforated satin aluminum plates serve as false acoustic ceilings for the balconies, absorbing the noise pollution emitted by car traffic and showcasing the plant life climbing Arboricole’s vertical grove. And, not to be outdone, the plants themselves – 20,000 perennials, shrubs, and trees – could absorb up to 50 tons of CO2 in Angers’s atmosphere each year.

 +Vincent Callebaut Architectures

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

Vincent Callebaut Architectures, Arboricole, biophilic building in France, plant-covered building in France, urban agriculture building, urban vertical garden, agritecture, energy-conserving building

https://inhabitat.com/vincent-callebauts-arboricole-tower-brings-vertical-agriculture-to-the-city/

Posted by dancadmin

Leave a Reply