Skip to main content

Β· 2 min read
Ilian Sapundshiev

Recently I discovered a nice feature in the extension management page of the Chrome browser. Here at the end of the page there is a link called "Keyboard shortcuts". See the red area of the screenshot below.

open the chrome extension shortcut configuration

This link opens a dialog where you can set a direct keyboard shortcut, which will open the popup area of an extension. Since currently the main functionality of the this area in TagSpaces is to scrap the current webpage, I choose for myself the shortcut ctrl+s, which overwrites the default save as functionality of Chrome browser. You can choose of course any other key combination, like for example ctrl+shift+s.

setting ctrl+s as keyboard shortcut for the web clipper

So now I can conviniently save and tags any page by just clicking this shortcut combination.

web clipper in action

And my last tip. In order to be asked everytime, where you want to save the scapped web content, make sure to activate the checkbox "Ask where to save each file before downloading" in the advanced Chrome settings.

enable asking where to save the files in Chrome

Enjoy it.

Β· 4 min read
Ilian Sapundshiev

The first release for 2015 went online recently, so now it's time to describe what was added to the product. The most important improvements were the redesign of the search functionality and adding capturing of web pages or so the called web-scrapping or -clipping.

Capturing content from the web

A long awaited feature requested by many users (which previously have used tools such as Evernote) was the ability to capture content from the web as files. So now this feature is reality in the Chrome/Chromium extension of TagSpaces. The button which was previously used for opening the application, now opens a popup menu, which give you the ability to open the application or to scrap the current web page. Basically you save the content in three different ways:

  • You can save the whole page as MHTML file. Which is basically saving all the images and styling of a given page in one single file (which can be opened directly by almost any browser).
  • You can save the currently selected part of the web page as HTML file
  • Or you can save a screenshot from the visible area of the current web page as PNG file

But before you save the content, you can add tags to this web pages. The tag suggestion are coming of course from your tag library in TagSpaces.

design improvements 1.10.0

Search redesing

The search functionality was also redesigned. Now you have to click on the search button in order to show the search input box, where you can write your query. Typing the ESC button will close the search input box and clear the search results.

One big difference to previous release is that now the name of the parent directory is also considered in the search results. This feature should be welcomed by users who are missing tagging of the directories. They can now add a word to the name of a given folder, 'tagging' this way all the directly contained files, with this it.

mhtml viewer in 1.10.0

New MHTML viewer

A new viewer for MHTML files was also added, allowing you to preview MHTML files in TagSpaces. The preview currently is not perfect and should be improved in the next releases. You can still open the MHTML file in a new window with a button located on the top of the viewer. Opening of the MHTML file in a separate window opens the natively chrome/firefox viewer, which is currently a way better than the preview in TagSpaces. The reason we added the preview functionality is restriction of using of the native MHTML viewer in iframes on Chrome, Chromium(node-webkit) and Android.

mhtml viewer in 1.10.0

Settings redesign

The settings dialog was redesigned with a much cleaner interface. The checkboxes were redesigned with touch friendly slider controls. A new switch was added in order to enable or disable the main menu in the native application. Beside that the button responsible for the opening of the setting was moved from the bottom right part of the left application area to the top right part of the same area.

new settings in 1.10.0

Reading EXIF information from JPG files

TagSpaces is now able to read EXIF information from JPG files. This feature is currently used only to rotate the images according to their EXIF orientation. Other feature based on the EXIF/IPTC information including tags will be added in the future.

Miscellaneous changes

On OSX the missing native menu was fixed. Allowing you use again copy and paste functionalities #174. Further more the Russian, German, French, Japanese, Slovak, Portuguese and Bulgarian translations were updated.

Β· 4 min read
Ilian Sapundshiev

In this post I will explain how you can export your notes from Evernote as plain text files in the popular Markdown format. The purpose is of course to make the migration from Evernote to TagSpaces or any other file based note-taking application as painless as possible.

In the original version of this post, we were proposing the use of the Geeknote project, but since it is not actively developed anymore, we are suggesting the use of this Geeknote's fork. Just for clarification Geeknote is a command line client for Evernote.

Preparating your notes

The basic idea here is to create a new notebook and call it for example 4export. Then go throught your notes and copy them in the newly created notebook, as shown in the following screenshot. This copying is needed because in some circumstances explained later, this notebook could be synced with local files, which could damage your original notes in Evernote.

move notes in Evernote

The preparation of the notes is performed in the Windows desktop client of Evernote, because here you can easily copy notes to another notebook and change their names.

