GithubHelp home page GithubHelp logo

fleeting-notes-plugins's Introduction

Fleeting Notes Plugin

Documentation to Create Your Own Plugin: https://www.fleetingnotes.app/docs/plugins/create-your-own-plugin

Local webserver setup

  1. Install deno
  2. Add .env file
  3. Run script to generate manifest
deno run --allow-read --allow-write routes-manifest-generate.ts
  1. Start webserver
deno run --allow-all webserver.ts

Testing Documentation

To write and run tests for the project, follow these steps:

Writing Tests

  1. Create a folder named __test__ in the project's root directory.
  2. Inside the __test__ folder, create a new test file with the .test.ts extension.
  3. Write test cases using a testing framework like Deno's built-in testing framework

Example:

import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
import { describe, it } from "https://deno.land/[email protected]/testing/bdd.ts";

description("Math operations", () => {
  it("should add two numbers correctly", () => {
    const result = 1 + 2;
    assertEquals(result, 3);
  });
});

Running Tests

deno test --allow-all

fleeting-notes-plugins's People

Contributors

matthewwong525 avatar gonzalovelasco avatar

Stargazers

vancaem avatar eg avatar Scott Walter avatar Björn Sackemark avatar  avatar Jordi Wippert avatar

Watchers

 avatar

fleeting-notes-plugins's Issues

Summarize webpage

Example prompt:

Your output should use the following template:

### Summary

### Facts

- [Emoji] Bulletpoint

Your task is to summarize the text I give you in up to seven bulletpoints and start with a short summary. Pick a good matching emoji for every bullet point. Reply in {{SELECTED_LANGUAGE}}. The url to extract facts from is this: {{URL}}. If the url has a paywall or no content use this text: {{CONTENT}}

Add OCR for images

Is your feature request related to a problem? Please describe.
Another input method. Maybe needs

Describe the solution you'd like

  • when user runs OCR command, the image is automatically parsed? (maybe automatically?) or through a command.

Describe alternatives you've considered

  • when user adds an image source, the source description is populated with the OCR version of the text using deno

Insert current timestamp plugin

Add plugin to insert the current timestamp in the note. Basically they'll run this command, and the current timestamp will be pasted in their note.

the metadata will determine what format to use. By default use UTC?

E.g.
metadata: YYYY-MM-DD = 2023-05-31
metadata: null = 2023-05-31T20:00:46Z

Use deno datetime

create one-way sync template

I want to be able to perform one-way sync with different platforms & make it easy for people to create their own solution to doing this

Create better process for testing locally & end-to-end

Problem:

  • Right now it's difficult to test the plugin end-to-end without merging to main?
  • also local testing is kind of a pain, especially since a webserver file needs to be created for each folder.

Suggested Solution:

  • Create a plugins/test folder for testing purposes. And maybe set up pipelines to allow for whatever changes to go in here. In UI
  • Create a test_webserver.ts file that is similar to webserver.ts that can be run locally without the restrictions of the .env file (also doesn't call posthog / supabase)

Add automated tests for plugins

  • create a method to add tests for plugins. maybe a /test folder
  • Each file will correspond with the folder name in /official maybe with a prefix of test_
  • Test will run automatically before each deploy! Using github actions

DO without the server only import the functions and run them.

Adding Linting to CI for Code Quality Checks

Currently, our software development workflow lacks an automated mechanism to ensure consistent code quality across our projects. To address this, I propose integrating a linting tool into our continuous integration (CI) pipeline. Linting is a static code analysis process that helps identify and flag potential errors, code style violations, and other issues in our codebase.

Time stamp weirdness

Matthew,

I don’t use the command much, but just spotted that the time is off by 92 minutes (?!).

Screenshots show evidence and the slash command set-up.
image
image

Add restrictions to APIs

  • use posthog events to query how many times a user has made a request
  • Check if the user is a premium user by calling the supabase-rpc function
  • If they are free (restrict them to 10 calls / month)
  • If they are basic (restrict them to 100 calls / month)
  • If they are premium (no restrictions on API calls)

Open AI prompts

Is your feature request related to a problem? Please describe.
Want integration with OpenAI

Describe the solution you'd like

  • Allow for user to input custom prompts to be used on their notes.
  • also user will input openAI api key in the metadata
  • The note will be sent to backend and backend will send note + prompt to open AI + selection (where they run the command) (predefined)
  • results will be appended to the location they run the command from

Additional context
Blocked by fleetingnotes/fleeting-notes-flutter#414

Support templates

Someone can set their template in the metadata and then run a command to populate the note with their template.

Also, make it offline? So dart only. So it doesnt do this with an HTTP request. All within Dart.

Request for Addition of Official Webhooks Plugin

Summary:
This ticket is a customer feedback requesting the addition of an official plugin for webhooks in the app. The user has expressed a need for this functionality to enhance the app's integration capabilities and enable seamless communication with external systems.

Solution:

  • The JSON parameters passed in to the plugin will be used as the parameters passed into the fetch function (if json is not parseable will return proper error)
  • If no parameters passed (e.g. only URL), will make a simple GET request to the endpoint.

Send to notion

Is your feature request related to a problem? Please describe.
Want to send a note to notion

Describe the solution you'd like

  • User will specify database & stuff in metadata + notion api key
  • when user runs the command, then the note will be uploaded to their notion database
  • If user puts wrong metadata, then send them to link?

Additional context
Read notion api to figure out more of implementation of how it should be done.

clip-web-to-md

https://github.com/deathau/markdownload

Does the same thing as markdownload, but puts the clipped page in the note:

Copied from repo:
Readability.js by Mozilla in version from commit 1fde3ac626bc4c2e5e54daa57c57d48b7ed9c574. This library is also used for the Firefox Reader View and it simplifies the page so that only the important parts are clipped. (Licensed under Apache License Version 2.0)
Turndown by Dom Christie in version 7.1.1 is used to convert the simplified HTML (from Readability.js) into markdown. (Licensed under MIT License)
Moment.js version 2.29.4 used to format dates in template variables

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.