Robin Vest (EN)

About Robin Vest (EN)

Robin Vest by Knit Amore is a modern, feminine vest knitted top-down in fisherman’s rib for a soft and textured look. It features a V-neckline, twisted rib edges, and a neat button band with four buttons. The vest is designed for a close fit with 3–6 cm positive ease and comes in sizes XS–XL (bust 88–116 cm).

Gauge: 19 sts × 19 rows in fisherman’s rib = 10 × 10 cm on 5.0 mm needles.
Suggested needles: 4.0 mm for ribbing, 5.0 mm for main fabric.

Originally designed in Nova by Lang Yarns, now discontinued, it can be knitted in Rustic by Hjertegarn with Silk Mohair.

Designer

Craft

Meterage (per 50 g)

Needle / Hook Size

Language

Gauge

Stitch Pattern & Technique

, , , ,

Difficulty Level

Clothing Size (Adult)

, , , ,

About this Pattern

Robin Vest is a feminine and timeless knitted vest designed by Knit Amore, created in fisherman’s rib with a classic V-neckline and refined, well-crafted details. It can be worn open or closed over a shirt, T-shirt, or dress, adding both softness and structure to your wardrobe all year round.


The vest is knitted top-down in fisherman’s rib. You begin with the back, then pick up stitches for the right and left shoulders, which are later joined to form the body. Finally, stitches are picked up for the narrow twisted rib edgings at the armholes and along the front pieces, where the button band features four buttonholes. The construction makes it easy to try on as you knit and to adjust the length if desired.


The pattern includes sizes XS (S) M (L) XL.
Bust width: approx. 88 (93) 99 (108) 116 cm
Back width: 38 (38) 41 (42) 43 cm
Armhole depth: 19 (20) 21 (22) 23 cm
Length: 56 (56) 57 (58) 59 cm measured mid-back including neck ribbing.
The design allows 3–6 cm of positive ease for a comfortable, close fit.


Gauge: 19 sts × 19 rows in fisherman’s rib on 5.0 mm needles = 10 × 10 cm (note that each row in fisherman’s rib counts as two rows = 38 rows per 10 cm).
Suggested needles: Circular needle 4.0 mm for ribbing and 5.0 mm for fisherman’s rib. If using a heavier yarn, you may go down half a needle size (to 3.5 mm and 4.5 mm).


Yarn: The original design was made in Nova by Lang Yarns (25 g = 185 m), which is now discontinued.
Recommended alternatives are Rustic by Hjertegarn held together with Silk Mohair.
Approximate yarn usage: 100 (100–125) 125 (125–150) 150 g Tibet + 100 (100) 100–125 (125) 125 (125–150) g Silk Mohair.
If you choose Rustic + Silk Mohair, use the same quantities and go down half a needle size.


Design details include twisted rib edges, a balanced fisherman’s rib texture, and a flattering V-neck, shaped by regular increases along the front edges. The button band with four buttons completes the classic look and makes the vest highly versatile — wear it on its own or layered through the seasons.


With its clear shaping logic, top-down construction, and elastic fisherman’s rib, Robin Vest is a favourite among both experienced and intermediate knitters who appreciate a modern, sustainable wardrobe staple with enduring style.

Meet

Knitamore

“Knitamore” is a combination of English and Italian, meaning knit and love respectively, and Knitamore was created because of my great romance with yarn and knitting needles. I learned to knit when I was in daycare, and I have had needles in my hands and the scent of wool in my nose all my life. I design knitwear purely out of passion and from the heart, and I follow no rules. I do my very best to bring my best ideas to life.

Related patterns

Other patterns you might enjoy.

Jolapeysa Sweater (EN)

Knitter from Iceland

Zaha Sweater (EN)

MrsFunnyValentine

Brotabrot Sweater (EN)

Knitter from Iceland

Brigid Top (EN)

MrsFunnyValentine

Rillestrømper (EN)

Dorte Bak Knitting

Virginia Top (EN)

MrsFunnyValentine

Sakura Open Vest (EN)

Dorte Bak Knitting

December Sweater (EN)

Knitter from Iceland

Muslinge Sweater (EN)

Dorte Bak Knitting

Hending Sweater (EN)

Knitter from Iceland
<?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' ); ?>