Zettlr

Your One-Stop Publication Workbench

GPL-3.0 License

Stars
9.7K
Committers
114

Bot releases are visible (Hide)

Zettlr - v0.18.3 — Hotfix

Published by nathanlesage about 6 years ago

Please excuse the inconvenience of yet another release one day after the last, but as some of you might have noticed, I completely messed up with the syntax highlighting. This hotfix fixes this issue among with some smaller bugs.

Also, this hotfix increases your privacy, because the update check now only makes one single request to GitHub, and not four, as until recently.

Changelog

GUI and functionality

  • Now the list design and all other colours and syntax highlighting should be fixed again.
  • ALT-clicking files now opens them as QuickLook windows.
  • Now Quicklook windows render the content automatically as the main editor does. Only the previewable elements will not be rendered.
  • Fixed a bug that allowed you to try to create files, folders and virtual directories although no directory is selected.

Under the hood

  • Cleaned up the mess inside the LESS resource files and removed the global pollution with CSS styles that led to strange rendering behaviour.
  • Replaced the net command to check for updates with the better package got, thereby reducing the amount of requests to one only. Therefore, is-online also has been removed.
  • Updated dependencies. Switched to electron 2.0.8.
  • Changes to the _gen() and select() methods in ZettlrPreview.
Zettlr -

Published by nathanlesage about 6 years ago

Today's release again contains a lot of bug fixes and smaller improvements. There are, as always, some that deserve a little bit of spotlight:

Removed the annoying "Replace file in editor?" message

As many of you have already noticed (and as an issue actually reported a few days ago), Zettlr always had an annoying problem. Every time when you were editing a file that was stored via a cloud service, such as Dropbox, Nextcloud, or GoogleDrive, it could occasionally happen that Zettlr permanently asked you whether or not you want to replace the remotely-modified file. This message was irrational as you were the only one editing the file, and it broke your workflow every time. The reason for this message is that somehow the detection mechanism of cloud services seem to trigger another "change"-event inside Zettlr, which is then not ignored but passed on to the mechanism that prompted you to replace the file. Now, Zettlr will first determine whether or not the file has really changed since it last checked, and only if that is true, Zettlr will bother you with the prompt.

Syntax highlighting in fenced code blocks

Somehow, Zettlr is becoming more and more popular among coders, which is really nice! As my primary goal is to create a Markdown editor for researchers in the arts and humanities, I didn't initially implement code highlighting, because most of us never really need fenced code blocks to explain some code. But now after the issue has been raised, I decided to activate this functionality of Zettlr. Currently, a variety of popular languages is highlighted, but more can be implemented as well.

Currently implemented are: C, C++, Objective C, C#, Java, Javascript, PHP, Ruby, Python, R, SQL, Swift, YAML, CSS and LESS.

You can activate code highlighting for these languages by using the Commonmark specification for info text (i.e. write the language after your beginning fence, like this: ```javascript`)

The strings that trigger code highlighint are as follows: c, cpp, objectivec, csharp, java, javascript, php, ruby, python, r, sql, swift, yaml, css and less.

Do you want code highlighting enabled for additional languages? No problem, simply head over to the list of modes that CodeMirror supports and tell me. Enabling them is a matter of seconds.


As always, there are a lot of additional fixes and improvements, see the changelog for all of them:

Changelog

