Open Source Components

We’re making ThiefMD components reusable. You can find the components in at GitHub.com/ThiefMD. We’re also built on top of other great open source software

libwritegood

libwritegood is like GtkSpell for style. libwritegood is based on btford/write-good. It’s easy to use, for example:

var manager = Gtk.SourceLanguageManager.get_default ();
var language = manager.guess_language (null, "text/markdown");
var view = new Gtk.SourceView ();
buffer = new Gtk.SourceBuffer.with_language (language);
buffer.highlight_syntax = true;
view.set_buffer (buffer);
view.set_wrap_mode (Gtk.WrapMode.WORD);

//
// Enable write-good
//

checker = new WriteGood.Checker ();
checker.set_language ("en_US");
checker.attach (view);

//
// Disable hard sentences
//
checker.check_hard_sentences = false;

//
// WriteGood doesn't auto-check for changes, may be too compute heavy for large docs
//
buffer.changed.connect (() => {
    checker.recheck_all ();
});

Writeas-vala

writeas-vala is a Write Freely client library. It can be used for submitting and managing posts on Write.as or any other Write Freely instance.

Ghost-vala

Ghost-vala is a simple library for publishing posts to ghost blogs.

Theme Generator

Theme Generator helps generate Markdown editor themes for Ulysses and GtkSourceView based editors.

Have a consistent writing environment no matter where you’re at.

ultheme-vala

ultheme-vala, a converter for Ulysses Themes to markdown GtkSouceView Style Schemes.

ultheme-vala converts a ultheme package into both a light and dark GtkSourceView Style Scheme. In ThiefMD, we load the file and then persist the theme to disk.

public static int main (string[] args) {
    var ultheme = new Ultheme.Parser (File.new_for_path (args[1]));
    // Display resulting Dark Theme XML for GtkSourceView
    print (ultheme.get_dark_theme ());

    return 0;
}