{ "name": "symfony/polyfill-intl-normalizer", "type": "library", "description": "Symfony polyfill for intl's Normalizer class and related functions", "keywords": ["polyfill", "shim", "compatibility", "portable", "intl", "normalizer"], "homepage": "https://symfony.com", "license": "MIT", "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "require": { "php": ">=7.1" }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, "files": [ "bootstrap.php" ], "classmap": [ "Resources/stubs" ] }, "suggest": { "ext-intl": "For best performance" }, "minimum-stability": "dev", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } } }/** * Adds HTML markup. * * @package GeneratePress */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! function_exists( 'generate_body_classes' ) ) { add_filter( 'body_class', 'generate_body_classes' ); /** * Adds custom classes to the array of body classes. * * @param array $classes The existing classes. * @since 0.1 */ function generate_body_classes( $classes ) { $sidebar_layout = generate_get_layout(); $navigation_location = generate_get_navigation_location(); $navigation_alignment = generate_get_option( 'nav_alignment_setting' ); $navigation_dropdown = generate_get_option( 'nav_dropdown_type' ); $header_alignment = generate_get_option( 'header_alignment_setting' ); $content_layout = generate_get_option( 'content_layout_setting' ); // These values all have defaults, but we like to be extra careful. $classes[] = ( $sidebar_layout ) ? $sidebar_layout : 'right-sidebar'; $classes[] = ( $navigation_location ) ? $navigation_location : 'nav-below-header'; $classes[] = ( $content_layout ) ? $content_layout : 'separate-containers'; if ( ! generate_is_using_flexbox() ) { $footer_widgets = generate_get_footer_widgets(); $header_layout = generate_get_option( 'header_layout_setting' ); $classes[] = ( $header_layout ) ? $header_layout : 'fluid-header'; $classes[] = ( '' !== $footer_widgets ) ? 'active-footer-widgets-' . absint( $footer_widgets ) : 'active-footer-widgets-3'; } if ( 'enable' === generate_get_option( 'nav_search' ) ) { $classes[] = 'nav-search-enabled'; } // Only necessary for nav before or after header. if ( ! generate_is_using_flexbox() && 'nav-below-header' === $navigation_location || 'nav-above-header' === $navigation_location ) { if ( 'center' === $navigation_alignment ) { $classes[] = 'nav-aligned-center'; } elseif ( 'right' === $navigation_alignment ) { $classes[] = 'nav-aligned-right'; } elseif ( 'left' === $navigation_alignment ) { $classes[] = 'nav-aligned-left'; } } if ( 'center' === $header_alignment ) { $classes[] = 'header-aligned-center'; } elseif ( 'right' === $header_alignment ) { $classes[] = 'header-aligned-right'; } elseif ( 'left' === $header_alignment ) { $classes[] = 'header-aligned-left'; } if ( 'click' === $navigation_dropdown ) { $classes[] = 'dropdown-click'; $classes[] = 'dropdown-click-menu-item'; } elseif ( 'click-arrow' === $navigation_dropdown ) { $classes[] = 'dropdown-click-arrow'; $classes[] = 'dropdown-click'; } else { $classes[] = 'dropdown-hover'; } if ( is_singular() ) { // Page builder container metabox option. // Used to be a single checkbox, hence the name/true value. Now it's a radio choice between full width and contained. $content_container = get_post_meta( get_the_ID(), '_generate-full-width-content', true ); if ( $content_container ) { if ( 'true' === $content_container ) { $classes[] = 'full-width-content'; } if ( 'contained' === $content_container ) { $classes[] = 'contained-content'; } } if ( has_post_thumbnail() ) { $classes[] = 'featured-image-active'; } } return $classes; } } if ( ! function_exists( 'generate_top_bar_classes' ) ) { add_filter( 'generate_top_bar_class', 'generate_top_bar_classes' ); /** * Adds custom classes to the header. * * @param array $classes The existing classes. * @since 0.1 */ function generate_top_bar_classes( $classes ) { $classes[] = 'top-bar'; if ( 'contained' === generate_get_option( 'top_bar_width' ) ) { $classes[] = 'grid-container'; if ( ! generate_is_using_flexbox() ) { $classes[] = 'grid-parent'; } } $classes[] = 'top-bar-align-' . esc_attr( generate_get_option( 'top_bar_alignment' ) ); return $classes; } } if ( ! function_exists( 'generate_right_sidebar_classes' ) ) { add_filter( 'generate_right_sidebar_class', 'generate_right_sidebar_classes' ); /** * Adds custom classes to the right sidebar. * * @param array $classes The existing classes. * @since 0.1 */ function generate_right_sidebar_classes( $classes ) { $classes[] = 'widget-area'; $classes[] = 'sidebar'; $classes[] = 'is-right-sidebar'; if ( ! generate_is_using_flexbox() ) { $right_sidebar_width = apply_filters( 'generate_right_sidebar_width', '25' ); $left_sidebar_width = apply_filters( 'generate_left_sidebar_width', '25' ); $right_sidebar_tablet_width = apply_filters( 'generate_right_sidebar_tablet_width', $right_sidebar_width ); $left_sidebar_tablet_width = apply_filters( 'generate_left_sidebar_tablet_width', $left_sidebar_width ); $classes[] = 'grid-' . $right_sidebar_width; $classes[] = 'tablet-grid-' . $right_sidebar_tablet_width; $classes[] = 'grid-parent'; // Get the layout. $layout = generate_get_layout(); if ( '' !== $layout ) { switch ( $layout ) { case 'both-left': $total_sidebar_width = $left_sidebar_width + $right_sidebar_width; $classes[] = 'pull-' . ( 100 - $total_sidebar_width ); $total_sidebar_tablet_width = $left_sidebar_tablet_width + $right_sidebar_tablet_width; $classes[] = 'tablet-pull-' . ( 100 - $total_sidebar_tablet_width ); break; } } } return $classes; } } if ( ! function_exists( 'generate_left_sidebar_classes' ) ) { add_filter( 'generate_left_sidebar_class', 'generate_left_sidebar_classes' ); /** * Adds custom classes to the left sidebar. * * @param array $classes The existing classes. * @since 0.1 */ function generate_left_sidebar_classes( $classes ) { $classes[] = 'widget-area'; $classes[] = 'sidebar'; $classes[] = 'is-left-sidebar'; if ( ! generate_is_using_flexbox() ) { $right_sidebar_width = apply_filters( 'generate_right_sidebar_width', '25' ); $left_sidebar_width = apply_filters( 'generate_left_sidebar_width', '25' ); $total_sidebar_width = $left_sidebar_width + $right_sidebar_width; $right_sidebar_tablet_width = apply_filters( 'generate_right_sidebar_tablet_width', $right_sidebar_width ); $left_sidebar_tablet_width = apply_filters( 'generate_left_sidebar_tablet_width', $left_sidebar_width ); $total_sidebar_tablet_width = $left_sidebar_tablet_width + $right_sidebar_tablet_width; $classes[] = 'grid-' . $left_sidebar_width; $classes[] = 'tablet-grid-' . $left_sidebar_tablet_width; $classes[] = 'mobile-grid-100'; $classes[] = 'grid-parent'; // Get the layout. $layout = generate_get_layout(); if ( '' !== $layout ) { switch ( $layout ) { case 'left-sidebar': $classes[] = 'pull-' . ( 100 - $left_sidebar_width ); $classes[] = 'tablet-pull-' . ( 100 - $left_sidebar_tablet_width ); break; case 'both-sidebars': case 'both-left': $classes[] = 'pull-' . ( 100 - $total_sidebar_width ); $classes[] = 'tablet-pull-' . ( 100 - $total_sidebar_tablet_width ); break; } } } return $classes; } } if ( ! function_exists( 'generate_content_classes' ) ) { add_filter( 'generate_content_class', 'generate_content_classes' ); /** * Adds custom classes to the content container. * * @param array $classes The existing classes. * @since 0.1 */ function generate_content_classes( $classes ) { $classes[] = 'content-area'; if ( ! generate_is_using_flexbox() ) { $right_sidebar_width = apply_filters( 'generate_right_sidebar_width', '25' ); $left_sidebar_width = apply_filters( 'generate_left_sidebar_width', '25' ); $total_sidebar_width = $left_sidebar_width + $right_sidebar_width; $right_sidebar_tablet_width = apply_filters( 'generate_right_sidebar_tablet_width', $right_sidebar_width ); $left_sidebar_tablet_width = apply_filters( 'generate_left_sidebar_tablet_width', $left_sidebar_width ); $total_sidebar_tablet_width = $left_sidebar_tablet_width + $right_sidebar_tablet_width; $classes[] = 'grid-parent'; $classes[] = 'mobile-grid-100'; // Get the layout. $layout = generate_get_layout(); if ( '' !== $layout ) { switch ( $layout ) { case 'right-sidebar': $classes[] = 'grid-' . ( 100 - $right_sidebar_width ); $classes[] = 'tablet-grid-' . ( 100 - $right_sidebar_tablet_width ); break; case 'left-sidebar': $classes[] = 'push-' . $left_sidebar_width; $classes[] = 'grid-' . ( 100 - $left_sidebar_width ); $classes[] = 'tablet-push-' . $left_sidebar_tablet_width; $classes[] = 'tablet-grid-' . ( 100 - $left_sidebar_tablet_width ); break; case 'no-sidebar': $classes[] = 'grid-100'; $classes[] = 'tablet-grid-100'; break; case 'both-sidebars': $classes[] = 'push-' . $left_sidebar_width; $classes[] = 'grid-' . ( 100 - $total_sidebar_width ); $classes[] = 'tablet-push-' . $left_sidebar_tablet_width; $classes[] = 'tablet-grid-' . ( 100 - $total_sidebar_tablet_width ); break; case 'both-right': $classes[] = 'grid-' . ( 100 - $total_sidebar_width ); $classes[] = 'tablet-grid-' . ( 100 - $total_sidebar_tablet_width ); break; case 'both-left': $classes[] = 'push-' . $total_sidebar_width; $classes[] = 'grid-' . ( 100 - $total_sidebar_width ); $classes[] = 'tablet-push-' . $total_sidebar_tablet_width; $classes[] = 'tablet-grid-' . ( 100 - $total_sidebar_tablet_width ); break; } } } return $classes; } } if ( ! function_exists( 'generate_header_classes' ) ) { add_filter( 'generate_header_class', 'generate_header_classes' ); /** * Adds custom classes to the header. * * @param array $classes The existing classes. * @since 0.1 */ function generate_header_classes( $classes ) { $classes[] = 'site-header'; if ( 'contained-header' === generate_get_option( 'header_layout_setting' ) ) { $classes[] = 'grid-container'; if ( ! generate_is_using_flexbox() ) { $classes[] = 'grid-parent'; } } if ( generate_has_inline_mobile_toggle() ) { $classes[] = 'has-inline-mobile-toggle'; } return $classes; } } if ( ! function_exists( 'generate_inside_header_classes' ) ) { add_filter( 'generate_inside_header_class', 'generate_inside_header_classes' ); /** * Adds custom classes to inside the header. * * @param array $classes The existing classes. * @since 0.1 */ function generate_inside_header_classes( $classes ) { $classes[] = 'inside-header'; if ( 'full-width' !== generate_get_option( 'header_inner_width' ) ) { $classes[] = 'grid-container'; if ( ! generate_is_using_flexbox() ) { $classes[] = 'grid-parent'; } } return $classes; } } if ( ! function_exists( 'generate_navigation_classes' ) ) { add_filter( 'generate_navigation_class', 'generate_navigation_classes' ); /** * Adds custom classes to the navigation. * * @param array $classes The existing classes. * @since 0.1 */ function generate_navigation_classes( $classes ) { $classes[] = 'main-navigation'; if ( 'contained-nav' === generate_get_option( 'nav_layout_setting' ) ) { if ( generate_is_using_flexbox() ) { $navigation_location = generate_get_navigation_location(); if ( 'nav-float-right' !== $navigation_location && 'nav-float-left' !== $navigation_location ) { $classes[] = 'grid-container'; } } else { $classes[] = 'grid-container'; $classes[] = 'grid-parent'; } } if ( generate_is_using_flexbox() ) { $nav_alignment = generate_get_option( 'nav_alignment_setting' ); if ( 'center' === $nav_alignment ) { $classes[] = 'nav-align-center'; } elseif ( 'right' === $nav_alignment ) { $classes[] = 'nav-align-right'; } elseif ( is_rtl() && 'left' === $nav_alignment ) { $classes[] = 'nav-align-left'; } if ( generate_has_menu_bar_items() ) { $classes[] = 'has-menu-bar-items'; } } $submenu_direction = 'right'; if ( 'left' === generate_get_option( 'nav_dropdown_direction' ) ) { $submenu_direction = 'left'; } if ( 'nav-left-sidebar' === generate_get_navigation_location() ) { $submenu_direction = 'right'; if ( 'both-right' === generate_get_layout() ) { $submenu_direction = 'left'; } } if ( 'nav-right-sidebar' === generate_get_navigation_location() ) { $submenu_direction = 'left'; if ( 'both-left' === generate_get_layout() ) { $submenu_direction = 'right'; } } $classes[] = 'sub-menu-' . $submenu_direction; return $classes; } } if ( ! function_exists( 'generate_inside_navigation_classes' ) ) { add_filter( 'generate_inside_navigation_class', 'generate_inside_navigation_classes' ); /** * Adds custom classes to the inner navigation. * * @param array $classes The existing classes. * @since 1.3.41 */ function generate_inside_navigation_classes( $classes ) { $classes[] = 'inside-navigation'; if ( 'full-width' !== generate_get_option( 'nav_inner_width' ) ) { $classes[] = 'grid-container'; if ( ! generate_is_using_flexbox() ) { $classes[] = 'grid-parent'; } } return $classes; } } if ( ! function_exists( 'generate_menu_classes' ) ) { add_filter( 'generate_menu_class', 'generate_menu_classes' ); /** * Adds custom classes to the menu. * * @param array $classes The existing classes. * @since 0.1 */ function generate_menu_classes( $classes ) { $classes[] = 'menu'; $classes[] = 'sf-menu'; return $classes; } } if ( ! function_exists( 'generate_footer_classes' ) ) { add_filter( 'generate_footer_class', 'generate_footer_classes' ); /** * Adds custom classes to the footer. * * @param array $classes The existing classes. * @since 0.1 */ function generate_footer_classes( $classes ) { $classes[] = 'site-footer'; if ( 'contained-footer' === generate_get_option( 'footer_layout_setting' ) ) { $classes[] = 'grid-container'; if ( ! generate_is_using_flexbox() ) { $classes[] = 'grid-parent'; } } if ( is_active_sidebar( 'footer-bar' ) ) { $classes[] = 'footer-bar-active'; $classes[] = 'footer-bar-align-' . esc_attr( generate_get_option( 'footer_bar_alignment' ) ); } return $classes; } } if ( ! function_exists( 'generate_inside_footer_classes' ) ) { add_filter( 'generate_inside_footer_class', 'generate_inside_footer_classes' ); /** * Adds custom classes to the footer. * * @param array $classes The existing classes. * @since 0.1 */ function generate_inside_footer_classes( $classes ) { $classes[] = 'footer-widgets-container'; if ( 'full-width' !== generate_get_option( 'footer_inner_width' ) ) { $classes[] = 'grid-container'; if ( ! generate_is_using_flexbox() ) { $classes[] = 'grid-parent'; } } return $classes; } } if ( ! function_exists( 'generate_main_classes' ) ) { add_filter( 'generate_main_class', 'generate_main_classes' ); /** * Adds custom classes to the
element * * @param array $classes The existing classes. * @since 1.1.0 */ function generate_main_classes( $classes ) { $classes[] = 'site-main'; return $classes; } } add_filter( 'generate_page_class', 'generate_do_page_container_classes' ); /** * Adds custom classes to the #page element * * @param array $classes The existing classes. * @since 3.0.0 */ function generate_do_page_container_classes( $classes ) { $classes[] = 'site'; $classes[] = 'grid-container'; $classes[] = 'container'; if ( generate_is_using_hatom() ) { $classes[] = 'hfeed'; } if ( ! generate_is_using_flexbox() ) { $classes[] = 'grid-parent'; } return $classes; } add_filter( 'generate_comment-author_class', 'generate_do_comment_author_classes' ); /** * Adds custom classes to the comment author element * * @param array $classes The existing classes. * @since 3.0.0 */ function generate_do_comment_author_classes( $classes ) { $classes[] = 'comment-author'; if ( generate_is_using_hatom() ) { $classes[] = 'vcard'; } return $classes; } if ( ! function_exists( 'generate_post_classes' ) ) { add_filter( 'post_class', 'generate_post_classes' ); /** * Adds custom classes to the
element. * Remove .hentry class from pages to comply with structural data guidelines. * * @param array $classes The existing classes. * @since 1.3.39 */ function generate_post_classes( $classes ) { if ( 'page' === get_post_type() || ! generate_is_using_hatom() ) { $classes = array_diff( $classes, array( 'hentry' ) ); } return $classes; } }/** * Where old functions retire. * * @package GeneratePress */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } // Deprecated constants. define( 'GENERATE_URI', get_template_directory_uri() ); define( 'GENERATE_DIR', get_template_directory() ); if ( ! function_exists( 'generate_paging_nav' ) ) { /** * Build the pagination links * * @since 1.3.35 * @deprecated 1.3.45 */ function generate_paging_nav() { _deprecated_function( __FUNCTION__, '1.3.45', 'the_posts_navigation()' ); if ( function_exists( 'the_posts_pagination' ) ) { the_posts_pagination( array( 'mid_size' => apply_filters( 'generate_pagination_mid_size', 1 ), 'prev_text' => __( '← Previous', 'generatepress' ), 'next_text' => __( 'Next →', 'generatepress' ), ) ); } } } if ( ! function_exists( 'generate_additional_spacing' ) ) { /** * Add fallback CSS for our mobile search icon color * * @deprecated 1.3.47 */ function generate_additional_spacing() { // No longer needed. } } if ( ! function_exists( 'generate_mobile_search_spacing_fallback_css' ) ) { /** * Enqueue our mobile search icon color fallback CSS * * @deprecated 1.3.47 */ function generate_mobile_search_spacing_fallback_css() { // No longer needed. } } if ( ! function_exists( 'generate_addons_available' ) ) { /** * Check to see if there's any addons not already activated * * @since 1.0.9 * @deprecated 1.3.47 */ function generate_addons_available() { if ( defined( 'GP_PREMIUM_VERSION' ) ) { return false; } } } if ( ! function_exists( 'generate_no_addons' ) ) { /** * Check to see if no addons are activated * * @since 1.0.9 * @deprecated 1.3.47 */ function generate_no_addons() { if ( defined( 'GP_PREMIUM_VERSION' ) ) { return false; } } } if ( ! function_exists( 'generate_get_min_suffix' ) ) { /** * Figure out if we should use minified scripts or not * * @since 1.3.29 * @deprecated 2.0 */ function generate_get_min_suffix() { return defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; } } if ( ! function_exists( 'generate_add_layout_meta_box' ) ) { /** * Add layout metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_add_layout_meta_box() { _deprecated_function( __FUNCTION__, '2.0', 'generate_register_layout_meta_box()' ); } } if ( ! function_exists( 'generate_show_layout_meta_box' ) ) { /** * Show layout metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_show_layout_meta_box() { _deprecated_function( __FUNCTION__, '2.0', 'generate_do_layout_meta_box()' ); } } if ( ! function_exists( 'generate_save_layout_meta' ) ) { /** * Save layout metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_save_layout_meta() { _deprecated_function( __FUNCTION__, '2.0', 'generate_save_layout_meta_data()' ); } } if ( ! function_exists( 'generate_add_footer_widget_meta_box' ) ) { /** * Add footer widget metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_add_footer_widget_meta_box() { _deprecated_function( __FUNCTION__, '2.0', 'generate_register_layout_meta_box()' ); } } if ( ! function_exists( 'generate_show_footer_widget_meta_box' ) ) { /** * Show footer widget metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_show_footer_widget_meta_box() { _deprecated_function( __FUNCTION__, '2.0', 'generate_do_layout_meta_box()' ); } } if ( ! function_exists( 'generate_save_footer_widget_meta' ) ) { /** * Save footer widget metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_save_footer_widget_meta() { _deprecated_function( __FUNCTION__, '2.0', 'generate_save_layout_meta_data()' ); } } if ( ! function_exists( 'generate_add_page_builder_meta_box' ) ) { /** * Add page builder metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_add_page_builder_meta_box() { _deprecated_function( __FUNCTION__, '2.0', 'generate_register_layout_meta_box()' ); } } if ( ! function_exists( 'generate_show_page_builder_meta_box' ) ) { /** * Show page builder metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_show_page_builder_meta_box() { _deprecated_function( __FUNCTION__, '2.0', 'generate_do_layout_meta_box()' ); } } if ( ! function_exists( 'generate_save_page_builder_meta' ) ) { /** * Save page builder metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_save_page_builder_meta() { _deprecated_function( __FUNCTION__, '2.0', 'generate_save_layout_meta_data()' ); } } if ( ! function_exists( 'generate_add_de_meta_box' ) ) { /** * Add disable elements metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_add_de_meta_box() { _deprecated_function( __FUNCTION__, '2.0', 'generate_register_layout_meta_box()' ); } } if ( ! function_exists( 'generate_show_de_meta_box' ) ) { /** * Show disable elements metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_show_de_meta_box() { _deprecated_function( __FUNCTION__, '2.0', 'generate_do_layout_meta_box()' ); } } if ( ! function_exists( 'generate_save_de_meta' ) ) { /** * Save disable elements metabox. * * @since 0.1 * @deprecated 2.0 */ function generate_save_de_meta() { _deprecated_function( __FUNCTION__, '2.0', 'generate_save_layout_meta_data()' ); } } if ( ! function_exists( 'generate_add_base_inline_css' ) ) { /** * Add base inline CSS. * * @since 0.1 * @deprecated 2.0 */ function generate_add_base_inline_css() { _deprecated_function( __FUNCTION__, '2.0', 'generate_enqueue_dynamic_css()' ); } } if ( ! function_exists( 'generate_color_scripts' ) ) { /** * Enqueue base colors inline CSS. * * @since 0.1 * @deprecated 2.0 */ function generate_color_scripts() { _deprecated_function( __FUNCTION__, '2.0', 'generate_enqueue_dynamic_css()' ); } } if ( ! function_exists( 'generate_typography_scripts' ) ) { /** * Enqueue typography CSS. * * @since 0.1 * @deprecated 2.0 */ function generate_typography_scripts() { _deprecated_function( __FUNCTION__, '2.0', 'generate_enqueue_dynamic_css()' ); } } if ( ! function_exists( 'generate_spacing_scripts' ) ) { /** * Enqueue spacing CSS. * * @since 0.1 * @deprecated 2.0 */ function generate_spacing_scripts() { _deprecated_function( __FUNCTION__, '2.0', 'generate_enqueue_dynamic_css()' ); } } if ( ! function_exists( 'generate_get_setting' ) ) { /** * A wrapper function to get our settings. * * @since 1.3.40 * * @param string $setting The option name to look up. * @return string The option value. * @todo Ability to specify different option name and defaults. */ function generate_get_setting( $setting ) { return generate_get_option( $setting ); } } if ( ! function_exists( 'generate_right_sidebar_class' ) ) { /** * Display the classes for the sidebar. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_right_sidebar_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_right_sidebar_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_right_sidebar_class' ) ) { /** * Retrieve the classes for the sidebar. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_right_sidebar_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_right_sidebar_class', $classes, $class ); } } if ( ! function_exists( 'generate_left_sidebar_class' ) ) { /** * Display the classes for the sidebar. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_left_sidebar_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_left_sidebar_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_left_sidebar_class' ) ) { /** * Retrieve the classes for the sidebar. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_left_sidebar_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_left_sidebar_class', $classes, $class ); } } if ( ! function_exists( 'generate_content_class' ) ) { /** * Display the classes for the content. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_content_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_content_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_content_class' ) ) { /** * Retrieve the classes for the content. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_content_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_content_class', $classes, $class ); } } if ( ! function_exists( 'generate_header_class' ) ) { /** * Display the classes for the header. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_header_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_header_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_header_class' ) ) { /** * Retrieve the classes for the content. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_header_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_header_class', $classes, $class ); } } if ( ! function_exists( 'generate_inside_header_class' ) ) { /** * Display the classes for inside the header. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_inside_header_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_inside_header_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_inside_header_class' ) ) { /** * Retrieve the classes for inside the header. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_inside_header_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_inside_header_class', $classes, $class ); } } if ( ! function_exists( 'generate_container_class' ) ) { /** * Display the classes for the container. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_container_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_container_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_container_class' ) ) { /** * Retrieve the classes for the content. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_container_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_container_class', $classes, $class ); } } if ( ! function_exists( 'generate_navigation_class' ) ) { /** * Display the classes for the navigation. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_navigation_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_navigation_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_navigation_class' ) ) { /** * Retrieve the classes for the navigation. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_navigation_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_navigation_class', $classes, $class ); } } if ( ! function_exists( 'generate_inside_navigation_class' ) ) { /** * Display the classes for the inner navigation. * * @since 1.3.41 * @param string|array $class One or more classes to add to the class list. */ function generate_inside_navigation_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); $return = apply_filters( 'generate_inside_navigation_class', $classes, $class ); // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', $return ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_menu_class' ) ) { /** * Display the classes for the navigation. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_menu_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_menu_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_menu_class' ) ) { /** * Retrieve the classes for the navigation. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_menu_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_menu_class', $classes, $class ); } } if ( ! function_exists( 'generate_main_class' ) ) { /** * Display the classes for the
container. * * @since 1.1.0 * @param string|array $class One or more classes to add to the class list. */ function generate_main_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_main_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_main_class' ) ) { /** * Retrieve the classes for the footer. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_main_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_main_class', $classes, $class ); } } if ( ! function_exists( 'generate_footer_class' ) ) { /** * Display the classes for the footer. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_footer_class( $class = '' ) { // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', generate_get_footer_class( $class ) ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_get_footer_class' ) ) { /** * Retrieve the classes for the footer. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. * @return array Array of classes. */ function generate_get_footer_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); return apply_filters( 'generate_footer_class', $classes, $class ); } } if ( ! function_exists( 'generate_inside_footer_class' ) ) { /** * Display the classes for the footer. * * @since 0.1 * @param string|array $class One or more classes to add to the class list. */ function generate_inside_footer_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); $return = apply_filters( 'generate_inside_footer_class', $classes, $class ); // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', $return ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_top_bar_class' ) ) { /** * Display the classes for the top bar. * * @since 1.3.45 * @param string|array $class One or more classes to add to the class list. */ function generate_top_bar_class( $class = '' ) { $classes = array(); if ( ! empty( $class ) ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_merge( $classes, $class ); } $classes = array_map( 'esc_attr', $classes ); $return = apply_filters( 'generate_top_bar_class', $classes, $class ); // Separates classes with a single space, collates classes for post DIV. echo 'class="' . join( ' ', $return ) . '"'; // phpcs:ignore } } if ( ! function_exists( 'generate_body_schema' ) ) { /** * Figure out which schema tags to apply to the element. * * @since 1.3.15 */ function generate_body_schema() { // Set up blog variable. $blog = ( is_home() || is_archive() || is_attachment() || is_tax() || is_single() ) ? true : false; // Set up default itemtype. $itemtype = 'WebPage'; // Get itemtype for the blog. $itemtype = ( $blog ) ? 'Blog' : $itemtype; // Get itemtype for search results. $itemtype = ( is_search() ) ? 'SearchResultsPage' : $itemtype; // Get the result. $result = esc_html( apply_filters( 'generate_body_itemtype', $itemtype ) ); // Return our HTML. echo "itemtype='https://schema.org/$result' itemscope='itemscope'"; // phpcs:ignore } } if ( ! function_exists( 'generate_article_schema' ) ) { /** * Figure out which schema tags to apply to the
element * The function determines the itemtype: generate_article_schema( 'BlogPosting' ) * * @since 1.3.15 * @param string $type The type of schema. */ function generate_article_schema( $type = 'CreativeWork' ) { // Get the itemtype. $itemtype = esc_html( apply_filters( 'generate_article_itemtype', $type ) ); // Print the results. echo "itemtype='https://schema.org/$itemtype' itemscope='itemscope'"; // phpcs:ignore } } /** * Process database updates if necessary. * There's nothing in here yet, but we're setting the version to use later. * * @since 2.1 * @deprecated 3.0.0 */ function generate_do_admin_db_updates() { // Replaced by Generate_Theme_Update(). } /** * Process important database updates when someone visits the front or backend. * * @since 2.3 * @deprecated 3.0.0 */ function generate_do_db_updates() { // Replaced by Generate_Theme_Update(). } if ( ! function_exists( 'generate_update_logo_setting' ) ) { /** * Migrate the old logo database entry to the new custom_logo theme mod (WordPress 4.5) * * @since 1.3.29 * @deprecated 3.0.0 */ function generate_update_logo_setting() { // Replaced by Generate_Theme_Update(). } } if ( ! function_exists( 'generate_typography_convert_values' ) ) { /** * Take the old body font value and strip it of variants * This should only run once * * @since 1.3.0 * @deprecated 3.0.0 */ function generate_typography_convert_values() { // Replaced by Generate_Theme_Update(). } } /** * Execute functions after existing sites update. * * We check to see if options already exist. If they do, we can assume the user has * updated the theme, and not installed it from scratch. * * We run this right away in the Dashboard to avoid other migration functions from * setting options and causing these functions to run on fresh installs. * * @since 2.0 * @deprecated 3.0.0 */ function generate_migrate_existing_settings() { // Replaced by Generate_Theme_Update(). } /** * Output CSS for the icon fonts. * * @since 2.3 * @deprecated 3.0.0 */ function generate_do_icon_css() { $output = false; if ( 'font' === generate_get_option( 'icons' ) ) { $url = trailingslashit( get_template_directory_uri() ); if ( defined( 'GENERATE_MENU_PLUS_VERSION' ) ) { $output .= '.main-navigation .slideout-toggle a:before, .slide-opened .slideout-overlay .slideout-exit:before { font-family: GeneratePress; } .slideout-navigation .dropdown-menu-toggle:before { content: "\f107" !important; } .slideout-navigation .sfHover > a .dropdown-menu-toggle:before { content: "\f106" !important; }'; } } if ( $output ) { return str_replace( array( "\r", "\n", "\t" ), '', $output ); } } ScienceWA

ScienceWA by Perth Drafting

Perth Drafting & Design: Redefining Architectural Drafting Services in Western Australia

Perth, Western Australia – Perth Drafting & Design, conveniently located in the heart of Perth’s business district at 111 Saint Georges Terrace, is proud to announce its ongoing dedication to providing top-quality architectural drafting and design services. Specializing in bespoke designs and comprehensive construction blueprints, Perth Drafting & Design is the trusted partner for builders, developers, and homeowners seeking excellence in architectural solutions.

Founded by Kyle S, Perth Drafting & Design has built a reputation for precision, innovation, and client-focused service. With a commitment to excellence, the company ensures every project meets the highest standards, from initial concepts to final documentation.

“Our goal is to simplify the architectural process for our clients by delivering designs that are both functional and aesthetically pleasing,” said Kyle S, Founder of Perth Drafting & Design. “Whether you’re a builder looking for accurate working drawings or a homeowner creating your dream space, we tailor our services to your needs.”


About Perth Drafting & Design

Perth Drafting & Design offers a wide range of architectural drafting services tailored to meet the unique demands of residential and commercial projects. Utilizing advanced drafting technologies and a keen understanding of local building regulations, the team ensures that every project is crafted with precision and delivered on time.

Key Services Include:

  • Working Drawings: Accurate and detailed blueprints for builders, ensuring compliance with all regulatory standards.
  • Custom Home Design: Tailored solutions for homeowners to bring their visions to life.
  • Renovation Planning: Expert designs that seamlessly integrate new features with existing structures.
  • Builder Collaboration: Partnering with builders to streamline the design-to-construction process.

Perth Drafting & Design is committed to meeting the growing demands of Western Australia’s architectural and construction industries. With a team of experienced draftsmen and designers, the company offers a streamlined process that balances creativity with functionality.


What Sets Perth Drafting & Design Apart?

  • Client-Centric Approach: Every project is approached with the client’s unique needs and goals in mind.
  • Industry Expertise: With extensive experience in the drafting and design industry, the team understands the intricacies of Australian building regulations and standards.
  • Cutting-Edge Technology: Advanced drafting software and tools are used to deliver precise, professional results.
  • Local Knowledge: Based in Perth, the team is deeply familiar with Western Australian construction standards, ensuring designs meet all local requirements.

“Our clients value the personalised service we provide. We don’t just create plans; we collaborate to ensure the end result reflects their vision and exceeds expectations,” added Kyle St.


Conveniently Located and Ready to Serve

Perth Drafting & Design is located at 111 Saint Georges Terrace, Perth, WA 6000, making it easily accessible to clients throughout the city and surrounding areas. The office is open Monday through Friday from 9:00 AM to 5:00 PM.

They also have an office for Joondalup Drafting.

Clients are encouraged to schedule consultations to discuss their project needs and explore tailored solutions.


Contact Information:

For inquiries or to book a consultation, please use the following contact details:

📞 Phone: +61 483 933 167
📧 Email: kyle@perthdrafting.com.au
🌐 Website: www.perthdrafting.com.au
📍 Location: Find us on Google Maps