agray.org > repos > tagem
Source code on Github or as git-bundle
Demonstration on GitHub Pages
FRONTEND.mdegs.md.gitmodulesADMIN_GUIDE.mdexample.cfgDockerfile.win64README.mdserver/src/qry-get_attribute_name-tokens.txtserver/src/info_extractor-domainid.txtserver/src/server-endpoints.txtserver/src/str_utils.hppserver/src/server.cppserver/src/errors.hppserver/src/fn_successness.hppserver/src/db_info.hppserver/src/initialise_tagem_db.hppserver/src/log.hppserver/src/curl_utils.hppserver/src/info_extractor.hppserver/src/mimetype.hppserver/src/test.hppserver/src/skip_to_body.hppserver/src/static/js/admin.jsserver/src/static/js/document.on-ready.jsserver/src/static/js/storage.jsserver/src/static/js/file.jsserver/src/static/js/tbls.jsserver/src/static/js/nicknames.jsserver/src/static/js/external_dbs.jsserver/src/static/js/paste-txt.jsserver/src/static/js/alert.jsserver/src/static/js/thumbs.jsserver/src/static/js/init.jsserver/src/static/js/humanise.jsserver/src/static/js/error.jsserver/src/static/js/playlist.jsserver/src/static/js/add_to_db.jsserver/src/static/js/view-device.jsserver/src/static/js/login.jsserver/src/static/js/state.jsserver/src/static/js/cookies.jsserver/src/static/js/era.jsserver/src/static/js/qry.jsserver/src/static/js/colour-picker.jsserver/src/static/js/.gitignoreserver/src/static/js/select3.jsserver/src/static/js/utils.jsserver/src/static/js/escape-html.jsserver/src/static/js/svg.jsserver/src/static/js/dirs.jsserver/src/static/js/description.jsserver/src/static/js/hidden.jsserver/src/static/js/popup.jsserver/src/static/js/text-editor.jsserver/src/static/js/history.jsserver/src/static/js/files.jsserver/src/static/js/box.jsserver/src/static/js/globals.jsserver/src/static/js/devices.jsserver/src/static/js/tasks.jsserver/src/static/js/stylesheet-switching.jsserver/src/static/js/ajax.jsserver/src/static/js/set-profile-meta.jsserver/src/static/js/prompt.jsserver/src/static/js/upload.jsserver/src/static/js/profile-name.jsserver/src/static/js/get-selected-ids.jsserver/src/static/js/time.jsserver/src/static/js/user-settings.jsserver/src/static/js/tags.jsserver/src/static/js/regexp.jsserver/src/static/js/split.jsserver/src/static/css/table_as_table.cssserver/src/static/css/profile.cssserver/src/static/css/table_as_blocks.cssserver/src/static/css/.gitignoreserver/src/python.hppserver/src/qry.hppserver/src/nullable_string_view.hppserver/src/qry-help-text.txtserver/src/utils.test.js.hppserver/src/thumbnailer.hppserver/src/os.hppserver/src/get_cookies.hppserver/src/initialise_tagem_db.cppserver/src/qry-process_arg-tokens.txtserver/src/.gitignoreserver/src/help.txtserver/src/handler_buf_pool.hppserver/src/os.cppserver/src/user_agent.hppserver/src/thread_pool.hppserver/src/info_extractor-verify.txtserver/src/verify_str.hppserver/src/qry-cli.cppserver/src/fix-missing-symbol.monkeypatch.cppserver/src/user_auth.hppserver/src/html/keyboard-shortcuts.htmlserver/src/html/credits.htmlserver/src/html/svg/tabler-icons.txtserver/src/html/svg/.gitignoreserver/src/html/svg/mine.txtserver/src/html/profile.htmlserver/src/html/components/change-file-to-backup.htmlserver/src/html/components/tbl.htmlserver/src/html/examples.htmlserver/src/html/filter-syntax.htmlserver/src/curl_utils.cppserver/src/db_info.cppserver/src/qry.cppserver/src/python_stuff.hppserver/CMakeLists.txtserver/client/userscripts/reddit.jsserver/.gitignoreCMakeLists.txtDESIGN_DECISIONS.mdADMIN_ADVANCED_USAGE.mdDockerfileCONTRIBUTING.mdCOMPILING.md.gitignorecaffe/src/gen-img-db.cppcaffe/CMakeLists.txtUSER_GUIDE.mdINSTALL.mdtagemConfig.cmake.incommands.sqlLICENSEutils/src/procedures.sqlutils/src/init_user_admin.sqlutils/src/init.sqlutils/src/view-instances.cpputils/src/init_data.sqlutils/src/init.cpputils/src/init_user_guest.sqlutils/src/ffmpeg-stuff.hpputils/src/hash.cpputils/src/extract-audio.hpputils/src/init_user_invalid.sqlutils/src/triggers.sqlutils/CMakeLists.txtutils/.gitignoreutils/Makefilescripts/record-mediascripts/.gitignorescripts/tagem-authscripts/record-reddit-postffmpegthumbnailer-static.patchSTATS.mdtagemConfigVersion.cmake.in

tagem

Description

A single page application, with associated command-line utilities, for the rapid categorising and accessing of files, based on assignable attributes such as (heirarchical) tags, named variables, file sizes, hashes, and audio duration.

Features

Demonstration

A neutered version of this app is hosted on GitHub. Most features are disabled - it is basically just a demonstration of the front-end. It seems to be out of date - due to YouTube API changes - so I will fix it soon.

A sample of features in the demo:

See the user guide (linked below) for some examples of features.

User Guide

For those using the web app

See USER_GUIDE.md

Server Admin Guide

For those running the server

See ADMIN_GUIDE.md

See ADMIN_ADVANCED_USAGE.md for more complex features and use cases.

Installation

See INSTALL.md.

Scripts

You'll probably want to add the scripts directory to your PATH environmental variable, or perhaps just copy the scripts to /usr/local/bin.

The Reddit userscript can be added the usual way you add userscripts.

Roadmap

See the list of officially planned features.

Contributing

I'm very happy to consider pull requests. Particularly - but definitely not limited to - front-end development.

Translations of documentation is also of course welcome, alongside bug reports, and general feedback.

Back End

See COMPILING.md, CONTRIBUTING.md, and DESIGN_DECISIONS.md.

Front End

See CONTRIBUTING.md, and FRONTEND.md.

Stats

See STATS.md for some Git contribution graphs.

Background

If you feel like there aren't enough blogs on the internet, here's another. It's a look at how this project evolved from some unlikely decisions, as I'm personally interested in how the Butterfly Effect occurs in software development.

FAQ

What files does it support?

Obviously it should support the viewing of any kind of file that your browser does. Practically, detecting the file type can be a bit of an issue - it is fully accurate for files it downloads, it's pretty good for videos and audio, but if you rename a PNG file to a JPEG there's no current way it will be able to tell it's actually a PNG.

Similar Projects

License

This code is licensed only under the GPL-3 license.