Jump to content

Alfred-Anki


Recommended Posts

Posted (edited)

Ok. One more attempt to make the workflow for Anki cards generating. Or rather filling into Anki fields the content via Alfred. For me this way much handy than native Anki app. Obviously, it's not a full replacement for all cases. Something like Anki-Express.

 

Anki: Powerful, intelligent flash cards.

 

anki card generator: Create New Cards into any Decks with any "Note Type".

image.png.e2f05bfd698f9178a80b5bbec933f3d5.png

 

image.png.f23cc748d630e12803f60667e34e7bd1.png

 

 

Install

$ npm install --global alfred-anki

or as anki.alfredworkflow

 

 

Requires: Node.js 7.6+, Alfred Powerpack, Anki intelligent flashcards, AnkiConnect plugin for Anki

Also you can consider DrLulz/Anki-Templates

Usage

On the card fields:

  • hit ⌃ + ↩ to remember last input after created card.
  • hit ⌃ + ↩ one more time to toggle switch this option
  • hit ⌥ + ↩ to reset text from all fields
  • hit (shift) to preview parsed fields of the card
  • for line break type '\n' (with space or without), also should be handy to use 'Alfred's snippets'.
  • to add an image from clipboard use Alfred snippet >>img needs install pngpaste
  • check out another Alfred's snippets

 


  • To use your own icons for your Model's fields just you should call the png files the same as fields [name-of-field].png and put it into icons folder of this Workflow directory. Recommended use two instances of each icon where second icon (with some mark) will be called as [name-of-field]_marked.png for "remember last import" option.

 

ToDo

  •   Add sound to the field. (needs something universal)
  •   Add to the card and move the local image file to the foldercollection.media via Alfred Snippet

 

p.s. It would be great to hear some more feature ideas to improve workflows like this.

 

Edited by bikeNik
update to v1.2.0
Posted (edited)

Update: Added Markdown-it  library for use markdown. This awesome library works with Syntax highlighting (highlighjs.org)

To quick add some markdown highlighting code into Anki field via Alfred:

```js
function $initHighlight(block, cls) {
  try {
    if (cls.search(/\bno\-highlight\b/) != -1)
      return process(block, true, 0x0F) +
             ` class="${cls}"`;
  } catch (e) {
    /* handle exception */
  }
  for (var i = 0 / 2; i < classes.length; i++) {
    if (checkCondition(classes[i]) === undefined)
      console.log('undefined');
  }
}

export  $initHighlight;
```

I use a little lifehack with Alfred's snippet trigger (which has line breaks). Cause I suppose Alfred doesn't allow to carry a new line of in his input's field. 

Edited by bikeNik
Posted
6 minutes ago, bikeNik said:

Cause I suppose Alfred doesn't allow to carry a new line of in his input's field.

 

You can enter a newline into Alfred's query box, just not by hitting the RETURN key.

Posted (edited)

😎 ) And what would replace RETURN key.? 

.. I mean It works only when I paste text with line breaks. 

Edited by bikeNik
Posted (edited)
14 minutes ago, deanishe said:

I suppose you could also have your script expand escapes, so you could enter \n for a newline.

 

 

mm.. I don't think so. The point is, I need to see this new line in Alfred's query box with Large-Type (⌘L). And it won't convenient to edit the current field. So I think to make the trigger snippet like (>>n) which contains line break - would be better. I'm just pasting empty line break.

Edited by bikeNik
Posted

Snippet is good, too.

 

1 minute ago, bikeNik said:

I need to see this new line in Alfred's query box with Large-Type (⌘L)

 

⌘L directly from the query box? Otherwise, there'd always be the chance to put a script to replace the \n (or whatever) before it reaches the Large Type.

 

I was thinking of escapes as it would make it much easier to edit the query again in Alfred, as it'd be on one line.

Posted

At the end of the end in practice, the method suggested by Deanishe works better. Cause it doesn’t take clipboard.

I combine (‘\n ’) with snippets.

Workflow updated.

Posted

Update: Added a preview of parsed fields of the card by  [shift]. The data is updated every time when the field text will save.

 

