diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..8351c19 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +14 diff --git a/bookmarks/queries.py b/bookmarks/queries.py index bcce913..06652c6 100644 --- a/bookmarks/queries.py +++ b/bookmarks/queries.py @@ -40,11 +40,20 @@ def query_bookmarks(user: User, query_string: str): | Q(url__contains=term) ) - for tag_name in query['tag_names']: + if 'untagged' in query['special_searches']: + print(query_set) + query_set = query_set.filter( - tags__name__iexact=tag_name + tags=None ) + print(query_set) + else: + for tag_name in query['tag_names']: + query_set = query_set.filter( + tags__name__iexact=tag_name + ) + # Sort by modification date query_set = query_set.order_by('-date_modified') @@ -94,11 +103,14 @@ def _parse_query_string(query_string): keywords = query_string.strip().split(' ') keywords = [word for word in keywords if word] - search_terms = [word for word in keywords if word[0] != '#'] + search_terms = [word for word in keywords if (word[0] != '#' and word[0] != "!")] tag_names = [word[1:] for word in keywords if word[0] == '#'] tag_names = unique(tag_names, str.lower) + special_searches = [word[1:] for word in keywords if word[0] == "!"] + return { 'search_terms': search_terms, 'tag_names': tag_names, + 'special_searches': special_searches } diff --git a/bookmarks/templates/bookmarks/tag_cloud.html b/bookmarks/templates/bookmarks/tag_cloud.html index f15d8e2..2276a54 100644 --- a/bookmarks/templates/bookmarks/tag_cloud.html +++ b/bookmarks/templates/bookmarks/tag_cloud.html @@ -20,4 +20,6 @@ {% endfor %}

{% endfor %} +
+ Untagged diff --git a/package-lock.json b/package-lock.json index fda7964..b29ee9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "linkding", - "version": "1.0.0", + "version": "1.1.1", "lockfileVersion": 1, "requires": true, "dependencies": {