GUI and functionality

  • Minor fix to the style of code-blocks in modals.
  • Fixed a bug that prevented you from immediately re-selecting the previous file by simply clicking it again, after you opened an external markdown file in Zettlr, which then was selected automatically.
  • Fixed an error thrown if a root file was removed remotely.
  • Fixed Zettlr always asking to replace a file although it hasn't been modified remotely.
  • Fixed a missing translation for changed files.
  • Fixed the threshold for being close to surpassing average from 50 words below average to the half of average. 50 words were definitely too narrow for anyone to really see the intermediary message.
  • Fixed some design rules.
  • Reallowed arbitrary text selection inside the editor (mainly necessary for macOS's quick lookup functionality).
  • Added styling for horizontal rulers (* * *) and escaped characters (e.g. \*).
  • Fixes to the new tooltips. Now all tags receive the nicer tooltips on mouse over.
  • Replaced the old footnote tooltip bubble, which did not look nice, with the much better tippy.js-bubbles.
  • Added HTML syntax highlighting.
  • Fixed an error on the export of Markdown files with code blocks.
  • Added syntax highlighting capabilities in fenced code blocks for the following languages (use the words in brackets after the beginning of a code block, i.e. ```javascript`):
    • C (c)
    • C# (csharp)
    • C++ (cpp)
    • CSS (css)
    • Java (java)
    • JavaScript (javascript)
    • LESS (less)
    • Objective C (objectivec)
    • PHP (php)
    • Python (python)
    • R (r)
    • Ruby (ruby)
    • SQL (sql)
    • Swift (swift)
    • YAML (yaml)

Under the hood

  • Added an additional check to definitely determine if chokidar has choked or the file has indeed been modified remotely.
  • Lots of documentation has been added to the source code.
  • Moved the tippy() function from the ZettlrRenderer to the correct classes (ZettlrToolbar and ZettlrPreview).
  • Changes to the link detection regex in ZettlrEditor.
  • Changes to the export.tex LaTeX export template. It now provides the Shaded-environment Pandoc requires on exporting files containing fenced code blocks.
  • Added some amount of HTML syntax highlighting.
  • Added a multiplex mode that can highlight fenced code blocks.
  • Changed signature documentation of ZettlrRenderer's setCurrentFile method to reflect the actual process (it is being passed a hash, not a file object).
  • Changes to the _tags-array in ZettlrPreview. Now, the array is never completely regenerated, but resized according to the actual _data-array. The changes have affected the functionality of the functions _gen() and refresh() in this class.
  • Added a remove() method to Zettlr for root files wanting to delete themselves.
Zettlr -

Published by nathanlesage about 6 years ago

Thank God it's Friday! And with Friday there is, somewhat out of a tradition, a new release. This release fixes many small bugs and improves many features. Most of what has been changed is under the hood and therefore not visible to everyday users. But it has quite bettered the performance of Zettlr. Among the most notable features are:

  • You can now import any translation file to translate Zettlr into whatever language you like. Please also feel free to notify me, if you have translated the app, so that I may include your language files into the source and ship them by default!
  • You can now copy text as HTML, which enables you to paste Markdown into word processors such as Word, Writer or Pages, or into e-mail clients, which will thereby retain the formatting.
  • Also, Zettlr now performs a check to determine whether or not you are online. This means that you won't get these ugly internal errors ever again if you open Zettlr while on the train or somewhere with bad connectivity.

For all changes and improvements, see the changelog:

Changelog

GUI and functionality

  • Now it's possible to download and install custom translations for Zettlr! If you want to use a translation that is not (yet) officially bundled with the app, simply import the translation JSON-file into Zettlr using the respective option. It will immediately be available for selection within your preferences (but a restart to apply the change is still necessary). The language file must be in the format aaa_AAA.json so that the app can detect the language by looking at the file name.
  • Numbers are now localised with the correct delimiters.
  • Zettlr now automatically indents text using four spaces to better work with other Markdown parsers.
  • Changed resizing constraints: Editor can now have 90 percent width at maximum.
  • Fixed a small bug that lets you open non-markdown files as roots.
  • You can now copy selected Markdown text as HTML! Just press Cmd/Ctrl+Alt+C instead of Cmd/Ctrl+C.
  • Added an online-check. From now on, if you are offline, Zettlr won't show you ugly error messages, but a simple notification that you are, in fact, offline and Zettlr can't check for updates.
  • Improved footnote placement.
  • Improved the placement of images in exported PDF files.
  • Increased search speed and fixed internal errors in displaying search results.

Under the hood

  • Changes to getSupportedLangs(): The function now returns a dynamically generated array of all available translations. This also includes language files that are placed inside the app's data directory (in the subdirectory lang).
  • Changes to i18n.js to reflect the fact that a language could also be located inside the application data directory (it now first tries to load the file from within the app, and if this fails searches for the file in the app data directory).
  • Zettlr now preserves the linefeeds of a file on saving.
  • Refactored the app's LESS and style handling.
  • Simplified the theme toggling.
  • Consolidated CSS styles.
  • Updated dependencies. Switched to Electron 2.0.6.
  • Removed package-lock.json, because nobody uses them anyway and yarn 1.9.2 just complained about them.
  • Changed resizing constraints: Editor can now have 90 percent width at maximum.
  • Fixed a logical error in ZettlrConfig that allowed non-markdown-files to be opened as root files.
  • Buffered the update check with an online-check. Renamed the original check() to _fetchReleases().
  • Fixes to the footnote placement.
  • Removed an unused function from ZettlrEditor.
  • Removed excess console.log from ZettlrBody.
  • Added an additional security check before marking results in the editor instance.
Zettlr -

Published by nathanlesage over 6 years ago

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.

Projects

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:

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., #todo or #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 NaN instead 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 strong element in the file tiles in the preview list to a simple p to 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 resizable activated.
  • Changes to requestDir() function in ZettlrRenderer.
  • Changes to the Statistics viewer.
  • Changes to ZettlrDialog.
  • 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: electron is now 2.0.4, electron-builder is now 20.19.2 and less.js is now 3.5.3.
  • Changes to ZettlrBody-proceed function.
  • Added tippy.js to the list of dependencies; replaced standard system titles with Tippy titles.
  • Added the acceptFirstMouse option to the creation of new BrowserWindows.
  • Now refreshing the editor instance after dragstop of the divider between combiner and the editor.
  • Removed an unnecessary if-statement in ZettlrToolbar.
  • Added a method to only update the current file in the renderer process, which speeds up saving a lot.
  • Additional check in ZettlrVirtualDirectory.
  • Changes to the LaTeX export template.
  • Replaced the complicated and unreliable tag recognition to a much simpler regular expression.
  • Error handling in ZettlrUpdater.
  • 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 getRenderer()-function to ZettlrDirectories, so that the EmptyPaths-object can send the respective event to the main process.
  • Combined the setContent() and save()-functions in ZettlrFile, because there was simply no need to have them separated. Also, removed the modified-flag from the file.
Zettlr -

Published by nathanlesage over 6 years ago

In this release, not so much has changed. Yet you will notice that I've combined the preview pane and the tree view, because (at least for my own workflow) this works better than having them separated (which is basically using up a lot of space). Of course, for all of you who don't want this and still need the two panes displayed separated, you can change this setting in the first (general) tab of the preferences. The "Thin" mode uses the combination, while the "Expanded" mode displays both separately.

Additionally, I've finally managed to make the editor/sidebar-separation resizable! Yay!

I have now switched to alien for converting the .deb-package into .rpm. Please let me know if I'm still missing something!

Changelog

GUI and functionality

  • Combined preview and directory pane. Now only one of both is visible, never both, but also never none. Pressing Cmd/Ctrl+1 and Cmd/Ctrl+2 will still toggle visibility of both preview and directory pane, but not in parallel anymore. So hiding the preview pane will automatically show the directory pane and vice versa. Also, if you are on the preview pane, moving with your mouse to the top of the pane will show an arrow that lets you enter the directory pane again. Zettlr will automatically switch to the preview pane in a number of cases: Selection of a directory, searches, and renaming of files.
  • Added syntax highlightning for Markdown tables.
  • Resizing of combined tree view and preview pane as well es the editor is now possible.
  • Changes to the HTML export template. Now tables are better integrated, as well as blockquotes.
  • Added an option to choose whether or not the combined view or the regular, old view should be used for preview and tree view.

Under the hood

  • Removed some unnecessary toggle-functions.
  • Changes to the styles of preview and directory panes.
  • Changes to the main template.
  • Markdown table detection is now handled by the ZKN-mode.
  • Changes to the styles for enabling both extended and narrow sidebar mode.
  • Added another check for popup height in ZettlrPopup to ensure popups can be displayed on screen and don't end up being cut off by the window.
Zettlr -

Published by nathanlesage over 6 years ago

I've had quite a run the last week and integrated a lot of issues into the app. Therefore, here's version 0.17.0!

Huge changes to the export engine

This version features first and foremost enormous changes to the exporting engine Zettlr uses to create exports to your likings. There have been three changes worth introducing.

HTML export no longer requires Pandoc

First, we've integrated the HTML export into the App itself. Zettlr does not rely on Pandoc for simple HTML exports anymore. For simple previewing and printing of documents, you don't need to install additional software.

But as we don't rely on the comprehensive engine of Pandoc for exporting to HTML, you will notice some inconsistencies. Showdown.js, which we now use for converting the Markdown into HTML, does not support footnotes, and our (not final) workaround does not re-count the footnotes, meaning that they may be messed up (the numbers of your footnotes show in your HTML document the same way they show up in your Markdown file).

Introducing PDF exporting options

Now you have a lot of export options for your PDF files. As we have relied upon a LaTeX-template for exporting to PDF all along, it was only natural to now integrate more flexibility in the building of the template. Therefore, you now have first options to customise your template. Simply press Cmd/Ctrl+Alt+, to open up the PDF exporting preferences. There you can set the most basic options such as pagemargins, papertype, the main font to be used, the font size and the line spacing. Many more options will be added over time, so that in a later version you'll be able to control your PDF export to a degree that you already know from Microsoft Word or LibreOffice Writer.

General export options

Also, we've implemented some more general exporting options. In your preferences dialog, you can now choose whether Zettlr saves your exported files to the temporary directory (as it has been for all the last versions) or directly into your current working directory (i.e. the directory that is currently selected). This makes it easier to directly export your files to a directory of your liking — simply select it prior to exporting. But be aware: There won't be any warning if Zettlr is about to overwrite any old file, because the general workflow doesn't include working with files once they are exported. If you think there should be a warning, and enough other people join in, we'll integrate one, but for now it's less stressful without such a warning. Other options available to you now concern the ZKN-functionality that you can put into your files. You can choose to strip Hashtags, IDs and internal links prior to exporting your files.

Distraction Free Mode

For several months there has been an issue on GitHub asking for a distraction free mode. This has now been integrated into Zettlr! Simply press Cmd/Ctrl+J to enter the distraction free mode, in which you'll only have a slightly dimmed toolbar and the editor visible. Also, you can (in your preferences) choose to dim all paragraphs in which you are not currently working, as well.

Among these things, a bunch of other things have changed, see the full changelog below. Additionally, we still haven't got RPM-exporting up and running. Therefore, Fedora-users still have to use Alien or something else to convert the DEB-package to an installable RPM-package. Sorry!

0.17.0

GUI and functionality

  • Added full stops after TOC-ordinals.
  • The HTML-export (e.g., for printing) does not rely on pandoc to be present on the system anymore. In other words: HTML-export is now working everywhere and has no prerequisites anymore. Attention: As we do not rely on pandoc for HTML exports anymore, this means that the HTML format is likely to suffer from some inconsistencies, as the rendering engine is way less advanced than pandoc. Yet, this should not pose a problem, as the HTML-export is intended to be for quick previews and prints only.
  • Added a bunch of options for exporting files, such as:
    • Choose whether to save the exported files in the temporary directory (which is expunged on each restart of the system) or in your current working directory (meaning they are persistent across system reboots and are also accessible normally through your file explorer).
    • Strip Zettelkasten-IDs (such as @ID:yyyymmddhhmmss).
    • Strip tags (in the format #tag).
    • Completely remove internal Zettelkasten-links (e.g. [[<link-text>]]).
    • Only unlink internal Zettelkaten-links (i.e. transform [[<link-text>]] to <link-text>).
  • Switched to the better xelatex engine to render PDF documents.
  • Added a great number of PDF export customization options. More will be coming in the future (depending on necessities and user wishes).
  • Added a feature that search results now also are shown on the scrollbar so that you know exactly where the matches reside in your document.
  • Replaced the ugly find-in-file dialog with a Zettlr-style popup and added a replace-function as well. Simply press Return while inside the replacement-field to replace the next occurrence of your search term, or press ALT+Return, to replace all occurrences at once. The search is case-insensitive.
  • Introducing a distraction free mode, which can be toggled by pressing Cmd/Ctrl+J. This makes the editor fullscreen and mutes all lines except the one in which you are currently working.
  • Added option to recall up to ten recently used documents.
  • Hashtags are now not rendered, when they are not preceded by a space or are at the start of a line. This prevents links with anchor-names being displayed wrongly.
  • Added a shortcut for inserting footnotes: Ctrl+Alt+F (Windows+Linux) or Cmd+Alt+R (macOS).

Under the hood

  • Moved all exporting functionality to a separate class, ZettlrExport.
  • Removed unnecessary CodeMirror plugins.
  • Removed unnecessary styles and some unnecessary (b/c unused) functionality.
Zettlr -

Published by nathanlesage over 6 years ago

Introducing Virtual Directories

Virtual Directories are a comfortable way to sort specific files from directories manually into a specific directory without having to move them from their original location. This way, you can now easily—for instance—keep all files you are currently working on in one place without having to search for them. Virtual Directories are not present on disk (they are saved in the respective directory as a so-called dot-file), thereby minimising the clutter while easing your work.

You can create virtual directories by right-clicking a directory, then choose the respective option. Give your virtual directory a name (the same rules for names apply as do for normal directories) and you can begin dragging files onto it. You can remove files from the directory by right-clicking them in their virtual directory (not in the real location!) and choosing the respective option. You can rename and delete virtual directories just as you would normal directories. In your preview list, files in virtual directories will be displayed with a slight purple colour to indicate that they are not actually present in them, but reside in a different location.

Limitations of virtual directories

Virtual directories have some limitations you should take notice of:

  • They are bound to the directory in which you create them, meaning you won't be able to drag them around like other directories.
  • You can only put files from the containing directory into them (i.e. if you have a directory A, and create a virtual directory in directory A, you will only be able to drag files onto the virtual directory that reside somewhere inside directory A)
  • You can remove files normally from virtual directories and rename them, which will remove/change them from both their real directory and all virtual directories they are in.

Other changes include a bunch of bugfixes, better translations and some fixes in the UI design of the app. See, as always, the full changelog below:

Changelog

GUI and functionality

  • Introducing Virtual Directories. Now it is possible to add "ghost" directories to your directories that act as a subset of these directories. They are not actually present on disk (but are persistent with a so-called dot-file named .ztr-virtual-directory) and therefore can be used to create collections of files by manually adding files to them. You can only add files to these virtual directories that are present in the containing directory. Also, you cannot move them because they are bound to their parent directories.
  • Fixed a bug that threw an error every time you tried to delete a directory with no file open currently.
  • Fixes to the inline commands. Now, when you press Cmd/Ctrl+I or Cmd/Ctrl+B a second time after you finished writing your strong/emphasised text, Zettlr will actually "exit" the bold/italic markings and not try to insert them a second time. (Note that it will still insert the end-markings if the characters directly after the current cursor position are not the end-markings).
  • Fixed a bug that threw errors if you were to rename a non-opened file.
  • Fixed a bug that threw errors if you were to rename a directory, while none was selected.
  • Prevent arbitrary selection in the app to make it feel even more native.
  • Huge performance boost on selecting directories and files.
  • Translated remotely triggered file- and directory-events.
  • Finally fixed the bug that the end-search button disappeared and the input field went in disarray when the window size was too small.
  • Re-introduced feature that Zettlr asks the user to replace the current editor content, if the current file has been changed remotely.
  • Now, if the current file is removed remotely, Zettlr automatically closes the file in the editor as well.
  • On updates, the download URL to GitHub now opens on the system's browser.

Under the hood

  • Removed an excess console.log.
  • Implemented indentlist plugin directly in Zettlr core.
  • Continued work on virtual directories.
  • Small changes to Zettlr and ZettlrDir classes.
  • Small changes to the markdown shortcut plugin.
  • Fixed a small error in Zettlr class.
  • Removed a huge bottleneck in the directory selection logic (now the Zettlr main process will not send the complete ZettlrDir-object to the renderer, but just the hash, because the renderer has a full copy of the objects in memory).
  • Removed the same, big bottleneck in the file selection logic.
  • Updated all dependencies to their latest version. Thereby we've switched to Electron 2.0.3.
Zettlr -

Published by nathanlesage over 6 years ago

!!! Fixed Debian- and Fedora-Packages !!!

This release contains several improvements and bug fixes. It fixes the width of the popups to prevent ugly line breaks in the stats windows as well as the behaviour of the attachment pane: Now the "open external"-button will always open the currently selected directory in your file browser, no matter whether or not there are attachments.

Also, fixes to the link renderings: Now, if you click on a link without the ALT-key pressed, the cursor will automatically be placed where you clicked. The rendering performance was also increased, especially in documents with a lot of links.

As a little new feature, we've added a function that automatically suggests file names to you when you start typing in the global search bar. If you hit enter while there is an exact filename (without its extension), Zettlr will not only run a search, but also immediately open the file in the editor.

Changelog

GUI and functionality

  • Additions to the search functionality. If you begin typing in the global search field, Zettlr will autocomplete your typings with exact name matches. This way you can directly open respective files from your searchbar by simply confirming the file to be opened with the RETURN-key.
  • Zettlr will now automatically try to force open a file when you commence a global search, if there is a file containing the typed name somewhere in the system.
  • If you click a link without the ALT-key now, the cursor will be automatically placed and you can edit the link exactly where you clicked without having to click the position twice.
  • Fixes to the attachment pane — now opening a directory will always work.
  • Now the vertical scrollbar in the editor uses the default cursor, not the text cursor.
  • Fixes to the generation and placement of popups. Now a bigger margin to the edges of the window is ensured, and the popups are now a little bit wider to reduce the possibilities of ugly line-breaks.
  • Small fix to the color of directory ribbons in dark mode.
  • The attachment pane now refreshes on new attachments without the need to switch to another directory and then switch back. Also, after every watchdog run the renderer receives a new list of objects now in memory.

Under the hood

  • Small changes to the _renderLinks()-function in ZettlrEditor.
  • Calling _act() in ZettlrAttachments even if there are no attachments to be able to still open the directory in these cases.
  • Changes to _place() in ZettlrPopup.
  • Changes to the ZettlrToolbar and ZettlrRenderer classes.
  • Design-fixes.
  • Removed an unnecessary check for the now non-existent projectDir option in the configuration constructor.
  • Added a security check for additional PATH-variables in ZettlrConfig.
  • Additional security-check in ZettlrConfigs set()-function to only add valid options. Now set() will return either true or false depending on whether the option was successfully set.
  • Removed deprecated code from ZettlrWindow class.
  • Added a security check in ZettlrWindows prompt() function.
  • Removed some unnecessary code from ZettlrDir class.
  • Small changes to ZettlrDir constructor.
  • Began first work on ZettlrFilter and ZettlrVirtualDirectory.
  • Changes to Zettlr and ZettlrRenderer classes.
Zettlr -

Published by nathanlesage over 6 years ago

Today's release contains small but useful fixes. Among other things we have fixed the ugly behaviour of the sorters in the preview pane, finally switched to Segoe UI as default font on windows systems (because Lato was barely readable on most systems), the editor now successfully remembers where in a document you have been and restores that scrolling position and cusor for you and, as a last thing, we've improved the display of links and URLs in your documents. Have a nice weekend!

Changelog

GUI and functionality

  • Zettlr saves a file prior to exporting to make sure you export what you see (WYSIWYE).
  • Now Zettlr is more performant especially in documents containing a lot of links. Also, clicking a link without the ALT-key pressed will now remove the link and make it editable, as intended.
  • Design fix: Now the sorters in the preview pane don't alter the size of the directory field.
  • Design change for Windows users: Now Zettlr on Windows uses the system's default font "Segoe UI", because as of strange font-smoothing effects, Lato is barely readable on Windows machines.
  • Fixed a logical error in the script, so now Zettlr will remember where you were in a document and restore that view on every opening of a file (not persistent, i.e. if you close and re-open Zettlr itself, the positions will be reset).

Under the hood

  • Added export to the CLOSING_COMMANDS.
  • Updates in package.json, updated dependencies.
  • Fixed a wrongly placed continue in _renderLinks() in the ZettlrEditor class.
  • Moved the saving of scrolling info from the open() function to the close() function in ZettlrEditor.
Zettlr -

Published by nathanlesage over 6 years ago

This release mainly contains fixes to the search. We have now improved the search a lot. What's new?

First, the relevancy of a search result is now indicated by the colour of the respective files. The greener, the more relevant. This is pretty much a two dimensional implementation of a "heat map". The more grey the files are, the less relevant are they. What will always be hidden are directories and files that did not match at least once.

Second, the search results are now buffered, and if you (in search mode) open a file, Zettlr will automatically highlight all matches inside the file. Pretty awesome, right?

To exit search, you can now follow one of three methods: Press Escape while the search input is focused, click the small "x" in the search input or simply select another directory from the tree view.

Also, this update includes a lot of smaller fixes, as you can see here:

Changelog

GUI and functionality

  • Removed some displaying of numbers during search.
  • Added more file info - when you click on the word count, a small popup containing info about the characters, characters without spaces and also the selection is shown.
  • Added a heatmap that shows you the relevance of the search results by adding a background color to the individual file ribbons. The more green and bright they get, the more relevant the file showed up in the results. Important: Files that do not match any of the selectors will be hidden as always, e.g. even grey files will at least fulfill the criteria!
  • Removed directory ribbons while in search mode.
  • Search mode will automatically be exited when selecting a different directory.
  • Also, now when a search is done, the opened file will have all results marked in text so you can easily discern them from the rest of the text.
  • Small design fixes.

Under the hood

  • Removed an unnecessary paths-update event.
  • Augmented getWordCount() function to return the wordcount of any given string.
  • Removed some strange artifacts from the search.
  • Huge improvements to the search functionality.
  • Finally implemented the new license in the files
Zettlr -

Published by nathanlesage over 6 years ago

!!! UPDATED DEBIAN AND FEDORA INSTALLERS !!!

Today's release includes a ton of bug fixes and improvements of existing features. This update will make your experience using Zettlr better and will deliver a brand-new kind of experience. As always, let us mention some of the best improvements this release has to offer.

The first major improvement to 0.15.1 is a huge change we've implemented into the rendering of the preview list. Until now, the list has been rendered at once. That means that all files and folders have been rendered directly. Especially users that have quite spectacular amounts of files in some of their folders will have noticed how Zettlr stops reacting for some time until the rendering is done. This can be really annoying and so we've switched to Clusterize.js, a library that enables Zettlr to only render the data chunk by chunk. Doing this, all amounts of files can be rendered in the same (short) amount of time, making the experience a lot smoother. If you scroll through your files, more chunks will be loaded dynamically, making even the longest file lists bearable.

The second improvement concerns the attachment pane. Now there's a small symbol next to its header, letting you open the containing directory with your system's default file browser. This way, you are able to directly access the given directory without having to navigate to it from your browser as well, letting you skip this annoying task.

A third improvement concerns the saving of files. While at first you had to explicitly save all changes to your files, in the last versions we've improved it first by an autosave feature (with which you still had to save explicitly) and then by an automatic save feature. Yet if Zettlr saves a file every 300 miliseconds (which was the delay we've implemented then) this means a huge decrease in writing performance if you stop writing for a short amount of time. We've overcome that barrier with this version, having Zettlr automatically save your files every five seconds and, if you choose to open another file, it will automatically save your file before actually opening the next file. This way you won't have to worry about unsaved changes anymore. It is in this light that we've now removed the modification indicator in the title bar and the save button on the toolbar. We'll keep the menu entry (and, therefore, the shortcut Cmd/Ctrl+S) available for all of you who feel safer explicitly calling the save function (which is always good practice).

Among these major changes, there's a lot happening, so here's—as always—the changelog:

Changelog

GUI and functionality

  • Switched the directory indicator with the collapse indicator on root directories, so that the first always stays first.
  • Huge performance increase in rendering the preview list.
  • Small fix to the word count. Now an empty editor does not show that there's a word written.
  • Removed the Zoom menu entry from the Window menu on macOS.
  • The Reload-shortcut in debug-mode is now F5.
  • Small fix to the Tag-recognition (now a # sign immediately followed by a delimiter character (e.g. spaces, line breaks or apostrophes) will not render a tag formatting).
  • The Attachment pane will now scroll if there are too many attachments in it.
  • Added an option to open the currently selected directory in the system's file browser (e.g. Finder on macOS or Explorer on Windows). The respective button resides next to the attachment pane's header.
  • Small fix to the context menu: It will popup where the click occurred, and not where the mouse is when the menu is actually shown (noticeable especially when right-clicking a misspelled word).
  • Augmented the autoclose-pairs with the default German quotes and .
  • Changed the save function so that it does not save immediately, but gracefully implements a way to save changes any time a potentially file-closing command is issued (such as selecting another file).
  • Changes to the design of the preview list.
  • Removed the save-button from the toolbar and now Zettlr will not show you an indicator whether or not there are unsaved changes, because normally everything should be saved. In case changes are not saved under strange circumstances, Zettlr will still prompt you to save them if they would be lost.
  • Fixed a small error that led Zettlr to believe that it doesn't need to reorder the opened root files and directories, although it should have, thereby having newly opened files pop up not at the top of the directories' list but at random positions somewhere in the directories.

Under the hood

  • Switched Preview-list rendering to Clusterize.js to keep huge lists renderable and reduce loading times.
  • Removed the now unnecessary ListView and ListViewItem classes.
  • Removed the unnecessary file-revert command handler in ZettlrIPC.
  • Removed a console.log in ZettlrPreview.
  • Added a isModified() function in ZettlrRenderer.
  • Changes to ZettlrRendererIPC to accomodate graceful saving procedure.
  • Upgraded dependencies.
  • Coloured the output of the less compiler script so that it's easy to discern whether or not an error or a warning occurred.
Zettlr - v0.15.1 — License Change to GNU GPL v3

Published by nathanlesage over 6 years ago

Again it's release day. This update ships quite a few good things that fix some bugs from the previous major release.

This update also includes a license change! Zettlr will now be licensed under the strong copyleft license GNU GPL v3, which prohibits any closed-source adaptions of Zettlr. All modifications of Zettlr have to be open source as well, now. THIS ALSO APPLIES TO ALL PREVIOUS CODE FRAGMENTS, ALTHOUGH THE LICENSE FILE OF THESE OLDER COMMITS SAYS OTHERWISE!

Changelog

GUI and functionality

  • Switched license from MIT to GNU GPL v3. This also includes all prior releases!
  • Now if there is a valid URL in the clipboard it will be inserted as the URL on all images and links created, not just if there's nothing selected.
  • Fixed a bug that prevented the opening of links if clicked with Alt-key pressed.
  • Added the code indicators (backticks) to the list of auto-complete pairs.
  • Fixed the rendering of internal links.
  • Small changes to the design of file IDs.
  • Moved the resize handles of quicklook windows completely out of the windows themselves so that they are more easy to reach and don't block the scrollbar.
  • Fixed the colours of the directory sorters in dark mode.
  • Translated the formattings.
  • Updates to the readme.
  • ID generation now also works if there is something selected.
  • More generally: All CodeMirror commands (such as changing the formatting of a selection) will retain the selection you have made (i.e. they will save them, run the command and afterwards re-select what was selected previously).
  • Fixed a small bug that could lead to errors while searching using the OR-operator.
  • Updater now shows your current version in the update window.
  • Small fixes to the styling of the update dialog.

Under the hood

  • Small change to the zkn-link regular expression (was greedy, now it is lazy) to prevent huge misrenderings in case two links were on one line.
  • Removed the unnecessary _sort()-function in the ZettlrDirectories-class.
Zettlr -

Published by nathanlesage over 6 years ago

After yet another huge delay, here's the next version. It brings major changes to all aspects of Zettlr, enhancing your experience a lot. There are three major improvements that deserve to be mentioned here.

But first some smaller changes:

  • Shift-Clicking links does not work anymore! Now the modifier key used for opening links in Zettlr is the ALT-Key!
  • All formattings have been moved to a single pane in the toolbar, indicated by the carriage return.
  • If you open your app for the first time after the update, nothing will be opened. You will have to re-open your previous root directory again!

The multi-root feature

Now Zettlr is able to open multiple root directories and root files at once. This means that you can now do the following:

  • On the first start of Zettlr, there won't be any open files or directories. You can open directories by pressing Cmd/Ctrl+O, just as you opened the one root directory in previous versions. Files can be opened by two ways: First, double clicking on them in your file browser (just as you would do with all other files) or, second, drag and drop them on the app. It will automatically detect whether or not this is a directory or a file and will open it accordingly.
  • The opened paths will be persistent, meaning that all open files and directories will be re-opened on any start of the app.
  • Close them by right-clicking them and selecting the respective menu item.

This should now bring an extreme increase of comfortability for all users.

The attachment pane

Now we've added an attachment pane that can be opened using either Cmd/Ctrl+3 on your keyboard, selecting it from the View-menu or simply clicking the paperclip on the right hand side of the toolbar. It will simply list all files that are in your currently selected directory that are not markdown files. To decide, which files should be listed there and which are not, head over to your preferences and select the Attachments-tab. There you can list all the extensions of the files you wish to have available in the pane, separated by comma and with leading dots (e.g. .pptx instead of only pptx. Zettlr will try to add the dot if you forgot it.)

Clicking on them will simply open them in your default system viewer.

First features using the Zettelkasten method

You may have heard of the German sociologist Niklas Luhmann's method of storing information using a complex note taking system, called Zettelkasten. There's a huge amount of literature covering the field, and Zettlr wants to enable you to use the methods scientists around the world use to organize their notes and ideas. Therefore, beginning with this release, you will have these first options to make more of your notes:

  • Give a file a unique ID by typing @ID:<your-id> somewhere inside the file. Zettlr will automatically detect it and assign the ID to your file. In this way, you are not only able to find your ID using the global search, but also link to the ID.
  • If you type in something enclosed in square brackets (like [[these are search terms]]) you will trigger an internal search for these terms. You can trigger the search by ALT-Clicking these links.
  • In case Zettlr finds such a "Wiki-Link" that contains an ID in the format [[@ID:<your-id>]], it will automatically try to find an exact match. If there is a file with the exact ID, it will directly open it in your editor. This way you can quickly navigate through all of your notes and are not reliant upon the tree view and preview pane to do so.
  • Also, in case any such Wiki-Link exactly matches the name of a file, excluding the extension, it will also try to open it directly, so that a Wiki-Link that matches a file name will automatically open the file in the editor. Such links are not completely stable, because you can always rename files. That's what the next feature is for:
  • In case, you ALT-Click a Wiki-Link, this will automatically trigger a global search in the current directory for the ID or the terms inside the square brackets. This way you can find out first, which files link to a specific file, if the search term is an ID, or, second, you can find out which other files contain the specified search terms, making it something like a "saved search", because you don't have to type it again every time.
  • The last feature we've introduced in this version is tagging. Now you can simply tag files using Twitter-like hashtags (e.g. #your-hashtag-here). These links also ALT-Clickable, triggering a search for the exact tags.

We hope that these changes show the dedication I am putting into the App and hope you can make a lot of use of them.

As to the nature of this big release, there also have been a lot of breaking changes to the API which are listed below in our changelog:

Changelog

GUI and functionality

  • Fixed the button text color in popups.
  • More shadow under the popups (makes them stick out more in the white mode).
  • Now it is possible to open Markdown files directly with Zettlr by double clicking them or dragging them onto the app. Dropping also works for directories (#3).
  • Zettlr now tells the Operating System that it is capable of handling .md- and .markdown files.
  • Small fixes to the translations.
  • Added an about dialog.
  • Now Zettlr also converts "standalone" links (e.g. simple detected URLs without Markdown formatting around them) into clickable links. Attention: Clicking now works with ALT instead of Shift!
  • Added a small popup to view some stats on your writing.
  • Fixes to the word count (now also splits along line breaks).
  • Moved all formattings to a small popup (indicated by the carriage return symbol). Also added other formatting possibilities, such as code, headings and blockquotes.
  • Fixes to the formatting commands.
  • Added an attachment pane (#6).
  • Added an option to sort directories chronologically or according to name (#4).
  • Begun adding zkn-functionality to Zettlr:
    • Now it is possible to use @ID:<your-ID> to give an ID to a file (generate one using the Toolbar Button or by pressing Cmd/Ctrl+L). If multiple IDs are defined in such a way, the first found will take precedence.
    • You can now tag your files using the Twitter-like syntax: #hashtag. Alt-Clicking on them will trigger a search for the tag.
    • You can now link searches in your files. If you type [[search terms]] this will trigger a directory-wide search for the search terms. If the link contains an ID in the format [[@ID:<your-ID>]], Zettlr will try to get an exact match. If there is a file using that ID, it will be immediately opened. Also, a directory-wide search for all files referencing this ID will be conducted.

Under the hood

  • Fixed a small bug in the ZettlrWatchdog that prevented remotely added directories from being detected by the app.
  • Given the classes ZettlrFile and ZettlrDir more authority over what happens with them. Now they're handling all events by themselves.
  • Made the paths mandatory on creation of new ZettlrFile and ZettlrDir instances.
  • Added isFile() and isDir() helper functions to check if paths actually denote a valid file or directory.
  • Added openPaths configuration option to hold all opened paths and re-open them on every start.
  • Small fix to the loading mechanism of the configuration to allow flexible arrays (needed for the openPaths option).
  • Found A LOT of unnecessary and duplicate code in the Zettlr main class and removed it.
  • Handle open events in main.js and make Zettlr definitively a single app instance.
Zettlr -

Published by nathanlesage over 6 years ago

This is an urgent hotfix, because in our last version, 0.14.2, we have overlooked one simple typo that prevents you from deleting anything from inside Zettlr. We're sorry for the inconvenience and hereby provide you with a small patch that fixes this.

Changelog

GUI and functionality

  • Fixed a bug that prevented deletion of files and folders.
  • Removed the now defunct autosave option in preferences.

Under the hood

  • Fixed a type error in ZettlrWindow that passed undefined instead of the window to the showMessageBox function.
Zettlr -

Published by nathanlesage over 6 years ago

Happy Easter everyone!

Today's update only includes two "visible" changes/fixes. The first: Now you can actually decypher what you are typing on the creation of a new file/directory or renaming them. We fixed the colours of the text so it should work better now. The second: As suggested by a hint of a friend we've firstly removed the revert feature, because it could be easily misread as an "Undo" button, and secondly switched to automatic saving of the app. So you won't have to hit Ctrl/Cmd+S ever again. All of your changes are now automatically written to disk!

To announce some future changes: We've succeeded in figuring out a way to implement the opening of multiple files and directories in Zettlr, so from now on it won't take much longer for this long awaited feature.

Changelog

GUI and functionality

  • Fixed input text color in popups (e.g., for new files and directories).
  • Removed the autosave functionality. Now Zettlr automatically saves all changes "completely."

Under the hood

  • Updated less.js (dev-dependency) to latest version.
  • Updated chokidar to latest version.
  • Updated electron-builder (dev-dependency) to latest version.
  • Removed all autosave-functions.
  • ZettlrWatchdog can now add multiple paths to watch
  • ZettlrFile can now also be root (e.g. have the Zettlr-object as parent)
Zettlr -

Published by nathanlesage over 6 years ago

We've prepared a small patch for Zettlr. This includes some bugfixes, further consolidation of the user interface and some other goodies on our way towards the next feature: Multiple open root directories and standalone files.

Changelog

GUI and functionality

  • Finally got rid of the horizontal scrollbar in the editor, that was visible on Windows and Linux systems
  • Also, customized the scrollbar style to be more decent
  • Major fixes to the User Interface (now looks way more modern and less cluttered)
  • Fixed an error that did not update the snippet of a file on remote change

Under the hood

  • Added other files and directories to the ignore dirs of chokidar
  • Fixed a small bug in the poll()-function
Zettlr -

Published by nathanlesage over 6 years ago

It's time for another release! This time, there's not much to the functionality, but we've begun rewriting a lot of code so that we can prepare some other features that we'd like to introduce in the next versions, such as opening multiple root directories and standalone-files. So this time you won't get that punchy little extra functionality, but to give you the idea of what we're up to, we've begun improving the GUI, so that the looks of Zettlr now should feel much more "modern".

As always, the complete changelog:

Changelog

GUI and functionality

  • Now Zettlr can detect relative image paths (i.e. relative to the file in which they are referenced) and show these images successfully
  • Fixed a bug that did not update the modification time of a file on save.
  • Fixed the non-selection of the current file on directory selection
  • Fixed a small bug that sometimes could throw an error when moving directories within the app
  • Now a quicklook window can be brought to front by simply clicking its title
  • Hid the textarea by default, so that on startup the editor field is clean
  • Design improvements

Under the hood

  • Begun another code rewrite. This time, the focus is on two parts: First, prevent any access of object properties from other objects than this. Instead, use public functions (also, prevent calling of private functions from the outside). Second: Try to, again, move out some functionality from the Zettlr main class to shorten it.
  • Removed unnecessary function calls in the renderer.
  • Also added support for the yarn package manager
Zettlr -

Published by nathanlesage over 6 years ago

It's release-day again! This release, as always, includes several new features that have been requested by the community or that have been planned long ago. These include:

  • An Autosave feature: Now Zettlr can automatically create autosaves for you and also lets you revert to the last saved state of a file. What will follow shortly is an option to restore an autosave after the app or your computer crashed!
  • Update checking: Now Zettlr checks your version against the newest release here on GitHub and tells you whether or not you already got the newest version. You can also trigger the check manually by selecting Help -> Check for Updates from the menu.
  • Toolbar descriptions: As requested, Zettlr now tells you the function of a toolbar button when you hover over it with your mouse.
  • Better Pandoc/LaTeX support: Until now, especially users on macOS had to always enter the full path to both Pandoc and PDFLaTeX, because of some limitations of Electron. Now, it should find all things automatically (if not, please open an issue!) What has also been changed is that you can now download Pandoc and LaTeX directly by selecting the appropriate entries in the Help-menu of the app and Zettlr will tell you whether or not it has found Pandoc or PDFLaTeX on your system, making the error messages look much more descriptive.

Also, I've fixed many, many small things that I either forgot in previous versions or couldn't fix because of too much work. So 0.13.0 is also a big improvement in stability overall.

And now the changelog, as always:

Changelog

GUI and functionality

  • Fixed a bug that could lead to errors and misbehaviour if a huge number of directories and files was added
  • Added toolbar button descriptions. Simply hover over a button with your mouse to learn about its functionality
  • Added an autosave feature. Now, Zettlr keeps automatic saves of your current file.
  • Added a reversion feature. With the revert button you can restore the editor content to the last saved state.
  • Added an automatic check for updates. It is run on every start of Zettlr and can be called programmatically by clicking Help -> Check for Updates
  • Fixed an error that disabled the end-search button in the searchbar.
  • Fixed an error that did not refresh the preview list when a new file was created by saving an empty file.
  • Fixed an error that did not select newly created directories in the tree view, although they were selected as could be seen in the preview pane.
  • Small changes in the system integration.
  • Additional check whether or not Pandoc and LaTeX are installed on the system.
  • Added menu entries for downloading LaTeX and Pandoc.

Under the hood

  • Added the ignoreDir and ignoreFile helper functions to check whether or not a specific path should be excluded or not. This applies to directories and the watchdog. Ignored directory patterns (as regular expressions) reside in source/common/data.json.
  • Ignoring the jquery-ui.min.js file on docs generation.
  • Improved the documentation of the main classes.
  • Updated to Electron 1.8.3.
  • Updated Electron builder to 20.4.0.
  • Forgot to update the dependencies for export last time.
  • Moved the polling interval into data.json
  • Added class ZettlrUpdater with barebone functionality.
  • Added additional_paths in source/common/data.json to automatically append to electron's PATH as to make sure the additional fields in the preferences are no longer needed (unless in special cases).
Zettlr -

Published by nathanlesage over 6 years ago

It has been a little bit more than a fortnight for the next release. Yet, here we go again and now with heavy improvements, so the waiting finally comes to fruition. We are happy to announce several major new features that will greatly improve your workflow!

The three outstanding features are as following:

Inline image rendering

Now, if you place an image in the form ![Caption](link/to/image.jpg) into a new line, it will be automatically loaded and displayed. If the image path is not found or invalid, Zettlr will simply show a placeholder in its stead. Edit the image by clicking on it or moving with the cursor into it. Move the cursor outside again to re-render the image.

Inline link rendering

Whenever Zettlr detects a link in the form [Caption](link.domain.com), it will render it nicely. To follow the link, simply Shift-click on it. The editing and updating of a link works just as with images.

Table of Content generation

Click the hashtag (#) symbol in the toolbar to open a popup containing all headings that are present in the currently opened file. And they are even numbered! Simply click on a heading to jump directly to it!

Changelog

GUI and functionality

  • New feature: Integrated dynamically generated Table of Contents! Simply click the hashtag symbol and a popup will appear that lets you quickly navigate through all headings in your file.
  • New feature: Now images are automatically displayed, if they are on a single line (only the image, no other text)!
  • New feature: Now links are automatically rendered! Simply shift-click on them! (closes #12)
  • Improved the markdown shortcuts. Now, if nothing is selected, when you trigger the bold or italics option, the cursor will automatically be placed inside the formatting marks, so that you can start typing without having to worry about the placement of the cursor.
  • Now, if there is a valid URL in the clipboard when you trigger the insert link/image commands, it will be taken automatically as the linking target, so that you only have to type in the text it should link to.
  • Added Open-button to the toolbar to select a new directory (closes #2)
  • Switched the icon font from fontawesome to the WebHostingHub-Glyphs
  • Small UI fix in the preview listing
  • Small UI fix: Now Zettlr auto-closes the following pairs of characters: () [] {} '' "" »« “” ‘’ ** __.

Under the hood

  • Moved supported filetypes to unified file source/common/data.json
  • Documentation for all files added.
  • ESDoc-support integrated for API documentation. Simply run npm run docs:build to generate a full documentation in resources/docs
  • Moved the handleEvent() functions from the main objects to the IPC classes.
  • Moved the toolbar buttons to source/renderer/assets/toolbar/toolbar.json as in the example of Electron Menu, to have more dynamic control over the generation of the toolbar.
  • Updated dev-dependencies
Zettlr -

Published by nathanlesage over 6 years ago

After some time, here is the next milestone on our way to version 1.0! This update includes some GUI changes, such as a new pomodoro timer, but most importantly it includes several changes that make the feeling of the app much more native and faster. For instance, renaming and creating files and directories now does not open up an ugly, big dialog window, but a much smaller popup that lets you enter a name much more neat than before.

Also, now we can finally present to you ready-packed Debian- and Fedora installer packages that let you install the software much easier on UNIX-based systems! These packages will be added later today.

As always:

Changelog

GUI and functionality

  • Introducing a pomodoro counter! Now you can simply click on the circle at the right end of the toolbar to start a pomodoro counter. It alternates task-phases of 25 Minutes with short breaks of five minutes and, after every fourth task-phase, a longer break of twenty minutes. It also notifies you when a phase is over with a small notification and a soft sound. Head over to the official website to get to know what this technique is about.
  • Switched to default Lato font on all platforms (embedded the font in the app)
  • Additional check whether or not a file/directory already exists at the target location when moving by drag'n'drop
  • Some fixes to the Quicklook-windows
  • Moved some development functions into a "debug" mode that can be activated in the preferences.
  • Now the zoom in/out menu commands only zoom the editor itself, not the whole application
  • Added a small little button to end a search (and thereby make visible again all files)
  • Switched most dialogs to the smaller (and really nice) popups
  • Moved the Exporting options directly to the new share button
  • Now Zettlr shows default context menus for text fields
  • Fixed an issue on opening new project directories that provided you with the current directory's path instead of the project directory
  • Reversed direction of the changelog to display most recent changes at the top of the file.

Under the hood

  • Included jQuery and CodeMirror as npm packages for easier updating
  • Added a ZettlrPopup-class for easy displaying of small forms and info texts, this will replace most ZettlrDialog-forms, because we don't need such a massive dialog box for a single text field (or something else)
  • Updated electron to version 1.8.2, updated other dependencies.
  • Updated scripts section. Now the available commands are:
    • npm run start: Start the development environment
    • npm run less: Same command as previous, now only with more output
    • npm run build:quick: Quick'n'dirty unpacked release for current platform
    • npm run release:this: Build and pack the app for the current platform
    • npm run release:mac: Build and pack for macOS x64 as DMG
    • npm run release:win: Build and pack for Win x64 as NSIS installer
    • npm run release:linux: Build and pack for Linux x64 both as deb and rpm