Posts
From vintage cruisers to electric trail beasts, we’ve created detailed guides to help you discover the perfect bike for your lifestyle, travels, and riding goals. Whether you're commuting through city streets, tackling scenic gravel paths, or planning a cycling getaway, our posts bring each bike to life with stories, tips, and routes that match their character.
Is the eOne-Forty the Right E-MTB for You?
A Smart Buy for Riders Who Love Singletrack and Variety
Ride Easy with the Nirve Forty-Nine 3-Speed Cruiser
A Vintage Cruiser for Relaxed Urban Adventures
The Mongoose Crossway 450 Disc: Ready for Anything
The Ultimate Everyday Hybrid for Commuting and Fitness
Should You Buy the BIG-NINE? Here’s Who It’s Made For
A Guide for Trail Riders Looking to Step Up Their XC Game
Is the SCULTURA Right for You? Here’s How to Decide
A Road Bike for Racers, Climbers, and Long-Distance Riders Alike
Conquer Any Terrain with the Mongoose Tyax Comp Disc
Performance and Durability for Mountain Enthusiasts
Cruising the Boardwalks of Santa Monica on the Nirve Forty-Nine
A Vintage Ride for Sun, Sand, and Ocean Breeze
K2 T:Nine Twister: Made for Speed and Style
A Road Bike Tailored to the Female Cyclist
A Hard-Hitting Hardtail Built for the Red Rock Playground
A Hard-Hitting Hardtail Built for the Red Rock Playground
Cycling Through the Lake District on the Crossway 450 Lady
A Versatile Hybrid for Scenic, Low-Impact Adventure
Buying the eOne-Sixty: What to Know Before You Drop In
A High-End E-MTB for Enduro Fans and Gravity Addicts
Mongoose Crossway 450 Disc: Your Perfect Everyday Ride
Hybrid Versatility for City Commutes and Leisure
Cruise with a Smile on the Nirve Paul Frank Aku
A Playful Cruiser with Retro Vibes
Bike the French Riviera with the Montague 34XZA
A Folding Bike Built for Coastal Freedom and Convenience
K2 Mod 3.0: Push Your Limits
A High-Performance Road Machine for Ambitious Cyclists
Embrace Retro Cool with the Nirve Hello Bike
A Whimsical Cruiser for Fans of All Ages
Explore New Horizons with the Montague 34XZA
A Premium Folding Bike for Urban Commuters
Tifosi Stelvio Fototec: Adaptive Vision for Cyclists
Photochromatic Lenses for Every Light Condition
Exploring Portland’s East Side with the Paul Frank Cruiser
Color, Culture, and Coffee on a Whimsical Ride
What to Consider Before Buying Merida’s Urban E-Bike
What to Consider Before Buying Merida’s Urban E-Bike
Error compiling template "Designs/Swift-v2/QueryPublisher/Post/PostPagination.cshtml" Line 20: The type name 'HttpUtility' could not be found in the namespace 'System.Web'. This type has been forwarded to assembly 'System.Web.HttpUtility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Consider adding a reference to that assembly. Line 22: Operator '>' cannot be applied to operands of type 'method group' and 'int'
1 // <auto-generated/> 2 #pragma warning disable 1591 3 namespace CompiledRazorTemplates.Dynamic 4 { 5 #line hidden 6 using System.Threading.Tasks; 7 using System; 8 using System.Collections.Generic; 9 using System.Linq; 10 using Dynamicweb; 11 using Dynamicweb.Core; 12 using System.Net; 13 internal class RazorEngine_dccb329e599e4a3f906926ee45676c22 : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.QueryPublisher.QueryResultViewModel> 14 { 15 #pragma warning disable 1998 16 public async override global::System.Threading.Tasks.Task ExecuteAsync() 17 { 18 WriteLiteral("\r\n"); 19 20 var querystring = System.Web.HttpUtility.ParseQueryString(Dynamicweb.Context.Current?.Request.Url?.Query ?? string.Empty); 21 querystring.Remove("PageNum"); 22 string baseUrl = (Dynamicweb.Context.Current?.Request.Url?.AbsolutePath ?? "/") + (querystring.Count > 0 ? "?" + querystring : string.Empty); 23 WriteLiteral("\r\n"); 24 if (Model.PageCount > 1) 25 { 26 WriteLiteral("\t<div class=\"hstack justify-content-between mt-3\">\r\n\t\t<div class=\"text-muted fs-7\">\r\n\t\t\t"); 27 Write(Translate("Showing page")); 28 WriteLiteral(" "); 29 Write(Model.CurrentPage); 30 WriteLiteral(" "); 31 Write(Translate("of")); 32 WriteLiteral(" "); 33 Write(Model.PageCount); 34 WriteLiteral("\r\n\t\t</div>\r\n\r\n\t\t<div class=\"hstack gap-2\">\r\n\t\t\t<button type=\"button\" class=\"btn btn-outline-secondary text-body hstack p-2\" data-dw-button"); 35 BeginWriteAttribute("hx-get", "\r\n\t\t\t\thx-get=\"", 812, "\"", 834, 1); 36 WriteAttributeValue("", 826, baseUrl, 826, 8, false); 37 EndWriteAttribute(); 38 BeginWriteAttribute("hx-vals", "\r\n\t\t\t\thx-vals=\'", 835, "\'", 887, 3); 39 WriteAttributeValue("", 850, "{\"PageNum\":", 850, 11, true); 40 WriteAttributeValue(" ", 861, Model.CurrentPage - 1, 862, 24, false); 41 WriteAttributeValue("", 886, "}", 886, 1, true); 42 EndWriteAttribute(); 43 WriteLiteral("\r\n\t\t\t\thx-swap=\"outerHTML\"\r\n\t\t\t\thx-replace-url=\"true\"\r\n\t\t\t\thx-select=\"[data-swift-posts-list]\"\r\n\t\t\t\thx-target=\"[data-swift-posts-list]\""); 44 BeginWriteAttribute("disabled", "\r\n\t\t\t\tdisabled=\"", 1022, "\"", 1063, 1); 45 WriteAttributeValue("", 1038, Model.CurrentPage == 1, 1038, 25, false); 46 EndWriteAttribute(); 47 WriteLiteral(">\r\n\t\t\t\t<span class=\"icon-2\">\r\n\t\t\t\t\t"); 48 Write(ReadFile("/Files/Images/Icons/chevron-left.svg")); 49 WriteLiteral("\r\n\t\t\t\t</span>\r\n\t\t\t</button>\r\n\t\t\t<button type=\"button\" class=\"btn btn-outline-secondary text-body hstack p-2\" data-dw-button"); 50 BeginWriteAttribute("hx-get", "\r\n\t\t\t\thx-get=\"", 1271, "\"", 1293, 1); 51 WriteAttributeValue("", 1285, baseUrl, 1285, 8, false); 52 EndWriteAttribute(); 53 BeginWriteAttribute("hx-vals", "\r\n\t\t\t\thx-vals=\'", 1294, "\'", 1346, 3); 54 WriteAttributeValue("", 1309, "{\"PageNum\":", 1309, 11, true); 55 WriteAttributeValue(" ", 1320, Model.CurrentPage + 1, 1321, 24, false); 56 WriteAttributeValue("", 1345, "}", 1345, 1, true); 57 EndWriteAttribute(); 58 WriteLiteral("\r\n\t\t\t\thx-swap=\"outerHTML\"\r\n\t\t\t\thx-replace-url=\"true\"\r\n\t\t\t\thx-select=\"[data-swift-posts-list]\"\r\n\t\t\t\thx-target=\"[data-swift-posts-list]\""); 59 BeginWriteAttribute("disabled", "\r\n\t\t\t\tdisabled=\"", 1481, "\"", 1536, 1); 60 WriteAttributeValue("", 1497, Model.CurrentPage == Model.PageCount, 1497, 39, false); 61 EndWriteAttribute(); 62 WriteLiteral(">\r\n\t\t\t\t<span class=\"icon-2\">\r\n\t\t\t\t\t"); 63 Write(ReadFile("/Files/Images/Icons/chevron-right.svg")); 64 WriteLiteral("\r\n\t\t\t\t</span>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</div>\r\n"); 65 } 66 } 67 #pragma warning restore 1998 68 } 69 } 70 #pragma warning restore 1591 71
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.QueryPublisher.QueryResultViewModel> 2 @using Dynamicweb 3 @using Dynamicweb.Core 4 @using System.Net 5 6 @{ 7 var querystring = System.Web.HttpUtility.ParseQueryString(Dynamicweb.Context.Current?.Request.Url?.Query ?? string.Empty); 8 querystring.Remove("PageNum"); 9 string baseUrl = (Dynamicweb.Context.Current?.Request.Url?.AbsolutePath ?? "/") + (querystring.Count > 0 ? "?" + querystring : string.Empty); 10 } 11 12 @if (Model.PageCount > 1) 13 { 14 <div class="hstack justify-content-between mt-3"> 15 <div class="text-muted fs-7"> 16 @Translate("Showing page") @(Model.CurrentPage) @Translate("of") @(Model.PageCount) 17 </div> 18 19 <div class="hstack gap-2"> 20 <button type="button" class="btn btn-outline-secondary text-body hstack p-2" data-dw-button 21 hx-get="@baseUrl" 22 hx-vals='{"PageNum": @(Model.CurrentPage - 1)}' 23 hx-swap="outerHTML" 24 hx-replace-url="true" 25 hx-select="[data-swift-posts-list]" 26 hx-target="[data-swift-posts-list]" 27 disabled="@(Model.CurrentPage == 1)"> 28 <span class="icon-2"> 29 @ReadFile("/Files/Images/Icons/chevron-left.svg") 30 </span> 31 </button> 32 <button type="button" class="btn btn-outline-secondary text-body hstack p-2" data-dw-button 33 hx-get="@baseUrl" 34 hx-vals='{"PageNum": @(Model.CurrentPage + 1)}' 35 hx-swap="outerHTML" 36 hx-replace-url="true" 37 hx-select="[data-swift-posts-list]" 38 hx-target="[data-swift-posts-list]" 39 disabled="@(Model.CurrentPage == Model.PageCount)"> 40 <span class="icon-2"> 41 @ReadFile("/Files/Images/Icons/chevron-right.svg") 42 </span> 43 </button> 44 </div> 45 </div> 46 } 47