930354685_Screenshot2019-02-22at00_37_58.thumb.png.cebf5ddd0e692430e50b19522f3d78df.png

  • 3 months later...
Posted

Hi, love your workflow, would be great if it worked with alfred 4, though. Do you have any plans to update it?

Posted
2 hours ago, AZK said:

Do you have any plans to update it?

Thanks. Yes, in near future. I'm busy now a little. Sorry.

  • 1 month later...
Posted (edited)

was updated:

- moved the database to /Users/…/Library/Application Support/Alfred/Workflow Data/org.bikenik.anki

- update for Alfred 4

 

(please, save (backup) your data which in the workflow folder (json files) before updating)

Edited by bikeNik
p.s.
  • 4 weeks later...
Posted (edited)

@bikeNik Could you clarify how can I install your workflow? From your instructions `npm install --global alfred-anki` does nothing for me. I can see it installed to /usr/local/lib/node_modules/alfred-anki but there are no changes in Alfred. Other link "anki.alfredworkflow" sends me to github releases page, and there are no .alfredworkflow file inside, only source code

Edited by Artyom
  • 1 month later...
Posted

Downloaded latest update and ankiconnect but im getting a message saying waiting-for-refresh. Nothing happens when I use the refresh under settings, would appreciate some advice!

  • 1 month later...
Posted (edited)
On 10/21/2019 at 3:58 PM, CuteCat said:

Downloaded latest update and ankiconnect but im getting a message saying waiting-for-refresh. Nothing happens when I use the refresh under settings, would appreciate some advice!

 

@CuteCat

 

For my WF I changed the next section in python files (__init__.py) in AnkiConnect add-on: 

 

    @api()
    def loadProfile(self, name):
        if name not in self.window().pm.profiles():
            # return False
            return self.window().pm.profiles()
        if not self.window().isVisible():
            self.window().pm.load(name)
            self.window().loadProfile()
            self.window().profileDiag.closeWithoutQuitting()
        else:
            cur_profile = self.window().pm.name
            if cur_profile != name:
                self.window().unloadProfileAndShowProfileManager()
                self.loadProfile(name)
        # return True
        return self.window().pm.profiles()

I changed lines in comments - ("return False" & "return True")

Edited by bikeNik
  • 4 weeks later...
Posted (edited)

 

Downloaded latest update and ankiconnect but im getting a message saying waiting-for-refresh. Nothing happens when I use the refresh under settings, would appreciate some advice!

Basically I have the same problem, how could I solve it?

 

UPD: sorry, problem is solved: Anki Connect didn't work properly 

Edited by bot4343
  • 3 months later...
Posted

It said that I'm working without anki connect. But I've already installed the plugin and restarted anki.

I also have installed node.js 12+

I'm currently working on Catalina with Alfred 4.

Does't anyone has similar issue?

Jietu20200409-121022@2x.jpg

Posted (edited)
3 hours ago, Astatine-213 said:

I've already installed the plugin and restarted anki.

 

@Astatine-213 Please, check this address. 

http://127.0.0.1:8765

you should get return with the following text:

 

AnkiConnect v.6

 

Edited by bikeNik
  • 1 month later...
Posted

Installed. but there's something wrong. I don't know what.

 

When I digit ":anki" how I should use it?

How I can insert e new card?

 

I Set the profile with my email address. It seems ok, but when I digit ":anki" it says the same "set some profile for workflow" .

How can i fix this? Thank you very much

 

1605793233_Screenshot2020-05-14at14_07_57.png.a8b87e707720b86c8069912aeb26b06d.png

 

 

  • 1 month later...
Posted (edited)

Great workflow! The only issue I'm having is that I can only add a "front" but not a "back". 

 

image.thumb.png.ce002633e39af910c566eb536c7b3ec5.png

 

When I press "back" (in my case "Rückseite"), there is a brief flash of the following image:

 

image.png.cfbc1f84ed21f1e8421adeeaad870a45.png

 

Right after, I get the following (blank) Alfred bar with the Anki icon:

 

image.thumb.png.fb03fade173a629370eaf63bd77bc67a.png

 

I'm using Catalina 10.15.4.

 

Any idea what's wrong? Thanks for your help!

 

Best,

Henrik

Edited by henrik

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...