github Zettlr/Zettlr v1.4.0

latest releases: v2.3.0, v2.2.6, v2.2.5...
3 years ago

After three months, we are proud to introduce the next step in the evolution of Zettlr! In the past months, we've stuffed many new features into the app and improved everything else. As usual, it's too much to present in this small release notes, so make sure to both read the accompanying blogpost as well as the attached Changelog below. Here's a small teaser with the most notable things:

  • A brand new Table Editor (Documentation)
  • Readability Mode (Demo)
  • Install and update translations with one click
  • Faster and better citations
  • A new Theme: Karl-Marx-Stadt
  • Filter your tags in the tag-cloud
  • RMarkdown file support
  • Massive rewrite of the core for much more speed
  • Regular Expression searches (Introduction)
  • Optional line:column indicator
  • Attention: To move files out of the app, you'll need to hold Alt or Ctrl when initiating a file-drag. You can release the key as soon as the drag has started.

As always, we'd love your support over at Patreon or PayPal!

Become a Patron


GUI and Functionality

This update will reset your sidebar mode to the initial value of thin.

From this update on, you will need to hold either the Alt-key or the Ctrl-key on your keyboard, if you plan to move a file out of the app.

  • New Feature: Table management has just become easier. With the new table helper plugin, Zettlr enables you to circumvent manually having to edit Markdown tables. All you need to do now is keep the table helper active in the settings and just edit your tables as you would do in any other application. The table helper offers the following keyboard navigation shortcuts:
    • Tab: Move to the next cell, or the first cell on the next row, if the cursor is in the last column. Adds a new table row, if the cursor is in the last row.
    • Shift-Tab: Move to the previous cell, or the last cell on the previous row, if the cursor is in the first column.
    • Return: Move to the same column on the next row. Adds a new table row, if the cursor is in the last row.
    • Arrow Up: Move to the same cell in the previous row.
    • Arrow Down: Move to the same cell in the next row.
    • Arrow Left: If the cursor is at the beginning of the cell, move to the previous cell. Moves to the last cell on the previous row, if the active cell is in column 1.
    • Arrow Right: If the cursor is at the end of the cell, move to the next cell. Moves to the first cell on the next row, if the active cell is in the last column.
    • Buttons:
      • Alignment-Buttons (top-left): Aligns the currently active column left, center, or right.
      • Removal-Buttons (top-right): Removes either the current row or the current column. Does not remove the last row or column.
      • Add-Buttons: Adds rows or columns to the top, left, bottom or right hand side of the currently active cell, depending on the button.
  • New Feature: 1.4 introduces a readability mode that you can turn on. It will try to highlight your sentences based on four possible algorithms, where green means that it's readable and red means that the sentence is difficult to read. You can turn on the mode in the toolbar. Thanks to @wooorm at this point for providing the incentive of implementing the algorithm!
  • New Feature: The Translatr-API is now integrated into the app. This means: All translations will automatically be kept updated. Additionally, you can comfortably download all available languages (completed at least 50 percent) from the preferences dialog.
  • The app will boot much faster now.
  • Root directories that have not been found on app start, or are removed during runtime, are indicated as "dead" in your directory tree. If they reside on a removable medium, you can now simply plug the medium into the computer and rescan the directory. You don't have to manually open it anymore.
  • Citations in your text are now always updated, you don't have to type anything for this to work.
  • Inserting tasklists is now possible via context menu and formatting toolbar.
  • New Theme: Karl-Marx-Stadt.
  • Now you can choose which time to use for sorting and for displaying in the file meta: It's either the last modification time of the files or the creation time.
  • Directory sorting is now persisted during reboots.
  • Clicking on tags now initiates a search for the given tag.
  • Added three new optional variables to pass to external exporter programs: $infile_basename$ (input filename without directory), $outfile_basename$ (output filename without directory) and $indir$ (the input file's directory)
  • You can now change the number of spaces to indent by in the preferences.
  • Images can now be put inside links on the condition that they are (a) the only element inside the link's description and (b) relative links won't work during preview.
  • You can now activate RMarkdown file support in the advanced preferences.
  • You can now tell Zettlr to count characters instead of words (e.g. for Chinese).
  • Custom CSS is now also rendered in the QuickLook windows.
  • The preview image colour is now adapted to the active theme.
  • You can now choose the formatting characters that should be used by the formatting commands.
  • You can now change the pattern used for generating new file names, and omit being asked for filenames in general.
  • Zettlr now tries to escape the input you provide for options that are directly passed into LaTeX documents.
  • When you have open two or more root files with the same filename, Zettlr will display the containing directory's name as well.
  • French-style guillemets are now supported for auto closing.
  • Image display in HTML exports fixed.
  • The About dialog contributors' tab now displays the date when the translation was last updated at.
  • The dates and times all across the app are now correctly localised.
  • When initiating a replace command with a regular expression search, you can now use variables in your replacement value so that you can re-use capturing groups from the search regular expression:
    • $1 in the replacement value will be replaced with the first capturing group
    • $2 with the second capturing group
    • ... and so forth.
  • Zettlr now automatically downloads updates to the translations, if available.
  • The editor now has a light background image in case it is empty.
  • Fixed a bug with certain types of keyboards on macOS conflicting with internal CodeMirror commands.
  • Prevent opening of a user's home directory.
  • The citation rendering plugin won't render the domain parts of Emails anymore.
  • Markdown links in braces won't include the closing brace anymore.
  • The search's heatmaps now use the theme's colour as a base to indiciate the relevancy instead of always green.
  • The image regular expression is now a little bit less restrictive, allowing for some spaces before and after the image.
  • Fixed a small bug during checking and unchecking of task list items that would prevent the updating of the underlying Markdown text.
  • When you enter an ID and choose the ID from the popup list, the filename belonging to that ID will also be inserted after the ID.
  • You can now filter the tags in the tag cloud.
  • You can now duplicate files within a given directory.
  • The tag selection dropdown will not appear anymore, if you type a # somewhere within a word or a link. It must either be at the beginning of a line, or preceded by a space for the tag dropdown to appear.
  • If there are two or more root directories open with the same name, Zettlr will now display the containing directory just like with root files.
  • Added a line:column indicator mode to the word counter (switch modes with right-click).
  • You can now move through the file-list with the arrow buttons in steps:
    • Arrow down: Select next file
    • Arrow up: Select previous file
    • Shift key: Move up or down by ten files
    • Command or Control: Move to the bottom or the top.
  • Added a table generator.
  • Fixed a small bug that would not correctly sort newly created files.

Under the Hood

  • Massive rewrite of the underlying mechanism of loading the directory trees into the app. It's now asynchronous and the app starts up way faster than before.
  • Replaced the citation engine with Citr for more accurate results in previewing citations.
  • The Citeproc engine is now a service provider.
  • Switched internally to CSS-variables for all colours.
  • Moved all Zettlr CodeMirror modes to their respective files.
  • Moved all helper functions to their own files.
  • Translations located in the lang-directory in the user data folder now take precedence over the shipped translations.
  • Moved all local find functionality to a new class EditorSearch and did some fixing.
  • Massive rewrite of the watchdog logic. Now the app is blazingly fast, there's no up-to-five-seconds-delay anymore when you add/remove any files and the app should generally feel smoother to handle.
  • Fixed duplicate dictionary entries and saving of the dictionary preferences function.
  • Moved the comment detection in the link rendering command further back to speed up performance significantly.
  • Added a clipboard inspection dialog to inspect the contents of the clipboard and make sure copy & paste operations work as expected.
  • Updated the script to automatically infer the version to use from the source's package.json.
  • Simplified the process of maintaining the revealJS templates, added a few other goodies. The command reveal:build will now re-build the full revealJS templates with the installed revealJS version.
  • The Citeproc-provider now logs all errors that prevent a successful boot to the console.
  • Replaced the sidebar with a Vue.js component.
  • The configuration setting for the sidebarMode is finally called as such.
  • Removed ZettlrWindow::setTitle().
  • ESLint is now added to the devDependencies so that everyone can use the same code style.
  • Add activation for opening external links on macOS.
  • Switched to Electron 6.

Don't miss a new Zettlr release

NewReleases is sending notifications on new releases.