# Adaptive Card Editor A UWP editor for Microsoft Adaptive Cards that supports the new templating language and DOESN'T use JavaScript, because JavaScript is fake and gay. ## Features * VSCode's amazing text editor, Monaco, is baked right in! * Auto-updates layout while you work! * Uses native .NET for everything! ## Planned Features ### Save your work! The goal is to make it possible to both save and read `zip` files containing the payload, the ## Usage This renderer takes JSON input to output a standard adaptive card. The top output box (labeled *UWP Library*) displays the formatted card payload without any data. The bottom output box (labeled *Template Library*) displays the formatted card payload with data. # About Adaptive Cards Adaptive Cards is a Microsoft product that makes it relatively simple to generate a nicely-formatted display of data passed as JSON to the card renderer. You can learn more about adaptive cards [here](https://adaptivecards.io/). Microsoft has released SDKs to make it easier to implement adaptive cards on various platforms. The .NET SDK was originally a wrapper for the JavaScript SDK, so I wrote my own adaptive card renderer using pure .NET. ## Microsoft's .NET SDK It appears the latest [.NET SDK on GitHub](https://github.com/microsoft/AdaptiveCards/tree/main/source/dotnet) no longer relies on JavaScript for card rendering, which means that at some point, I might update this application to use Microsoft's library. On the other hand, my implementation takes no dependencies other than [Json.NET](https://www.newtonsoft.com/json), which is well-maintained, so I might just leave it as-is. My implementation hasn't been updated since 2020, so it doesn't support any features or changes since then. # Other Notes This UWP app makes use of VSCode's very awesome text editor library, [Monaco](https://microsoft.github.io/monaco-editor/). It also implements a timer function, which allows realtime updates to both rendered sections as you work with the app. It makes use of [System.Windows.Threading.DispatcherTimer](https://docs.microsoft.com/en-us/dotnet/api/system.windows.threading.dispatchertimer?view=windowsdesktop-6.0) to handle realtime updates properly.