Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Kruemmelspalter/FileSpider
FileSpider is a software for organizing and editing documents consisting of a main file and optionally different assets like images.
https://github.com/Kruemmelspalter/FileSpider
javascript organisation organization rust sqlite sqlx tauri typescript vue vue3 vuejs
Last synced: 2 months ago
JSON representation
FileSpider is a software for organizing and editing documents consisting of a main file and optionally different assets like images.
- Host: GitHub
- URL: https://github.com/Kruemmelspalter/FileSpider
- Owner: Kruemmelspalter
- License: agpl-3.0
- Created: 2022-10-03T17:30:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-23T07:55:34.000Z (9 months ago)
- Last Synced: 2024-08-07T00:28:37.330Z (6 months ago)
- Topics: javascript, organisation, organization, rust, sqlite, sqlx, tauri, typescript, vue, vue3, vuejs
- Language: Rust
- Homepage:
- Size: 1.02 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- project-awesome - Kruemmelspalter/FileSpider - FileSpider is a software for organizing and editing documents consisting of a main file and optionally different assets like images. (Rust)
README
# FileSpider
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/kruemmelspalter/filespider/build.yml)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/kruemmelspalter/filespider/tests.yml?label=tests)
![GitHub](https://img.shields.io/github/license/kruemmelspalter/filespider)
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/kruemmelspalter/filespider)
![GitHub release (latest SemVer including pre-releases)](https://img.shields.io/github/v/release/kruemmelspalter/filespider?include_prereleases)
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/kruemmelspalter/filespider)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 noteThese 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 to `done,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 tag `school` -> All stuff related to school
- `homework,cs`: matches all documents with tags `cs` and `homework` -> All CS homework
- `homework,!done`: matches all documents with the tag `homework` and without the tag `done`-> All homework that still
needs to be doneThe 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## Used Technologies
### Backend
The backend is written in Rust and uses the [tauri](https://tauri.app/) 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.### Frontend
The frontend is written in Vue.js and uses Vuetify.js for the UI components.
## Supported Platforms
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.## Setup
Launch the AppImage or install the deb package and launch the application.
### Development Setup
Use `cargo tauri dev` for an auto-reloading development server
## Usage
- 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