The TextBundle file format aims to provide a more seamless user experience when exchanging plain text files, like Markdown or Fountain, between sandboxed applications.
Sandboxing is required for all apps available on the Mac and iOS app store, in order to grant users a high level of data security. Sandboxed apps are only permitted access to files explicitly provided by the user - for example Markdown text files. When working with different Markdown applications, sandboxing can cause inconveniences for the user.
Bundle and save with AT&T TV and Internet packages. Get top speed Internet with AT&T Fiber and Live & Streaming TV with AT&T TV. Shop our best bundle deals online.
An example: Markdown files may contain references to external images. When sending such a file from a Markdown editor to a previewer, users will have to explicitly permit access to every single image file.
This is where TextBundle comes in. TextBundle brings convenience back - by bundling the Markdown text and all referenced images into a single file. Supporting applications can just exchange TextBundles without asking for additional permissions. Beyond being a simple container, TextBundle includes a standard to transfer additional information - to open up new possibilites for future integration.
You can download a simple example file for a TextBundle file (Version 2) and its compressed variant TextPack. We provide also an example for apps only supporting TextBundle file (Version 1).
OS | Reading | Writing | Standard | |
---|---|---|---|---|
Bear | macOS, iOS, iPadOS | 1.0 | 1.0 | v2 |
Cola Notes | Android | 1.83 | 1.83 | v2 |
Craft | macOS, iOS, iPadOS, web | 1.0 | 1.0 | v2 |
eBookBinder | macOS | 1.4.0 | 1.4.0 | v2 (md, html, Textile, Wikitext, BBCode, Smark) |
FSNotes | macOS | 2.0 | 2.0 | v2 |
Go Edit | iOS, iPadOS | 1.0 | 1.0 | v2 (md, html) |
#Gazer | macOS | 1.0 | 1.0 | v2 |
Highlights | macOS | - | 1.0 | v1 |
iThoughts | macOS, iOS, iPadOS, Windows | - | 4.11 + (macOS), 2.3 + (Windows), 2.7 + (iOS) | v1 |
Keepmark | Linux, macOS, Windows | 1.7 | 1.7 | v2 (Textpack) |
Marked 2 | macOS | 2.3.4 | 2.5 | v1 |
MarkMyWords | macOS | 1.10.0 | 1.10.0 | v2 |
MindNode | macOS, iOS, iPadOS | 2.5 + (macOS), 4.5 + (iOS) | 2.5 + (macOS), 4.5 + (iOS) | v2 |
Myary | macOS | 1.5.0 | 1.5.0 | v2 |
Note-C | macOS | 1.5.0 | 1.5.0 | v2 |
Smartdown II | Windows | - | 0.8.2 | v2 |
Taio | iOS | 1.0 | 1.0 | v2 |
Textbundle Editor | macOS | 1.0 | 1.0 | v2 |
Ulysses | macOS, iOS, iPadOS | 2.7 | 1.2.2 | v2 |
WordPress | iOS, iPadOS | 12.3 | - | v2 |
XMind: ZEN | macOS, iOS, iPadOS | 9.1.0 | 9.1.0 | v2 |
Zettlr | macOS, Linux, Windows | 1.2.0 | 1.2.0 | v2 |
Developers can easily incorporate TextBundle import and export with the TextBundle library from Shiny Frog. See the GitHub repository for details.
Properly formatted TextBundle files can be viewed with Quick Look on OS X by installing Brett Terpstra’s fork of the MultiMarkdown QuickLook plugin. Be sure to run qlmanage -r
in Terminal after installing or upgrading the plugin.
You can download the official logo of TextBundle in various file formats here. The logo was created by Brett Terpstra. It is published under the CC0 license, so you can use it without restrictions.
Like to join in with your app? Please drop us a line or write us on twitter!
How do I make my own bundle file from CRT files?
Answer: You may do this using you favorite text editor or by using the command line.
Example:
# Root CA Certificate - AddTrustExternalCARoot.crt
# Intermediate CA Certificate 1 - ComodoRSAAddTrustCA.crt OR ComodoECCAddTrustCA.crt
# Intermediate CA Certificate 2 - ComodoRSADomain/Organization/ExtendedvalidationSecureServerCA.crt OR ComodoRSAECCDomain/Organization/ExtendedvalidationSecureServerCA.crt
# Intermediate CA Certificate 3 - ComodoSHA256SecureServerCA.crt
# Your SSL Certificate - yourDomain.crt
Note: You will not need your SSL certificate for this exercise.
GUI Text Editor
1. Open All files in a text editor. (Remember, not your domain certificate.)
2. Create a new blank text file.
3. Copy contents of all files in reverse order and paste them into the new file.
Example: Intermediate 3, Intermediate 2, Intermediate 1, Root Certificate.
4. Save newly created file as 'yourDomain.ca-bundle'.
Command Line
Linux or UNIX-like Operating Systems:
-- cat ComodoRSAAddTrustCA.crt ComodoRSADomain/Organization/ExtendedvalidationSecureServerCA.crt AddTrustExternalCARoot.crt > yourDomain.ca-bundle
Or
-- cat ComodoSHA256SecureServerCA.crt AddTrustExternalCARoot.crt > yourDomain.ca-bundle
Windows or DOS:
-- copy ComodoRSAAddTrustCA.crt + ComodoRSADomain/Organization/ExtendedvalidationSecureServerCA.crt + AddTrustExternalCARoot.crt yourDomain.ca-bundle
Or
-- copy ComodoSHA256SecureServerCA.crt + AddTrustExternalCARoot.crt yourDomain.ca-bundle
Note: 'yourDomain.ca-bundle' is only a place holder file name. You may call it anything you want.
* Root & Intermediate Certificates