[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/kiwix 8d5e53c 138/192: add query string related wikiped
From: |
Stefan Monnier |
Subject: |
[elpa] externals/kiwix 8d5e53c 138/192: add query string related wikipedia entries through kiwix AJAX instantly search |
Date: |
Sat, 19 Dec 2020 00:41:48 -0500 (EST) |
branch: externals/kiwix
commit 8d5e53cdf6163961e3c99f9aed23ffb4fd64e1bf
Author: stardiviner <numbchild@gmail.com>
Commit: stardiviner <numbchild@gmail.com>
add query string related wikipedia entries through kiwix AJAX instantly
search
---
kiwix.el | 36 ++++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)
diff --git a/kiwix.el b/kiwix.el
index 22552e9..fb4c5ae 100644
--- a/kiwix.el
+++ b/kiwix.el
@@ -191,6 +191,23 @@
:error (function* (lambda (&rest args &key error-thrown
&allow-other-keys)
(setq kiwix-server-available? nil)))))
+(defun kiwix-ajax-search-hints (input)
+ "Instantly AJAX request to get available Kiwix entry keywords
+list and return a list result."
+ (let* ((ajax-api
"http://127.0.0.1:8089/suggest?content=wikipedia_zh_all_2015-11&term=")
+ (ajax-url (concat ajax-api input))
+ (data (request-response-data
+ (request ajax-url
+ :type "GET"
+ :sync t
+ :headers '(("Content-Type" . "application/json"))
+ :parser #'json-read
+ :success (function*
+ (lambda (&key data &allow-other-keys)
+ (print data)))))))
+ (if (vectorp data)
+ (mapcar 'cdar data))))
+
;;;###autoload
(defun kiwix-at-point (&optional interactively)
"Search for the symbol at point with `kiwix-query'.
@@ -203,14 +220,17 @@ for query string and library interactively."
(let* ((library (if (or kiwix-search-interactively interactively)
(kiwix-select-library)
(kiwix--get-library-name kiwix-default-library)))
- (query (if interactively
- (read-string "Kiwix Search: "
- (if mark-active
- (buffer-substring (region-beginning)
(region-end))
- (thing-at-point 'symbol)))
- (progn (if mark-active
- (buffer-substring (region-beginning)
(region-end))
- (thing-at-point 'symbol))))))
+ (query (completing-read
+ "Kiwix related entries: "
+ (kiwix-ajax-search-hints
+ (if interactively
+ (read-string "Kiwix Search: "
+ (if mark-active
+ (buffer-substring
(region-beginning) (region-end))
+ (thing-at-point 'symbol)))
+ (progn (if mark-active
+ (buffer-substring (region-beginning)
(region-end))
+ (thing-at-point 'symbol))))))))
(message (format "library: %s, query: %s" library query))
(if (or (null library)
(string-empty-p library)
- [elpa] externals/kiwix 4b093e0 128/192: add autoload cookies for some necessary functions, (continued)
- [elpa] externals/kiwix 4b093e0 128/192: add autoload cookies for some necessary functions, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix c662f3d 129/192: roll the version to release, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 5fbf5bc 141/192: use symbol under point or region text as initial input for Ivy, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix d4d5ee0 149/192: Add an option for user to specify default browse-url function., Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix ca3f70b 150/192: fix URL construct part missing slash., Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 885a6c5 166/192: set kiwix-serve not started no response error handling, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 33e8cbb 106/192: fix functions docstring., Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix aea0901 125/192: simplify Org kiwix link select library logic, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 878b02b 131/192: remove autoload cookies for Org link commands, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 1861f27 134/192: replace simple url-retrieve-synchronously with library request.el, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 8d5e53c 138/192: add query string related wikipedia entries through kiwix AJAX instantly search,
Stefan Monnier <=
- [elpa] externals/kiwix 87c1246 139/192: simplify kiwix read input, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix cc6a8df 140/192: implement instantly async completion backend with Ivy, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix b185775 143/192: fix hardcoded `kiwix-ajax-search-hints` API URL, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 32ad2cb 148/192: update Org Mode name, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix d2065a1 152/192: fix default browse-url variable name, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 4082292 155/192: provide a helper function to refresh available kiwix libraries, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 7e18994 158/192: add a custom option for kiwix default libraries path, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 4243689 156/192: check whether Docker image "kiwix/kiwix-serve" is available, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix d7c4778 162/192: select library require matched in candidates, Stefan Monnier, 2020/12/19
- [elpa] externals/kiwix 5b5b117 163/192: improve the kiwix-query URL to use the search API, Stefan Monnier, 2020/12/19