Git Product home page Git Product logo

anki.el's People

Contributors

chenyanming avatar doolio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

anki.el's Issues

Running anki throws a json-readtable-error

GNU Emacs 27.2-1
Arch Linux

(use-package anki
  :straight (anki :type git :host github :repo "chenyanming/anki.el")
  :init
  (add-hook 'anki-mode-hook #'shrface-mode)
  (add-hook 'anki-card-mode-hook #'shrface-mode)
  (autoload 'anki "anki")
  (autoload 'anki-browser "anki")
  (autoload 'anki-list-decks "anki")
  :config
  (setq anki-shr-rendering-functions (append anki-shr-rendering-functions shr-external-rendering-functions))
  (setq sql-sqlite-program "/usr/bin/sqlite3")
  (setq anki-collection-dir "/home/jonny/.local/share/Anki2/Usuário 1"))

After running M-x Anki or M-x Anki-Browser it gives the error Debugger entered--Lisp error: (json-readtable-error 99)

emacs -debug-init

Debugger entered--Lisp error: (json-readtable-error 99)
  signal(json-readtable-error (99))
  json-read()
  json-read-from-string("cp: overwrite '/tmp/collection.anki2'? \2")
  (let* ((json-array-type 'list) (json-object-type 'hash-table) (json-false nil)) (json-read-from-string (anki-core-query anki-core-query-models)))
  (let ((models (let* ((json-array-type 'list) (json-object-type 'hash-table) (json-false nil)) (json-read-from-string (anki-core-query anki-core-query-models))))) (setq anki-core-models-hash-table models) models)
  anki-core-parse-models()
  (let* ((query-result (anki-core-query anki-core-query-cards)) (lines (if query-result (split-string query-result anki-core-sql-newline)))) (anki-core-parse-models) (anki-core-parse-decks) (cond ((equal "" query-result) '("")) (t (let* ((--cl-var-- lines) (line nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq line (car --cl-var--)) (if (not (equal line "")) (progn (setq --cl-var-- ...))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)))))
  anki-core-parse-cards()
  (let* ((--cl-var-- (anki-core-parse-cards)) (card nil)) (while (consp --cl-var--) (setq card (car --cl-var--)) (if (hash-table-p card) (progn (let ((id (gethash ... card))) (puthash 'card-format (anki-core-format-card-hash-table card) card) (setq anki-core-database-index (cons id anki-core-database-index)) (puthash id card cards)))) (setq --cl-var-- (cdr --cl-var--))) nil)
  (let ((cards (make-hash-table :test 'equal))) (let* ((--cl-var-- (anki-core-parse-cards)) (card nil)) (while (consp --cl-var--) (setq card (car --cl-var--)) (if (hash-table-p card) (progn (let ((id ...)) (puthash 'card-format (anki-core-format-card-hash-table card) card) (setq anki-core-database-index (cons id anki-core-database-index)) (puthash id card cards)))) (setq --cl-var-- (cdr --cl-var--))) nil) (setq anki-core-hash-table cards) cards)
  anki-core-cards()
  (hash-table-values (anki-core-cards))
  anki-core-cards-list()
  (setq anki-search-entries (anki-core-cards-list))
  (progn (setq anki-search-entries (anki-core-cards-list)) (setq anki-full-entries anki-search-entries))
  (if anki-search-entries anki-search-entries (progn (setq anki-search-entries (anki-core-cards-list)) (setq anki-full-entries anki-search-entries)))
  anki()
  funcall-interactively(anki)
  call-interactively(anki record nil)
  command-execute(anki record)
  counsel-M-x-action("anki")
  ivy-call()
  ivy-read("M-x " [eww-buffer-select Post\ Handshake\ Auth ansi-color-apply-overlay-face epg-context-signers locals 0 --cl-block-eaf-deferred-object-errorback--cmacro-- vc-git-stash-snapshot denied custom-face-menu pdf-cache-renderpage-highlight pdf-cache-pagelinks bbdb-current-record duplicate olp mml-secure-smime-sign-with-sender url-cookie-multiple-line url-scheme-registry no-activate vc-src-log-switches prequery mixal gnus-summary-recenter avl-tree--stack-store--cmacro bibtex-reformat-previous-reference-keys which-key-side-window-max-height org-fragtog-ignore-predicates :examined org-agenda-regexp-filter-preset vc-git-conflicted-files edited-forwarded-messages IBM\ Plex\ Sans\ Condensed semanticdb-project-database-file-child-p shr-parse-image-data \" line-num message-kill-actions nnheader-translate-file-chars package-menu--new-package-list vc-bzr-shelve ---5 gnus-summary-catchup-from-here :start-time ---8 sessions dont-create calc-embedded-mode-hook define-mode-local-override mu4e-view-image-max-height doc-view-pdf/ps->png ...] :predicate #f(compiled-function (sym) #<bytecode 0x157af2c92721>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)

Error when open emacs

GNU Emacs 28.0.50
Linux Mint 19.3

(use-package anki
  :straight (anki :type git :host github :repo "chenyanming/anki.el")
  :init
  (add-hook 'anki-mode-hook #'shrface-mode)
  (add-hook 'anki-card-mode-hook #'shrface-mode)
  (autoload 'anki "anki")
  (autoload 'anki-browser "anki")
  (autoload 'anki-list-decks "anki")
  :config
  (setq sql-sqlite-program "~/bin/sqlite/sqlite3")
  (setq anki-collection-dir "~/.local/share/Anki2/User 1")
  (setq anki-audio-player "mpv")
  ;; (setq anki-audio-player (or (executable-find "aplay") (executable-find "afplay")))
  (setq anki-shr-rendering-functions (append anki-shr-rendering-functions shr-external-rendering-functions)))

I get this error when starting emacs.

Error (use-package): anki/:catch: Cannot open load file: No such file or directory, emacsql-sqlite

emacs -debug-init

Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "emacsql-sqlite")
  require(emacsql-sqlite)
  eval-buffer(#<buffer  *load*-109428> nil "/home/last/.emacs.d/straight/build/anki/anki-core...." nil t)  ; Reading at buffer position 896
  load-with-code-conversion("/home/last/.emacs.d/straight/build/anki/anki-core...." "/home/last/.emacs.d/straight/build/anki/anki-core...." nil t)
  require(anki-core)
  eval-buffer(#<buffer  *load*-580086> nil "/home/last/.emacs.d/straight/build/anki/anki.el" nil t)  ; Reading at buffer position 1114
  load-with-code-conversion("/home/last/.emacs.d/straight/build/anki/anki.el" "/home/last/.emacs.d/straight/build/anki/anki.el" t t)
  require(anki nil t)
  (not (require 'anki nil t))
  (if (not (require 'anki nil t)) (display-warning 'use-package (format "Cannot load %s" 'anki) :error) (condition-case err (progn (setq sql-sqlite-program "~/bin/sqlite/sqlite3") (setq anki-collection-dir "~/.local/share/Anki2/User 1") (setq anki-audio-player "mpv") (setq anki-shr-rendering-functions (append anki-shr-rendering-functions shr-external-rendering-functions)) t) ((debug error) (funcall use-package--warning65 :config err))))
  (progn (condition-case err (progn (add-hook 'anki-mode-hook #'shrface-mode) (add-hook 'anki-card-mode-hook #'shrface-mode) (autoload 'anki "anki") (autoload 'anki-browser "anki") (autoload 'anki-list-decks "anki")) ((debug error) (funcall use-package--warning65 :init err))) (if (not (require 'anki nil t)) (display-warning 'use-package (format "Cannot load %s" 'anki) :error) (condition-case err (progn (setq sql-sqlite-program "~/bin/sqlite/sqlite3") (setq anki-collection-dir "~/.local/share/Anki2/User 1") (setq anki-audio-player "mpv") (setq anki-shr-rendering-functions (append anki-shr-rendering-functions shr-external-rendering-functions)) t) ((debug error) (funcall use-package--warning65 :config err)))))
  (condition-case err (progn (condition-case err (progn (add-hook 'anki-mode-hook #'shrface-mode) (add-hook 'anki-card-mode-hook #'shrface-mode) (autoload 'anki "anki") (autoload 'anki-browser "anki") (autoload 'anki-list-decks "anki")) ((debug error) (funcall use-package--warning65 :init err))) (if (not (require 'anki nil t)) (display-warning 'use-package (format "Cannot load %s" 'anki) :error) (condition-case err (progn (setq sql-sqlite-program "~/bin/sqlite/sqlite3") (setq anki-collection-dir "~/.local/share/Anki2/User 1") (setq anki-audio-player "mpv") (setq anki-shr-rendering-functions (append anki-shr-rendering-functions shr-external-rendering-functions)) t) ((debug error) (funcall use-package--warning65 :config err))))) ((debug error) (funcall use-package--warning65 :catch err)))
  eval-buffer(#<buffer  *load*> nil "/home/last/.emacs.d/init.el" nil t)  ; Reading at buffer position 27791
  load-with-code-conversion("/home/last/.emacs.d/init.el" "/home/last/.emacs.d/init.el" t t)
  load("/home/last/.emacs.d/init" noerror nomessage)
  startup--load-user-init-file(#f(compiled-function () #<bytecode 0x2f4c7aea8315f07>) #f(compiled-function () #<bytecode 0x81a386fa1b19353>) t)
  command-line()
  normal-top-level()

Modifying the original anki database

Why doesn't anki.el modify the original anki database? What work needs to be done to make it happen? I think that being able to use both anki.el and the official Anki app would be really awesome.

Audio is not working

When a card with audio is open, just noise comes as audio.

Is this correct (setq anki-audio-player (or (executable-find "aplay") (executable-find "afplay")))?

(executable-find "aplay") is repeat twice.

(executable-find "aplay")
=> "/usr/bin/aplay"

In anki-mode contents of cards displayed: as a "<hr><div>".

GNU Emacs 27.1
Arch Linux

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
(add-to-list 'load-path "~/.emacs.d/lisp/anki/")
(require 'anki)
(setq sql-sqlite-program "/usr/bin/sqlite3")
(setq anki-collection-dir "/home/comp/.local/share/Anki2/1")
(setq anki-audio-player "mpv")
(require 'shrface)
(setq anki-shr-rendering-functions (append anki-shr-rendering-functions shr-external-rendering-functions))
(custom-set-variables
'(package-selected-packages '(cl-lib-highlight exec-path-from-shell emacsql-sqlite)))
(custom-set-faces
)

In anki-mode contents of cards displayed: as a:
<hr><div>
And I see messages:
Symbol's function definition is void: copy-list
let: Wrong type argument: char-or-string-p, nil
In anki-browser, I can see flashcards.

2
1

Editing cards in Emacs

Is it possible to edit the shrface rendered card in its Emacs buffer and have the results write back to the Anki database?

Lisp error: (wrong-type-argument char-or-string-p nil)

hi, im using This is GNU Emacs 26.1 (build 2, arm-unknown-linux-gnueabihf, GTK+ Version 3.24.5)
of 2021-02-07, modified by Debian.

Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil)
json-read-from-string(nil)
(let* ((json-array-type 'list) (json-object-type 'hash-table) (json-false nil)) (json-read-from-string (anki-core-query anki-core-query-models)))
(let ((models (let* ((json-array-type 'list) (json-object-type 'hash-table) (json-false nil)) (json-read-from-string (anki-core-query anki-core-query-models))))) (setq anki-core-models-hash-table models) models)
anki-core-parse-models()
(let* ((query-result (anki-core-query anki-core-query-cards)) (lines (if query-result (split-string query-result anki-core-sql-newline)))) (anki-core-parse-models) (anki-core-parse-decks) (cond ((equal "" query-result) '("")) (t (let* ((--cl-var-- lines) (line nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq line (car --cl-var--)) (if (not (equal line "")) (progn (setq --cl-var-- (cons (anki-core-parse-card-to-hash-table line) --cl-var--)))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)))))
anki-core-parse-cards()
(let* ((--cl-var-- (anki-core-parse-cards)) (card nil)) (while (consp --cl-var--) (setq card (car --cl-var--)) (if (hash-table-p card) (progn (let ((id (gethash 'id card))) (puthash 'card-format (anki-core-format-card-hash-table card) card) (setq anki-core-database-index (cons id anki-core-database-index)) (puthash id card cards)))) (setq --cl-var-- (cdr --cl-var--))) nil)
(let ((cards (make-hash-table :test 'equal))) (let* ((--cl-var-- (anki-core-parse-cards)) (card nil)) (while (consp --cl-var--) (setq card (car --cl-var--)) (if (hash-table-p card) (progn (let ((id (gethash 'id card))) (puthash 'card-format (anki-core-format-card-hash-table card) card) (setq anki-core-database-index (cons id anki-core-database-index)) (puthash id card cards)))) (setq --cl-var-- (cdr --cl-var--))) nil) (setq anki-core-hash-table cards) cards)
anki-core-cards()
(hash-table-values (anki-core-cards))
anki-core-cards-list()
(setq anki-search-entries (anki-core-cards-list))
(progn (setq anki-search-entries (anki-core-cards-list)) (setq anki-full-entries anki-search-entries))
(if anki-search-entries anki-search-entries (progn (setq anki-search-entries (anki-core-cards-list)) (setq anki-full-entries anki-search-entries)))
anki()
funcall-interactively(anki)
call-interactively(anki record nil)
command-execute(anki record)
execute-extended-command(nil "anki" "anki")
funcall-interactively(execute-extended-command nil "anki" "anki")
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)

Stop working after updating

M-x anki throw this message json-read: JSON readtable error: 2.

Debugging:

(setq debug-on-error t)

Debugger entered--Lisp error: (json-readtable-error 2)
  signal(json-readtable-error (2))
  json-read()
  json-read-from-string("\2")
  anki-parse-decks()
  anki-parse-cards()
  anki-format-cards()
  anki()
  funcall-interactively(anki)
  call-interactively(anki record nil)
  command-execute(anki record)
  execute-extended-command(nil "anki" nil)
  funcall-interactively(execute-extended-command nil "anki" nil)
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

(json-readtable-error 99)

When enabling debugging, getting this:

Debugger entered--Lisp error: (json-readtable-error 99)
signal(json-readtable-error (99))
json-read()
json-read-from-string("cp: overwrite '/tmp/collection.anki2'? ")
(let* ((json-array-type 'list) (json-object-type 'hash-table) (json-false nil)) (json-read-from-string (anki-core-query anki-core-query-models)))
(let ((models (let* ((json-array-type 'list) (json-object-type 'hash-table) (json-false nil)) (json-read-from-string (anki-core-query anki-core-query-models))))) (setq anki-core-models-hash-table models) models)
anki-core-parse-models()
(let* ((query-result (anki-core-query anki-core-query-cards)) (lines (if query-result (split-string query-result anki-core-sql-newline)))) (anki-core-parse-models) (anki-core-parse-decks) (cond ((equal "" query-result) '("")) (t (let* ((--cl-var-- lines) (line nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq line (car --cl-var--)) (if (not (equal line "")) (progn (setq --cl-var-- ...))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--)))))
anki-core-parse-cards()
(let* ((--cl-var-- (anki-core-parse-cards)) (card nil)) (while (consp --cl-var--) (setq card (car --cl-var--)) (if (hash-table-p card) (progn (let ((id (gethash ... card))) (puthash 'card-format (anki-core-format-card-hash-table card) card) (setq anki-core-database-index (cons id anki-core-database-index)) (puthash id card cards)))) (setq --cl-var-- (cdr --cl-var--))) nil)
(let ((cards (make-hash-table :test 'equal))) (let* ((--cl-var-- (anki-core-parse-cards)) (card nil)) (while (consp --cl-var--) (setq card (car --cl-var--)) (if (hash-table-p card) (progn (let ((id ...)) (puthash 'card-format (anki-core-format-card-hash-table card) card) (setq anki-core-database-index (cons id anki-core-database-index)) (puthash id card cards)))) (setq --cl-var-- (cdr --cl-var--))) nil) (setq anki-core-hash-table cards) cards)
anki-core-cards()
(hash-table-values (anki-core-cards))
anki-core-cards-list()
(setq anki-search-entries (anki-core-cards-list))
(progn (setq anki-search-entries (anki-core-cards-list)) (setq anki-full-entries anki-search-entries))
(if anki-search-entries anki-search-entries (progn (setq anki-search-entries (anki-core-cards-list)) (setq anki-full-entries anki-search-entries)))
anki()
funcall-interactively(anki)
call-interactively(anki record nil)
command-execute(anki record)
execute-extended-command(nil "anki" #("anki" 0 4 (ws-butler-chg chg)))
funcall-interactively(execute-extended-command nil "anki" #("anki" 0 4 (ws-butler-chg chg)))
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)

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.