Tag Migration (relevant only for TagSpaces)

The Geeknote application does not currently support export of tags attached to your notes. So in order to migrate your tags to TagSpaces, I am suggesting to add manually the tags you want to export in brackets ([,]) to the note title. As seen in the next screenshot.

tag migration

This suggestion is of course not perfect and requires a lot of manual work if you want to transfer many tags, the positive site is that it gives you the opportunity to rethink the tagging decisions you already have made.

Installing Geeknote

You have to execute the following command in order to install Geeknote.

git clone git://

sudo python install

geeknote login

If you are not using the two way authentication, skip this step by confirming with enter.

Exporting your notes

And now the most important command, which is indeed exporting your notes:

gnsync --path ./data --notebook "4Export" --logpath ./log.txt --two-way TWO_WAY --format markdown

So here you are exporting your notes from the 4export notebook in markdown format in a local folder called data. You can also export your notes in plain text with all the formatting information stripped down by exchanging --format markdown with --format plain. The --logpath switch is optional, giving you additional information about the progress of the sync.

Warning! Please make sure that before every execution of the previous sync command, the target local directory is empty. Otherwise Geeknote will try to sync the content of this directory back to Evernote, resulting in overwritting the notes with same names in Evernote with the local files. And since the local files are already stripped to markdown files without any embedded images or attachments, you will loose this information also on Evernote. That is the reason why I am suggesting to copy and not moves the notes you want to export in the newly created `4Export` notebook.

##Results in TagSpaces On the following screenshot you can see the export result in TagSpaces, with one opened markdown file:

Evernote export in TagSpaces

And here the results as plain files listed on the command line:

Evernote export in TagSpaces

Current limitations

The proposed approach is not perfect and had some important limitations:

  • Any files attached to a note will not be exported
  • Any embedded image or any other embedded content will be also lost
  • Tags and reminders are also ignored, except you manually add the tag to the title of the note

I hope that some of these limitations will be implemented in future versions of Geeknote.

Some final tips

Here some other helpful commands for Geeknote:

  • renaming a note:
geeknote edit -n Title -t Title[tag1]
  • list all notes
geeknote find

The research for this post was performed on Linux and the proposed solution should work without modifications on Mac OS. On Windows the commands should be similar, but I did not have had the chance to test them.

Furthermore I am curious to learn how you are exporting or backing up content from Evernote. Any improvement suggestions or new ideas are also welcome.

Β· 2 min read
Ilian Sapundshiev

On 22th November we released version 1.9.0. The main improvement is the addition of the 64bit version of TagSpaces for Windows and Mac OS X, based on node-webkit version 0.11.x. Further changes are:

Improved design

The user interface design was optimized and was slightly improved on many places. We have now a new selection file selection color.

design improvements 1.9.0

New HTML viewer

We have added a new HTML viewer, featuring viewing themes, content zooming and printing functionality.

theming in the HTML viewertheming in the HTML viewer

Improved richtext/HTML editor

We updated the HTML editor to a newer version of the summernote editor supporting pasting images from clipboard. All the images in a HTML are now saved as data url in the current files, so now externally linked images are needed anymore.

design improvements 1.9.0

Other changes

  • Now it is possible to add tags the currently selected files by double click on the tag in the tag group. The selected files are now kept so you don't have to select them again after tagging.
  • We have added also theming, zooming and printing capabilities to the MARKDOWN file viewer.
  • The Image Viewer was also enhanced with printing functionality and buttons for rotating the images to the left and right.

For the complete list of changes please see the whats new page or the change log on GitHub.

Β· 3 min read
Ilian Sapundshiev

File editor redesign

One major improvement coming with version 1.8.6 is the redesigning of the file edit functionality. Now you are not forced anymore to confirm every time the saving of a file. And if you have already edited some file, a star will appear behind the file extension, letting you to know this. Since the start is present, editing of title or adding of tags will be impossible until you save your changes.

File changed functionality

Add existing file

There is also a new entry in the file create menu, allowing you to import a file to the current opened directory in TagSpaces. Technically this functionality is just copying the selected file in your current folder. This functionality is currently available only for the desktop version, and will come soon to the Android and the WebDAV versions.

Add existing file functionality

Export tag groups

A feature requested from many users is the possibility to export of the tag groups from a TagSpaces installation, so it can be transferred to other devices. So now this is possible now in the general tab in settings dialog. There you will find a button called "Export Tag Groups as JSON".

