Lovelace Blouse (EN)

About Lovelace Blouse (EN)

Lovelace Blouse by Mrs Funny Valentine is a romantic lace blouse inspired by the pioneering spirit of Ada Lovelace. The design features an all-over lace pattern, raglan construction, and a reversible neckline finished with an elegant i-cord drawstring.

The blouse is knitted seamlessly from the bottom up using 4.5 mm needles and lace weight yarn held double, such as Lang Yarns Mohair Luxe. The split hem and relaxed fit create a light, feminine silhouette.

Lovelace Blouse is available in sizes XS/S to 5XL and is well suited for knitters who enjoy lace techniques and refined finishing details.

Designer

Craft

Stitch Pattern & Technique

, , , ,

Difficulty Level

Clothing Size (Adult)

, , , , , , , ,

Language

Needle / Hook Size

,

Meterage (per 50 g)

Gauge

Collection

About this Pattern

Lovelace Blouse is an elegant lace blouse designed by Mrs Funny Valentine and inspired by Ada Lovelace, the visionary mathematician and pioneer of computer programming. The design celebrates intelligence, creativity, and structure, translated into a refined knitted garment with a romantic yet modern expression.


The Lovelace Blouse is worked seamlessly from the bottom up and features a classic raglan construction. The body begins with a split hem that adds lightness and movement before the front and back are joined to work in the round. The blouse is knitted using an all-over lace pattern that creates a flowing, vertical texture while remaining balanced and wearable.


The sleeves are worked in the round and later joined to the body for the raglan yoke. The yoke is shaped with carefully placed decreases worked over the lace pattern, creating a smooth transition from body to neckline. The blouse is fully reversible, allowing it to be worn with either a deep split neckline or a more closed neckline at the front, depending on styling preference.


An i-cord drawstring is worked along the neckline and tied into a soft bow, adding a delicate finishing detail while allowing the neckline to be adjusted. The relaxed fit and airy fabric give the blouse an effortless elegance suitable for both everyday wear and special occasions.


Lovelace Blouse is knitted using 4.5 mm needles and lace weight yarn held double. The original design uses Lang Yarns Mohair Luxe, a luxurious blend of 77% mohair and 23% silk, with a yardage of 175 meters per 25 grams. Depending on size, approximately 1013 to 2427 meters of yarn are required. This corresponds to a running length of 350 meters per 50 grams. The sample is knitted in the color grey.


The blouse is available in sizes XS/S, M (L, XL/2XL) 3XL, 4XL, 5XL. Finished chest measurements after blocking range from 82 cm to 164 cm, including 2–9 cm of ease.


The blocked gauge is 19 stitches and 25 rows per 10 cm in the Lovelace lace pattern using two strands of yarn.


Lovelace Blouse is ideal for intermediate to advanced knitters who enjoy lace knitting, thoughtful construction, and versatile garments. The result is a timeless blouse with depth, softness, and architectural beauty.

Meet

MrsFunnyValentine

I’m Miriam, the mind and heart behind MrsFunnyValentine. I design feminine, minimalist knitwear with soft aesthetic but bold details. My patterns are inspired by strong women and made for busy lives that crave beauty, calm and confidence. I learned to knit at age 10 from my grandmother, and it has been my creative anchor ever since.

Related patterns

Other patterns you might enjoy.

Taurus Sweater (EN)

Knitter from Iceland

Angelica Tutu (EN)

YarnS Design

Delta Sweater (EN)

Créadia Studio

Sitkagreni Sweater (EN)

Knitter from Iceland

Sagittarius Sweater (EN)

Knitter from Iceland

Simpel Sommer Tee (EN)

Dorte Bak Knitting

Lumber Sweater (EN)

The Knit is On

Embla Sweater (EN)

Strikkezilla

Bloom Sweater (EN)

YarnS Design
<?php
/**
 * Mini-cart
 *
 * Contains the markup for the mini-cart, used by the cart widget.
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/cart/mini-cart.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see              https://woocommerce.com/document/template-structure/
 * @package          WooCommerce\Templates
 * @version          9.5.0
 * @flatsome-version 3.19.8
 */

