Nothing Special   »   [go: up one dir, main page]

Skip to content
/ fc4r Public

A flexible file tagging system based on filenames with support for aliases and configurable relationships between tags

License

Notifications You must be signed in to change notification settings

noxware/fc4r

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FC4R

example workflow

Introduction

A flexible file tagging system based on filenames with support for aliases and configurable relationships between tags JIT evaluated.

Project status

The project reached an MVP state and is usable and working. But with my little time I have to dedicate to this project, I prefer to focus on adding features instead of polishing the existing ones. So at the moment, if used without care, you may encounter some rough edges.

For the moment the cargo version means nothing.

Features

  • Tag files directly in the filename.
  • Tagging syntax tries to use only alphanumeric characters making it easy to type even when writting the filename from a mobile device virtual keyboard.
  • The same tag can be written in different ways thanks to aliases.
  • A tag can be defined and configured to imply another tag, allowing helpful relationships between them.
  • The system is composed of individual executables/commands that can be composed between them and also with your own software if necessary.
  • Contains a good amount of unit tests.
  • Obsidian integration thanks to fc4r-obsidian unlocks new ways to work with embedded files.

Limitations

  • Can only query files inside a folder where a fileclass config directory has been initialized by the fcinit command.

  • Involves walking the whole directory at least once with the fcwalk command before doing a query. This works fine for personal usage but in the future more efficient escape hatches will be added for more demanding use cases like integration with databases instead of filesystems.

  • At the moment, tagged directories are not well handled by the system.

  • To view the results of a query you will need to generate filesystem links with fclink or move the files using fcmv.

    UPDATE: You can also display results of a query inside a Obsidian note using fc4r-obsidian.

  • Although the project is tested, it doesn't handle unexpected errors or weird cases very well. This is because it is still in development and I have limited time to dedicate to this project so I prefer to focus on adding features for the moment.

Guides and tutorials

I will write some in depth guide when more features are added, but for the moment you will need to figure it out using the examples in the docs directory.

Future planned features

  • Allow querying folders without initializing a configuration for them.
  • Move file system dependency out of the fcq executable.
  • Support some escape hatch to avoid walking a whole directory again and again when needing to query the same files multiple times.
  • Support a long-lived process or server for making queries.
  • Start using semantic versioning.
  • E2E testing.
  • Automatic release compilation, and changelog.
  • Find a way to integrate with RDBMS.
  • Support tags on the right side of the filename.

License

All code in this repo is MIT licensed unless said otherwise. See the license file for details.

About

A flexible file tagging system based on filenames with support for aliases and configurable relationships between tags

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages