After a month with few updates, I finally found time to implement a new batch of features. The release v0.18.0 is special because now all features are present in Zettlr that I've planned from the beginning. This means that one of the next versions will be 1.0!
But now let's summarise the huge amount of features. First of all, there are a lot of bugfixes and small changes that you may find below. The three major addendums to the app are the following
Tag colour assignments
Now you can assign colours and a short description to tags. This means that you can, e.g., tell Zettlr to assign a red colour to the tag
#todo. This will then prompt Zettlr to show a red indicator on the file to indicate that this file has been tagged with the respective tag. Of course, multiple tags in one file also work. You can always change and adapt the colours and tags as you need; no limit imposed.
The last feature that was still missing from Zettlr was a possibility to export multiple markdown files as one single PDF file. Therefore, I can now present to you: Projects! Simply right-click any directory to "create" a project. This will add a small hidden file in the directory, indicating that Zettlr should treat the directory as a project. The directory will behave exactly as any other directory, but have two new context menu options. The first gives you the possibility to fine-tune the layouting of the resulting PDF. You can, for instance, add a table of contents, or a title page. To export the project, simply right-click the directory and select the appropriate option. Zettlr will concatenate all markdown files in the directory (in exactly the same way as the preview pane does — so use the file list as an indicator how the files will be ordered!) and then export them into one single PDF file.
There is still some work to be done there, but the foundation is done!
Drag files out of Zettlr
Some of you may or may not have wondered why it isn't possible to simply take a file, drag it out of the app and drop it onto another app to share it. This was simply because I haven't had the time to implement it — until now. So if you now drag a file out of Zettlr, you can simply drop it somewhere else. Note that dragging files into different folders on your operating system will copy them, not move. No files are moved from their place except you do it solely from within Zettlr or your file browser.
As always, find below the full changelog:
GUI and functionality
- Added the project feature: Now you can convert directories into "projects" (via context menu). A project is simply the possibility for you to adjust PDF options for a set of files differently than in your general PDF settings and tweak the generation a little bit more. It is thought especially for exporting many files into a single PDF file, and has options to generate a table of contents or a title page. All files in the project directory and all of its sub-directories are concatenated in the same way as the preview list does it. Directories themselves are ignored. Then all these files are simply glued together and exported using the special settings you've given the project.
- Included tag preferences. These allow you to assign colours to specific tags, so that you can see in the preview list directly which files contain specific tags (such as, e.g.,
#in-progress) to have an overview over the work you need to do or categorise your files.
- Now the editor should correctly resize itself if the window itself changes its size.
- Now, if you use the combined view, Zettlr recognises a second click on an already selected directory and switches to the preview list instead. If you do so while the expanded mode is active, nothing will happen.
- I finally found the bug that was showing
NaNinstead of real numbers in the stats view. Now it should work on all systems just fine. (It only happened when there were less than thirty days of recorded statistical history available.)
- Adjusted the placement of the dialogs. Now they should definitely be placed in the center, if they are smaller than the window and should never result in a scrollable window.
- The dialog windows should pop up much faster now.
- Changed the styles of all dialog windows, and made pretty especially the PDF preferences windows.
- Replaced the system default's title popups with nicer looking popups.
- Changed image preview rendering. Now, images smaller than the viewport will not scale up to fill the full width, but remain smaller than the viewport width.
- Added a preview rendering of task items with checkboxes.
- Now Zettlr will directly react to you clicking with your mouse into the window and doesn't require you to click a second time after the app has been focused again.
- Snippets are now off by default.
- Fixed a small error that led to the editor behaving strange after resizing the sidebar.
- There is now no lag anymore on saving files. As a side effect, the global search is not exited when you change a little bit and then save the file.
- Changed PDF export.
- Small fix to the ZKN tag detection.
- Added additional error handling in the updater (so you know why Zettlr couldn't tell you why no update check is possible).
- Renaming files is now faster.
- If you now begin to drag a file, after you have stopped dragging the file (i.e. either you dropped it onto a directory or you dropped it somewhere else to cancel the move), the preview pane will be shown again.
- Now it is possible to drag out Markdown files from Zettlr into other apps.
- Clicking on the "No open files or folders"-notification when there are no open folders or files in the directory tree will automatically show the open-dialog.
- Fixed the theming in the QuickLook windows. Now they will be the same theme as the app itself.
Under the hood
- Finally renamed the
strongelement in the file tiles in the preview list to a simple
pto re-gain semantic correctness there.
- Lots of LESS-code added, several other files have been changed.
- Added an event listener to Window resizes to change the editor's width accordingly with the
- Changes to
- Changes to the Statistics viewer.
- Changes to
- Changes to
ZettlrRenderer. Now the translation strings will be copied into the memory of the renderer process directly. This results in better overall performance, especially in dialogs, for which a lot of such strings are needed.
- Updated development dependencies:
- Changes to
tippy.jsto the list of dependencies; replaced standard system titles with Tippy titles.
- Added the
acceptFirstMouseoption to the creation of new
- Now refreshing the editor instance after dragstop of the divider between combiner and the editor.
- Removed an unnecessary if-statement in
- Added a method to only update the current file in the renderer process, which speeds up saving a lot.
- Additional check in
- Changes to the
- Replaced the complicated and unreliable tag recognition to a much simpler regular expression.
- Error handling in
- Changes to the process of renaming files. Now the renaming process should be reflected quicker in the renderer, because we don't send a complete new path object, but only the specific, renamed file.
- Fixes and changes to the dragging behaviour in the renderer.
- Added a dragging event, so that the main process automatically enables dragging out of the app.
- Added the
ZettlrDirectories, so that the
EmptyPaths-object can send the respective event to the main process.
- Combined the
ZettlrFile, because there was simply no need to have them separated. Also, removed the
modified-flag from the file.