Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 23 additions & 9 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -305,12 +305,7 @@
var defaultExcludeFilters = [];
const filterButtonTitles = ['Exclude', 'Include'];
const filterButtonColors = ['#c82333', 'green'];

$.ajax({
async: false,
type: 'GET',
url: `/default-filters?token=${token}`,
success: function(data) {
function applyFilters(data) {
if (data.include) {
for (let i = 0; i < data.include.length; i++) {
filters[FilterEnum.include]
Expand All @@ -325,8 +320,8 @@
defaultExcludeFilters.push(data.exclude[i].id);
}
}
console.log(filters);
}
});

var previewFrame = document.getElementById("preview-frame"); // div
var hoverNode = document.getElementById("hovernode"); // iframe
Expand Down Expand Up @@ -410,7 +405,7 @@
} else {
$('#colormode-checkbox').bootstrapToggle('off')
}

$('#colormode-checkbox').change(function() {
if(this.checked) {
$(document.body).addClass("darkmode");
Expand Down Expand Up @@ -524,7 +519,26 @@
}
}
}
var filterSource;
setCurrentBufferSource();
$.get(`/default-filters?force=1&token=${token}`, function(data, status){
defaultExcludeFilters = []
defaultIncludeFilters = []
console.log(`Connection to /default-filters: ${status}`);
applyFilters(JSON.parse(data.substring(data.indexOf(':') + 1)));
filterSource = new EventSource(`/default-filters?token=${token}`);
console.log(filterSource.readyState);
filterSource.onmessage = function (event) {

defaultExcludeFilters = []
defaultIncludeFilters = []
filters[0].clear();
filters[1].clear();
applyFilters(JSON.parse(event.data));
view.refresh();
updateDropdown();
}
});

function debugFunction() {
}
Expand All @@ -551,7 +565,7 @@
reload();

$("#reload-button").click(function() {
roamSource.close()
roamSource.close();
reload();
currentBuffer.close()
setCurrentBufferSource();
Expand Down
29 changes: 26 additions & 3 deletions org-roam-server.el
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,12 @@ or [{ \"id\": \"test\", \"parent\" : \"tags\" }]"
:group 'org-roam-server
:type 'string)

(defcustom org-roam-server-tags ""
"Option to set tags.
Format: +tag1 -tag2 +tag3"
:group 'org-roam-server
:type 'string)

(defcustom org-roam-server-link-auto-replace t
"When non-nil, replace Org-roam's roam links on export."
:group 'org-roam-server
Expand Down Expand Up @@ -447,6 +453,21 @@ DESCRIPTION is the shown attribute to the user if the image is not rendered."
html-link org-roam-server-token desc)
(format "<img src=%s alt=%s />" html-link desc)))))))

(defun org-roam-server-set-tags()
"Process org-roam-server-tags"
(interactive)
(let* (
(tags (read-string "Tags: " org-roam-server-tags))
(tags-temp (cdr (split-string tags "\ [\+]")))
(plus (mapcar (lambda(a) (string-trim (car (split-string a "\ [\-]")))) tags-temp))
(tags-temp (cdr (split-string tags "\ [\-]")))
(minus (mapcar (lambda(a) (string-trim (car (split-string a "\ [\+]")))) tags-temp)))

(setq org-roam-server-default-include-filters (json-encode (mapcar (lambda (tag) (list (cons 'id tag ) (cons 'parent "tags"))) plus)))
(setq org-roam-server-default-exclude-filters (json-encode (mapcar (lambda (tag) (list (cons 'id tag ) (cons 'parent "tags"))) minus)))
(setq org-roam-server-tags tags)
))

;;;###autoload
(define-minor-mode org-roam-server-mode
"Start the http server and serve org-roam files."
Expand Down Expand Up @@ -556,14 +577,16 @@ DESCRIPTION is the shown attribute to the user if the image is not rendered."
(if (not (string= org-roam-server-token token))
(httpd-error httpd-current-proc 403)))
(insert (or org-roam-server-style ":empty")))

(defservlet* default-filters application/json (token)
(setq org-roam-server-default-filters-last "")
(defservlet* default-filters text/event-stream (token &optional force)
(if org-roam-server-authenticate
(if (not (string= org-roam-server-token token))
(httpd-error httpd-current-proc 403)))
(insert (format "{\"include\" : %s, \"exclude\": %s}"
(when (or force (not (equal org-roam-server-default-filters-last org-roam-server-tags)))
(insert (format "data: %s\n\n" (format "{\"include\" : %s, \"exclude\": %s}"
org-roam-server-default-include-filters
org-roam-server-default-exclude-filters)))
(setq org-roam-server-default-filters-last org-roam-server-tags)))

(defun org-roam-server-insert-title (title)
"Insert the TITLE as `org-document-title`."
Expand Down