darrenwiens / obsidian-stac-search

An Obsidian plugin for searching STAC APIs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Obsidian STAC Search Plugin

This is a plugin for searching STAC APIs within Obsidian (https://obsidian.md).

This project uses Typescript to provide type checking and documentation. The repo depends on the latest plugin API (obsidian.d.ts) in Typescript Definition format, which contains TSDoc comments describing what it does.

This plugin contains the following functionality:

  • Adds a ribbon icon, which opens the STAC Search Modal when clicked.
  • Adds a command "Open STAC Search Modal" which opens the STAC Search Modal.
  • Adds a plugin setting tab to the settings page.
  • Within the modal, set any parameters and submit the request.
  • The response will be saved to the specified output file.

Manually installing the plugin

  • Copy over main.js, styles.css, manifest.json to your vault VaultFolder/.obsidian/plugins/your-plugin-id/.
  • Optionally, set a default STAC API in Settings -> Community Plugins -> Options.

Development

  • Clone this repo.
  • Make sure your NodeJS is at least v16 (node --version).
  • npm i or yarn to install dependencies.
  • npm run dev to start compilation in watch mode.

Improve code quality with eslint (optional)

  • ESLint is a tool that analyzes your code to quickly find problems. You can run ESLint against your plugin to find common bugs and ways to improve your code.
  • To use eslint with this project, make sure to install eslint from terminal:
    • npm install -g eslint
  • To use eslint to analyze this project use this command:
    • eslint main.ts
    • eslint will then create a report with suggestions for code improvement by file and line number.
  • If your source code is in a folder, such as src, you can use eslint with this command to analyze all files in that folder:
    • eslint .\src\

API Documentation

See https://github.com/obsidianmd/obsidian-api

About

An Obsidian plugin for searching STAC APIs


Languages

Language:TypeScript 81.0%Language:JavaScript 18.7%Language:CSS 0.3%