MarkdownTextView alternatives and similar libraries
Based on the "Text" category.
Alternatively, view MarkdownTextView alternatives based on common mentions on social networks and blogs.
-
YYText
Powerful text framework for iOS to display and edit rich text. -
Nimbus
The iOS framework that grows only as fast as its documentation -
PhoneNumberKit
A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. -
ZSSRichTextEditor
A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view -
Twitter Text Obj
Twitter Text Libraries. This code is used at Twitter to tokenize and parse text to meet the expectations for what can be used on the platform. -
FontAwesomeKit
Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. -
SwiftRichString
👩🎨 Elegant Attributed String composition in Swift sauce -
TwitterTextEditor
A standalone, flexible API that provides a full-featured rich text editor for iOS applications. -
libPhoneNumber-iOS
iOS port from libphonenumber (Google's phone number handling library) -
RichEditorView
RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. -
Down
Blazing fast Markdown / CommonMark rendering in Swift, built upon cmark. -
TextAttributes
An easier way to compose attributed strings -
FontAwesome.swift
Use FontAwesome in your Swift projects -
SwiftyMarkdown
Converts Markdown files and strings into NSAttributedStrings with lots of customisation options. -
SwiftString
A comprehensive, lightweight string extension for Swift -
Iconic
:art: Auto-generated icon font library for iOS, watchOS and tvOS -
SwiftyAttributes
A Swifty API for attributed strings -
MMMarkdown
An Objective-C framework for converting Markdown to HTML. -
Atributika
Convert text with HTML tags, links, hashtags, mentions into NSAttributedString. Make them clickable with UILabel drop-in replacement. -
CocoaMarkdown
Markdown parsing and rendering for iOS and OS X -
SwiftIconFont
Icons fonts for iOS (Font Awesome 5, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon, Foundation 3, Elegant Icon, Captain Icon) -
FontBlaster
Programmatically load custom fonts into your iOS, macOS and tvOS app. -
Notepad
[iOS] A fully themeable markdown editor with live syntax highlighting. -
Font-Awesome-Swift
Font Awesome swift library for iOS. -
MarkdownKit
A simple and customizable Markdown Parser for Swift -
fuse-swift
A lightweight fuzzy-search library, with zero dependencies -
FormatterKit
stringWithFormat: for the sophisticated hacker set -
AztecEditor-iOS
A reusable native iOS visual HTML text editor component. -
NSStringEmojize
A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters -
Mustard
🌭 Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. -
Guitar
A Cross-Platform String and Regular Expression Library written in Swift. -
Translucid
Lightweight library to set an Image as text background. Written in swift. -
Heimdall
Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. -
GoogleMaterialDesignIcons
Google Material Design Icons Font for iOS -
AttributedTextView
Easiest way to create an attributed UITextView (with support for multiple links and from html)
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of MarkdownTextView or a related project?
README
MarkdownTextView
Rich Markdown Editing for iOS
MarkdownTextView is an iOS framework for adding rich Markdown editing capabilities. Support for Markdown syntax is implemented inside an easily extensible NSTextStorage
subclass, with a UITextView
subclass being provided for convenience.
Screenshot
Example App
Check out the includeded Example app to try out the text view and to see how MarkdownTextView is integrated into the project.
Installation
With CocoaPods:
pod "MarkdownTextView"
With Carthage:
github "indragiek/MarkdownTextView"
Getting Started
The simplest possible usage is as follows:
let textView = MarkdownTextView(frame: CGRectZero)
view.addSubview(textView)
This gives you a text view with support for most of the features defined in the original Markdown implementation (strong, emphasis, inline code, code blocks, block quotes, headers) with the default styling provided by the framework.
Customizing Appearance
All of the styling can be customized using standard NSAttributedString
attributes. For example, if you wanted to customize bold text such that it appeared red, you would do this:
var attributes = MarkdownTextAttributes()
attributes.strongAttributes = [
NSForegroundColorAttributeName: UIColor.redColor()
]
let textStorage = MarkdownTextStorage(attributes: attributes)
let textView = MarkdownTextView(frame: CGRectZero, textStorage: textStorage)
view.addSubview(textView)
Extensions Support
Extension classes conforming to the HighlighterType
protocol can be used to add support for unofficial Markdown extensions. The framework comes with the following extensions already implemented:
From Github Flavored Markdown:
MarkdownStrikethroughHighlighter
- Support for~~strikethrough~~
MarkdownFencedCodeHighlighter
- Support for fenced code blocksLinkHighlighter
- Support for auto-linking
Other:
MarkdownSuperscriptHighlighter
- Support forsuper^scripted^text
These extensions do not come activated by default. They must manually be added to an instance of MarkdownTextStorage
as follows:
let textStorage = MarkdownTextStorage()
var error: NSError?
if let linkHighlighter = LinkHighlighter(errorPtr: &error) {
textStorage.addHighlighter(linkHighlighter)
} else {
assertionFailure("Error initializing LinkHighlighter: \(error)")
}
textStorage.addHighlighter(MarkdownStrikethroughHighlighter())
textStorage.addHighlighter(MarkdownSuperscriptHighlighter())
if let codeBlockAttributes = attributes.codeBlockAttributes {
textStorage.addHighlighter(MarkdownFencedCodeHighlighter(attributes: codeBlockAttributes))
}
let textView = MarkdownTextView(frame: CGRectZero, textStorage: textStorage)
view.addSubview(textView)
Credits
- John Gruber's original Markdown implementation for most of the regular expressions used in this project.
- RFMarkdownTextView for the idea to implement this as an
NSTextStorage
subclass
Contact
- Indragie Karunaratne
- @indragie
- http://indragie.com
License
MarkdownTextView is licensed under the MIT License. See LICENSE
for more information.
*Note that all licence references and agreements mentioned in the MarkdownTextView README section above
are relevant to that project's source code only.