All Projects → dotnet-ad → MarkdownView

dotnet-ad / MarkdownView

Licence: MIT license
Native markdown rendering on top of Xamarin.Forms & Markdig.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to MarkdownView

net6.0-mobile-fsharp
Mobile templates for .NET 7.0 / F# 7.0
Stars: ✭ 76 (-39.68%)
Mutual labels:  xamarin-forms
react-native-uuid-generator
UUID generator for React Native utilizing native iOS and Android UUID classes
Stars: ✭ 88 (-30.16%)
Mutual labels:  native
titanium-firebase-analytics
Use the Firebase Analytics SDK in Axway Titanium 🚀
Stars: ✭ 33 (-73.81%)
Mutual labels:  native
UnityNativeTool
Allows to unload native plugins in Unity3d editor
Stars: ✭ 147 (+16.67%)
Mutual labels:  native
surface-duo-sdk-xamarin-samples
Xamarin Samples for Surface Duo SDK
Stars: ✭ 58 (-53.97%)
Mutual labels:  xamarin-forms
xamarin-forms-demo-app
A demo application in this repository demonstrates the capabilities of the DevExpress Mobile UI for Xamarin.Forms: Data Grid, Editors, Charts, Scheduler, Data Form, and other controls.
Stars: ✭ 74 (-41.27%)
Mutual labels:  xamarin-forms
Packet Sender Mobile
iOS and Android version of Packet Sender
Stars: ✭ 58 (-53.97%)
Mutual labels:  xamarin-forms
pdfjs
A sample for showing PDF files in a Xamarin.Forms application with pdf.js
Stars: ✭ 32 (-74.6%)
Mutual labels:  xamarin-forms
sqlite3
The fastest and correct module for SQLite3 in Deno.
Stars: ✭ 143 (+13.49%)
Mutual labels:  native
react-native-simple-download-manager
A react native module to schedule downloads on native download manager
Stars: ✭ 35 (-72.22%)
Mutual labels:  native
production-ready-react-native
React Native Currency Converter App built for Production Ready React Native
Stars: ✭ 44 (-65.08%)
Mutual labels:  native
MvvmCross-Extensions
Some of the utilities I'm developing and using in my MvvmCross projects
Stars: ✭ 21 (-83.33%)
Mutual labels:  xamarin-forms
EntryCustomReturnPlugin
Xamarin.Forms Plugin to customize the Xamarin.Forms.Entry Keyboard Return Button
Stars: ✭ 81 (-35.71%)
Mutual labels:  xamarin-forms
gwallet
gwallet is a minimalistic and pragmatist opensource lightweight crossplatform brainwallet for people that want to hold the most important cryptocurrencies in the same application with ease and peace of mind
Stars: ✭ 26 (-79.37%)
Mutual labels:  xamarin-forms
XamarinForms.CancelableModal
Close button for Xamarin.Forms modal page
Stars: ✭ 19 (-84.92%)
Mutual labels:  xamarin-forms
Xamarin-Forms-Material-Cards
Material Design in Xamarin Forms
Stars: ✭ 18 (-85.71%)
Mutual labels:  xamarin-forms
titanium-calendar
An easy to use iOS modal calendar for selecting dates. Based on the awesome PDTSimpleCalendar library.
Stars: ✭ 15 (-88.1%)
Mutual labels:  native
app-xamarintv
Xamarin.Forms app demonstrating the dual-screen device capability for neo and duo devices
Stars: ✭ 41 (-67.46%)
Mutual labels:  xamarin-forms
wombag
Wombag is the alternative, lightweight backend for your Wallabag apps. Wombag supports the Wallabag API.
Stars: ✭ 42 (-66.67%)
Mutual labels:  native
regln
Windows Rregistry Linking Utility
Stars: ✭ 38 (-69.84%)
Mutual labels:  native

MarkdownView for Xamarin.Forms

NuGet Donate

A native Xamarin.Forms Markdown renderer.

Gallery

Light theme

Introduction

Compared to a majority of solutions, MarkdownView will render every component as a native Xamarin.Forms view instead of via an HTML backend. The Markdown is directly translated from a syntax tree to a hierarchy of Xamarin.Forms views, : no HTML is being produced at all (hurray)!

This will produce a more reactive user interface, at the cost of rendering functionalities (at the moment though!).

Install

Available on NuGet.

Quickstart

var view = new MarkdownView();
view.Markdown = "# Hello world\n\nThis is my first native markdown rendering";
view.Theme = new DarkMarkdownTheme(); // Default is white, you also modify various values
this.Content = view;

Limitations

Unfortunately, Xamarin.Forms string rendering has some limitations ...

  • Inlined images aren't supported (Xamarin.Forms formatted strings doesn't support inlined views) : They will be displayed after the block they are referenced from.
  • Links are only clickable at a leaf block level (Xamarin.Forms formatted strings doesn't support span user interactions) : if a leaf block contains more than one link, the user is prompted. This is almost a feature since text may be too small to be enough precise! ;)
  • SVG rendering is very limited (The SVG rendering is based on SkiaSharp which doesn't seem to manage well all svg renderings)

Roadmap

  • Customization
    • Styles
    • Themes
  • Leaf blocks
    • Headings
    • Paragraphs
    • HTML Blocks (maybe partial and specific support)
    • Link reference definitions
    • Code blocks
    • Thematic breaks
  • Container blocks
    • Block quote
    • Lists
      • Numbers bullet formats
      • Custom bullets
  • Inlines
    • Textual content
    • Emphasis and string emphasis
    • Code spans
    • Links (partial, no interaction)
    • Image blocks (partial, not inlined)
      • SVG Rendering (Skia)
  • Extensions
    • Table blocks
    • Emojis (ascii)
    • Task lists

Thanks

Contributions

Contributions are welcome! If you find a bug please report it and if you want a feature please report it.

If you want to contribute code please file an issue and create a branch off of the current dev branch and file a pull request.

License

MIT © Aloïs Deniel

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].