hasu / notdeft Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jrblevin/deft
NotDeft note manager for Emacs
Home Page: https://tero.hasu.is/notdeft/
This project forked from jrblevin/deft
NotDeft note manager for Emacs
Home Page: https://tero.hasu.is/notdeft/
File path information not showing in buffer (no change at all) with the following elisp from documentation:
(setq notdeft-file-display-function (lambda (file w) (when (> w 30) (let* ((s (file-name-nondirectory (directory-file-name (notdeft-dir-of-file file)))) (s (pcase s ("bibliography-notes" "bib") ("homepage-notes" "hp") (_ s))) (s (if (> (string-width s) 12) (truncate-string-to-width s 12) s))) (concat " " s)))))
Is it possible to specify a default query, e.g. "path:misc?"
For anyone else that would prefer that the title be the filename rather than the first line of the file, I forked the project and added the ability to specify a function for the title.
Lines 16 to 24 in 17aff32
HERE:
When nil, incremental search is limited to files
in the current `notdeft-directory' (if any)."
## org-notes content
$ find ~/org-notes -type f -name '*.org' | xargs -I% bash -c "echo -e '\nFILE: %'; cat %"
FILE: /home/delta/org-notes/banana/kernel.org
hello, I'm Mr banana kernel.
FILE: /home/delta/org-notes/apple/juice.org
This is an apple juice.
$ cat ~/test.el
(add-to-list 'load-path "~/notdeft")
(load "notdeft-example")
(setq notdeft-xapian-program nil) ;; test point
(setq notdeft-directories '("~/org-notes/apple" "~/org-notes/banana"))
(setq notdeft-directory "~/org-notes/apple")
(notdeft)
$ emacs -nw -Q ~/test.el
M-x eval-buffer RET
If the docstring is correct(though not my wish), it should display This is an apple juice.
item alone instead of two items. so I guess the docstring is outdated, needs to be update.
hey @hasu
Is it possible to display title of the org-file instead of first line of the file when notdeft
is called.
display buffer when M-x deft
is called
display buffer when M-x notdeft
is called
deft used deft-strip-title-regexp
variable to strip title from the org-file and display it in deft
buffer.
If #+TITLE:
or #+title:
is not present in the file, file name
is used.
Is it possible to do that in notdeft
?
Is there any way to autosave an edited file from the notdeft buffer? Deft does this by default. Many thanks in advance!
Any chance of you pushing this package to melpa?
Daryl.
Attempt to index is now failing with an "is a directory" error; I suspect it's something about the file-name (auto-generated by org-download-image
):
notdeft-cache-newer-file: Read error: Is a directory, /home/emacsomancer/Documents/Org/org-roam/daily/[[file:../20210410085803-walnut_ink.org][walnut_ink]]_lightfastness_test_-_[[https:/web.archive.org [4 times]
No similar issue when using Deft.
Org files can have a properties drawer at the top of the file. See https://orgmode.org/manual/Property-Syntax.html
notdeft-parse-buffer doesn't handle it correctly right now. I added the following regexp which works on my files.
((looking-at "^\\(?:%\\|@;\\|<!--\\)?[[:blank:]]*:[[:graph:]]+:.*$") ;; ignore PROPERTIES drawer
(goto-char (match-end 0)))
If you agree, please fix. Org-roam v2 will use org ids for linking, and they go in the top properties drawer.
Hello,
By random chance, I discovered your project, and it looks great!
I got it running in the capacity of "deft". But I am having trouble using the title: search.
For example, I have this Org file (it shows up fine in the *NotDeft* buffer). Its contents are:
#+TITLE: sed
#+AUTHOR: Kaushal Modi
#+SETUPFILE: ~/org/common/config.org
#+STARTUP: inlineimages
* Hold Buffer
..
But searching for "title:sed" does not return this note.
What am I doing wrong?
Also, I have many notes with lowercase #+title:
instead of #+TITLE:
. Is the search for title case-sensitive? If so, can you please make the Org keyword searches for title, tags, etc. case-insensitive?
Thanks.
Hello, I use vertico insteady of ivy
rm notdeft-autoloads.el .elc extras/.elc
rm: cannot remove 'extras/*.elc': No such file or directory
make: [Makefile:15: clean] Error 1 (ignored)
emacs --batch -L . -l notdeft-install -f notdeft-install-autoloads -f notdeft-install-bytecode
INFO Scraping files for notdeft-autoloads.el...
INFO Scraping files for notdeft-autoloads.el...done
Loading /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft-autoloads.el (source)...
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft-global.el...
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft-install.el...
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft-org.el...
In notdeft-make-deft-link:
notdeft-org.el:72:4:Warning: ‘org-make-link-string’ is an obsolete function
(as of Org 9.3); use ‘org-link-make-string’ instead.
In notdeft-org-store-notdeft-link:
notdeft-org.el:202:6:Warning: ‘org-store-link-props’ is an obsolete function
(as of Org 9.3); use ‘org-link-store-props’ instead.
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft-org8.el...
In toplevel form:
notdeft-org8.el:19:2:Warning: ‘org-add-link-type’ is an obsolete function (as
of Org 9.0); use ‘org-link-set-parameters’ instead.
notdeft-org8.el:30:2:Warning: ‘org-add-link-type’ is an obsolete function (as
of Org 9.0); use ‘org-link-set-parameters’ instead.
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft-org9.el...
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft-path.el...
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft-xapian-make.el...
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft-xapian.el...
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/notdeft.el...
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/extras/notdeft-global-hydra.el...
In toplevel form:
extras/notdeft-global-hydra.el:24:1:Error: Cannot open load file: No such file or directory, hydra
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/extras/notdeft-ivy.el...
In toplevel form:
extras/notdeft-ivy.el:18:1:Error: Cannot open load file: No such file or directory, ivy
Compiling /home/perrierjouet/.emacs.d/site-elisp/notdeft/extras/notdeft-mode-hydra.el...
In toplevel form:
extras/notdeft-mode-hydra.el:22:1:Error: Cannot open load file: No such file or directory, hydra
Hello,
Can you please enable case-insensitive parsing of Org keywords?
From my earlier comment:
Yes, any #+TITLE keyword is parsed in a case sensitive manner, currently. I'm not sure if lowercase in-buffer setting keywords are exactly documented syntax for Org—haven't seen it stated explicitly in the docs.
Org actually parses all
#+
keywords in case-insensitive fashion. There even was a commit few months back that showed the preference to use lower-case keywords. (I liked that very much and even have a little helper function to lower-case all keywords in the current Org document 😄 ).
Hello. I'm having a little problem and, since I'm a total newbie on emacs, don't know how to handle it. Every time I start a new note I cannot enter a newline and the modeline show me this error: symbol function definition is void: ad-advice-newline-and-indent.
Can you give me some advice on how to handle this?
Thanks in advance.
Now that deft seems to be on minimal maintenance, are there any plans to integrate the latest?
Failing to compile notdeft-xapian on Ubuntu 18.04. TCLAP is installed. Error produced below. Many thanks in advance!
notdeft/xapian$ make
g++ -o notdeft-xapian -std=c++11 -Wall pkg-config --cflags --libs tclap
xapian-config --cxxflags --libs
notdeft-xapian.cc
/usr/bin/ld: /tmp/cckUXbuT.o: in function doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)::{lambda(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&)#1}::operator()(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&) const': notdeft-xapian.cc:(.text+0x18ab): undefined reference to
Xapian::Document::Document()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x18c4): undefined reference to Xapian::Document::set_data(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x18fc): undefined reference to
Xapian::Document::add_value(unsigned int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x193f): undefined reference to Xapian::Document::add_value(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x195b): undefined reference to
Xapian::TermGenerator::set_document(Xapian::Document const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x1cbf): undefined reference to Xapian::TermGenerator::increase_termpos(unsigned int)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x1f0f): undefined reference to
Xapian::TermGenerator::increase_termpos(unsigned int)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x2151): undefined reference to Xapian::TermGenerator::increase_termpos(unsigned int)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x2405): undefined reference to
Xapian::Document::~Document()'
/usr/bin/ld: /tmp/cckUXbuT.o: in function doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)::{lambda(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&)#2}::operator()(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&) const': notdeft-xapian.cc:(.text+0x24d6): undefined reference to
Xapian::WritableDatabase::add_document(Xapian::Document const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x24e2): undefined reference to Xapian::Document::~Document()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x2503): undefined reference to
Xapian::Document::~Document()'
/usr/bin/ld: /tmp/cckUXbuT.o: in function doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)::{lambda(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&, unsigned int)#3}::operator()(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&, unsigned int) const': notdeft-xapian.cc:(.text+0x25b9): undefined reference to
Xapian::WritableDatabase::replace_document(unsigned int, Xapian::Document const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x25c5): undefined reference to Xapian::Document::~Document()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x25e6): undefined reference to
Xapian::Document::~Document()'
/usr/bin/ld: /tmp/cckUXbuT.o: in function doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)::{lambda(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&)#4}::operator()(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&) const': notdeft-xapian.cc:(.text+0x2687): undefined reference to
Xapian::WritableDatabase::delete_document(unsigned int)'
/usr/bin/ld: /tmp/cckUXbuT.o: in function doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)': notdeft-xapian.cc:(.text+0x3844): undefined reference to
Xapian::TermGenerator::TermGenerator()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x3868): undefined reference to Xapian::Stem::Stem(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x3881): undefined reference to
Xapian::TermGenerator::set_stemmer(Xapian::Stem const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x3a78): undefined reference to Xapian::WritableDatabase::WritableDatabase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x3c67): undefined reference to
Xapian::WritableDatabase::begin_transaction(bool)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x3cb3): undefined reference to Xapian::Database::postlist_begin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/bin/ld: notdeft-xapian.cc:(.text+0x3d7c): undefined reference to
Xapian::PostingIterator::operator*() const'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x3da1): undefined reference to Xapian::Database::get_document(unsigned int) const' /usr/bin/ld: notdeft-xapian.cc:(.text+0x3dba): undefined reference to
Xapian::Document::get_dataabi:cxx11 const'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x3dd8): undefined reference to Xapian::Document::get_value[abi:cxx11](unsigned int) const' /usr/bin/ld: notdeft-xapian.cc:(.text+0x3e65): undefined reference to
Xapian::Document::~Document()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x3e74): undefined reference to Xapian::PostingIterator::operator++()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x43d5): undefined reference to
Xapian::WritableDatabase::commit_transaction()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x4420): undefined reference to Xapian::WritableDatabase::~WritableDatabase()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x4470): undefined reference to
Xapian::Stem::~Stem()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x447f): undefined reference to Xapian::TermGenerator::~TermGenerator()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x4ba1): undefined reference to
Xapian::Document::~Document()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x4cdb): undefined reference to Xapian::WritableDatabase::~WritableDatabase()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x4d4b): undefined reference to
Xapian::Stem::~Stem()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x4d62): undefined reference to Xapian::TermGenerator::~TermGenerator()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x4da0): undefined reference to
Xapian::Error::get_descriptionabi:cxx11 const'
/usr/bin/ld: /tmp/cckUXbuT.o: in function doSearch(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)': notdeft-xapian.cc:(.text+0x5c64): undefined reference to
Xapian::Database::Database()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x5dbf): undefined reference to Xapian::Database::Database(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x5dd8): undefined reference to
Xapian::Database::add_database(Xapian::Database const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x5dee): undefined reference to Xapian::Database::~Database()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x5e52): undefined reference to
Xapian::Enquire::Enquire(Xapian::Database const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x5e74): undefined reference to Xapian::Enquire::set_sort_by_value(unsigned int, bool)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x5e98): undefined reference to
Xapian::Enquire::set_sort_by_value(unsigned int, bool)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x5ea7): undefined reference to Xapian::QueryParser::QueryParser()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x5f1f): undefined reference to
Xapian::QueryParser::add_prefix(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x5fd3): undefined reference to Xapian::QueryParser::add_prefix(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6087): undefined reference to
Xapian::QueryParser::add_prefix(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x613b): undefined reference to Xapian::QueryParser::add_prefix(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x619b): undefined reference to
Xapian::Stem::Stem(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x61da): undefined reference to Xapian::Query::MatchAll' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6200): undefined reference to
Xapian::QueryParser::set_stemmer(Xapian::Stem const&)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x6219): undefined reference to Xapian::QueryParser::set_database(Xapian::Database const&)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x622d): undefined reference to
Xapian::QueryParser::set_stemming_strategy(Xapian::QueryParser::stem_strategy)'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x62c2): undefined reference to Xapian::QueryParser::parse_query(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6331): undefined reference to
Xapian::Query::get_descriptionabi:cxx11 const'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x6385): undefined reference to Xapian::Enquire::set_query(Xapian::Query const&, unsigned int)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x639d): undefined reference to
Xapian::Database::get_doccount() const'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x63e0): undefined reference to Xapian::Enquire::get_mset(unsigned int, unsigned int, unsigned int, Xapian::RSet const*, Xapian::MatchDecider const*) const' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6463): undefined reference to
Xapian::MSetIterator::get_document() const'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x647c): undefined reference to Xapian::Document::get_data[abi:cxx11]() const' /usr/bin/ld: notdeft-xapian.cc:(.text+0x64c5): undefined reference to
Xapian::Document::~Document()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x64f7): undefined reference to Xapian::MSet::~MSet()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6515): undefined reference to
Xapian::Stem::~Stem()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x6524): undefined reference to Xapian::QueryParser::~QueryParser()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6533): undefined reference to
Xapian::Enquire::~Enquire()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x656b): undefined reference to Xapian::Database::~Database()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6b65): undefined reference to
Xapian::Database::~Database()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x6d71): undefined reference to Xapian::Document::~Document()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6d9f): undefined reference to
Xapian::MSet::~MSet()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x6dc5): undefined reference to Xapian::Stem::~Stem()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6ddc): undefined reference to
Xapian::QueryParser::~QueryParser()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x6df3): undefined reference to Xapian::Enquire::~Enquire()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x6e21): undefined reference to
Xapian::Database::~Database()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x6e5f): undefined reference to Xapian::Error::get_description[abi:cxx11]() const' /usr/bin/ld: /tmp/cckUXbuT.o: in function
doDump(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >)':
notdeft-xapian.cc:(.text+0x7361): undefined reference to Xapian::Database::Database(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' /usr/bin/ld: notdeft-xapian.cc:(.text+0x7390): undefined reference to
Xapian::Database::metadata_keys_begin(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x7428): undefined reference to Xapian::TermIterator::operator*[abi:cxx11]() const' /usr/bin/ld: notdeft-xapian.cc:(.text+0x7448): undefined reference to
Xapian::Database::get_metadata(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x7537): undefined reference to Xapian::Database::allterms_begin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/bin/ld: notdeft-xapian.cc:(.text+0x75e5): undefined reference to
Xapian::TermIterator::operator*abi:cxx11 const'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x766b): undefined reference to Xapian::Database::~Database()' /usr/bin/ld: notdeft-xapian.cc:(.text+0x7890): undefined reference to
Xapian::Database::~Database()'
/usr/bin/ld: notdeft-xapian.cc:(.text+0x7917): undefined reference to Xapian::Error::get_description[abi:cxx11]() const' /usr/bin/ld: /tmp/cckUXbuT.o: in function
Xapian::PostingIterator::~PostingIterator()':
notdeft-xapian.cc:(.text._ZN6Xapian15PostingIteratorD2Ev[_ZN6Xapian15PostingIteratorD5Ev]+0x20): undefined reference to Xapian::PostingIterator::decref()' /usr/bin/ld: /tmp/cckUXbuT.o: in function
Xapian::TermIterator::~TermIterator()':
notdeft-xapian.cc:(.text._ZN6Xapian12TermIteratorD2Ev[_ZN6Xapian12TermIteratorD5Ev]+0x20): undefined reference to Xapian::TermIterator::decref()' /usr/bin/ld: /tmp/cckUXbuT.o: in function
Xapian::TermIterator::operator++abi:cxx11':
notdeft-xapian.cc:(.text._ZN6Xapian12TermIteratorppB5cxx11Ei[_ZN6Xapian12TermIteratorppB5cxx11Ei]+0x32): undefined reference to Xapian::TermIterator::operator*[abi:cxx11]() const' /usr/bin/ld: notdeft-xapian.cc:(.text._ZN6Xapian12TermIteratorppB5cxx11Ei[_ZN6Xapian12TermIteratorppB5cxx11Ei]+0x46): undefined reference to
Xapian::TermIterator::operator++()'
/usr/bin/ld: /tmp/cckUXbuT.o: in function Xapian::TermGenerator::index_text(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': notdeft-xapian.cc:(.text._ZN6Xapian13TermGenerator10index_textERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS8_[_ZN6Xapian13TermGenerator10index_textERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS8_]+0x4c): undefined reference to
Xapian::TermGenerator::index_text(Xapian::Utf8Iterator const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/usr/bin/ld: /tmp/cckUXbuT.o: in function Xapian::TermGenerator::index_text_without_positions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': notdeft-xapian.cc:(.text._ZN6Xapian13TermGenerator28index_text_without_positionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS8_[_ZN6Xapian13TermGenerator28index_text_without_positionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS8_]+0x4c): undefined reference to
Xapian::TermGenerator::index_text_without_positions(Xapian::Utf8Iterator const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/usr/bin/ld: /tmp/cckUXbuT.o: in function Xapian::MSetIterator::MSetIterator(Xapian::MSet const&, unsigned int)': notdeft-xapian.cc:(.text._ZN6Xapian12MSetIteratorC2ERKNS_4MSetEj[_ZN6Xapian12MSetIteratorC5ERKNS_4MSetEj]+0x22): undefined reference to
Xapian::MSet::MSet(Xapian::MSet const&)'
/usr/bin/ld: /tmp/cckUXbuT.o: in function Xapian::MSetIterator::~MSetIterator()': notdeft-xapian.cc:(.text._ZN6Xapian12MSetIteratorD2Ev[_ZN6Xapian12MSetIteratorD5Ev]+0x14): undefined reference to
Xapian::MSet::~MSet()'
/usr/bin/ld: /tmp/cckUXbuT.o: in function Xapian::MSet::begin() const': notdeft-xapian.cc:(.text._ZNK6Xapian4MSet5beginEv[_ZNK6Xapian4MSet5beginEv]+0x18): undefined reference to
Xapian::MSet::size() const'
collect2: error: ld returned 1 exit status
make: *** [Makefile:10: notdeft-xapian] Error 1
The xapian database currently goes in .notdeft-db directory inside the org / roam directory. The db includes a few large files, and as the number of my notes is growing the size is growing, for example my .notdeft-db is now 44MB. From what I see each file is touched every time a note is touched.
I use syncthing to sync this directory across multiple machines, and therefore each time I touch a note all these files need to be replicated across. Also, there is a potential for corruption if for some reason files are touched on multiple machines.
For now I can work around this issue with symlinks, but it will be good to have a built-in solution. Thanks.
Is there a simple way to get a list of existing #+keywords used?
Thanks again!
Hello, i use your tool, because it is very fast and stable. But unfortunately PDF indexing is very slow out of the box. Extracting with Pdftotxt or similar might be faster.
Is it possible?
Regards
Poul
Is there an easy way to include "#keyword" format in notdeft buffer tag searches? Preferably, where "#keyword" can be located anywhere in the text. Many thanks in advance!
Hi,
I have not much experience compiling C++ programs. I have installed the deps but compiliation fails (using g++ (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0) with the following output:
g++ -o notdeft-xapian -std=c++11 -Wall `pkg-config --cflags --libs tclap` `xapian-config --cxxflags --libs` notdeft-xapian.cc
/tmp/cclA1HIj.o: In function `doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)::{lambda(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&)#1}::operator()(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&) const':
notdeft-xapian.cc:(.text+0x18b7): undefined reference to `Xapian::Document::Document()'
notdeft-xapian.cc:(.text+0x18d0): undefined reference to `Xapian::Document::set_data(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x1908): undefined reference to `Xapian::Document::add_value(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x194b): undefined reference to `Xapian::Document::add_value(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x1967): undefined reference to `Xapian::TermGenerator::set_document(Xapian::Document const&)'
notdeft-xapian.cc:(.text+0x1ccb): undefined reference to `Xapian::TermGenerator::increase_termpos(unsigned int)'
notdeft-xapian.cc:(.text+0x1f1b): undefined reference to `Xapian::TermGenerator::increase_termpos(unsigned int)'
notdeft-xapian.cc:(.text+0x215d): undefined reference to `Xapian::TermGenerator::increase_termpos(unsigned int)'
notdeft-xapian.cc:(.text+0x2411): undefined reference to `Xapian::Document::~Document()'
/tmp/cclA1HIj.o: In function `doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)::{lambda(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&)#2}::operator()(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&) const':
notdeft-xapian.cc:(.text+0x24e2): undefined reference to `Xapian::WritableDatabase::add_document(Xapian::Document const&)'
notdeft-xapian.cc:(.text+0x24ee): undefined reference to `Xapian::Document::~Document()'
notdeft-xapian.cc:(.text+0x250f): undefined reference to `Xapian::Document::~Document()'
/tmp/cclA1HIj.o: In function `doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)::{lambda(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&, unsigned int)#3}::operator()(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&, unsigned int) const':
notdeft-xapian.cc:(.text+0x25c5): undefined reference to `Xapian::WritableDatabase::replace_document(unsigned int, Xapian::Document const&)'
notdeft-xapian.cc:(.text+0x25d1): undefined reference to `Xapian::Document::~Document()'
notdeft-xapian.cc:(.text+0x25f2): undefined reference to `Xapian::Document::~Document()'
/tmp/cclA1HIj.o: In function `doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)::{lambda(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&)#4}::operator()(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long> const&) const':
notdeft-xapian.cc:(.text+0x2693): undefined reference to `Xapian::WritableDatabase::delete_document(unsigned int)'
/tmp/cclA1HIj.o: In function `doIndex(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)':
notdeft-xapian.cc:(.text+0x3850): undefined reference to `Xapian::TermGenerator::TermGenerator()'
notdeft-xapian.cc:(.text+0x3874): undefined reference to `Xapian::Stem::Stem(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x388d): undefined reference to `Xapian::TermGenerator::set_stemmer(Xapian::Stem const&)'
notdeft-xapian.cc:(.text+0x3a84): undefined reference to `Xapian::WritableDatabase::WritableDatabase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)'
notdeft-xapian.cc:(.text+0x3c73): undefined reference to `Xapian::WritableDatabase::begin_transaction(bool)'
notdeft-xapian.cc:(.text+0x3cbf): undefined reference to `Xapian::Database::postlist_begin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
notdeft-xapian.cc:(.text+0x3d88): undefined reference to `Xapian::PostingIterator::operator*() const'
notdeft-xapian.cc:(.text+0x3dad): undefined reference to `Xapian::Database::get_document(unsigned int) const'
notdeft-xapian.cc:(.text+0x3dc6): undefined reference to `Xapian::Document::get_data[abi:cxx11]() const'
notdeft-xapian.cc:(.text+0x3de4): undefined reference to `Xapian::Document::get_value[abi:cxx11](unsigned int) const'
notdeft-xapian.cc:(.text+0x3e71): undefined reference to `Xapian::Document::~Document()'
notdeft-xapian.cc:(.text+0x3e80): undefined reference to `Xapian::PostingIterator::operator++()'
notdeft-xapian.cc:(.text+0x43e1): undefined reference to `Xapian::WritableDatabase::commit_transaction()'
notdeft-xapian.cc:(.text+0x442c): undefined reference to `Xapian::WritableDatabase::~WritableDatabase()'
notdeft-xapian.cc:(.text+0x447c): undefined reference to `Xapian::Stem::~Stem()'
notdeft-xapian.cc:(.text+0x448b): undefined reference to `Xapian::TermGenerator::~TermGenerator()'
notdeft-xapian.cc:(.text+0x4bad): undefined reference to `Xapian::Document::~Document()'
notdeft-xapian.cc:(.text+0x4ce7): undefined reference to `Xapian::WritableDatabase::~WritableDatabase()'
notdeft-xapian.cc:(.text+0x4d57): undefined reference to `Xapian::Stem::~Stem()'
notdeft-xapian.cc:(.text+0x4d6e): undefined reference to `Xapian::TermGenerator::~TermGenerator()'
notdeft-xapian.cc:(.text+0x4dac): undefined reference to `Xapian::Error::get_description[abi:cxx11]() const'
/tmp/cclA1HIj.o: In function `doSearch(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)':
notdeft-xapian.cc:(.text+0x5c70): undefined reference to `Xapian::Database::Database()'
notdeft-xapian.cc:(.text+0x5dcb): undefined reference to `Xapian::Database::Database(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
notdeft-xapian.cc:(.text+0x5de4): undefined reference to `Xapian::Database::add_database(Xapian::Database const&)'
notdeft-xapian.cc:(.text+0x5dfa): undefined reference to `Xapian::Database::~Database()'
notdeft-xapian.cc:(.text+0x5e5e): undefined reference to `Xapian::Enquire::Enquire(Xapian::Database const&)'
notdeft-xapian.cc:(.text+0x5e80): undefined reference to `Xapian::Enquire::set_sort_by_value(unsigned int, bool)'
notdeft-xapian.cc:(.text+0x5ea4): undefined reference to `Xapian::Enquire::set_sort_by_value(unsigned int, bool)'
notdeft-xapian.cc:(.text+0x5eb3): undefined reference to `Xapian::QueryParser::QueryParser()'
notdeft-xapian.cc:(.text+0x5f2b): undefined reference to `Xapian::QueryParser::add_prefix(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x5fdf): undefined reference to `Xapian::QueryParser::add_prefix(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x6093): undefined reference to `Xapian::QueryParser::add_prefix(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x6147): undefined reference to `Xapian::QueryParser::add_prefix(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x61a7): undefined reference to `Xapian::Stem::Stem(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x61e6): undefined reference to `Xapian::Query::MatchAll'
notdeft-xapian.cc:(.text+0x620c): undefined reference to `Xapian::QueryParser::set_stemmer(Xapian::Stem const&)'
notdeft-xapian.cc:(.text+0x6225): undefined reference to `Xapian::QueryParser::set_database(Xapian::Database const&)'
notdeft-xapian.cc:(.text+0x6239): undefined reference to `Xapian::QueryParser::set_stemming_strategy(Xapian::QueryParser::stem_strategy)'
notdeft-xapian.cc:(.text+0x62ce): undefined reference to `Xapian::QueryParser::parse_query(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
notdeft-xapian.cc:(.text+0x633d): undefined reference to `Xapian::Query::get_description[abi:cxx11]() const'
notdeft-xapian.cc:(.text+0x6391): undefined reference to `Xapian::Enquire::set_query(Xapian::Query const&, unsigned int)'
notdeft-xapian.cc:(.text+0x63a9): undefined reference to `Xapian::Database::get_doccount() const'
notdeft-xapian.cc:(.text+0x63ec): undefined reference to `Xapian::Enquire::get_mset(unsigned int, unsigned int, unsigned int, Xapian::RSet const*, Xapian::MatchDecider const*) const'
notdeft-xapian.cc:(.text+0x646f): undefined reference to `Xapian::MSetIterator::get_document() const'
notdeft-xapian.cc:(.text+0x6488): undefined reference to `Xapian::Document::get_data[abi:cxx11]() const'
notdeft-xapian.cc:(.text+0x64d1): undefined reference to `Xapian::Document::~Document()'
notdeft-xapian.cc:(.text+0x6503): undefined reference to `Xapian::MSet::~MSet()'
notdeft-xapian.cc:(.text+0x6521): undefined reference to `Xapian::Stem::~Stem()'
notdeft-xapian.cc:(.text+0x6530): undefined reference to `Xapian::QueryParser::~QueryParser()'
notdeft-xapian.cc:(.text+0x653f): undefined reference to `Xapian::Enquire::~Enquire()'
notdeft-xapian.cc:(.text+0x6578): undefined reference to `Xapian::Database::~Database()'
notdeft-xapian.cc:(.text+0x6b73): undefined reference to `Xapian::Database::~Database()'
notdeft-xapian.cc:(.text+0x6d7f): undefined reference to `Xapian::Document::~Document()'
notdeft-xapian.cc:(.text+0x6dad): undefined reference to `Xapian::MSet::~MSet()'
notdeft-xapian.cc:(.text+0x6dd3): undefined reference to `Xapian::Stem::~Stem()'
notdeft-xapian.cc:(.text+0x6dea): undefined reference to `Xapian::QueryParser::~QueryParser()'
notdeft-xapian.cc:(.text+0x6e01): undefined reference to `Xapian::Enquire::~Enquire()'
notdeft-xapian.cc:(.text+0x6e2f): undefined reference to `Xapian::Database::~Database()'
notdeft-xapian.cc:(.text+0x6e6d): undefined reference to `Xapian::Error::get_description[abi:cxx11]() const'
/tmp/cclA1HIj.o: In function `doDump(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)':
notdeft-xapian.cc:(.text+0x736f): undefined reference to `Xapian::Database::Database(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
notdeft-xapian.cc:(.text+0x739e): undefined reference to `Xapian::Database::metadata_keys_begin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
notdeft-xapian.cc:(.text+0x7436): undefined reference to `Xapian::TermIterator::operator*[abi:cxx11]() const'
notdeft-xapian.cc:(.text+0x7456): undefined reference to `Xapian::Database::get_metadata(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
notdeft-xapian.cc:(.text+0x7545): undefined reference to `Xapian::Database::allterms_begin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
notdeft-xapian.cc:(.text+0x75f3): undefined reference to `Xapian::TermIterator::operator*[abi:cxx11]() const'
notdeft-xapian.cc:(.text+0x7679): undefined reference to `Xapian::Database::~Database()'
notdeft-xapian.cc:(.text+0x789e): undefined reference to `Xapian::Database::~Database()'
notdeft-xapian.cc:(.text+0x7925): undefined reference to `Xapian::Error::get_description[abi:cxx11]() const'
/tmp/cclA1HIj.o: In function `Xapian::PostingIterator::~PostingIterator()':
notdeft-xapian.cc:(.text._ZN6Xapian15PostingIteratorD2Ev[_ZN6Xapian15PostingIteratorD5Ev]+0x20): undefined reference to `Xapian::PostingIterator::decref()'
/tmp/cclA1HIj.o: In function `Xapian::TermIterator::~TermIterator()':
notdeft-xapian.cc:(.text._ZN6Xapian12TermIteratorD2Ev[_ZN6Xapian12TermIteratorD5Ev]+0x20): undefined reference to `Xapian::TermIterator::decref()'
/tmp/cclA1HIj.o: In function `Xapian::TermIterator::operator++[abi:cxx11](int)':
notdeft-xapian.cc:(.text._ZN6Xapian12TermIteratorppB5cxx11Ei[_ZN6Xapian12TermIteratorppB5cxx11Ei]+0x32): undefined reference to `Xapian::TermIterator::operator*[abi:cxx11]() const'
notdeft-xapian.cc:(.text._ZN6Xapian12TermIteratorppB5cxx11Ei[_ZN6Xapian12TermIteratorppB5cxx11Ei]+0x46): undefined reference to `Xapian::TermIterator::operator++()'
/tmp/cclA1HIj.o: In function `Xapian::TermGenerator::index_text(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
notdeft-xapian.cc:(.text._ZN6Xapian13TermGenerator10index_textERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS8_[_ZN6Xapian13TermGenerator10index_textERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS8_]+0x4c): undefined reference to `Xapian::TermGenerator::index_text(Xapian::Utf8Iterator const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/tmp/cclA1HIj.o: In function `Xapian::TermGenerator::index_text_without_positions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
notdeft-xapian.cc:(.text._ZN6Xapian13TermGenerator28index_text_without_positionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS8_[_ZN6Xapian13TermGenerator28index_text_without_positionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS8_]+0x4c): undefined reference to `Xapian::TermGenerator::index_text_without_positions(Xapian::Utf8Iterator const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/tmp/cclA1HIj.o: In function `Xapian::MSetIterator::MSetIterator(Xapian::MSet const&, unsigned int)':
notdeft-xapian.cc:(.text._ZN6Xapian12MSetIteratorC2ERKNS_4MSetEj[_ZN6Xapian12MSetIteratorC5ERKNS_4MSetEj]+0x22): undefined reference to `Xapian::MSet::MSet(Xapian::MSet const&)'
/tmp/cclA1HIj.o: In function `Xapian::MSetIterator::~MSetIterator()':
notdeft-xapian.cc:(.text._ZN6Xapian12MSetIteratorD2Ev[_ZN6Xapian12MSetIteratorD5Ev]+0x14): undefined reference to `Xapian::MSet::~MSet()'
/tmp/cclA1HIj.o: In function `Xapian::MSet::begin() const':
notdeft-xapian.cc:(.text._ZNK6Xapian4MSet5beginEv[_ZNK6Xapian4MSet5beginEv]+0x18): undefined reference to `Xapian::MSet::size() const'
collect2: error: ld returned 1 exit status
Makefile:10: recipe for target 'notdeft-xapian' failed
make: *** [notdeft-xapian] Error 1
Any ideas how to fix it?
TAB
, like title:sed
.C-c C-c
does not work.I get this:
If I try to manually delete the "title:sed:" portion, it gives an error saying that the buffer is read-only.. looks like that filter string is made non-editable?
For now, the only option that I have, it seems, is to kill that *NotDeft* buffer.
my directory structure is something like this:
reference
├── bookmarks
│ ├── 2019
│ ├── 2020
│ ├── 2021
│ └── 2022
├── annotations
│ ├── articles
│ └── books
├── attachments
Is it possible to query for files that are in reference/ and not in any subdir?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.