An editor for Microsoft Adaptive Cards that supports the new templating language and DOESN'T use JavaScript, because JavaScript isn't a real programming language.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
2.2 KiB

# Adaptive Card Editor
4 years ago
A UWP editor for Microsoft Adaptive Cards that supports the new templating language and DOESN'T use JavaScript, because JavaScript is fake and gay.
4 years ago
## Features
* VSCode's amazing text editor, Monaco, is baked right in!
* Auto-updates layout while you work!
4 years ago
* 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.