[{"data":1,"prerenderedAt":501},["ShallowReactive",2],{"i-feather:search":3,"i-feather:x":8,"i-feather:moon":10,"i-feather:sun":12,"i-lucide:house-heart":14,"i-fa-brands:youtube":16,"i-fa-brands:twitch":20,"i-fa-brands:github":22,"i-fa-brands:linkedin":25,"i-fa-brands:stack-overflow":28,"i-simple-icons:bluesky":31,"i-fa-brands:mastodon":33,"i-fa-regular:envelope":35,"i-fa-solid:rss":37,"post-\u002Fwhat-dotnet-new-could-be\u002F":39,"i-fa-solid:share-alt":485,"i-fa-brands:facebook":487,"i-fa-brands:twitter":489,"i-fa-brands:reddit":491,"i-fa-brands:patreon":493,"i-simple-icons:buymeacoffee":495,"i-fa-brands:paypal":497,"i-fa-regular:question-circle":499},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003Cpath d=\"m21 21l-4.35-4.35\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M18 6L6 18M6 6l12 12\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21 12.79A9 9 0 1 1 11.21 3A7 7 0 0 0 21 12.79\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"5\"\u002F>\u003Cpath d=\"M12 1v2m0 18v2M4.22 4.22l1.42 1.42m12.72 12.72l1.42 1.42M1 12h2m18 0h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M8.62 13.8A2.25 2.25 0 1 1 12 10.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z\"\u002F>\u003Cpath d=\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":17,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":19},576,512,"\u003Cpath fill=\"currentColor\" d=\"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597c-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821c11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305m-317.51 213.508V175.185l142.739 81.205z\"\u002F>",{"left":4,"top":4,"width":18,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":21},"\u003Cpath fill=\"currentColor\" d=\"M391.17 103.47h-38.63v109.7h38.63ZM285 103h-38.63v109.75H285ZM120.83 0L24.31 91.42v329.16h115.83V512l96.53-91.42h77.25L487.69 256V0Zm328.24 237.75l-77.22 73.12h-77.24l-67.6 64v-64h-86.87V36.58h308.93Z\"\u002F>",{"left":4,"top":4,"width":23,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":24},496,"\u003Cpath fill=\"currentColor\" d=\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2\"\u002F>",{"left":4,"top":4,"width":26,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":27},448,"\u003Cpath fill=\"currentColor\" d=\"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5c0 21.3-17.2 38.5-38.5 38.5m282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7c-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5c67.2 0 79.7 44.3 79.7 101.9z\"\u002F>",{"left":4,"top":4,"width":29,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":30},384,"\u003Cpath fill=\"currentColor\" d=\"M290.7 311L95 269.7L86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8l153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24l119.3 160.3l32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":32},"\u003Cpath fill=\"currentColor\" d=\"M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037c-.856 3.061-3.978 3.842-6.755 3.37c4.854.826 6.089 3.562 3.422 6.299c-5.065 5.196-7.28-1.304-7.847-2.97c-.104-.305-.152-.448-.153-.327c0-.121-.05.022-.153.327c-.568 1.666-2.782 8.166-7.847 2.97c-2.667-2.737-1.432-5.473 3.422-6.3c-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026\"\u002F>",{"left":4,"top":4,"width":26,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":34},"\u003Cpath fill=\"currentColor\" d=\"M433 179.11c0-97.2-63.71-125.7-63.71-125.7c-62.52-28.7-228.56-28.4-290.48 0c0 0-63.72 28.5-63.72 125.7c0 115.7-6.6 259.4 105.63 289.1c40.51 10.7 75.32 13 103.33 11.4c50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.5 102.5 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7c56.12-6.7 105-41.3 111.23-72.9c9.8-49.8 9-121.5 9-121.5m-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175c25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5l11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1c23.71 27.3 18.4 53 18.4 175z\"\u002F>",{"left":4,"top":4,"width":18,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":36},"\u003Cpath fill=\"currentColor\" d=\"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48m0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49c-16.841 13.247-50.201 45.072-73.413 44.701c-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646c21.857 17.205 60.134 55.186 103.062 54.955c42.717.231 80.509-37.199 103.053-54.947c49.528-38.783 82.032-64.401 104.947-82.653V400z\"\u002F>",{"left":4,"top":4,"width":26,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":38},"\u003Cpath fill=\"currentColor\" d=\"M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041s64.04 28.673 64.04 64.041m175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018c111.832 7.284 201.473 96.702 208.772 208.772c.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79m144.249.288C439.596 229.677 251.465 40.445 16.503 32.01C7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999c191.179 7.839 344.627 161.316 352.465 352.465c.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504\"\u002F>",{"id":40,"title":41,"author":42,"body":43,"comments":430,"date":463,"dateModified":464,"description":465,"extension":466,"headings":467,"heroImage":476,"meta":477,"path":478,"permalink":478,"published":479,"stem":480,"tags":481,"timeToRead":484},"posts\u002Fposts\u002F2019\u002Fwhat-dotnet-new-could-be\u002Findex.md","What dotnet new Could Be","Muhammad Rehan Saeed",{"type":44,"value":45,"toc":426},"minimark",[46,69,79,102,143,154,169,181,187,198,214,225,234,242,248,254,265,271,274,277,297,308,322,331,342,349,409,420],[47,48,49,50,60,61,64,65,68],"p",{},"The '",[51,52,59],"a",{"href":53,"rel":54,"target":58},"https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fdotnet\u002Fcore\u002Ftools\u002Fcustom-templates",[55,56,57],"nofollow","noopener","noreferrer","_blank","dotnet new","' CLI command is a great way to create projects from templates in dotnet. However, I think it could provide a much better experience than it currently does. I also suspect it isn't used much, mostly because templates authored for the ",[62,63,59],"code",{}," experience are not included in the ",[62,66,67],{},"Visual Studio File -> New Project"," experience. For template authors, the experience of developing templates could do with some improvements. I tweeted about it this morning and got asked to write a short gist about what could be improved, so this is that list.",[47,70,71],{},[72,73],"img",{"alt":74,"src":75,"width":76,"height":77,"loading":78},"Any plans to improve the dotnet new templating engine? Lots of unfixed bugs. Lots of rough edges needing smoothing. A 'dotnet new ui' command to create projects using a visual editor would be cool","\u002Fcontent-images\u002Fposts\u002F2019\u002Fwhat-dotnet-new-could-be\u002Fimages\u002FTwitter.png",898,579,"lazy",[80,81,83,101],"h2",{"id":82},"why-do-i-care",[51,84,87],{"href":85,"aria-hidden":86},"#why-do-i-care","true",[88,89,95],"svg",{"xmlns":90,"xmlns:xlink":91,"viewBox":92,"version":93,"width":94,"height":94,"aria-hidden":86},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxlink","0 0 16 16","1.1",22,[96,97],"path",{"fill":98,"fill-rule":99,"d":100},"currentColor","evenodd","M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z","Why do I Care?",[47,103,104,105,110,111,110,116,121,122,127,128,133,134,139,140,142],{},"I author a ",[51,106,109],{"href":107,"rel":108,"target":58},"https:\u002F\u002Fgithub.com\u002FDotnet-Boxed\u002FTemplates\u002Fblob\u002Fmain\u002FDocs\u002FAPI.md",[55,56,57],"Swagger API",", ",[51,112,115],{"href":113,"rel":114,"target":58},"https:\u002F\u002Fgithub.com\u002FDotnet-Boxed\u002FTemplates\u002Fblob\u002Fmain\u002FDocs\u002FGraphQL.md",[55,56,57],"GraphQL API",[51,117,120],{"href":118,"rel":119,"target":58},"https:\u002F\u002Fgithub.com\u002FDotnet-Boxed\u002FTemplates\u002Fblob\u002Fmain\u002FDocs\u002FOrleans.md",[55,56,57],"Microsoft Orleans"," and ",[51,123,126],{"href":124,"rel":125,"target":58},"https:\u002F\u002Fgithub.com\u002FDotnet-Boxed\u002FTemplates\u002Fblob\u002Fmain\u002FDocs\u002FNuGet.md",[55,56,57],"NuGet"," project templates in my ",[51,129,132],{"href":130,"rel":131,"target":58},"https:\u002F\u002Fgithub.com\u002FDotnet-Boxed\u002FTemplates",[55,56,57],"Dotnet Boxed"," project. The project currently has 1,900 stars on GitHub and the ",[51,135,138],{"href":136,"rel":137,"target":58},"https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FBoxed.Templates\u002F",[55,56,57],"Boxed.Templates"," NuGet package has around 12,149 downloads at the time of writing. The Dotnet Boxed templates are also some of the more complex templates using ",[62,141,59],{},". They all have a dozen or more optional features.",[80,144,146,153],{"id":145},"visual-studio-integration",[51,147,149],{"href":148,"aria-hidden":86},"#visual-studio-integration",[88,150,151],{"xmlns":90,"xmlns:xlink":91,"viewBox":92,"version":93,"width":94,"height":94,"aria-hidden":86},[96,152],{"fill":98,"fill-rule":99,"d":100},"Visual Studio Integration",[47,155,156,157,162,163,165,166,168],{},"In the past, I also authored the ",[51,158,161],{"href":159,"rel":160,"target":58},"https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=RehanSaeed.ASPNETMVCBoilerplate",[55,56,57],"ASP.NET Core Boilerplate"," project templates which are published as a Visual Studio extension. This extension currently has 159,307 installs which is an order of magnitude more than the 12,149 installs of my ",[62,164,59],{}," based ",[62,167,138],{}," NuGet package.",[47,170,171,172,177,178,180],{},"I have read in the ",[51,173,176],{"href":174,"rel":175,"target":58},"https:\u002F\u002Fgithub.com\u002Fdotnet\u002Ftemplating",[55,56,57],"dotnet\u002Ftemplating"," GitHub issues that there is eventually going to be Visual Studio integration in which you'd be able to search and install ",[62,179,59],{}," based templates on NuGet, and then create projects from those templates much as you would with Visual Studio today. Given the download counts of my two projects, this would be the number one feature I'd like to see implemented.",[47,182,183,184,186],{},"You could create a Visual Studio extension that wraps your ",[62,185,59],{}," templates but having messed around with them in the past, it's a lot of effort. I'm in the template making business, not in the extension making business. Also, given the above rumour, I've held off going this route.",[80,188,190,197],{"id":189},"nugetvisual-studio-marketplace-integration",[51,191,193],{"href":192,"aria-hidden":86},"#nugetvisual-studio-marketplace-integration",[88,194,195],{"xmlns":90,"xmlns:xlink":91,"viewBox":92,"version":93,"width":94,"height":94,"aria-hidden":86},[96,196],{"fill":98,"fill-rule":99,"d":100},"NuGet\u002FVisual Studio Marketplace Integration",[47,199,200,201,203,204,209,210,213],{},"Currently there is no way to search for a list of all ",[62,202,59],{}," based project templates on NuGet or on the Visual Studio marketplace. There is ",[51,205,208],{"href":206,"rel":207,"target":58},"https:\u002F\u002Fgithub.com\u002Fdotnet\u002Ftemplating\u002Fwiki\u002FAvailable-templates-for-dotnet-new",[55,56,57],"this list"," buried in the ",[51,211,176],{"href":174,"rel":212,"target":58},[55,56,57]," GitHub project but the only people who are going to find that are template authors. It would be great if there was some kind of marketplace or store to find templates, rate them, provide feedback etc.",[80,215,217,224],{"id":216},"dotnet-new-ui",[51,218,220],{"href":219,"aria-hidden":86},"#dotnet-new-ui",[88,221,222],{"xmlns":90,"xmlns:xlink":91,"viewBox":92,"version":93,"width":94,"height":94,"aria-hidden":86},[96,223],{"fill":98,"fill-rule":99,"d":100},"dotnet new ui",[47,226,227,228,233],{},"If you've seen the ",[51,229,232],{"href":230,"rel":231,"target":58},"https:\u002F\u002Fcli.vuejs.org\u002Fguide\u002Fcreating-a-project.html#using-the-gui",[55,56,57],"Vue CLI",", it has a magical UI for creating projects from it's template. This is the benchmark by which I now measure all project creation experiences. Just take a look at it's majesty:",[47,235,236],{},[72,237],{"alt":238,"src":239,"width":240,"height":241,"loading":78},"Vue CLI Create a New Project","\u002Fcontent-images\u002Fposts\u002F2019\u002Fwhat-dotnet-new-could-be\u002Fimages\u002FVue-CLI-Create-a-New-Project-1024x828.png",1024,828,[47,243,244,245,247],{},"Imagine executing ",[62,246,224],{},", then seeing a nice browser dialogue popup like the one above where you could find, install and even create projects from templates. Creating a project would involve entering the name of your project, the directory where you want it to be saved and then toggling any custom options that the project template might offer.",[47,249,250,251,253],{},"That last bit is where having a UI shines. There aren't many ",[62,252,59],{}," templates that use the templating engine to it's full potential and have additional optional features. When you use the current command line experience it's unwieldy and slow to set custom options. Having a custom UI with some check boxes and drop downs would be a far quicker and more delightful experience.",[80,255,257,264],{"id":256},"missing-features",[51,258,260],{"href":259,"aria-hidden":86},"#missing-features",[88,261,262],{"xmlns":90,"xmlns:xlink":91,"viewBox":92,"version":93,"width":94,"height":94,"aria-hidden":86},[96,263],{"fill":98,"fill-rule":99,"d":100},"Missing Features",[47,266,267,268,270],{},"There are a bunch of cool missing or half implemented features in the ",[62,269,59],{}," templating engine that could use finishing. Chief among these are called post actions. These are a set of custom actions that can be performed once your project has been created.",[47,272,273],{},"As far as I can work out, the only post action that works is the one that restores all NuGet packages in your project. This was implemented because the basic Microsoft project templates wanted to use them but I understand that they no longer do for reasons unknown to me. Happily I still use this one and it works nicely.",[47,275,276],{},"Other post actions that are half implemented (They exist and you can use them but they just print content to the console) are for opening files in the editor, opening files or links in the web browser or even running arbitrary scripts. The last one has the potential for being a security risk however, so it would be better to have a health list of post actions for specific tasks. I'd love to be able to open the ReadMe.md file that ships with my project template.",[47,278,279,280,283,284,287,288,290,291,296],{},"In terms of new post actions, I'd really like to see one that removes and sorts using statements. I have a lot of optional pieces of code in my project templates, so I have to have a lot of ",[62,281,282],{},"#if"," ",[62,285,286],{},"#endif"," code to tell the templating engine which lines of code to remove. It's particularly easy to get this wrong with using statements, leaving you with a fresh project that doesn't compile because you've removed one too many using statements by accident. To avoid this, I created my own unit testing framework for ",[62,289,59],{}," projects called ",[51,292,295],{"href":293,"rel":294,"target":58},"https:\u002F\u002Fgithub.com\u002FDotnet-Boxed\u002FFramework#boxeddotnetnewtest",[55,56,57],"Boxed.DotnetNewTest",".",[80,298,300,307],{"id":299},"docs-docs--docs",[51,301,303],{"href":302,"aria-hidden":86},"#docs-docs--docs",[88,304,305],{"xmlns":90,"xmlns:xlink":91,"viewBox":92,"version":93,"width":94,"height":94,"aria-hidden":86},[96,306],{"fill":98,"fill-rule":99,"d":100},"Docs, Docs & Docs",[47,309,310,311,315,316,321],{},"There is ",[51,312,314],{"href":53,"rel":313,"target":58},[55,56,57],"one page of documentation"," on how to create project templates in the official docs page. There is a bunch more in the ",[51,317,320],{"href":318,"rel":319,"target":58},"https:\u002F\u002Fgithub.com\u002Fdotnet\u002Ftemplating\u002Fwiki",[55,56,57],"dotnet\u002Ftemplating wiki"," and some crucial bits of information in comments of GitHub issues. In particular, there is precious little information about how to conditionally remove code or files based on options the user selects. There is also very little about post actions. It would be great if this could be tidied up.",[47,323,324,325,330],{},"Secondary to the docs is the ",[51,326,329],{"href":327,"rel":328,"target":58},"https:\u002F\u002Fgithub.com\u002Fdotnet\u002Ftemplating\u002Fissues",[55,56,57],"GitHub issues"," . There are currently 168 open issues with a large number having only one comment from the original author. Given the lack of documentation, having questions answered is really important.",[80,332,334,341],{"id":333},"fixing-bugs",[51,335,337],{"href":336,"aria-hidden":86},"#fixing-bugs",[88,338,339],{"xmlns":90,"xmlns:xlink":91,"viewBox":92,"version":93,"width":94,"height":94,"aria-hidden":86},[96,340],{"fill":98,"fill-rule":99,"d":100},"Fixing Bugs",[47,343,344,345,348],{},"The latest version of the ",[62,346,347],{},"dotnet"," CLI has fixed some bugs but there are still a few that really get in the way of a great experience:",[350,351,352,371,389,397],"ul",{},[353,354,355,360,361,366,367,370],"li",{},[51,356,359],{"href":357,"rel":358,"target":58},"https:\u002F\u002Fgithub.com\u002Fdotnet\u002Ftemplating\u002Fissues\u002F1544",[55,56,57],"#1544","\u002F",[51,362,365],{"href":363,"rel":364,"target":58},"https:\u002F\u002Fgithub.com\u002Fdotnet\u002Ftemplating\u002Fissues\u002F348",[55,56,57],"#348"," - Running ",[62,368,369],{},"dotnet new foo --help"," outputs some pretty terrible looking text if you have any custom options.",[353,372,373,378,379,110,382,110,385,388],{},[51,374,377],{"href":375,"rel":376,"target":58},"https:\u002F\u002Fgithub.com\u002Fdotnet\u002Ftemplating\u002Fissues\u002F2208",[55,56,57],"#2208"," - You cannot conditionally remove text from a file if it has no file extension, so that means ",[62,380,381],{},"Dockerfile",[62,383,384],{},".gitignore",[62,386,387],{},".editorconfig"," files.",[353,390,391,396],{},[51,392,395],{"href":393,"rel":394,"target":58},"https:\u002F\u002Fgithub.com\u002Fdotnet\u002Ftemplating\u002Fissues\u002F2209",[55,56,57],"#2209"," - Complex conditionals fail if not wrapped in parentheses. I always forget to do this. There is no warnings, your template won't work.",[353,398,399,404,405,408],{},[51,400,403],{"href":401,"rel":402,"target":58},"https:\u002F\u002Fgithub.com\u002Fdotnet\u002Ftemplating\u002Fissues\u002F1438",[55,56,57],"#1438"," - Using conditional code in ",[62,406,407],{},".csproj"," files requires some workarounds to work.",[80,410,412,419],{"id":411},"conclusions",[51,413,415],{"href":414,"aria-hidden":86},"#conclusions",[88,416,417],{"xmlns":90,"xmlns:xlink":91,"viewBox":92,"version":93,"width":94,"height":94,"aria-hidden":86},[96,418],{"fill":98,"fill-rule":99,"d":100},"Conclusions",[47,421,422,423,425],{},"The Vue CLI has really shown how great a new project creation experience can be. With a bit of work, the ",[62,424,59],{}," experience could be just as great.",{"title":427,"searchDepth":428,"depth":428,"links":429},"",2,[],{"issue":431,"comments":435},{"number":432,"title":433,"html_url":434},125,"[Comment] What dotnet new Could Be","https:\u002F\u002Fgithub.com\u002FRehanSaeed\u002Frehansaeed.github.io\u002Fissues\u002F125",[436,447,455],{"id":437,"html_url":438,"body_html":439,"created_at":440,"user":441,"reactions":445},627279270,"https:\u002F\u002Fgithub.com\u002FRehanSaeed\u002Frehansaeed.github.io\u002Fissues\u002F125#issuecomment-627279270","\n\u003Cp>\u003Ca target=\"_blank\" rel=\"nofollow noopener noreferrer\" href=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F1709be38e161fb11735ae02439b9cb40bb62e41857eca4f6ffd7698c7e7fa300\u002F68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f31303733636563336130333733376636303634333531323962306363353237643f733d393626643d6d6d26723d67\">\u003Cimg alt=\"Kathleen Dollard\" height=\"40\" width=\"40\" src=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F1709be38e161fb11735ae02439b9cb40bb62e41857eca4f6ffd7698c7e7fa300\u002F68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f31303733636563336130333733376636303634333531323962306363353237643f733d393626643d6d6d26723d67\" \u002F>\u003C\u002Fa> \u003Cstrong>Kathleen Dollard\u003C\u002Fstrong> commented on \u003Cstrong>2019-12-31 18:02:27\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Hi! I'm the PM for the CLI\u002FSDK. \u003Ccode>dotnet new\u003C\u002Fcode> is a very sub-optimal experience for both authors and consumers. For clarity, I am not currently the PM for templating, so I can't offer a roadmap, and these are my thoughts and not official at all. I care a lot about templates and believe they can be the star of the dotnet world as opposed to seeming an afterthought - my ideas parallel yours, so I'll just highlight the differences. The lack of unification between Visual Studio and \u003Ccode>dotnet new\u003C\u002Fcode> is a real pain point for everyone, it's not easy to fix.\u003C\u002Fp>\n\u003Cp>One thing in flight is work on NuGet to support package type search. I've been pushing this for.NET (global) tools, but I believe we will also see this for templates at the same time. This also opens up auto-complete on \u003Ccode>dotnet new --install\u003C\u002Fcode>. (And yes that syntax is weird).\u003C\u002Fp>\n\u003Cp>I would love to build a UI. I have had lots of thoughts on this, but the user experience you describe is very close. I think many people here would love to see this built, so please keep pushing us on it. I think options are important, but just having this way to find templates would be very valuable, particularly if we could manage to get them in real time with versions from both CLI and Visual Studio - we also have a problem keeping some templates up to date.\u003C\u002Fp>\n\u003Cp>I think we moved away from restore because it automatically happens after \u003Ccode>dotnet new\u003C\u002Fcode>. Have you tried that? User benefit from specific post-actions (like .md with help) would be helpful. In my mind, converging the experience between \u003Ccode>dotnet new\u003C\u002Fcode> and Visual Studio templates is a very high priority, so having post-actions that feel weird in Visual Studio don't seem like a good idea. And we would carefully consider whether running arbitrary templates could be done in a safe manner.\u003C\u002Fp>\n\u003Cp>Thank you for the insight on using - I did not see that one.\u003C\u002Fp>\n\u003Cp>I've run into the docs issue myself - I know we will only make templates great if we move the authoring experience into the \"decent to great\" range. It is not there now.\u003C\u002Fp>\n\u003Cp>I hope this is just the beginning of a conversation\u003C\u002Fp>","2020-05-12T11:20:31Z",{"login":442,"avatar_url":443,"html_url":444},"RehanSaeed","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2270364?v=4","https:\u002F\u002Fgithub.com\u002FRehanSaeed",{"url":446,"total_count":4,"+1":4,"-1":4,"laugh":4,"hooray":4,"confused":4,"heart":4,"rocket":4,"eyes":4},"https:\u002F\u002Fapi.github.com\u002Frepos\u002FRehanSaeed\u002Frehansaeed.github.io\u002Fissues\u002Fcomments\u002F627279270\u002Freactions",{"id":448,"html_url":449,"body_html":450,"created_at":451,"user":452,"reactions":453},627279322,"https:\u002F\u002Fgithub.com\u002FRehanSaeed\u002Frehansaeed.github.io\u002Fissues\u002F125#issuecomment-627279322","\n\u003Cp>\u003Ca target=\"_blank\" rel=\"nofollow noopener noreferrer\" href=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F8a07049df41b8a3839a3f4342f09ea8e6e7fa0065667687f04beca2d088a1dca\u002F68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f32623266393030653361633066353535316462646537323864336262343935343f733d393626643d6d6d26723d67\">\u003Cimg alt=\"Muhammad Rehan Saeed\" height=\"40\" width=\"40\" src=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F8a07049df41b8a3839a3f4342f09ea8e6e7fa0065667687f04beca2d088a1dca\u002F68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f32623266393030653361633066353535316462646537323864336262343935343f733d393626643d6d6d26723d67\" \u002F>\u003C\u002Fa> \u003Cstrong>\u003Ca rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\u002F\u002Frehansaeed.com\u002F\">Muhammad Rehan Saeed\u003C\u002Fa>\u003C\u002Fstrong> commented on \u003Cstrong>2019-12-31 18:41:03\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Hi! I'm the PM for the CLI\u002FSDK. \u003Ccode>dotnet new\u003C\u002Fcode> is a very sub-optimal experience for both authors and consumers. For clarity, I am not currently the PM for templating, so I can't offer a roadmap, and these are my thoughts and not official at all. I care a lot about templates and believe they can be the star of the dotnet world as opposed to seeming an afterthought - my ideas parallel yours, so I'll just highlight the differences. The lack of unification between Visual Studio and \u003Ccode>dotnet new\u003C\u002Fcode> is a real pain point for everyone, it's not easy to fix.\u003C\u002Fp>\n\u003Cp>One thing in flight is work on NuGet to support package type search. I've been pushing this for.NET (global) tools, but I believe we will also see this for templates at the same time. This also opens up auto-complete on \u003Ccode>dotnet new --install\u003C\u002Fcode>. (And yes that syntax is weird).\u003C\u002Fp>\n\u003Cp>I would love to build a UI. I have had lots of thoughts on this, but the user experience you describe is very close. I think many people here would love to see this built, so please keep pushing us on it. I think options are important, but just having this way to find templates would be very valuable, particularly if we could manage to get them in real time with versions from both CLI and Visual Studio - we also have a problem keeping some templates up to date.\u003C\u002Fp>\n\u003Cp>I think we moved away from restore because it automatically happens after \u003Ccode>dotnet new\u003C\u002Fcode>. Have you tried that? User benefit from specific post-actions (like .md with help) would be helpful. In my mind, converging the experience between \u003Ccode>dotnet new\u003C\u002Fcode> and Visual Studio templates is a very high priority, so having post-actions that feel weird in Visual Studio don't seem like a good idea. And we would carefully consider whether running arbitrary templates could be done in a safe manner.\u003C\u002Fp>\n\u003Cp>Thank you for the insight on using - I did not see that one.\u003C\u002Fp>\n\u003Cp>I've run into the docs issue myself - I know we will only make templates great if we move the authoring experience into the \"decent to great\" range. It is not there now.\u003C\u002Fp>\n\u003Cp>I hope this is just the beginning of a conversation\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Thanks Kathleen! You need to introduction.\u003C\u002Fp>\n\u003Cp>Great to hear that someone else at Microsoft who is closer to the action has similar thoughts to me.\u003C\u002Fp>","2020-05-12T11:20:38Z",{"login":442,"avatar_url":443,"html_url":444},{"url":454,"total_count":4,"+1":4,"-1":4,"laugh":4,"hooray":4,"confused":4,"heart":4,"rocket":4,"eyes":4},"https:\u002F\u002Fapi.github.com\u002Frepos\u002FRehanSaeed\u002Frehansaeed.github.io\u002Fissues\u002Fcomments\u002F627279322\u002Freactions",{"id":456,"html_url":457,"body_html":458,"created_at":459,"user":460,"reactions":461},627279382,"https:\u002F\u002Fgithub.com\u002FRehanSaeed\u002Frehansaeed.github.io\u002Fissues\u002F125#issuecomment-627279382","\n\u003Cp>\u003Ca target=\"_blank\" rel=\"nofollow noopener noreferrer\" href=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F8d9a321c57824c2adb0d67cb38265ca241897d2845248019d34511040a96cbe5\u002F68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f31656233316537616161353833663361323036623839373365653335326131353f733d393626643d6d6d26723d67\">\u003Cimg alt=\"Theo Albers\" height=\"40\" width=\"40\" src=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F8d9a321c57824c2adb0d67cb38265ca241897d2845248019d34511040a96cbe5\u002F68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f31656233316537616161353833663361323036623839373365653335326131353f733d393626643d6d6d26723d67\" \u002F>\u003C\u002Fa> \u003Cstrong>Theo Albers\u003C\u002Fstrong> commented on \u003Cstrong>2019-12-31 21:46:59\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>It would already be a step forward if VS uses \"dotnet new\" behind the scenes for dotnet core projects. By doing so, you can easily identify the missing bits in dotnet templates to shine in a VS gui environment.\u003C\u002Fp>","2020-05-12T11:20:45Z",{"login":442,"avatar_url":443,"html_url":444},{"url":462,"total_count":4,"+1":4,"-1":4,"laugh":4,"hooray":4,"confused":4,"heart":4,"rocket":4,"eyes":4},"https:\u002F\u002Fapi.github.com\u002Frepos\u002FRehanSaeed\u002Frehansaeed.github.io\u002Fissues\u002Fcomments\u002F627279382\u002Freactions","2019-12-31T00:00:00+00:00",null,"What the 'dotnet new' CLI command could be if some effort was spent on developing it. I compare it to other templating engines and suggest ideas.","md",[468,469,470,471,472,473,474,475],{"depth":428,"value":101},{"depth":428,"value":153},{"depth":428,"value":197},{"depth":428,"value":224},{"depth":428,"value":264},{"depth":428,"value":307},{"depth":428,"value":341},{"depth":428,"value":419},"\u002Fimages\u002Fhero\u002FDotnet-Boxed-1366x768.png",{},"\u002Fwhat-dotnet-new-could-be\u002F",true,"posts\u002F2019\u002Fwhat-dotnet-new-could-be\u002Findex",[347,59,482,126,483,232],"dotnetcore","Visual Studio",5,{"left":4,"top":4,"width":26,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":486},"\u003Cpath fill=\"currentColor\" d=\"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.55 96.55 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.3 96.3 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96s-42.981-96-96-96\"\u002F>",{"left":4,"top":4,"width":18,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":488},"\u003Cpath fill=\"currentColor\" d=\"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48c27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256\"\u002F>",{"left":4,"top":4,"width":18,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":490},"\u003Cpath fill=\"currentColor\" d=\"M459.37 151.716c.325 4.548.325 9.097.325 13.645c0 138.72-105.583 298.558-298.558 298.558c-59.452 0-114.68-17.219-161.137-47.106c8.447.974 16.568 1.299 25.34 1.299c49.055 0 94.213-16.568 130.274-44.832c-46.132-.975-84.792-31.188-98.112-72.772c6.498.974 12.995 1.624 19.818 1.624c9.421 0 18.843-1.3 27.614-3.573c-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319c-28.264-18.843-46.781-51.005-46.781-87.391c0-19.492 5.197-37.36 14.294-52.954c51.655 63.675 129.3 105.258 216.365 109.807c-1.624-7.797-2.599-15.918-2.599-24.04c0-57.828 46.782-104.934 104.934-104.934c30.213 0 57.502 12.67 76.67 33.137c23.715-4.548 46.456-13.32 66.599-25.34c-7.798 24.366-24.366 44.833-46.132 57.827c21.117-2.273 41.584-8.122 60.426-16.243c-14.292 20.791-32.161 39.308-52.628 54.253\"\u002F>",{"left":4,"top":4,"width":18,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":492},"\u003Cpath fill=\"currentColor\" d=\"M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6c0-13.8 11.1-24.9 24.9-24.9c13.6 0 24.6 11.1 24.6 24.9c0 13.6-11.1 24.6-24.6 24.6M504 256c0 137-111 248-248 248S8 393 8 256S119 8 256 8s248 111 248 248m-132.3-41.2c-9.4 0-17.7 3.9-23.8 10c-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3l55.4 12.5c0 13.6 11.1 24.6 24.6 24.6c13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8c-6.1-6.4-14.7-10.2-24.1-10.2c-34.9 0-46.3 46.9-14.4 62.8c-1.1 5-1.7 10.2-1.7 15.5c0 52.6 59.2 95.2 132 95.2c73.1 0 132.3-42.6 132.3-95.2c0-5.3-.6-10.8-1.9-15.8c31.3-16 19.8-62.5-14.9-62.5M302.8 331c-18.2 18.2-76.1 17.9-93.6 0c-2.2-2.2-6.1-2.2-8.3 0c-2.5 2.5-2.5 6.4 0 8.6c22.8 22.8 87.3 22.8 110.2 0c2.5-2.2 2.5-6.1 0-8.6c-2.2-2.2-6.1-2.2-8.3 0m7.7-75c-13.6 0-24.6 11.1-24.6 24.9c0 13.6 11.1 24.6 24.6 24.6c13.8 0 24.9-11.1 24.9-24.6c0-13.8-11-24.9-24.9-24.9\"\u002F>",{"left":4,"top":4,"width":18,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":494},"\u003Cpath fill=\"currentColor\" d=\"M512 194.8c0 101.3-82.4 183.8-183.8 183.8c-101.7 0-184.4-82.4-184.4-183.8c0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8M0 501.5h90v-491H0z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":496},"\u003Cpath fill=\"currentColor\" d=\"m20.216 6.415l-.132-.666c-.119-.598-.388-1.163-1.001-1.379c-.197-.069-.42-.098-.57-.241c-.152-.143-.196-.366-.231-.572c-.065-.378-.125-.756-.192-1.133c-.057-.325-.102-.69-.25-.987c-.195-.4-.597-.634-.996-.788a6 6 0 0 0-.626-.194c-1-.263-2.05-.36-3.077-.416a26 26 0 0 0-3.7.062c-.915.083-1.88.184-2.75.5c-.318.116-.646.256-.888.501c-.297.302-.393.77-.177 1.146c.154.267.415.456.692.58c.36.162.737.284 1.123.366c1.075.238 2.189.331 3.287.37q1.829.074 3.65-.118q.449-.05.896-.119c.352-.054.578-.513.474-.834c-.124-.383-.457-.531-.834-.473c-.466.074-.96.108-1.382.146q-1.767.12-3.536.006a22 22 0 0 1-1.157-.107c-.086-.01-.18-.025-.258-.036q-.364-.055-.724-.13c-.111-.027-.111-.185 0-.212h.005q.416-.09.838-.147h.002c.131-.009.263-.032.394-.048a25 25 0 0 1 3.426-.12q1.011.029 2.017.144l.228.031q.4.06.798.145c.392.085.895.113 1.07.542c.055.137.08.288.111.431l.319 1.484a.237.237 0 0 1-.199.284h-.003l-.112.015a37 37 0 0 1-4.743.295a37 37 0 0 1-4.699-.304c-.14-.017-.293-.042-.417-.06c-.326-.048-.649-.108-.973-.161c-.393-.065-.768-.032-1.123.161c-.29.16-.527.404-.675.701c-.154.316-.199.66-.267 1c-.069.34-.176.707-.135 1.056c.087.753.613 1.365 1.37 1.502a39.7 39.7 0 0 0 11.343.376a.483.483 0 0 1 .535.53l-.071.697l-1.018 9.907c-.041.41-.047.832-.125 1.237c-.122.637-.553 1.028-1.182 1.171q-.868.197-1.756.205c-.656.004-1.31-.025-1.966-.022c-.699.004-1.556-.06-2.095-.58c-.475-.458-.54-1.174-.605-1.793l-.731-7.013l-.322-3.094c-.037-.351-.286-.695-.678-.678c-.336.015-.718.3-.678.679l.228 2.185l.949 9.112c.147 1.344 1.174 2.068 2.446 2.272c.742.12 1.503.144 2.257.156c.966.016 1.942.053 2.892-.122c1.408-.258 2.465-1.198 2.616-2.657l1.024-9.995l.215-2.087a.48.48 0 0 1 .39-.426c.402-.078.787-.212 1.074-.518c.455-.488.546-1.124.385-1.766zm-1.478.772c-.145.137-.363.201-.578.233c-2.416.359-4.866.54-7.308.46c-1.748-.06-3.477-.254-5.207-.498c-.17-.024-.353-.055-.47-.18c-.22-.236-.111-.71-.054-.995c.052-.26.152-.609.463-.646c.484-.057 1.046.148 1.526.22q.865.132 1.737.212c2.48.226 5.002.19 7.472-.14q.675-.09 1.345-.21c.399-.072.84-.206 1.08.206c.166.281.188.657.162.974a.54.54 0 0 1-.169.364zm-6.159 3.9c-.862.37-1.84.788-3.109.788a6 6 0 0 1-1.569-.217l.877 9.004c.065.78.717 1.38 1.5 1.38c0 0 1.243.065 1.658.065c.447 0 1.786-.065 1.786-.065c.783 0 1.434-.6 1.499-1.38l.94-9.95a4 4 0 0 0-1.322-.238c-.826 0-1.491.284-2.26.613\"\u002F>",{"left":4,"top":4,"width":29,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":498},"\u003Cpath fill=\"currentColor\" d=\"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134c-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9c152.3 0 165.1-3.7 204 11.4c60.1 23.3 65.6 79.5 44 140.3c-21.5 62.6-72.5 89.5-140.1 90.3c-43.4.7-69.5-7-75.3 24.2M357.1 152c-1.8-1.3-2.5-1.8-3 1.3c-2 11.4-5.1 22.5-8.8 33.6c-39.9 113.8-150.5 103.9-204.5 103.9c-6.1 0-10.1 3.3-10.9 9.4c-22.6 140.4-27.1 169.7-27.1 169.7c-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9c.7-5.4-1.1 6.1 14.4-91.3c4.6-22 14.3-19.7 29.3-19.7c71 0 126.4-28.8 142.9-112.3c6.5-34.8 4.6-71.4-23.8-92.6\"\u002F>",{"left":4,"top":4,"width":18,"height":18,"rotate":4,"vFlip":6,"hFlip":6,"body":500},"\u003Cpath fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8m0 448c-110.532 0-200-89.431-200-200c0-110.495 89.472-200 200-200c110.491 0 200 89.471 200 200c0 110.53-89.431 200-200 200m107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516c17.561-9.845 28.324-16.541 28.324-29.579c0-17.246-21.999-28.693-39.784-28.693c-23.189 0-33.894 10.977-48.942 29.969c-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8M298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42s18.841-42 42-42s42 18.841 42 42\"\u002F>",1792940322848]