defined( 'ABSPATH' ) || exit;

do_action( 'woocommerce_before_mini_cart' ); ?>

<?php if ( WC()->cart && ! WC()->cart->is_empty() ) : ?>

	<ul class="woocommerce-mini-cart cart_list product_list_widget <?php echo esc_attr( $args['list_class'] ); ?>">
		<?php
		do_action( 'woocommerce_before_mini_cart_contents' );

		foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
			$_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
			$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );

			if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_widget_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
				/**
				 * This filter is documented in woocommerce/templates/cart/cart.php.
				*
				* @since 2.1.0
				*/
				$product_name      = apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key );
				$thumbnail         = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
				$product_price     = apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key );
				$product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
				?>
				<li class="woocommerce-mini-cart-item <?php echo esc_attr( apply_filters( 'woocommerce_mini_cart_item_class', 'mini_cart_item', $cart_item, $cart_item_key ) ); ?>">
					<?php
					echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
						'woocommerce_cart_item_remove_link',
						sprintf(
							'<a href="%s" class="remove remove_from_cart_button" aria-label="%s" data-product_id="%s" data-cart_item_key="%s" data-product_sku="%s" data-success_message="%s">&times;</a>',
							esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
							/* translators: %s is the product name */
							esc_attr( sprintf( __( 'Remove %s from cart', 'woocommerce' ), wp_strip_all_tags( $product_name ) ) ),
							esc_attr( $product_id ),
							esc_attr( $cart_item_key ),
							esc_attr( $_product->get_sku() ),
							/* translators: %s is the product name */
							esc_attr( sprintf( __( '&ldquo;%s&rdquo; has been removed from your cart', 'woocommerce' ), wp_strip_all_tags( $product_name ) ) )
						),
						$cart_item_key
					);
					?>
					<?php if ( empty( $product_permalink ) ) : ?>
						<?php echo $thumbnail . wp_kses_post( $product_name ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					<?php else : ?>
						<a href="<?php echo esc_url( $product_permalink ); ?>">
							<?php echo $thumbnail . wp_kses_post( $product_name ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
						</a>
					<?php endif; ?>
					<?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					<?php echo apply_filters( 'woocommerce_widget_cart_item_quantity', '<span class="quantity">' . sprintf( '%s &times; %s', $cart_item['quantity'], $product_price ) . '</span>', $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
				</li>
				<?php
			}
		}

		do_action( 'woocommerce_mini_cart_contents' );
		?>
	</ul>

	<?php do_action( 'flatsome_after_mini_cart_contents' ); ?>

	<div class="ux-mini-cart-footer">
		<?php do_action( 'flatsome_before_mini_cart_total' ); ?>

		<p class="woocommerce-mini-cart__total total">
			<?php
			/**
			 * Hook: woocommerce_widget_shopping_cart_total.
			*
			* @hooked woocommerce_widget_shopping_cart_subtotal - 10
			*/
			do_action( 'woocommerce_widget_shopping_cart_total' );
			?>
		</p>

		<?php do_action( 'woocommerce_widget_shopping_cart_before_buttons' ); ?>

		<p class="woocommerce-mini-cart__buttons buttons"><?php do_action( 'woocommerce_widget_shopping_cart_buttons' ); ?></p>

		<?php do_action( 'woocommerce_widget_shopping_cart_after_buttons' ); ?>
	</div>

<?php else : ?>

	<div class="ux-mini-cart-empty flex flex-row-col text-center pt pb">
		<?php do_action( 'flatsome_before_mini_cart_empty_message' ); ?>
		<p class="woocommerce-mini-cart__empty-message empty"><?php esc_html_e( 'No products in the cart.', 'woocommerce' ); ?></p>
		<?php do_action( 'flatsome_after_mini_cart_empty_message' ); ?>
	</div>

<?php endif; ?>

<?php do_action( 'woocommerce_after_mini_cart' ); ?>