Export Tag Groups to JSON

New JSON viewer and editor

We implemented also a simple viewer and editor for JSON files, based on the json editor project.

Export Tag Groups to JSON

And yes, here you can edit also the JSON file with the tag groups exported from the application. So you can customize the tags you want to distribute.

In order to see how you import the JSON file with the tag groups, read this blog post. In addition, now all tag groups will be imported and not only the first tag group as in version 1.8.5.

Drag & Drop of files in TagSpaces

Drag and drop of files to directories and drag and drop of tags from files to files is available again since it was broken in the previous release.

Miscellaneous changes

We have done also some changes in the dialogs of the application, hoping to increase the overall usability of the product. Now all input text boxes have a validator, which is making the input box red if the input does not comply with requirement. It describes also the given requirement.

form validation

We are now automatically focusing the first input field in a dialog, enabling the user to immediately start typing. In addition we rework the color chooser dialog allowing the choose convinietly any color.

Another big change comming with this release is the making of the Chrome extension read-only and renaming it to TagSpaces Lite. This step is needed due the phasing out of the NPAPI functionality in the Chrome browser, making the renaming of files in Chrome impossible. So from now on TagSpaces in Chrome can be used only for browsing of your local content, if you wish to have the previous functionality you have to install the TagSpaces application for your platform (Windwos, Linux or Mac).

In adding initial russian translations was added thanks to darvin and ijon and TagSpaces can now open BMP files. We have integrated a so called natural sorting for the columns of the perspectiveList. Last but not least we added tow new key bindings for edit document ctrl+e and adding tags ctrl+t to current file selection.

Β· 4 min read
Ilian Sapundshiev

Version 1.8.5 was released some weeks ago, and now is a high time to present the major new features provided by it.

Files drag and drop

One major new functionality is the ability to import files in TagSpaces by dragging them from your native file manager or desktop to TagSpaces.

Drag & Drop of files

After dropping of the file(s) in the currently opened folder, a dialog appears, where the user can choose between copying and moving of the dropped files.

File Copy/Move dialog

The same dialog can be triggered manually by a toolbar button emphasized in the next screenshot with a red line. This way the user can move or copy the currently selected file to a some other location.

trigger file copy or move

File duplication

Starting with this version it is possible to duplicate files. The operation can be triggered in the menu of the currently opened file. To the name of the newly create file will be added the current date and time.

Example: some title [important].txt will be duplicated as some title_20140825-074432 [important].txt

Duplicate file functionality

Bookmark management

One other small addition to this version is the implementation of a viewer for .url, .website and .desktop files. This is basically enabling you to use TagSpaces as a bookmark manager. .url files can be created for example in Windows by dragging and dropping over the desktop a website from your browser. .desktop files are the alternative to the .url files in Ubuntu.

Once you open such a file, a button with an URL will be shown in the viewer, allowing you to open this URL in your default browser.

Bookmark manager functionality

Transfer tag groups between devices

Another long awaited feature was delivered with this release, allowing you to transfer easily tag groups and tags between different installations of TagSpaces (on different devices). It is currently not started by default and have to be activated in the experimental tab of the settings.

Load location meta data functionality

Once activated, by opening of a location, TagSpaces will try to find and load the tsm.json from the .ts folder which should be placed in the root of your location. The tsm.json files, should be in the following format:

"app": "TagSpaces",
"release": "1.8.5",
"version": "1",
"tagGroups": [
"title": "TagGroup 1",
"key": "TGT1",
"expanded": true,
"children": [
"type": "plain",
"title": "Tag1",
"color": "#7bd148",
"textcolor": "#ffffff"
"type": "plain",
"title": "Tag2",
"color": "#7bd148",
"textcolor": "#ffffff"

After successfully loading of the file a new tag group called "TagGroup 1" containing the tags "Tag1" und "Tag2" will be added to your tag library. In the next release of TagSpaces we are planning a TagGroup export functionality, with which the user can easily create tsm.json files.

Note: In order to distribute the tsm.json file to other devices and since .ts is a hidden folder, allow your sync software to include hidded files while syncing.

Note: Please consider this feature as experimental and not production ready.

Miscellaneous changes

In the dropdown menu of a tag group the users will find now a "Sort Tag Group" functionality. This command will sort the tags in the current tag group alphabetically. This could be useful if you have tag groups with many tags.

Sort tag group functionality

In addition spanish (thanks to gjasso) and initial ukrainian (thanks to 235) translations were added to the project. And now if you create a new file in TagSpaces it will be opened automatically in edit mode.

Β· One min read
Ilian Sapundshiev

We just released version 1.8.3 of TagSpaces including the following enhancement:

  • New translations added:
    • brazilian-portuguese thanks to thiagomoreira & MichelW
    • portuguese thanks to duarteframos
    • japanese thanks to Solbianca
    • french thanks to Lewis31
    • slovak thanks to Robert Hartl
  • Adding the ability to export the folder structure in CSV format to the list perspective
  • Adding delete directory functionality, now you are able to delete empty directories in the appication
  • Adding rename directory functionality
directory operations

Β· 3 min read
Ilian Sapundshiev

This week we released version 1.8.1 of TagSpaces, featuring the following improvements and bugfixes:

  • We added Chinese as a new language for TagSpaces, here many thanks thanks to AngelinDark. We added also Bulgarian language, which is currently 50% translated.
  • Technology Preview of a WebDAV Edition was included in this release, allowing you to host your own TagSpaces on top of a WebDAV server such as ownCloud.
  • marked integrated as a new markdown rendering library in the viewerMD, supporting github flavored markdown and tables.
  • We enhanced TagSpaces to be able to open files from the command lines, allowing you to associate certain file types to be opened with the application by default
  • In the installation packages for OS X, Ubuntu and Android we associate markdown and mhtml files with TagSpaces.
  • A download functionality was added, allowing you to save a file locally if you are using the webdav version or just to save a file under another name/location on your device.
file download functionality
  • adding top menu for the native applications, allowing you to access quickly basic functionalities
top menu added
  • now it is possible to add keybinding to a tag, which makes file tagging very easy. After adding a key shortcut to a tag, a small keyboard icon will be visible in front of the tag in tag group, reminding you of the shortcut existence (see the ratings screenshot).
new tag group with rating tags
  • adding a new tag group with rating tags e.g. 1star. Using the previously described new feature you can now rate for example pictures with the keybindings from t 1 to t 5
new tag group with rating tags
  • The tags of the current file are now listed in it properties dialog.
showing tags in file properties
  • New keybindings for showing tag libraries (s t) and directory navigator (s f) added, enabling you a quick switch between this two panels.
  • Implementing clean tags functionality, allowing you to remove all the currently assigned tags from the selected files, as requested in #65. This feature could be useful if you want to send somebody a file per email, but you don't want to send your tags as well.
remove tags functionality
  • Fixing #68 - showing files from hidden directories fixed
  • Fixing #62 - issue where the UI was not refreshed after file deletion.
  • The file types in the settings dialog are now sorted alphabetically.

Β· 2 min read
Ilian Sapundshiev


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 convinient tagging workflow of TagSpaces on their self hosted 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.


In order to test the hosted version you need a working WebDAV server. The current release was tested with success on ownCloud which is based itself on the sabre/dav WebDAV server. On Ubuntu my installation steps are the following:

  • Install Apache
  • Install ownCloud or any other WebDAV server
  • 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.
  • Assuming ownCloud is installed in /var/www/owncloud and TagSpaces in /var/www/tagspaces you have to type something like this in your terminal:
cd /var/www
sudo chmod -R 755 tagspaces
sudo chown -R your_www_group:your_www_user tagspaces
  • Open your browser and enter: The TagSpaces UI should be loaded.
  • Create a new location with the following path: /owncloud/remote.php/webdav
  • Give a name to your location and save.
  • A dialog for credentials entering will appear. Enter here your ownCloud username and password.
  • That's all, you can now browse your ownCloud files in TagSpaces.
screenshot of tagspaces showing the hosted edition
  • 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 someday.


The current version can of the WebDAV version can be downloaded from here. Please note, that current status of the implementation is a technology preview, which is NOT suitable for production use yet !!!.

Β· One min read
Ilian Sapundshiev

Last week we released version 1.8.0 of TagSpaces with two major improvement:

Multilanguage support

The first new languages beside english are:

  • German - thanks to Claudius Ellsel
  • Italian - thanks to mc128k
changing the user interface language of tagspaces

Any other translations are welcome on the Transifex's project for TagSpaces.

Configurable keyboard shortcuts

configuring custom keyboard shortcuts for tagspaces

As you can see from the screenshot you are able to create google mail like shortcuts as g r. You can also add two or more shortcut to a single action by simple separating with , as in left,up

As usual, you can find the full changelog of this release on the github