mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-07 05:40:17 +00:00
Ensure markdown entries in khoj.el results separated by empty line
- Update khoj.el test to reflect updated rendering logic - Move ledger render function before image rendered to group functions with similar logic closer
This commit is contained in:
@@ -177,7 +177,7 @@ Use `which-key` if available, else display simple message in echo area"
|
|||||||
;; Extract markdown entry from each item in json response
|
;; Extract markdown entry from each item in json response
|
||||||
(cdr (assoc 'entry json-response-item))
|
(cdr (assoc 'entry json-response-item))
|
||||||
;; Format markdown entry as a string
|
;; Format markdown entry as a string
|
||||||
(format "%s")
|
(format "%s\n\n")
|
||||||
;; Standardize results to 2nd level heading for consistent rendering
|
;; Standardize results to 2nd level heading for consistent rendering
|
||||||
(replace-regexp-in-string "^\#+" "##"))))
|
(replace-regexp-in-string "^\#+" "##"))))
|
||||||
;; Render entries into markdown formatted string with query set as as top level heading
|
;; Render entries into markdown formatted string with query set as as top level heading
|
||||||
@@ -204,6 +204,18 @@ Use `which-key` if available, else display simple message in echo area"
|
|||||||
;; remove leading (, ) or SPC from extracted entries string
|
;; remove leading (, ) or SPC from extracted entries string
|
||||||
(replace-regexp-in-string "^[\(\) ]" ""))))
|
(replace-regexp-in-string "^[\(\) ]" ""))))
|
||||||
|
|
||||||
|
(defun khoj--extract-entries-as-ledger (json-response query)
|
||||||
|
"Convert JSON-RESPONSE, QUERY from API to ledger entries."
|
||||||
|
(thread-last json-response
|
||||||
|
;; extract and render entries from API response
|
||||||
|
(mapcar (lambda (args) (format "%s\n\n" (cdr (assoc 'entry args)))))
|
||||||
|
;; Set query as heading in rendered results buffer
|
||||||
|
(format ";; %s\n\n%s\n" query)
|
||||||
|
;; remove leading (, ) or SPC from extracted entries string
|
||||||
|
(replace-regexp-in-string "^[\(\) ]" "")
|
||||||
|
;; remove trailing (, ) or SPC from extracted entries string
|
||||||
|
(replace-regexp-in-string "[\(\) ]$" "")))
|
||||||
|
|
||||||
(defun khoj--extract-entries-as-images (json-response query)
|
(defun khoj--extract-entries-as-images (json-response query)
|
||||||
"Convert JSON-RESPONSE, QUERY from API to html with images."
|
"Convert JSON-RESPONSE, QUERY from API to html with images."
|
||||||
(let ((image-results-buffer-html-format-str "<html>\n<body>\n<h1>%s</h1>%s\n\n</body>\n</html>")
|
(let ((image-results-buffer-html-format-str "<html>\n<body>\n<h1>%s</h1>%s\n\n</body>\n</html>")
|
||||||
@@ -232,18 +244,6 @@ Use `which-key` if available, else display simple message in echo area"
|
|||||||
;; remove trailing (, ) or SPC from extracted entries string
|
;; remove trailing (, ) or SPC from extracted entries string
|
||||||
(replace-regexp-in-string "[\(\) ]$" ""))))
|
(replace-regexp-in-string "[\(\) ]$" ""))))
|
||||||
|
|
||||||
(defun khoj--extract-entries-as-ledger (json-response query)
|
|
||||||
"Convert JSON-RESPONSE, QUERY from API to ledger entries."
|
|
||||||
(thread-last json-response
|
|
||||||
;; extract and render entries from API response
|
|
||||||
(mapcar (lambda (args) (format "%s\n\n" (cdr (assoc 'entry args)))))
|
|
||||||
;; Set query as heading in rendered results buffer
|
|
||||||
(format ";; %s\n\n%s\n" query)
|
|
||||||
;; remove leading (, ) or SPC from extracted entries string
|
|
||||||
(replace-regexp-in-string "^[\(\) ]" "")
|
|
||||||
;; remove trailing (, ) or SPC from extracted entries string
|
|
||||||
(replace-regexp-in-string "[\(\) ]$" "")))
|
|
||||||
|
|
||||||
(defun khoj--buffer-name-to-content-type (buffer-name)
|
(defun khoj--buffer-name-to-content-type (buffer-name)
|
||||||
"Infer content type based on BUFFER-NAME."
|
"Infer content type based on BUFFER-NAME."
|
||||||
(let ((enabled-content-types (khoj--get-enabled-content-types))
|
(let ((enabled-content-types (khoj--get-enabled-content-types))
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
(json-read-from-string
|
(json-read-from-string
|
||||||
"[\
|
"[\
|
||||||
{\
|
{\
|
||||||
\"entry\": \"## Upgrade\\n\\n Penance to Immortality\\n\",\
|
\"entry\": \"## Upgrade\\n\\n Penance to Immortality\",\
|
||||||
\"score\": \"0.376\",\
|
\"score\": \"0.376\",\
|
||||||
\"additional\": {\
|
\"additional\": {\
|
||||||
\"file\": \"/home/ravan/upgrade.md\",\
|
\"file\": \"/home/ravan/upgrade.md\",\
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
}\
|
}\
|
||||||
},\
|
},\
|
||||||
{\
|
{\
|
||||||
\"entry\": \"## Act\\n\\n Rule everything\\n\",\
|
\"entry\": \"## Act\\n\\n Rule everything\",\
|
||||||
\"score\": \"0.153\",\
|
\"score\": \"0.153\",\
|
||||||
\"additional\": {\
|
\"additional\": {\
|
||||||
\"file\": \"/home/ravan/act.md\",\
|
\"file\": \"/home/ravan/act.md\",\
|
||||||
@@ -67,10 +67,10 @@
|
|||||||
# Become God\n\
|
# Become God\n\
|
||||||
## Upgrade\n\
|
## Upgrade\n\
|
||||||
\n\
|
\n\
|
||||||
Penance to Immortality\n\
|
Penance to Immortality\n\n\
|
||||||
## Act\n\
|
## Act\n\
|
||||||
\n\
|
\n\
|
||||||
Rule everything\n"))))
|
Rule everything\n\n"))))
|
||||||
|
|
||||||
|
|
||||||
(ert-deftest khoj-tests--extract-entries-as-org ()
|
(ert-deftest khoj-tests--extract-entries-as-org ()
|
||||||
|
|||||||
Reference in New Issue
Block a user