Base Obsidian plugin in

Overview

obsidian-kotlin-plugin

Base Obsidian plugin in Kotlin

Usage

Right now the plugin only outputs "KotlinPlugin onload()" and "KotlinPlugin onunload()" to the console if it is loaded and unloaded successfully, respectively.

To use this for developing a plugin:

  1. Fork the repo
  2. Rename KotlinPlugin to something more descriptive
  3. Rename KotlinPluginTest to match the main plugin name
  4. Edit src/main/resources/manifest.json to match your plugin information
  5. Edit settings.gradle.kts to match the rootProject name

NOTE: I believe the index.html is required for KotlinJS Gradle tasks. I have a TODO item to see about removing that.

NOTE: I plan on making this repo a Template, but leaving that off for now as the bindings will be improved in the short-term. I will try to make breaking changes minimal so people can pull changes into their forked repository without too much trouble.

Obsidian API Bindings

The Kotlin bindings for Obsidian were created by using Dukat on the obsidian.d.ts file and copying over enough to get the main Plugin and App classes to compile with much of the functionality in place. There were errors in the CodeMirror and DOM files so none of the CodeMirror items are available in the API for now, and only enough of the DOM items were copied over to fix any compilation errors in the API itself.

CodeMirror had two errors, only one of which was something not immediately fixable. Once the plugin itself is expanded a bit more I plan on revisiting the CodeMirror bindings and pulling those in as well.

I was hoping that Dukat could be fully integrated into the build but there were a LOT of errors in the DOM bindings, so at least for now the bindings are a manual process.

Thanks to the answer on Stack Overflow for getting me through the last issues I was having.

You might also like...
IntelliJ Plugin for Android Parcelable boilerplate code generation.
IntelliJ Plugin for Android Parcelable boilerplate code generation.

IntelliJ/Android Studio Plugin for Android Parcelable boilerplate code generation This tool generates an Android Parcelable implementation based on fi

A plugin for Android Studio and Intellij IDEA that speeds up your day to day android development.
A plugin for Android Studio and Intellij IDEA that speeds up your day to day android development.

ADB Idea A plugin for Android Studio and Intellij IDEA that speeds up your day to day android development. The following commands are provided: Uninst

Android Studio plugin which automatically generates drawable selectors from appropriately named resources.
Android Studio plugin which automatically generates drawable selectors from appropriately named resources.

SelectorChapek for Android This Android Studio plugin automatically generates drawable selectors from appropriately named Android resources. How to in

Maven Plugin for Android Application development and more

ANDROID MAVEN PLUGIN A plugin for Android application development with Apache Maven 3.0.5+ and the Android SDK. Please check out our website for furth

 Gradle plugin which downloads and manages your Android SDK.
Gradle plugin which downloads and manages your Android SDK.

DEPRECATED This plugin is deprecated and is no longer being developed. Tools and dependencies are automatically downloaded using version 2.2.0 of the

A Gradle plugin to support the Groovy language for building Android apps

Groovy language support for Android Deprecated: This plugin has been deprecated in favor of Kotlin which has the full support of JetBrains and Google.

Add a different ribbon to each of your Android app variants using this gradle plugin. Of course, configure it as you will

Easylauncher gradle plugin for Android Modify the launcher icon of each of your app-variants using simple gradle rules. Add ribbons of any color, over

An easy-to-use sbt plugin for working with all Android projects
An easy-to-use sbt plugin for working with all Android projects

Build Android Projects Using SBT http://scala-android.org/ Change log | FAQ Auto-import from gradle using sbt-android-gradle NOTE: 1.6.0 is the last v

A Gradle Plugin that removes unused resources in Android projects.
A Gradle Plugin that removes unused resources in Android projects.

#Lint Cleaner Plugin Removes unused resources reported by Android lint including strings, colors and dimensions. Depracated As of Android Studio 2.0+

Comments
  • Organize for first release

    Organize for first release

    Moved some code for a better package structure. Expanded the documentation. Added styles.css and versions.json to support the files needed for a plugin.

    opened by darthmachina 0
  • #3 Implement two of the three sample Commands

    #3 Implement two of the three sample Commands

    Created a builder class to create Command objects and use that to create two out of the three sample Commands.

    Wasn't able to figure out app.workspace.getActiveViewOfType usage for now.

    Closes #3

    opened by darthmachina 0
  • Is this project active?

    Is this project active?

    Hello,

    Is this project still active? I see your project broad have "Better organise source files in preparation for first release"

    Are you still working on this or did the main Obsidian API diverge and this is no longer being maintained?

    Cheers!

    opened by u-ways 0
Releases(0.1.0)
  • 0.1.0(Nov 30, 2021)

    What's Changed

    • Initial implementation of the Obsidian API KotlinJS bindings
    • Gradle support for generating the files necessary for use in Obsidian
    • Created a sample Settings page
    • Implemented two of the three sample Commands

    Full Changelog: https://github.com/darthmachina/obsidian-kotlin-plugin/commits/0.1.0

    Source code(tar.gz)
    Source code(zip)
Owner
Mike Osterlie
Mike Osterlie
gradle-android-scala-plugin adds scala language support to official gradle android plugin

gradle-android-scala-plugin gradle-android-scala-plugin adds scala language support to official gradle android plugin. See also sample projects at htt

saturday06 345 Dec 10, 2022
eventbus-intellij-plugin 3.8 0.0 L1 Java Plugin to navigate between events posted by EventBus.

eventbus-intellij-plugin Plugin to navigate between events posted by EventBus. Post to onEvent and onEvent to Post Install There are two ways. Prefere

Shinnosuke Kugimiya 315 Aug 8, 2022
IntelliJ Idea Astor Plugin is a plugin that integrates Astor in Intellij Idea

IntelliJ Idea Astor Plugin IntelliJ Idea Astor Plugin is a plugin that integrates Astor in Intellij Idea. It communicates with a local/remote program

null 4 Aug 28, 2021
Intellij-platform-plugin-template - IntelliJ Platform Plugin Template

IntelliJ Platform Plugin Template TL;DR: Click the Use this template button and

null 0 Jan 1, 2022
BuildPlots-Plugin - PaperMC-Plugin for build contests written in Kotlin.

BuildPlotsPlugin PaperMC-Plugin for build contests. This is my first time using Kotlin and the first plugin I've written after a long time. It is stil

Lukas Heinzl 0 Jan 1, 2022
K6-intellij-plugin - IntelliJ-based Plugin to run k6 tests locally or in the k6 Cloud from your IntelliJ IDE

IntelliJ-based Plugin to run k6 tests locally or in the k6 Cloud from your Intel

Mikhail Bolotov 8 Jan 2, 2023
Ownership-gradle-plugin - Gradle code ownership verification plugin

Gradle code ownership verification plugin A gradle plugin that will verify owner

null 4 Dec 15, 2022
GPP is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.

Gradle Play Publisher Gradle Play Publisher is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and

null 3.9k Dec 30, 2022
A Gradle plugin to report the number of method references in your APK on every build.

Dexcount Gradle Plugin A Gradle plugin to report the number of method references in your APK, AAR, or java module. This helps you keep tabs on the gro

Keepsafe 3k Dec 29, 2022
This plugin help you to set material design icon to your project.

Android Material Design Icon Generator Plugin This plugin help you to set material design icons to your Android project. Installation Manually Downloa

Yusuke Konishi 2.4k Dec 30, 2022