FileSpider is a software for organizing and editing documents. Documents consist of a main file and optionally different assets like images. For example:
- a Markdown document
- an HTML document with audio files embedded
- a LaTeX document split into multiple other tex files and also images
- a Xournal++ stylus note
These documents are organized via tags that can be searched for (positive and also negative filters) For example:
- done homework in CS about Java:
school,homework,done,cs,java
(could also be simplified todone,cs,java
in most cases but the filter before should always be correct) - homework that's still to do in German:
school,homework,german
- a notebook entry in English about literature:
notebook,english,literature,school
Example searches:
school
: matches all documents with the tagschool
-> All stuff related to schoolhomework,cs
: matches all documents with tagscs
andhomework
-> All CS homeworkhomework,!done
: matches all documents with the taghomework
and without the tagdone
-> All homework that still needs to be done
The documents are rendered in a specified way, for example:
- LaTeX files are rendered using pdflatex
- HTML files and images are just served plainly
- Markdown is rendered using pandoc and uses KaTeX for math
The backend is written in Rust and uses the tauri framework for the GUI. It uses a SQLite 3
database for storing document metadata and sqlx
for database access. The documents are stored in a directory that
defaults to ~/.local/share/filespider/
. They are rendered with various renderers depending on the document type and
being stored in the .cache
directory in the document directory.
The frontend is written in Vue.js and uses Vuetify.js for the UI components.
Currently, only Linux is supported. Windows is not supported as the hashing library is not Windows compatible, but I will soon replace it and make the app Windows compatible (see #87). I'm not sure about macOS as I don't have any Mac device to test it on.
Launch the AppImage or install the deb package and launch the application.
Use cargo tauri dev
for an auto-reloading development server
- Use the
Create Document
button to create a new document - If there already are documents, search for a document via entering appropriate tags or a crib (still requires at least one tag) in the search bar