├── .gitattributes
├── .gitignore
├── README.md
├── babel.config.js
├── docs
├── aboutdocs.md
├── ai.mdx
├── annotations.md
├── bookmarks.md
├── browsing-files.md
├── creating-files.md
├── dev
│ ├── command-line-tools.md
│ ├── deployment.md
│ ├── extension-development-guide.md
│ ├── external-config.mdx
│ └── metafileformats.md
├── editing-files.md
├── extensions
│ ├── 3d-viewer.md
│ ├── archive-viewer.md
│ ├── document-viewer.md
│ ├── ebook-viewer.md
│ ├── font-viewer.md
│ ├── html-editor.md
│ ├── html-viewer.md
│ ├── image-viewer.md
│ ├── json-editor.md
│ ├── md-editor.md
│ ├── md-viewer.md
│ ├── media-player.md
│ ├── mhtml-viewer.md
│ ├── mindmap-viewer.md
│ ├── msg-viewer.md
│ ├── pdf-viewer.md
│ ├── rtf-viewer.md
│ ├── slides-viewer.md
│ ├── spreadsheet-viewer.md
│ ├── text-editor.md
│ ├── text-viewer.md
│ └── url-viewer.md
├── files.md
├── folders.md
├── installation.md
├── intro.mdx
├── linking.md
├── markdown.md
├── mdx.md
├── perspectives
│ ├── folderviz.md
│ ├── gallery.md
│ ├── grid.md
│ ├── kanban.md
│ ├── list.md
│ └── mapique.md
├── quick-access.md
├── search.md
├── selfhosting.md
├── sharing.md
├── supported-file-formats.mdx
├── tagging.md
├── thumbnails.md
├── tutorials
│ ├── custom-map-tiles
│ │ ├── maptiler-map-overview.png
│ │ └── maptiler-urls.png
│ ├── e2ee-cryptomator
│ │ ├── add-vault.png
│ │ ├── choose-location.png
│ │ ├── connected-vault.png
│ │ ├── cryptomator-connect-vault-to-tagspaces.png
│ │ ├── cryptomator-lock-vault-button.png
│ │ ├── cryptomator-new-vault-added.png
│ │ └── cryptomator-unlock-vault.png
│ ├── e2ee-with-tagspaces-and-cryptomator.md
│ ├── file-syncing.md
│ ├── folder-customizations.md
│ ├── folders-as-objectstorage-with-s3proxy.md
│ ├── map-tiler-tutorial.md
│ ├── prepare-custom-packages.md
│ ├── s3-bucket-locations.md
│ ├── sabre-dav-setup.md
│ ├── setup-minio-bucket-nas.md
│ ├── setup-tagspaces-enterprise.md
│ ├── setup-tagspaces-enterprise
│ │ ├── amplify-configure-function.png
│ │ ├── amplify-custom-domain-2.png
│ │ ├── amplify-custom-domain-3.png
│ │ ├── amplify-custom-domain-4.png
│ │ ├── amplify-custom-domain-5.png
│ │ ├── amplify-custom-domain-6.png
│ │ ├── cognito-assign-group-to-user.png
│ │ ├── cognito-create-group.png
│ │ ├── create-extconfig-entry.png
│ │ └── dynamodb-create-items-in-tables.png
│ ├── setup-tagspaces-pro-web.md
│ ├── setup-tagspaces-web.md
│ ├── sharing-tags.md
│ ├── sharing-tags
│ │ ├── tsm-json-edit.png
│ │ └── tsm-json-view.png
│ ├── tagspaces-web-cloudflare.md
│ ├── tagspaces-web-docker.md
│ ├── tagspaces-web-docker
│ │ ├── adding-auth-nginx.png
│ │ ├── adjust-extconfigjs.png
│ │ ├── basic-auth-browser.png
│ │ ├── clean-local-storage-chrome.png
│ │ ├── configuring-pro-container.png
│ │ ├── container-configuration.png
│ │ ├── container-started.png
│ │ ├── extconfig-js-browser.png
│ │ ├── getting-tagspaces-image.png
│ │ ├── running-tagspaces-image.png
│ │ ├── tagspaces-pro-web-first-start.png
│ │ └── tagspaces-web-first-start.png
│ ├── tagspaces-web-nas
│ │ ├── container-list-qnap.png
│ │ ├── create-minio-locations.png
│ │ ├── create-user-minio.png
│ │ ├── exposed-folder-in-qnap.png
│ │ ├── files-to-replace-by-upgrade.png
│ │ ├── minio-buckets.png
│ │ ├── minio-console-login.png
│ │ ├── minio-dashboard.png
│ │ ├── minio-iam-policies.png
│ │ ├── qnap-container-station-minio.png
│ │ ├── qnap-installing-minio-container.png
│ │ ├── qnap-switch-forcing-https.png
│ │ └── tagspaces-listing-minio-bucket.png
│ ├── tagspaces-web-wasabi.md
│ ├── wasabi-locations.md
│ └── wasabi-locations
│ │ ├── connect-bucket.png
│ │ ├── copy-user-credentials.png
│ │ ├── create-bucket-properties.png
│ │ ├── create-bucket.png
│ │ ├── create-policy.png
│ │ ├── create-user.png
│ │ ├── policy-list.png
│ │ └── select-policy.png
├── ui
│ ├── i18n.md
│ ├── keybindings.md
│ ├── locations.md
│ ├── settings.md
│ ├── taglibrary.md
│ └── userinterface.md
├── viewing-files.md
└── web-clipper.md
├── docusaurus.config.js
├── google3f7026311f95953e.html
├── package-lock.json
├── package.json
├── sidebars.js
├── src
├── components
│ ├── CommonBlocks.js
│ └── VideoYT.js
└── css
│ └── custom.css
└── static
├── .nojekyll
├── _headers
├── css
└── ubuntu-font.css
├── fonts
├── ubuntu-v15-latin-regular.eot
├── ubuntu-v15-latin-regular.svg
├── ubuntu-v15-latin-regular.ttf
├── ubuntu-v15-latin-regular.woff
└── ubuntu-v15-latin-regular.woff2
├── img
├── favicon.ico
├── logo.svg
└── tagspaces-docs-logo.svg
├── media
├── ai
│ ├── ai-generated-image-description.avif
│ ├── ai-generated-image-tags.avif
│ ├── ai-generated-pdf-description.avif
│ ├── folder-chat-results.avif
│ ├── images-in-folder-chat.avif
│ ├── open-folder-chat.avif
│ ├── settings-add-ollama.avif
│ ├── settings-choose-ai-model.avif
│ ├── settings-noai.avif
│ └── settung-ollama-running.avif
├── aws
│ ├── aws-iam-create-user.png
│ ├── aws-iam-overview.png
│ ├── aws-iam-policy-creation.png
│ ├── aws-iam-start.png
│ ├── aws-iam-user-name.png
│ ├── aws-iam-user-policy.png
│ ├── aws-iam-user-success.png
│ ├── aws-s3-cors-xml.png
│ ├── aws-s3-cors.png
│ ├── aws-s3-create-access.png
│ ├── aws-s3-create-encryption.png
│ ├── aws-s3-create-name.png
│ ├── aws-s3-create-overview.png
│ ├── aws-s3-create-rootfolder.png
│ ├── aws-s3-create-success.png
│ ├── aws-s3-create.png
│ ├── aws-s3-start.png
│ ├── aws-s3-upload.png
│ └── tagspaces-create-s3-location.png
├── bookmarks-file-folder.svg
├── chrome-insecure-content.png
├── cloudflare-account-id.png
├── connecting-s3proxy-bucket.png
├── core
│ ├── browsing-area.avif
│ ├── browsing-area.svg
│ ├── copy-move-files-dialog.avif
│ ├── left-drawer.svg
│ ├── main-ui-areas.avif
│ ├── main-ui-areas.svg
│ ├── new-version-available.png
│ ├── preview-area.avif
│ ├── preview-area.svg
│ ├── printing.avif
│ ├── switch-themes-poster.avif
│ ├── switch-themes.mp4
│ ├── toggle_fullscreen.avif
│ ├── tray-menu-macos.avif
│ ├── zoomable-ui-menu.avif
│ └── zoomed-out.avif
├── create-local-locations-extendet.png
├── creativecommon.png
├── cryptomator_main.png
├── editcreate
│ ├── auto-save-switch.avif
│ ├── create-markdown-file-dialog.avif
│ ├── create-new-audio-file.avif
│ ├── create-new-file-menu.avif
│ ├── create-new-folder-dialog.avif
│ ├── create-new-link-file.avif
│ ├── create-new-plusbutton.avif
│ ├── create-new-plusbutton.svg
│ ├── distraction-free-editing.avif
│ ├── download-file-dialog.avif
│ ├── enter-edit-mode.avif
│ ├── file-edited.avif
│ ├── file-revisions.avif
│ └── tagspaces-mobile-import.jpg
├── entrydetails
│ ├── change-folder-background-poster.avif
│ ├── change-folder-background.avif
│ ├── change-folder-background.mp4
│ ├── change-folder-thumbnail.avif
│ ├── file-description.avif
│ ├── file-menu.avif
│ ├── file-menu.svg
│ ├── file-properties.svg
│ ├── file-tabs.png
│ ├── folder-background.avif
│ ├── folder-background.png
│ ├── folder-background.svg
│ ├── folder-default-perspective.avif
│ ├── folder-description.avif
│ ├── folder-menu.avif
│ ├── folder-menu.svg
│ ├── folder-properties.svg
│ └── folder-tabs.png
├── expired-download-link.png
├── extensions
│ ├── 3d-viewer.jpg
│ ├── 3d-viewer.mp4
│ ├── editor-html-lead.png
│ ├── editor-md-mermaid-diagrams.mp4
│ ├── editor-md-mermaid-diagrams.png
│ ├── editor-odf-lead.png
│ ├── font-viewer-lead.jpg
│ ├── font-viewer-lead_.png
│ ├── html-editor
│ │ ├── ToDoList.png
│ │ ├── add-checkbox-button.png
│ │ ├── alignment-button-dropdown.png
│ │ ├── change-line-height.png
│ │ ├── code-view-view.png
│ │ ├── code-view.png
│ │ ├── color-button-dropdown.png
│ │ ├── color-button.png
│ │ ├── colour-button-alt-background.png
│ │ ├── edit-link.png
│ │ ├── font-family.png
│ │ ├── font-styles.png
│ │ ├── help-button.png
│ │ ├── help-view.png
│ │ ├── html-editor-toolbar.png
│ │ ├── insert-image-dialogue.png
│ │ ├── insert-link-dialog.png
│ │ ├── insert-link-etc.png
│ │ ├── insert-table-dropdown.png
│ │ ├── paragraph-styles.png
│ │ ├── tagspaces-html-editor.png
│ │ └── todo-list-demonstration.png
│ ├── json-editor
│ │ ├── editor-json-lead.jpg
│ │ ├── json-editor-parts.png
│ │ ├── json-editor-toolbar.png
│ │ └── json-editor.png
│ ├── md-editor-menu.png
│ ├── md-editor-mindmap.png
│ ├── media-player.avif
│ ├── mhtml-viewer-readabilty-mode.gif
│ ├── mindmap-viewer-lead.png
│ ├── perspective-list-lead_.png
│ ├── slides-viewer-lead.png
│ ├── spreadsheet-viewer.png
│ ├── text-editor-code.avif
│ ├── text-editor-main.avif
│ ├── viewer-document-lead.png
│ ├── viewer-epub-lead.png
│ ├── viewer-epub-twofold.png
│ ├── viewer-epub.jpg
│ ├── viewer-epub.mp4
│ ├── viewer-html-lead.png
│ ├── viewer-html-scraping-details.png
│ ├── viewer-image-demo.gif
│ ├── viewer-image-exif.png
│ ├── viewer-image-lead.png
│ ├── viewer-md-lead.png
│ ├── viewer-mhtml-emlpreview.png
│ ├── viewer-mhtml-lead.png
│ ├── viewer-mhtml-webscraping.png
│ ├── viewer-msg-lead.png
│ ├── viewer-pdf-lead.png
│ ├── viewer-rtf-lead.png
│ ├── viewer-text-lead.png
│ ├── viewer-url-lead.png
│ └── viewer-zip-lead.png
├── filename-tagging.png
├── folderviz
│ ├── folderviz-circular-tree.avif
│ ├── folderviz-folder-tree.avif
│ ├── folderviz-linksgraph.avif
│ ├── folderviz-tagsgraph.avif
│ ├── folderviz-tree.avif
│ └── folderviz-treemap.avif
├── gallery
│ ├── gallery-masonry.png
│ ├── gallery-scroll.svg
│ └── import-exif-iptc.png
├── grid
│ ├── Screenshot 2025-04-17 at 16.01.37.png
│ ├── csv-export.avif
│ ├── drop-files-to-folder.avif
│ ├── file-context-menu.png
│ ├── file-tile.svg
│ ├── folder-context-menu.png
│ ├── folder-tile.svg
│ ├── folder-with-background-image.jpg
│ ├── folder-with-generated-thumbs.avif
│ ├── folder-with-selected-entries.png
│ ├── grid-lead.avif
│ ├── grid-perspective-toolbar.svg
│ ├── grid-perspective.png
│ ├── grid-settings.avif
│ └── grid-view-large-mode.png
├── home-screen.avif
├── inkscape-shapes.svg
├── kanban
│ ├── column-actions.png
│ ├── hero-kanban-light.png
│ ├── kanban-perspecitve-settings.png
│ └── trello-json-export.png
├── list
│ ├── list-compact-mode.avif
│ ├── list-customized.avif
│ ├── list-customized2.avif
│ ├── list-lead.avif
│ └── list-settings.avif
├── location-manager.png
├── locations
│ ├── create-local-location.jpg
│ ├── create-object-storage-location.jpg
│ ├── enable-fulltext-search.avif
│ ├── export-import-locations-poster.avif
│ ├── export-import-locations.mp4
│ ├── location-ignore-patterns.avif
│ ├── location-manual-indexing.avif
│ ├── location-tag-extraction.avif
│ ├── location-tagging-method.avif
│ └── update-all-indexes.avif
├── mac-install-confirmation.jpg
├── mapique
│ ├── geotagged-entries-openstreetmap.avif
│ ├── geotagged-files-topomap.avif
│ ├── mapique-geo-tag-pins.avif
│ ├── mapique-geo-tag-pins.png
│ ├── mapique-lead.png
│ ├── mapique-topo.png
│ └── perspective-user-interface.avif
├── open-download-from-url-dialog.avif
├── open-new-window.avif
├── quickaccess
│ └── quick-access-area.avif
├── search
│ ├── activation-global-search.avif
│ ├── advanced-search.avif
│ ├── create-stored-search.avif
│ ├── creating-stored-search-query-poster.avif
│ ├── creating-stored-search-query.mp4
│ ├── edit-stored-search.avif
│ ├── import-export-searches.avif
│ ├── import-stored-searches-dialog.avif
│ ├── open-search.avif
│ ├── search-actions.avif
│ ├── search-for-time-period.avif
│ ├── search-query-composition.avif
│ ├── search-ui.avif
│ ├── search-ui.svg
│ ├── searching-for-tags.jpg
│ ├── searching-for-tags.mp4
│ ├── tagspaces-search-by-last-modified-date.png
│ ├── tagspaces-search-by-size.png
│ ├── tagspaces-search-by-type.avif
│ └── tslink-in-search.avif
├── settings
│ ├── activation-location-tags.avif
│ ├── activation-search-history.avif
│ ├── color-coded-file-extensions.jpg
│ ├── limit-search-results.avif
│ ├── open-settings.jpg
│ ├── settings-advanced.jpg
│ ├── settings-enable-tmb-generation.avif
│ ├── settings-extensions.jpg
│ ├── settings-general.jpg
│ ├── settings-key-bindings.jpg
│ ├── settings-max-collected-tags.avif
│ ├── settings-recently-opened-entries.avif
│ ├── settings-specify-file-tagging-method.avif
│ ├── settings-tab-file-types.jpg
│ └── settings-tab-file-types.svg
├── setup
│ ├── macos-extconfig.png
│ └── windows-extconfig.png
├── sharing
│ ├── changing-location-id.avif
│ ├── copy-sharing-link.avif
│ ├── creating-links-poster.avif
│ ├── creating-links.mp4
│ ├── file-sharing-dialog.png
│ ├── generate-download-link.avif
│ ├── open-download-link-dialog.avif
│ ├── open-sharing-dialog.png
│ ├── open-sharing-link.avif
│ ├── sharing-link.avif
│ ├── sharing-snipped-gmail.png
│ ├── sharing-snipped-outlook.png
│ ├── sharing-snipped-signal.png
│ ├── sharing-snipped-thunderbird.png
│ ├── sharing-snipped-whatsapp.png
│ ├── tagspaces-links.avif
│ └── tslinks-in-search.avif
├── signed-windows-installer.png
├── swa
│ ├── deployment-desktop-app.jpg
│ ├── deployment-web-app.jpg
│ └── sw-architecture.png
├── tagging
│ ├── geo-tagging-lat-lon.avif
│ ├── geo-tagging-poster.avif
│ ├── geo-tagging.mp4
│ ├── tag-files-and-folders.avif
│ ├── tag-files-and-folders.mp4
│ ├── tagging-dnd-entry-to-entry.avif
│ ├── tagging-dnd-entrydetais.avif
│ ├── tagging-dnd-taglibrary.avif
│ ├── tagging-entry-details.avif
│ ├── tagging-multiple-tags-dialog.avif
│ ├── timestamp-tagging-poster.avif
│ └── timestamp-tagging.mp4
├── taglibrary
│ ├── edit-tag-in-taggroup.avif
│ ├── editing-location-taggroup.avif
│ ├── entry-tag-context-menu.avif
│ ├── new-tag-group-dialog.avif
│ ├── reload-location-taggroups.avif
│ ├── smart-tags-taggroup.jpg
│ ├── tag-contextmenu-taglibrary.avif
│ ├── tag-creation-dialog.avif
│ ├── tag-group-context-menu.avif
│ ├── tag-library-overview.png
│ ├── taglibary-export-dialog.avif
│ ├── taglibrary-context-menu.avif
│ ├── taglibrary-export.avif
│ ├── taglibrary-import-selection.avif
│ └── taglibrary-import.avif
├── tagspaces-dropbox-sync.png
├── tagspaces-open-folder-context-menu.avif
├── tagspaces-perspective-switch.png
├── tagspaces-pro-web-software-architecture.png
├── tagspaces-webdav-edition-sharing.png
├── tagspaces-webdav-edition.png
├── tagspaces-webdav-sharing-open.png
├── videos
│ ├── file-drag-and-drop.jpg
│ ├── file-drag-and-drop.mp4
│ ├── import-export-locations.jpg
│ ├── manager-taggroups-with-dnd.mp4
│ ├── open-locations-subfolders.mp4
│ ├── open-locations-subfolders.png
│ ├── pin-extension-chrome.mp4
│ ├── tagging-dialog-many-tags.jpg
│ ├── tagging-dialog-many-tags.mp4
│ ├── tagspaces-connect-s3-bucket.png
│ └── tagspaces-webclipper-screenshot-yt-video.png
└── webclipper
│ ├── chrome-ask-where-to-save.png
│ ├── chrome-set-extension-shortcut.png
│ ├── chrome-shortcuts-config.png
│ ├── enable-mhtml-saving-chrome.png
│ ├── web-cipper-extension.avif
│ ├── web-clipper-geotag-extraction.avif
│ ├── webclipper-content-collection.avif
│ └── webclipper-content-collection.mp4
└── robots.txt
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text eol=lf
2 | *.png binary
3 | *.jpg binary
4 | *.jpeg binary
5 | *.ico binary
6 | *.mp4 binary
7 | *.pdf binary
8 | *.avif binary
9 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | _book
2 | build
3 | .docusaurus
4 | npm-degug.log
5 | node_modules
6 | npm-debug.log
7 | *.webm
8 | aero-debug.log
9 | aero-deploy.tar.gz
10 | .ts/
11 | /../.ts
12 | deploy.sh
13 | .DS_Store
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Website
2 |
3 | This website is built using [Docusaurus](https://www.docusaurus.io/), a modern static website generator.
4 |
5 | ### Installation
6 |
7 | ```
8 | $ yarn
9 | ```
10 |
11 | ### Local Development
12 |
13 | ```
14 | $ yarn start
15 | ```
16 |
17 | This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server.
18 |
19 | ### Build
20 |
21 | ```
22 | $ yarn build
23 | ```
24 |
25 | This command generates static content into the `build` directory and can be served using any static contents hosting service.
26 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
3 | };
4 |
--------------------------------------------------------------------------------
/docs/annotations.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Annotating files and folders
3 | ---
4 |
5 | This pages was moved in the following pages:
6 |
7 | - [File annotations](/files)
8 | - [Folder annotations](/folders)
9 |
--------------------------------------------------------------------------------
/docs/bookmarks.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Bookmarks
3 | ---
4 |
5 | # Bookmark to files and folders
6 |
7 | import { ProFeature, CenteredImage, CenteredVideo, FullScreenImage } from '@site/src/components/CommonBlocks';
8 |
9 |
10 |
11 | In the PRO versions you can add any file or folder as bookmark for an easy later access.
12 |
13 | The **Bookmarks Area (1)** are accessible from the **Quick Access (2)** section as seen in the next screenshot.
14 |
15 |
20 |
21 | The adding or removing of a bookmark can be done with button marked with **(3)** in the previous screenshot.
22 |
23 | :::info
24 | Bookmark reside only in you current installation of the application, as for now they can not be transferred or shared with anybody.
25 | :::
26 |
27 | In the context menu **(4)** of the bookmarks you have the following options:
28 |
29 | - **Refresh** - will reload the bookmarks from the application memory
30 | - **Delete all Bookmarks** - will irreversible delete all your bookmarks
31 |
--------------------------------------------------------------------------------
/docs/browsing-files.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Perspectives Overview
3 | tags: [perspective]
4 | ---
5 |
6 | import { ProFeature, CenteredImage } from '@site/src/components/CommonBlocks';
7 |
8 | When you navigate to a folder in your active location, the files contained in the selected folder will be displayed in the main file browsing area of the user interface. TagSpaces offers flexible views to display your files. We call these views **perspectives**.
9 |
10 | Perspectives are modular extensions that allow more flexibility, easier development, and customizability. TagSpaces is delivered by default with two perspective, while additional perspectives can be found in the PRO products. This is a list of all currently available :
11 |
12 | - [Grid Perspective](/perspectives/grid/) - Presents files and folders in a grid format, suitable for tagging and file management. It is the **default** perspective built into TagSpaces.
13 | - [List Perspective](/perspectives/list/) - Presents files in a list format, suitable for tagging and file management.
14 | - [Gallery Perspective](/perspectives/gallery/) - Optimized for browsing and viewing images and photos.
15 | - [Mapique Perspective](/perspectives/mapique/) - Displays geo-tagged files and folders on a map. Available in the Pro edition.
16 | - [Kanban Perspective](/perspectives/kanban/) - Shows your files as tasks on a Kanban board, representing subfolders as columns on the board.
17 | - [FolderViz Perspective](/perspectives/folderviz/) - An experimental perspective that applies information visualization concepts to presenting your folder and file structures.
18 |
19 | ## Switching Perspectives
20 |
21 | The perspective for the current folder can be switched in two ways. The easiest method is to use the perspective switch located in the bottom-right corner of the application, as shown in the screenshot below.
22 |
23 | 
24 |
25 | In some cases, such as when using the application on mobile devices, the perspective switch is not available. In these cases, you can open the folder menu located in the upper-right part of the screen. From this menu, you can choose from the available perspectives, similar to the previous screenshot.
26 |
27 | :::tip
28 | Every folder can have its own **[default perspective](/folders/#default-folder-perspective)**, which can be selected in the folder properties area. Once you choose a perspective, every time you open that folder, it will be displayed using the selected perspective.
29 | :::
30 |
31 | ## Custom Perspective Settings Per Folder
32 |
33 |
34 |
35 | In the PRO version, you can assign a default perspective to any folder so that every time you open the folder, it will automatically be displayed using the selected perspective.
36 |
37 | Some perspectives support custom settings at the folder level. For example, you can set custom _sorting_, _thumbnail mode_, or _pagination limits_. You can learn more in the [perspective settings](/perspectives/grid/#perspective-settings) section.
38 |
--------------------------------------------------------------------------------
/docs/dev/command-line-tools.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Command Line Tools
3 | ---
4 |
5 | This is a set of command line tools which can create search index and thumbnails for folders used in the TagSpaces Desktop and Web apps. The source code for the tools is available on [GitHub](https://github.com/tagspaces/tagspaces-common/tree/develop/packages/tagspaces-shell)
6 |
7 | ## Installation
8 |
9 | ```
10 | npm install -global @tagspaces/shell
11 | ```
12 |
13 | ## Search index generation
14 |
15 | This tool will create a search index for a given folder with all its sub folders.
16 |
17 | Run node script:
18 |
19 | ```
20 | tscmd -m indexer /some/folder/
21 | ```
22 |
23 | This command can be used for automation e.g. in CRON jobs.
24 |
25 | ## Thumbnail generation
26 |
27 | This script will recursively create thumbnails for a specified folder with all its sub folders.
28 |
29 | You have to install [sharp](https://sharp.pixelplumbing.com/install) package globally with the following command:
30 |
31 | ```
32 | npm i sharp -g
33 | ```
34 |
35 | Set NODE_PATH environment points to global npm folder:
36 |
37 | ```
38 | export NODE_PATH=$(npm root --quiet -g)
39 | ```
40 |
41 | Run node script:
42 |
43 | ```
44 | tscmd -m thumbgen /some/folder/
45 | ```
46 |
47 | This command can be used for automation e.g. in CRON jobs.
48 | Don't forget to put the trailing slash after the folder name.
49 |
50 | ## Cleaning obsolete thumbnails and sidecar files.
51 |
52 | Running this command will analyze the specified folder:
53 |
54 | ```
55 | tscmd -m metacleaner /some/folder
56 | ```
57 |
58 | Where `-m` is for mode, which here is metacleaner. The metacleaner will analyse first the specified folder and deliver a list with files which are not needed or connected anymore. You can review the list and confirm the deletion by setting the `-a`, which is for analyse with `false` as parameter. So this command will finally perform the cleaning.
59 |
60 | ```
61 | tscmd -m metacleaner -a false /some/folder
62 | ```
63 |
64 | ## Third party tools
65 |
66 | Here you will find a list of projects which provides tooling compatible with TagSpaces. These projects are not affiliated with TagSpaces.
67 |
68 | - [TSS](https://github.com/nahoj/tss) - a command-line tool to manage files with tags, with completion provided for zsh.
69 |
--------------------------------------------------------------------------------
/docs/dev/deployment.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Deployment Strategies
3 | ---
4 |
5 | ## Deployment of the desktop app
6 |
7 | 
8 |
9 | ## Deployment of the web app
10 |
11 | 
12 |
13 | ## Deployment of both app types
14 |
15 | The following diagram shows the different ways for using the TagSpaces desktop application in combination with different deployment of the TagSpaces Web application.
16 |
17 | 
18 |
--------------------------------------------------------------------------------
/docs/extensions/3d-viewer.md:
--------------------------------------------------------------------------------
1 | import { ProFeature, CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
2 |
3 | # 3D Viewer
4 |
5 |
6 |
7 | A TagSpaces extension for opening 3D file formats.
8 |
9 | ## Features
10 |
11 | - 3D preview of GLB, GLTF, STL, and OBJ files
12 | - Rotate the models with mouse dragging
13 | - Use the mouse wheel to zoom in and out
14 | - Hold right-click and move the mouse to shift the rotation center of the model
15 | - Save a screenshot of the current 3D rendering as a PNG file
16 |
17 |
25 |
26 | ## Used Libraries
27 |
28 | This extension thankfully relies on the following great libraries:
29 |
30 | - [model-viewer](https://modelviewer.dev/)
31 | - [viewstl](https://www.viewstl.com/)
32 | - [three.js](https://threejs.org/)
33 | - [FileSaver](https://github.com/eligrey/FileSaver.js/)
34 | - [Bootstrap](https://getbootstrap.com/)
35 | - [i18next](https://www.i18next.com/)
36 |
37 | ## Installation
38 |
39 | This extension is pre-installed in TagSpaces Pro.
40 |
41 | ## License
42 |
43 | Proprietary
44 |
--------------------------------------------------------------------------------
/docs/extensions/archive-viewer.md:
--------------------------------------------------------------------------------
1 | # Archive Viewer
2 |
3 | A TagSpaces extension allowing you to preview the content of ZIP files.
4 |
5 | ## Features
6 |
7 | - Listing the content of ZIP files
8 | - Previewing the content of the files in the ZIP container
9 |
10 | 
11 |
12 | ## Used Libraries
13 |
14 | This extension thankfully relies on the following great projects:
15 |
16 | - [jszip](https://stuk.github.io/jszip/)
17 | - [Bootstrap](https://getbootstrap.com/)
18 | - [i18next](https://www.i18next.com/)
19 | - [DOMPurify](https://github.com/cure53/DOMPurify)
20 |
21 | ## Installation
22 |
23 | This extension is packaged with any new version of TagSpaces.
24 |
25 | ## Source Code
26 |
27 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/archive-viewer).
28 |
29 | ## Development
30 |
31 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
32 |
33 | ## License
34 |
35 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/archive-viewer/LICENSE.txt)
36 |
--------------------------------------------------------------------------------
/docs/extensions/document-viewer.md:
--------------------------------------------------------------------------------
1 | # Document Viewer
2 |
3 | A TagSpaces extension for previewing document files.
4 |
5 | ## Features
6 |
7 | - Preview files in DOCX format
8 | - Export the content as an HTML file
9 | - Zoom in and out of the content
10 |
11 | 
12 |
13 | ## Used Libraries
14 |
15 | This extension thankfully relies on the following great libraries:
16 |
17 | - [mammoth](https://github.com/mwilliamson/mammoth.js/)
18 | - [bootstrap](https://getbootstrap.com/)
19 | - [i18next](https://www.i18next.com/)
20 | - [mark.js](https://markjs.io/)
21 | - [dompurify](https://github.com/cure53/DOMPurify)
22 | - [jszip.js](https://stuk.github.io/jszip/)
23 |
24 | ## Installation
25 |
26 | This extension is packaged with any new version of TagSpaces.
27 |
28 | ## Source Code
29 |
30 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/document-viewer).
31 |
32 | ## Development
33 |
34 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
35 |
36 | ## License
37 |
38 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/document-viewer/LICENSE.txt)
39 |
--------------------------------------------------------------------------------
/docs/extensions/ebook-viewer.md:
--------------------------------------------------------------------------------
1 | import { ProFeature, CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
2 |
3 | # eBook Viewer
4 |
5 | A TagSpaces extension allowing you to open eBooks or digital magazines in EPUB format.
6 |
7 | ## Features
8 |
9 | - Previewing files in EPUB format
10 | - Automatically switch to two-fold mode by sufficient width
11 |
12 |
20 |
21 | ## Used Libraries
22 |
23 | This extension thankfully relies on the following great libraries:
24 |
25 | - [epub.js](https://github.com/futurepress/epub.js/)
26 | - [Bootstrap](https://getbootstrap.com/)
27 | - [i18next](https://www.i18next.com/)
28 | - [jszip.js](https://stuk.github.io/jszip/)
29 |
30 | ## Installation
31 |
32 | This extension is packaged with any new version of TagSpaces.
33 |
34 | ## Source Code
35 |
36 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/ebook-viewer).
37 |
38 | ## Development
39 |
40 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
41 |
42 | ## License
43 |
44 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/ebook-viewer/LICENSE.txt)
45 |
--------------------------------------------------------------------------------
/docs/extensions/font-viewer.md:
--------------------------------------------------------------------------------
1 | import { ProFeature, CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
2 |
3 | # Font Viewer
4 |
5 |
6 |
7 | A TagSpaces extension for previewing font files.
8 |
9 | ## Features
10 |
11 | Here is a list of the key features offered by this extension:
12 |
13 | - Supporting the following font formats: TTF, OTF, WOFF
14 | - Preview of the font with the standard sentence: _The quick brown fox jumps over the lazy dog_
15 | - Preview of the glyphs in the font file
16 |
17 |
23 |
24 | ## Used Libraries
25 |
26 | This extension thankfully relies on the following great libraries:
27 |
28 | - [Opentype.js](https://opentype.js.org/)
29 | - [Bootstrap](https://getbootstrap.com/)
30 |
31 | ## Installation
32 |
33 | This extension is pre-installed in TagSpaces Pro.
34 |
35 | ## License
36 |
37 | Proprietary
38 |
--------------------------------------------------------------------------------
/docs/extensions/html-viewer.md:
--------------------------------------------------------------------------------
1 | # HTML Viewer
2 |
3 | A TagSpaces extension allowing opening of HTML files.
4 |
5 | ## Features
6 |
7 | Here is a list of the key features offered by this extension:
8 |
9 | - Zoom in and zoom out capabilities
10 | - Printing the document
11 | - Search for text in the current document
12 | - Reader mode, extracting only the main part of the document by stripping header, footer, and navigation if available
13 |
14 | 
15 |
16 | ### Meta-Data
17 |
18 | The TagSpaces [Firefox](https://addons.mozilla.org/en-us/firefox/addon/tagspaces/) and [Chrome](https://chrome.google.com/webstore/detail/tagspaces/ldalmgifdlgpiiadeccbcjojljeanhjk) web clippers save the date and time of the saving, the URL from which the webpage is saved, and optionally a screenshot. This information can be accessed from the `File Details` menu entry in the extension's main menu. In the dialog that will appear, you will see the screenshot of the web page (if available) and the original URL of the webpage.
19 |
20 | 
21 |
22 | ## Used Libraries
23 |
24 | This extension thankfully relies on the following great libraries:
25 |
26 | - [Readability](https://github.com/mozilla/readability)
27 | - [Bootstrap](https://getbootstrap.com/)
28 | - [i18next](https://www.i18next.com/)
29 | - [DOMPurify](https://github.com/cure53/DOMPurify)
30 |
31 | ## Installation
32 |
33 | This extension is packaged with any new version of TagSpaces.
34 |
35 | ## Source Code
36 |
37 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/html-viewer).
38 |
39 | ## Development
40 |
41 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
42 |
43 | ## License
44 |
45 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/html-viewer/LICENSE.txt)
46 |
--------------------------------------------------------------------------------
/docs/extensions/image-viewer.md:
--------------------------------------------------------------------------------
1 | # Image Viewer
2 |
3 | A TagSpaces extension allowing you to open different kinds of image formats.
4 |
5 | ## Features
6 |
7 | - Opening of the following image formats: JPG, PNG, GIF, SVG, BMP, WEBP, ICO, TIFF, AVIF, TGA
8 | - Preview of these formats: CR2, NEF, DNG, PSD
9 | - Zooming, flipping, and rotating of the current image
10 | - Different background colors of the viewer for better contrast
11 | - For JPG files, it features an integrated Exif and IPTC reader with auto-rotation of photos according to the Exif information
12 | - Support for image printing
13 | - Grayscale filter
14 | - Exporting the current image in JPG, PNG, or WEBP format (only for the desktop apps)
15 |
16 | 
17 |
18 | The following screenshot shows a dialog with the extracted Exif and IPTC information.
19 |
20 | 
21 |
22 | ## Used Libraries
23 |
24 | This extension thankfully relies on the following great libraries:
25 |
26 | - [viewer.js](https://fengyuanchen.github.io/viewerjs/)
27 | - [exif.js](https://github.com/exif-js/exif-js)
28 | - [UTIF.js](https://github.com/photopea/UTIF.js/)
29 | - [tga.js](https://github.com/vthibault/tga.js/)
30 | - [psd](https://github.com/meltingice/psd.js/)
31 | - [Bootstrap](https://getbootstrap.com/)
32 | - [i18next](https://www.i18next.com/)
33 |
34 | ## Installation
35 |
36 | This extension is packaged with any new version of TagSpaces.
37 |
38 | ## Source Code
39 |
40 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/image-viewer).
41 |
42 | ## Development
43 |
44 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
45 |
46 | ## License
47 |
48 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/image-viewer/LICENSE.txt)
49 |
--------------------------------------------------------------------------------
/docs/extensions/json-editor.md:
--------------------------------------------------------------------------------
1 | import { ProFeature, CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
2 |
3 | # JSON Editor
4 |
5 | A TagSpaces extension allowing viewing and editing of JSON documents.
6 |
7 | ## Features
8 |
9 | - Open and edit JSON documents graphically.
10 |
11 |
17 |
18 | ## Used Libraries
19 |
20 | This extension thankfully relies on the following great libraries:
21 |
22 | - [JSON editor](https://github.com/josdejong/jsoneditor)
23 | - [Bootstrap](https://getbootstrap.com/)
24 | - [i18next](https://www.i18next.com/)
25 | - [Mark.js](https://markjs.io/)
26 |
27 | ## Installation
28 |
29 | This extension is packaged with any new version of TagSpaces.
30 |
31 | ## User Manual
32 |
33 | Editing JSON files will build upon the functionality you've already seen in the **JSON Preview mode**.
34 |
35 | 
36 |
37 | The top row of the editor will offer a basic toolbar, with some common actions such as **Expand all fields** (**1**), **Collapse all fields** (**2**), **Undo** and **Redo** (**3**), and a search box (**4**).
38 |
39 | 
40 |
41 | Each field has some useful controls that can help manipulate and rearrange JSON files easily.
42 |
43 | 
44 |
45 | - On the left edge, there is a drag handle, allowing for easy movement of each row (**1**).
46 |
47 | - Next to the drag handle is an **Action Menu Button** (**2**), which opens the **Action Menu** (**3**), offering useful actions on each field, such as:
48 |
49 | - You can choose or change the **Type** of the field, choosing from _Auto_, _Object_, _Array_, or _String_.
50 | - You can **Insert** an _Array_, _Object_, or _String_ inside any field (there is also an _Auto_ mode for insertion). Inserting will place the new field **before** the selected field.
51 | - When selecting the **Action Menu** on the last member of an _Object_ or _Array_, you can also **Append** the same categories, which will place the new field **after** the last item.
52 | - _Objects_ and _Arrays_ will also allow for **Sorting**, either _Ascending_ or _Descending_.
53 | - Finally, you can **Duplicate** or **Remove** any field from the hierarchy (apart from the root).
54 |
55 | - To the right of the Action Menu Button, there is an **Open/Close Chevron** (**4**), which can expand or collapse each field.
56 |
57 | - Finally, you have the field itself, with one (**5**) (for arrays and objects) or two editable sections (**6**) (for string type), and an optional, read-only information field (**7**) that displays the number of sub-fields, in either curly brackets `{ }` (for objects) or square brackets `[ ]` (for arrays).
58 |
59 | The **FAB Overflow Menu** will offer to either **Print** the file or display a **JSON Help** menu, which gives a summary of the numerous key combinations that can be used to work on JSON files even faster.
60 |
61 | ## Source Code
62 |
63 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/json-editor).
64 |
65 | ## Development
66 |
67 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
68 |
69 | ## License
70 |
71 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/json-editor/LICENSE.txt)
72 |
--------------------------------------------------------------------------------
/docs/extensions/md-editor.md:
--------------------------------------------------------------------------------
1 | import { CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
2 |
3 | # Markdown Editor
4 |
5 | A TagSpaces extension allowing viewing and editing of Markdown files.
6 |
7 | ## Features
8 |
9 | - **WYSIWYG** Markdown editing
10 | - Embedding images, also as data URLs
11 | - Support for emojis 🍒
12 | - Support for tables
13 | - Simple text _formatting_ and headers
14 | - Copy and paste markdown text
15 | - Support for math expressions
16 | - Reading aloud the text content of the document
17 | - Visualizing the markdown header structure as a mind map
18 |
19 | 
20 |
21 | The following video will present some of the features:
22 |
23 |
30 |
31 |
32 |
33 | ### Mindmap
34 |
35 | The extension can generate a mind map structure of the document based on its header structure.
36 |
37 | 
38 |
39 | ### Diagrams
40 |
41 | The editor supports presenting and editing of [mermaid](https://mermaid-js.github.io/mermaid/) based diagrams:
42 |
43 |
50 |
51 | ## Live Demo
52 |
53 | You can test it live [here](https://demo.tagspaces.com/int.html?tslid=10ades09-c7fd-zt33-fc67-a75db43rt4gz&tsdpath=demo%2FNote-Taking&tsepath=demo%2FNote-Taking%2Fcomplex-markdown-note.md).
54 |
55 | ## Used Libraries
56 |
57 | This extension thankfully relies on the following libraries:
58 |
59 | - [Milkdown](https://milkdown.dev/)
60 | - [React](https://reactjs.org/)
61 | - [Mui](https://mui.com/)
62 |
63 | ## Keyboard Shortcuts
64 |
65 | > `Mod` is `Cmd` on macOS and `Ctrl` for Windows/Linux.
66 |
67 | ### Essentials
68 |
69 | | Action | Key |
70 | | --------- | --------- |
71 | | Copy | Mod-c |
72 | | Cut | Mod-x |
73 | | Paste | Mod-v |
74 | | New Line | Enter |
75 | | Exit Code | Mod-Enter |
76 | | Print | Mod-p |
77 | | Save | Mod-s |
78 |
79 | ### History
80 |
81 | | Action | Key |
82 | | ------ | ----------- |
83 | | Undo | Mod-z |
84 | | Redo | Mod-Shift-z |
85 |
86 | ### Mark
87 |
88 | | Action | Key |
89 | | -------------- | --------- |
90 | | Bold | Mod-b |
91 | | Italic | Mod-i |
92 | | Inline Code | Mod-e |
93 | | Strike Through | Mod-Alt-x |
94 |
95 | ### Paragraph
96 |
97 | | Action | Key |
98 | | ----------- | ----------- |
99 | | Normal Text | Mod-Alt-0 |
100 | | H1 | Mod-Alt-1 |
101 | | H2 | Mod-Alt-2 |
102 | | H3 | Mod-Alt-3 |
103 | | H4 | Mod-Alt-4 |
104 | | H5 | Mod-Alt-5 |
105 | | H6 | Mod-Alt-6 |
106 | | Code Fence | Mod-Alt-c |
107 | | Line Break | Shift-Enter |
108 |
109 | ### List
110 |
111 | | Action | Key |
112 | | -------------- | --------- |
113 | | Ordered List | Mod-Alt-7 |
114 | | Bullet List | Mod-Alt-8 |
115 | | Task List | Mod-Alt-9 |
116 | | Sink List Item | Mod-] |
117 | | Lift List Item | Mod-[ |
118 |
119 | ### Table
120 |
121 | | Action | Key |
122 | | -------------------- | --------- |
123 | | Next Cell | Mod-] |
124 | | Prev Cell | Mod-[ |
125 | | Exit Table and Break | Mod-Enter |
126 |
127 | ---
128 |
129 | ## Installation
130 |
131 | This extension is packaged with any new version of TagSpaces.
132 |
133 | ## Source Code
134 |
135 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/md-editor).
136 |
137 | ## Development
138 |
139 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
140 |
141 | ## License
142 |
143 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/md-editor/LICENSE.txt)
144 |
--------------------------------------------------------------------------------
/docs/extensions/md-viewer.md:
--------------------------------------------------------------------------------
1 | # Markdown Viewer
2 |
3 | A TagSpaces extension that allows for the opening of markdown files.
4 |
5 | ## Features
6 |
7 | - Offers different themes for displaying documents.
8 | - Find text in the current document.
9 | - Export the content as an HTML file.
10 | - Zoom in and out of the content.
11 | - Document printing.
12 |
13 | 
14 |
15 | ## Used Libraries
16 |
17 | This extension relies on the following great projects:
18 |
19 | - [marked](https://github.com/chjj/marked) - A markdown parser and compiler.
20 | - [Bootstrap](https://getbootstrap.com/) - A popular CSS framework for responsive design.
21 | - [i18next](https://www.i18next.com/) - An internationalization framework for JavaScript.
22 | - [Mark.js](https://markjs.io/) - A library to highlight text in a document.
23 | - [Dompurify](https://github.com/cure53/DOMPurify) - A DOM-only XSS sanitizer.
24 |
25 | ## Installation
26 |
27 | This extension is packaged with any new version of TagSpaces.
28 |
29 | ## Source Code
30 |
31 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/md-viewer).
32 |
33 | ## Development
34 |
35 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
36 |
37 | ## License
38 |
39 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/md-viewer/LICENSE.txt)
40 |
--------------------------------------------------------------------------------
/docs/extensions/media-player.md:
--------------------------------------------------------------------------------
1 | # Media Player
2 |
3 | A TagSpaces extension that allows the playback of audio and video files.
4 |
5 | ## Features
6 |
7 | - Play audio and video files.
8 | - Fullscreen mode for an immersive experience.
9 | - Automatically triggers the opening of the next file in the current folder upon finishing playback, allowing you to listen to multiple audio files continuously, just like a regular music player.
10 |
11 | 
12 |
13 | :::info
14 | The supported audio and video formats depend on the underlying browser platform.
15 | :::
16 |
17 | ## Used Libraries
18 |
19 | This extension relies on the following excellent libraries:
20 |
21 | - [Vidstack](https://vidstack.io/) - An advanced, customizable HTML5 media player.
22 | - [React](https://reactjs.org/) - A JavaScript library for building user interfaces.
23 | - [Mui](https://mui.com/) - A popular React UI framework.
24 |
25 | ## Installation
26 |
27 | This extension is packaged with any new version of TagSpaces.
28 |
29 | ## Source Code
30 |
31 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/media-player).
32 |
33 | ## Development
34 |
35 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
36 |
37 | ## License
38 |
39 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/media-player/LICENSE.txt)
40 |
--------------------------------------------------------------------------------
/docs/extensions/mhtml-viewer.md:
--------------------------------------------------------------------------------
1 | # MHTML Viewer
2 |
3 | A TagSpaces extension allowing you to open MHTML and EML files.
4 |
5 | ## Features
6 |
7 | - Viewing of MHTML/MHT files - MHTML is a [file format](https://tools.ietf.org/html/rfc2557) for saving web pages with all the images and styling information in one single file. Saving in MHTML format is natively supported by [Chrome™](/web-clipper#enabling-the-saving-of-webpages-as-mhtml) and Internet Explorer™ browsers.
8 | - Viewing of EML files - EML is a file format for saving emails. It is the default email export format of email apps such as Thunderbird™ or Google Mail™.
9 | - Reader mode, extracting only the main part of the document by stripping header, footer, and navigation if available.
10 | - Showing the creation date of the file.
11 | - Opening the source URL of an MHTML file.
12 | - Finding text in the current file.
13 | - File printing.
14 |
15 |
16 |
17 | 
18 |
19 | Dialog showing the scraping details, with the ability to open the original URL in an external browser.
20 |
21 | 
22 |
23 | ### Showing email exported in EML format
24 |
25 | 
26 |
27 | ## Used Libraries
28 |
29 | This extension thankfully relies on the following great projects:
30 |
31 | - [mailparser](https://github.com/andris9/mailparser) - A powerful library for parsing email messages.
32 | - [Readability](https://github.com/mozilla/readability) - A library that extracts the main content of web pages.
33 | - [Bootstrap](https://getbootstrap.com/) - A popular CSS framework for responsive design.
34 | - [i18next](https://www.i18next.com/) - An internationalization framework for JavaScript.
35 | - [Mark.js](https://markjs.io/) - A library to highlight text in a document.
36 | - [Dompurify](https://github.com/cure53/DOMPurify) - A DOM-only XSS sanitizer.
37 |
38 | ## Installation
39 |
40 | This extension is packaged with any new version of TagSpaces.
41 |
42 | ## Source Code
43 |
44 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/mhtml-viewer).
45 |
46 | ## Development
47 |
48 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
49 |
50 | ## License
51 |
52 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/mhtml-viewer/LICENSE.txt)
53 |
--------------------------------------------------------------------------------
/docs/extensions/mindmap-viewer.md:
--------------------------------------------------------------------------------
1 | import { ProFeature, CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
2 |
3 | # Mindmap Viewer
4 |
5 | A TagSpaces extension for opening mind maps based on markdown with the help of markmap.js.
6 |
7 | ## Features
8 |
9 | - Preview mind maps
10 | - Zoom in and out with the mouse wheel and menu
11 |
12 | 
13 |
14 | ## Used Libraries
15 |
16 | This extension thankfully relies on the following great libraries:
17 |
18 | - [markmap.js](https://markmap.js.org/)
19 | - [Bootstrap](https://getbootstrap.com/)
20 | - [i18next](https://www.i18next.com/)
21 | - [Dompurify](https://github.com/cure53/DOMPurify)
22 |
23 | ## Installation
24 |
25 | This extension is packaged with the new version of TagSpaces (after version 5.2).
26 |
27 | ## Source Code
28 |
29 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/mindmap-viewer).
30 |
31 | ## Development
32 |
33 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
34 |
35 | ## License
36 |
37 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/mindmap-viewer/LICENSE.txt)
38 |
--------------------------------------------------------------------------------
/docs/extensions/msg-viewer.md:
--------------------------------------------------------------------------------
1 | # MSG Viewer
2 |
3 | A TagSpaces extension allowing you to open email in MSG format.
4 |
5 | ## Features
6 |
7 | - Opens emails in MSG format.
8 | - Export the content as HTML file.
9 | - Zoom in and out of the content.
10 |
11 | 
12 |
13 | ## Used Libraries
14 |
15 | This extension thankfully relies on the following libraries:
16 |
17 | - [msg.reader](https://github.com/ykarpovich/msg.reader)
18 | - [Bootstrap](https://getbootstrap.com/)
19 | - [i18next](https://www.i18next.com/)
20 | - [Mark.js](https://markjs.io/)
21 | - [Dompurify](https://github.com/cure53/DOMPurify)
22 |
23 | ## Installation
24 |
25 | This extension is packaged with any new version of TagSpaces.
26 |
27 | ## Source Code
28 |
29 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/msg-viewer).
30 |
31 | ## Development
32 |
33 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
34 |
35 | ## License
36 |
37 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/msg-viewer/LICENSE.txt)
38 |
--------------------------------------------------------------------------------
/docs/extensions/pdf-viewer.md:
--------------------------------------------------------------------------------
1 | # PDF Viewer
2 |
3 | A TagSpaces extension allowing opening, searching, and navigating through PDF files.
4 |
5 | ## Features
6 |
7 | - Adding text and drawings on the document's pages.
8 | - Highlighting text and areas.
9 | - Rotating and zooming of pages.
10 | - Showing preview of the pages.
11 | - Showing table of contents.
12 | - Finding text in PDF documents.
13 | - Printing PDF documents.
14 |
15 | :::caution
16 | In order to save the annotations (text or drawing), you have to download the PDF document from the icon in the toolbar. Otherwise, by closing or changing the document, your changes will be lost.
17 | :::
18 |
19 | 
20 |
21 | ## Used Libraries
22 |
23 | This extension thankfully relies on the following great projects:
24 |
25 | - [PDF.js](https://mozilla.github.io/pdf.js/)
26 | - [Bootstrap](https://getbootstrap.com/)
27 | - [i18next](https://www.i18next.com/)
28 |
29 | ## Installation
30 |
31 | This extension is packaged with any new version of TagSpaces.
32 |
33 | ## Source Code
34 |
35 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/pdf-viewer).
36 |
37 | ## Development
38 |
39 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
40 |
41 | ## License
42 |
43 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/pdf-viewer/LICENSE.txt)
44 |
--------------------------------------------------------------------------------
/docs/extensions/rtf-viewer.md:
--------------------------------------------------------------------------------
1 | # RTF Viewer
2 |
3 | A TagSpaces extension allowing the opening of RTF files.
4 |
5 | ## Features
6 |
7 | - Preview files in RTF format.
8 | - Export the content as an HTML file.
9 | - Zoom in and out of the content.
10 |
11 | 
12 |
13 | ## Used Libraries
14 |
15 | This extension thankfully relies on the following great libraries:
16 |
17 | - [rtf.js](https://github.com/tbluemel/rtf.js)
18 | - [Bootstrap](https://getbootstrap.com/)
19 | - [i18next](https://www.i18next.com/)
20 | - [Mark.js](https://markjs.io/)
21 | - [Dompurify](https://github.com/cure53/DOMPurify)
22 |
23 | ## Installation
24 |
25 | This extension is packaged by default with TagSpaces.
26 |
27 | ## Source Code
28 |
29 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/rtf-viewer).
30 |
31 | ## Development
32 |
33 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
34 |
35 | ## License
36 |
37 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/rtf-viewer/LICENSE.txt)
38 |
--------------------------------------------------------------------------------
/docs/extensions/slides-viewer.md:
--------------------------------------------------------------------------------
1 | import { ProFeature, CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
2 |
3 | # Slides Viewer
4 |
5 | A TagSpaces extension for opening slides in HTML format created with reveal.js. The extension is introduced for the first time in version 5.2.3 of TagSpaces.
6 |
7 | ## Features
8 |
9 | - Preview reveal.js slides
10 |
11 |
19 |
20 | :::note
21 | The extension extracts only the content of the reveal.js presentation from the HTML file and removes all the embedded and referenced JavaScript code. For the rendering of the slides, it relies on the embedded reveal.js library. This is done to reduce the risk of opening malicious HTML files. The drawback is that the reveal.js version may be outdated and not support the newest features of the latest release.
22 | :::
23 |
24 |
25 |
26 | ## Used Libraries
27 |
28 | This extension thankfully relies on the following great libraries:
29 |
30 | - [reveal.js](https://revealjs.com/)
31 |
32 | ## Installation
33 |
34 | This extension is packaged with the new version of TagSpaces (after version 5.2).
35 |
36 | ## Source Code
37 |
38 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/slides-viewer).
39 |
40 | ## Development
41 |
42 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
43 |
44 | ## License
45 |
46 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/slides-viewer/LICENSE.txt)
47 |
--------------------------------------------------------------------------------
/docs/extensions/spreadsheet-viewer.md:
--------------------------------------------------------------------------------
1 | # Spreadsheet Viewer
2 |
3 | A TagSpaces extension allowing you to preview the content of spreadsheet files.
4 |
5 | ## Features
6 |
7 | - Previewing the content of the XLSX files with sheets
8 | - Previewing the content of the ODS files with sheets
9 | - Previewing the content of the CSV files
10 | - Export the content as an HTML file
11 | - Zoom in and out of the content
12 |
13 | 
14 |
15 | ## Used Libraries
16 |
17 | This extension thankfully relies on the following great projects:
18 |
19 | - [SheetJS](https://sheetjs.com/)
20 | - [Bootstrap](https://getbootstrap.com/)
21 | - [i18next](https://www.i18next.com/)
22 | - [Mark.js](https://markjs.io/)
23 | - [Dompurify](https://github.com/cure53/DOMPurify)
24 |
25 | ## Installation
26 |
27 | This extension is packaged with any new version of TagSpaces.
28 |
29 | ## Source Code
30 |
31 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/spreadsheet-viewer).
32 |
33 | ## Development
34 |
35 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
36 |
37 | ## License
38 |
39 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/spreadsheet-viewer/LICENSE.txt)
40 |
--------------------------------------------------------------------------------
/docs/extensions/text-editor.md:
--------------------------------------------------------------------------------
1 | # Text Editor
2 |
3 | A TagSpaces extension allowing editing of text-based documents.
4 |
5 | ## Features
6 |
7 | - Opening and editing of text documents
8 | - Syntax highlighting for the following file types: h, c, clj, coffee, coldfusion, cpp, cs, css, groovy, haxe, htm, html, java, js, ts, tsx, jsm, json, latex, less, ly, ily, lua, markdown, md, mdx, ml, mli, pl, php, powershell, py, rb, scad, scala, scss, sh, sql, svg, textile, txt, xml
9 |
10 | 
11 |
12 | ## Used Libraries
13 |
14 | This extension thankfully relies on the following great libraries:
15 |
16 | - [Monaco-editor](https://microsoft.github.io/monaco-editor/)
17 | - [React](https://reactjs.org/) - A JavaScript library for building user interfaces.
18 | - [Mui](https://mui.com/material-ui/) - A popular React UI framework.
19 | - [i18next](https://www.i18next.com/)
20 | - [Dompurify](https://github.com/cure53/DOMPurify) - library for content sanitization
21 |
22 | ## Installation
23 |
24 | This extension is packaged with any new version of TagSpaces.
25 |
26 | ## User Manual
27 |
28 | ### Text Editor
29 |
30 | The text editor offers code highlighting for some common programming languages. In the extension menu you will find some extras like toggling line number, adjusting the font size or toggling the wrapping for words.
31 |
32 | 
33 |
34 | The text editor will keep the option to print from the plain [text viewer](/extensions/text-viewer/).
35 |
36 | ## Source Code
37 |
38 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/text-editor).
39 |
40 | ## Development
41 |
42 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
43 |
44 | ## License
45 |
46 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/text-editor/LICENSE.txt)
47 |
48 |
78 |
--------------------------------------------------------------------------------
/docs/extensions/text-viewer.md:
--------------------------------------------------------------------------------
1 | # Text Viewer
2 |
3 | A TagSpaces extension allowing you to preview any kind of files as text.
4 |
5 | ## Features
6 |
7 | - Displaying the content of files as plain text.
8 |
9 | 
10 |
11 | ## Used Libraries
12 |
13 | This extension relies on the following libraries:
14 |
15 | - [Bootstrap](https://getbootstrap.com/)
16 | - [i18next](https://www.i18next.com/)
17 | - [Mark.js](https://markjs.io/)
18 | - [Dompurify](https://github.com/cure53/DOMPurify)
19 |
20 | ## Installation
21 |
22 | This extension is packaged with any new version of TagSpaces.
23 |
24 | ## Source Code
25 |
26 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/text-viewer).
27 |
28 | ## Development
29 |
30 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
31 |
32 | ## License
33 |
34 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/text-viewer/LICENSE.txt)
35 |
--------------------------------------------------------------------------------
/docs/extensions/url-viewer.md:
--------------------------------------------------------------------------------
1 | # URL Viewer
2 |
3 | A TagSpaces extension allowing you to open URL files created from web browsers or bookmark managers.
4 |
5 | ## Features
6 |
7 | - Enables TagSpaces to be used as a bookmark management application.
8 | - Opening links from Ubuntu's `.desktop` files, created, for example, by dragging URLs from the Chrome browser.
9 | - Opening links from Windows' `.url` files, created, for example, by the Favorite Manager of Internet Explorer.
10 | - Opening links from Ubuntu's `.website` files.
11 | - With this extension, it is possible to use TagSpaces as a bookmark manager with support for tagging.
12 |
13 | 
14 |
15 | ## Used Libraries
16 |
17 | This extension thankfully relies on the following libraries:
18 |
19 | - [Bootstrap](https://getbootstrap.com/)
20 | - [i18next](https://www.i18next.com/)
21 | - [Dompurify](https://github.com/cure53/DOMPurify)
22 |
23 | ## Installation
24 |
25 | This extension is packaged with any new version of TagSpaces.
26 |
27 | ## Source Code
28 |
29 | The source code of this extension is freely available on [GitHub](https://github.com/tagspaces/tagspaces-extensions/tree/main/url-viewer).
30 |
31 | ## Development
32 |
33 | If you want to extend this extension, please follow our general [extension development guide](/dev/extension-development-guide).
34 |
35 | ## License
36 |
37 | [MIT](https://github.com/tagspaces/tagspaces-extensions/blob/main/url-viewer/LICENSE.txt)
38 |
--------------------------------------------------------------------------------
/docs/intro.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | slug: /
3 | title: User Documentation
4 | ---
5 |
6 | import VideoYT from '@site/src/components/VideoYT';
7 | import { ProFeature, CenteredImage, CenteredVideo, FullScreenImage } from '@site/src/components/CommonBlocks';
8 |
9 | # User Documentation
10 |
11 | Welcome to the official documentation for **TagSpaces**!
12 |
13 | This guide will help you explore and understand the features, philosophy, and use cases of TagSpaces products.
14 |
15 | ## What is TagSpaces?
16 |
17 | **TagSpaces** is an open-source, cross-platform file manager, organizer, and browser, designed with a no-backend and no-login philosophy. It empowers you to organize files, photos, and documents using tags on various platforms and devices. With a consistent and user-friendly interface, TagSpaces allows you to organize files according to your personal logic and preferences.
18 |
19 |
23 |
24 | ## Key Features
25 |
26 | - Platform-independent and future-proof tagging for files and folders
27 | - Add descriptions to files and folders in a platform-independent way
28 | - Integrated free text and tag search (supports AND, OR, and NOT operators)
29 | - Viewers for a variety of image, video, audio, and document file formats
30 | - Editors for HTML, text, and markdown files
31 | - Support for user interface themes (including dark mode)
32 | - Thumbnail previews for numerous file types
33 |
34 | ## Philosophy - Offline first
35 |
36 | - **No Backend, No Login:** TagSpaces follows a no-backend, no-login philosophy, meaning it works entirely offline without needing an internet connection.
37 | - **Local File System as a Backend:** TagSpaces is a front-end application that uses your file system (or object storage) as the backend.
38 | - **Database-Free:** Metadata is stored in your files and folders, preventing data loss in case of crashes, and eliminating vendor lock-in.
39 | - **Sync-Friendly:** Use cloud services like Dropbox, NextCloud, or Google Drive to easily synchronize tagged files between devices.
40 | - **Searchable:** Tags stored in filenames can be searched using your operating system's search functionality.
41 |
42 | ## Product Landscape
43 | TagSpaces offers several products to cater to different user needs:
44 | - **[TagSpaces Lite](https://www.tagspaces.org/products/lite/):** The community-developed edition of TagSpaces for Windows, macOS, and Linux.
45 | - **[TagSpaces Pro](https://www.tagspaces.org/products/pro/):** An extended solution with advanced features for power users.
46 | - **[TagSpaces Pro Web](https://www.tagspaces.org/products/proweb/):** A self-hosted package for managing files on web infrastructure with object storage support.
47 | - **[TagSpaces Custom](https://www.tagspaces.org/products/enterprise/):** Tailored for enterprise use.
48 | - **[Web Clipper Extension](https://www.tagspaces.org/products/webclipper/):** Available for Chrome, Firefox, and Edge, this extension allows you to save webpages, webpage fragments, and screenshots as local files.
49 | - **[Android App (deprecated)](https://www.tagspaces.org/downloads/):** A mobile app offering most of the desktop version's features on Android devices.
50 |
51 | ## Common Use Cases
52 |
53 | TagSpaces is suitable for various use cases:
54 | - Organizing files and folders
55 | - Desktop search
56 | - Note-taking
57 | - Photo management
58 | - Bookmark management
59 | - Simple file manager
60 | - eBook organizer
61 |
62 | ## Videos
63 |
64 | This short introductory video shows TagSpaces in action:
65 |
66 |
74 |
75 | ### YouTube Channel
76 |
77 | We maintain a [YouTube channel](https://www.youtube.com/channel/UCzfSaeg-7mpt96UI97zwbfQ) where we publish videos related to TagSpaces.
78 |
79 | ## Technology Stack
80 |
81 | The front-end of TagSpaces is built with:
82 |
83 | - JavaScript / TypeScript / HTML / CSS
84 | - React / Redux / [MUI](https://mui.com/material-ui/)
85 |
86 | Native APIs for file access are based on:
87 |
88 | - Desktop versions for Windows, macOS, and Linux, powered by [Electron](https://www.electronjs.org/)
89 | - Mobile versions for Android, powered by [Cordova](https://cordova.apache.org/)
90 | - Web versions for managing files in object storages, powered by [AWS SDK for JavaScript](https://aws.amazon.com/sdk-for-javascript/)
91 |
92 |
--------------------------------------------------------------------------------
/docs/linking.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Link to files, folders and locations
3 | ---
4 |
5 | import { ProFeature, CenteredImage, CenteredVideo, FullScreenImage } from '@site/src/components/CommonBlocks';
6 | import VideoYT from '@site/src/components/VideoYT';
7 |
8 |
9 |
10 | One long-awaited feature in TagSpaces is the ability to create links between files, folders, and locations. Now, you can navigate seamlessly from one file to another, or to a folder or location. The description field of any file or folder can contain links to other entities. If you're using markdown for notes, you can also place these kinds of links directly into your markdown file content.
11 |
12 |
19 |
20 | The context menu for every file and folder in the default perspective includes the option **Copy Sharing Link**, which generates a sharing link and copies it to your clipboard. This link can be used to create internal links to this file inside TagSpaces.
21 |
22 |
26 |
27 | ### Location IDs
28 |
29 | :::info
30 | When sharing links between TagSpaces users, make sure that the locations in their TagSpaces installation have the **same IDs**; otherwise, the links will not work. These links also work in folders synced with services like Dropbox or Syncthing.
31 | :::
32 |
33 | You can change the location ID in the location's properties, as shown in the following screenshot. For S3 locations, ensure that the location connects to the same subfolder of the connected bucket.
34 |
35 |
39 |
40 | ### Links in the web versions of TagSpaces
41 |
42 | Users of the web versions can directly copy the URL from their browser or use the copy button in the properties area.
43 |
44 |
49 |
50 | :::info
51 | Copying the URL from the browser has an advantage: the person receiving the link can open the same installation directly in their browser.
52 | :::
53 |
54 | ### Opening TagSpaces links from the search
55 |
56 | If you've received a TagSpaces link (e.g., a tslink) in an email or chat, you can copy and paste it into the search field. Running the search will open the location, file, or folder the tslink points to.
57 |
58 |
63 |
64 | ### Under the hood
65 |
66 | TagSpaces links can point to locations, files, or folders. They follow these formats:
67 |
68 | ```bash title="Link to a location"
69 | ts://?tslid=53ea7417-4f7c-9c25-dc44aa41f6c8
70 |
71 | ts://?tslid=53ea7417-4f7c-9c25-dc44aa41f6c8
72 | ```
73 |
74 | ```bash title="Sharing link for a file"
75 | ts://?tslid=53ea7417-4f7c-9c25-dc44aa41f6c8&tsepath=%2FMyHome%2Ftodos%5B202109%5D.md
76 | ```
77 |
78 | ```bash title="Sharing link for a folder"
79 | ts://?tslid=53ea7417-4f7c-9c25-dc44aa41f6c8&tsdpath=%2FPersonal%20Knowledge
80 | ```
81 |
82 | :::info
83 | In version 5.1, the protocol prefix for links was changed from ts:? to ts://? for better compatibility. Links created in older versions with ts:? are still supported for backward compatibility.
84 | :::
85 |
86 | Technically the links consist of some parameter embedded in the URL.
87 |
88 | - `ts://?` - Indicates that this is a TagSpaces link (tslink).
89 | - `&tslid` - Represents the TagSpaces location ID.
90 | - `&tsepath` - Encoded relative path to the entry.
91 | - `&tsdpath` - Encoded relative path to the folder.
92 | - `&tseid` - The unique id of a file or folder.
93 |
94 | :::tip
95 | Renaming or deleting a file or folder linked in a tslink will make the link unusable. However, TagSpaces will attempt to open the valid part of the link (e.g., the location). If the tslink contains a `tseid`, a search for this id will be offered by the application, so if a file or a folder with this id is still in the location it will be found.
96 | :::
97 |
--------------------------------------------------------------------------------
/docs/mdx.md:
--------------------------------------------------------------------------------
1 | ---
2 | id: mdx
3 | title: Powered by MDX
4 | ---
5 |
6 | You can write JSX and use React components within your Markdown thanks to [MDX](https://mdxjs.com/).
7 |
8 | export const Highlight = ({children, color}) => ( {children} );
14 |
15 | Docusaurus green and Facebook blue are my favorite colors.
16 |
17 | I can write **Markdown** alongside my _JSX_!
18 |
--------------------------------------------------------------------------------
/docs/perspectives/gallery.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Gallery Perspective
3 | tags: [perspective]
4 | ---
5 |
6 | import { ProFeature, EntFeature, CenteredImage } from '@site/src/components/CommonBlocks'
7 |
8 |
9 |
10 | This perspective offers basic image gallery functionality, including previewing images from the current folder and a presentation mode with full-screen viewing.
11 |
12 |
17 |
18 | :::tip
19 | This perspective can only be activated in folders containing images and photos in file formats such as JPG, PNG, GIF, BMP, SVG, WEBP, etc.
20 | :::
21 |
22 | ## Functionalities in the Toolbar
23 |
24 |
29 |
30 | The toolbar of the gallery perspective offers the following functionalities:
31 |
32 | - **(1) Navigate to parent folder** - Opens the parent folder of the current folder.
33 | - **(2) Switch to masonry view** - Returns to the initial masonry view.
34 | - **(3) Folder properties** - Opens the [properties](/ui/userinterface#folder-properties) of the current folder.
35 | - **(4) Open previous/next image** - Navigates to the previous or next image file in the current folder.
36 | - **(5) Start/stop presentation mode** - Toggles the slideshow presentation mode, displaying images from the current folder for 3 seconds each. (Future releases will allow configurable durations.)
37 | - **(6) Full screen mode** - Opens the currently selected file in full screen mode.
38 | - **(7) File properties** - Opens the properties of the current file in the regular properties area.
39 | - **(8) Thumbnail bar modes** - Toggles through thumbnail bar positions: at the top, on the left, or hidden. These modes apply in full screen mode as well.
40 | - **(9) Import EXIF/IPTC** - Opens the dialog to import EXIF/IPTC information from your files.
41 | - **(10) Help** - Opens this page for further guidance.
42 |
43 | :::tip
44 | In full-screen mode, you can navigate through the files using the left and right arrow keys on your keyboard. On touch-screen devices, images can be changed by swiping left or right.
45 | :::
46 |
47 | ## Importing EXIF/IPTC Data from JPGs
48 |
49 | Many digital cameras embed additional metadata, such as geolocation, in the photos they capture. One common format for this metadata is [EXIF](https://en.wikipedia.org/wiki/Exif). Another format is [IPTC](https://en.wikipedia.org/wiki/IPTC_Information_Interchange_Model), which is often used for embedding keywords and descriptions in JPG files. The gallery perspective can read and convert the following data into TagSpaces' tags:
50 |
51 | - **EXIF geolocation** - Converts latitude and longitude into geo-tags using [Plus Code](https://maps.google.com/pluscodes/) or MGRS format.
52 | - **EXIF shooting date and time** - Converts the shooting date and time into a date-time tag.
53 | - **IPTC keywords** - Imports IPTC keywords as regular tags.
54 |
55 |
60 |
--------------------------------------------------------------------------------
/docs/perspectives/list.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: List Perspective
3 | sidebar_label: List Perspective
4 | tags: [perspective]
5 | ---
6 |
7 | import { ProFeature, CenteredImage } from '@site/src/components/CommonBlocks';
8 |
9 | This perspective is optimized for general browsing through files and folders and performing standard file and folder operations. It features three representation modes: compact, default, and large.
10 |
11 |
16 |
17 | The following information can be found on every row representing a file in this view:
18 |
19 | - **File extension** - A color-coded icon, representing the file type. Scroll down to [Color-coded file extensions](#color-coded-file-extensions) to learn more about this feature.
20 | - **Folder icon** - On rows representing folders, instead of the file extension, a folder icon is displayed.
21 | - **Title** - The file's title, which is the filename without the extension or any tag information.
22 | - **Description** - If the file/folder has a description, it will be displayed here.
23 | - **Tags** - All the tags that are applied to the file will appear here, with the correct background and font color. To learn more about tag colors, refer to the [Tag Library](/ui/taglibrary) section.
24 | - **Size** - The file size, displayed in a human-readable format.
25 | - **Date modified** - The time the file was last modified.
26 |
27 | :::info
28 | The functionalities of the list perspective are very similar to the **[grid perspective](/perspectives/grid)**. Please follow the previous link for more details.
29 | :::
30 |
31 | ## Customizations
32 |
33 |
38 |
39 |
44 |
45 | ## Compact mode
46 |
47 |
52 |
53 | ## Perspective Settings
54 |
55 | Perspective settings are described in the [grid perspective](/perspectives/grid#settings-options).
56 |
57 |
63 |
--------------------------------------------------------------------------------
/docs/quick-access.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Quick Access
3 | ---
4 |
5 | import { ProFeature, CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
6 |
7 | # Quick Access Area
8 |
9 | The quick access section can be accessed from the left drawer and looks like this:
10 |
11 |
17 |
18 | This section contains the following areas:
19 |
20 | - **[Stored Search Queries](/search#stored-search-queries)** - contains prepared search queries for a later use, more on this in the [search section](/search/#stored-search-queries)
21 | - **[Bookmarks](/bookmarks)** - contains a list of bookmarked files and folders, more on this in the [bookmark section](/bookmarks)
22 | - **Recently opened files** - contains a list of recently opened files
23 | - **Recently edited files** - contains a list of recently edited files
24 | - **Recently opened folders** - contains a list of folders opened in the details section
25 |
26 | ## Configuring the recently opened entries
27 |
28 | The amount of the collected files can be adjusted in the advanced tab of the settings. Here you can also clear the history or deactivate the collection of the recent entries by choosing the _disabled_ menu item in dropdowns.
29 |
30 |
35 |
--------------------------------------------------------------------------------
/docs/selfhosting.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Setup Self-hosted TagSpaces based on WebDAV
3 | ---
4 |
5 | :::caution
6 | Deprecated functionality: The here described functionality is not supported actively anymore. For a self hosted web version please use [TagSpaces Enterprise](https://www.tagspaces.org/products/enterprise/)
7 | :::
8 |
9 | ## Motivation
10 |
11 | Almost since the very first releases of TagSpaces back in the 2013, many users did requested a server based version of TagSpaces. They wanted to use the convenient tagging workflow of TagSpaces on their self hosted Nextcloud/ownCloud or in general WebDAV instances. So starting from today this is possible, TagSpaces can now run on servers and once installed you can access your files from anywhere.
12 |
13 | ## Download and Installation
14 |
15 | The current version can of the WebDAV version can be downloaded from [here](https://github.com/tagspaces/tagspaces/releases).
16 |
17 | > **Note** Please handle the current status of the implementation is a technology preview, which in our opinion is still not suitable for production use on Internet.
18 |
19 | In order to use the hosted version you need a working WebDAV server. The current release was tested with success on [ownCloud](http://owncloud.org) which is based itself on the [sabre/dav](http://sabre.io) WebDAV server. On Ubuntu the installation steps are as following:
20 |
21 | - Install Apache webserver (_nginx_ webserver with its webdav extension is reported also to work)
22 | - Install [Nextcloud](https://nextcloud.com/install/)/[ownCloud](https://owncloud.org/install) or any other WebDAV server
23 | - Unzip the hosted version of TagSpaces somewhere in the www root folder of Apache. Currently the TagSpaces should be on the same host/ip and using the same port as the WebDAV server. This is so because of the XSS prevention build in the modern internet browsers.
24 | - Assuming _ownCloud_ is installed in `/var/www/owncloud` and TagSpaces in `/var/www/tagspaces` you have to type something like this in your terminal:
25 |
26 | ```
27 | cd /var/www
28 | sudo chmod -R 755 tagspaces
29 | sudo chown -R your_www_group:your_www_user tagspaces
30 | ```
31 |
32 | - Open your browser and enter: `127.0.0.1/tagspaces`. The TagSpaces UI should be loaded.
33 | - Create a new location with the following path: `/owncloud/remote.php/webdav`
34 | - Give a name to your location and save.
35 | - A dialog for credentials entering will appear. Enter here your ownCloud username and password.
36 | - That's all, you can now browse your files in TagSpaces.
37 |
38 | :::tip
39 | If the dialog prompting for the user credentials does not appear and you have running Nextcloud/ownCloud in some other browser tab, you have to logout there and reload the tab running TagSpaces.
40 | :::
41 |
42 | 
43 |
44 | It is interesting to mention that you can open also your ownCloud contacts by creating a location with a path like `/owncloud/remote.php/carddav/addressbooks/ilian/contacts`. This does not make currently much sense, because you only see a list with VCF files, but who knows perhaps somebody will write a contacts perspective and VCF viewer for TagSpaces some day.
45 |
46 | ## Demo
47 |
48 | You can experience a live demo of the TagSpaces webdav version on [demo.tagspaces.org](http://demo.tagspaces.org). The username and password are both `demo`.
49 |
50 | ## Sharing links to files from the webdav version
51 |
52 | tbd
53 |
54 | 
55 |
56 | 
57 |
58 | ## Starting the WebDAV edition locally for testing
59 |
60 | There is a script called `webdavserver.js` located in the data/web , which can be started with:
61 |
62 | node data/web/webdavserver.js
63 |
64 | or
65 |
66 | npm run webdav
67 |
68 | This command will start a local node.js based WebDAV server on `http://127.0.0.1:8000`. Open your browser and enter the following URL:
69 |
70 | http://127.0.0.1:8000/index.html
71 |
72 | You will be prompted for user credentials, which are username: `demo` and password: `demo` and now you should be able to work with the WebDAV version of TagSpaces.
73 |
--------------------------------------------------------------------------------
/docs/thumbnails.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Thumbnail Generation
3 | ---
4 |
5 | import { ProFeature, CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
6 |
7 | When a user opens a folder, the application automatically scans its contents and attempts to generate mini-previews, or thumbnails, for the files in the folder.
8 |
9 | ## Thumbnails on Local Folders
10 |
11 | In the free version of TagSpaces, thumbnail generation is supported only for image and video file formats such as JPG, PNG, and MP4. Thumbnails for PDF file are also generated.
12 |
13 | The PRO version expands thumbnail generation to a broader range of file formats:
14 |
15 | - **Images:** PNG, JPG, BMP, GIF, SVG, WEBP, TIFF
16 | - **Videos:** WEBM, OGV, MP4, M4V
17 | - **Notes:** HTML (utilizing embedded screenshots, if created with the TagSpaces [Web Clipper](/web-clipper/))
18 | - **Text Files:** TXT, MD, source code files (using the first lines found in the file)
19 | - **Bookmarks:** URL (using the embedded screenshot, if created with the TagSpaces [Web Clipper](/web-clipper/))
20 | - **Ebooks:** EPUB (using the integrated ebook cover image)
21 | - **Archives:** ZIP (using the first image found in the archive)
22 | - **Office Documents:** ODT, ODP, ODS, DOCX, XLSX, PPTX (using embedded preview images, if available)
23 |
24 |
29 |
30 | The generated thumbnails are stored in the `.ts` folder located within each folder you browse. This caching mechanism significantly improves the speed of browsing folders containing many files. Thumbnail generation can be enabled or disabled in the application settings.
31 |
32 |
38 |
39 | ## Thumbnails on S3 Locations
40 |
41 |
42 |
43 | When you upload files to an S3 location, TagSpaces will attempt to generate thumbnails during the upload process.
44 |
--------------------------------------------------------------------------------
/docs/tutorials/custom-map-tiles/maptiler-map-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tagspaces/documentation/8b1ff6dd16c5eb3378e3567e84ae41c4b0daef5a/docs/tutorials/custom-map-tiles/maptiler-map-overview.png
--------------------------------------------------------------------------------
/docs/tutorials/custom-map-tiles/maptiler-urls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tagspaces/documentation/8b1ff6dd16c5eb3378e3567e84ae41c4b0daef5a/docs/tutorials/custom-map-tiles/maptiler-urls.png
--------------------------------------------------------------------------------
/docs/tutorials/e2ee-cryptomator/add-vault.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tagspaces/documentation/8b1ff6dd16c5eb3378e3567e84ae41c4b0daef5a/docs/tutorials/e2ee-cryptomator/add-vault.png
--------------------------------------------------------------------------------
/docs/tutorials/e2ee-cryptomator/choose-location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tagspaces/documentation/8b1ff6dd16c5eb3378e3567e84ae41c4b0daef5a/docs/tutorials/e2ee-cryptomator/choose-location.png
--------------------------------------------------------------------------------
/docs/tutorials/e2ee-cryptomator/connected-vault.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tagspaces/documentation/8b1ff6dd16c5eb3378e3567e84ae41c4b0daef5a/docs/tutorials/e2ee-cryptomator/connected-vault.png
--------------------------------------------------------------------------------
/docs/tutorials/e2ee-cryptomator/cryptomator-connect-vault-to-tagspaces.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tagspaces/documentation/8b1ff6dd16c5eb3378e3567e84ae41c4b0daef5a/docs/tutorials/e2ee-cryptomator/cryptomator-connect-vault-to-tagspaces.png
--------------------------------------------------------------------------------
/docs/tutorials/e2ee-cryptomator/cryptomator-lock-vault-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tagspaces/documentation/8b1ff6dd16c5eb3378e3567e84ae41c4b0daef5a/docs/tutorials/e2ee-cryptomator/cryptomator-lock-vault-button.png
--------------------------------------------------------------------------------
/docs/tutorials/e2ee-cryptomator/cryptomator-new-vault-added.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tagspaces/documentation/8b1ff6dd16c5eb3378e3567e84ae41c4b0daef5a/docs/tutorials/e2ee-cryptomator/cryptomator-new-vault-added.png
--------------------------------------------------------------------------------
/docs/tutorials/e2ee-cryptomator/cryptomator-unlock-vault.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tagspaces/documentation/8b1ff6dd16c5eb3378e3567e84ae41c4b0daef5a/docs/tutorials/e2ee-cryptomator/cryptomator-unlock-vault.png
--------------------------------------------------------------------------------
/docs/tutorials/file-syncing.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Syncing files between TagSpaces installations
3 | tags: [tutorial]
4 | ---
5 |
6 | One of the most common questions I receive about TagSpaces, is about the missing files synchronization feature. The concerns of the users are that they spend an hour tagging their files on the laptop, but now they want to get the same results also on their tablet or desktop computer and vice versa. Our opinion here is that TagSpaces does not need sync functionality, because all the tags are saved in the names of the files or in the so called sidecar files, which makes this meta-information extremely portable between devices. You have to just to sync files and this problem is already perfectly solved by some many online services. This is one of the main differences between TagSpaces and other applications offering tagging on files. Most of those applications are using some kind of database to store the tags, which makes the transfer of this information challenging. Besides that, your tagging information in this case is locked by the vendor and you cannot migrate to another application or service without significant effort. Saving the tags in the file names make the information stick to your files, and you can find files based on the tags even with simple search functionality supplied with your operating system.
7 |
8 | For the synchronization of the tagged files with TagSpaces, you can use any "cloud" service like [Dropbox](https://dropbox.com) or projects like [Nextcloud](https://nextcloud.com), which provides sync clients. And since there are TagSpaces clients for Windows, macOS and Linux), your tagged files can be synced and used almost everywhere.
9 |
10 | Here is a short list of services which can be used for syncing tagged files and folders:
11 |
12 | - Dropbox
13 | - Google Drive
14 | - Microsoft One Drive
15 |
16 | or other P2P projects like:
17 |
18 | - [Syncthink](https://syncthing.net/) - a good tutorial explaining details about the TagSpaces/Synching setup can be found on [Medium](https://attilaorosz.medium.com/syncronise-your-offline-notes-across-all-devices-without-the-cloud-1e82fa53d1f1)
19 | - Bittorentsync/Resilio
20 |
21 | E2E Encryption can be achieved with [Cryptomator](https://cryptomator.org/). You can details about how to setup in this [tutorial](/tutorials/e2ee-with-tagspaces-and-cryptomator).
22 |
23 | The following image shows my current utilization of Dropbox in connection to TagSpaces.
24 |
25 | 
26 |
27 | If you are using TagSpaces with any other sync service, please post a comment bellow. I am always keen to know details on the way you are using TagSpaces.
28 |
--------------------------------------------------------------------------------
/docs/tutorials/folder-customizations.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Customizing Folders
3 | tags: [tutorial]
4 | ---
5 |
6 | # Turning folders into file based apps
7 |
8 | WIP
9 |
10 | ## Ways to customize folders
11 |
12 | - Choosing a default perspective
13 | - Choosing folder thumbnail
14 | - Choosing folder background color or gradient
15 | - Choosing folder background image - visible in the grid, list and kanban perspective
16 | - Adding folder description
17 | - Customizations in the grid and list perspective
18 | - Customizations in the kanban perspective
19 | - Customizations in the mapique perspective
20 |
21 | ## What you can achieve
22 |
23 | ### Turning folder into photo gallery
24 |
25 | ### Turning folder into a kanban board
26 |
27 | ### Turning folder structure into wiki
28 |
--------------------------------------------------------------------------------
/docs/tutorials/map-tiler-tutorial.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Use custom map tile services in TagSpaces Pro
3 | tags: [tutorial]
4 | ---
5 |
6 | import { ProFeature, CenteredImage, CenteredVideo } from '@site/src/components/CommonBlocks';
7 |
8 |
9 |
10 | :::info
11 | This article is work in progress
12 | :::
13 |
14 | TagSpaces uses the free OpenStreetMap service as a default digital map. It works fine for the most of the cases, but since the service is free, they can not guaranty that it we always accessible and that it can serve all the request coming to it. Depending on this how much you relay on the digital maps in TagSpaces, it might make sense to configure an alternative map tile server solution. They are many such services available online and we found [Maptiler](https://www.maptiler.com/) to be one which is very reliable, easy to configure and offering many map themes. Of course everything comes with its price, luckily they offer a free plan so you can try it with no costs. Another option you have is to setup your own map tiles server. I will discuss this option briefly at the end of the second half of this tutorial.
15 |
16 | ## Using map tiles from Maptiler
17 |
18 | In order to start with Maptiler you will need to [create an account](https://www.maptiler.com/cloud/plans/) for this service.
19 |
20 | https://cloud.maptiler.com/geocoding/
21 |
22 | 
23 |
24 | 
25 |
26 | ## Setting up your own map tile server
27 |
28 |
29 |
30 | DockerImage
31 |
32 | https://github.com/Overv/openstreetmap-tile-server
33 |
34 | https://hub.docker.com/r/overv/openstreetmap-tile-server
35 |
36 | http://download.geofabrik.de/
37 |
38 | ## Adding map tile servers in TagSpaces
39 |
40 |
43 |
44 | ## Other resources
45 |
46 | - [Self Hosting a Google Maps Alternative with OpenStreetMap](https://wcedmisten.fyi/post/self-hosting-osm/) - a deep dive into the topics of self hosting OpenStreetMap
47 |
--------------------------------------------------------------------------------
/docs/tutorials/prepare-custom-packages.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Prepare custom packages
3 | description: Learn how to prepare custom packages for TagSpaces' desktop app.
4 | tags: [tutorial]
5 | ---
6 |
7 | ## Introduction
8 |
9 | get zip or tag.gz package
10 |
11 | unpack the tagspaces package
12 |
13 | install asar
14 |
15 | ```
16 | npm install -g asar
17 | ```
18 |
19 | go to resources folder
20 | create app subfolder
21 |
22 | and extract the content of the asar file to the app folder
23 |
24 | ```
25 | asar extract-file app.asar app
26 | ```
27 |
28 | delete the app.asar files
29 |
30 | edit the app.html in the main folder
31 |
32 | ```HTML
33 |
34 |
35 |