From c1b5287ba0b8987766abba0c283aae44134c63cf Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Wed, 10 Feb 2021 22:49:32 +0100 Subject: [PATCH 1/3] Bumped version to 1.2beta1 and updated changelog --- CHANGELOG.md | 66 ++++++++++++++++++++++++++++++++++++++++++++- docs/source/conf.py | 2 +- nw/__init__.py | 43 +++++++++++++++-------------- 3 files changed, 87 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a78d2d90..a416762b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,70 @@ # novelWriter Changelog -## Version 1.2 Dev (Alpha) +## Version 1.2 Beta 1 [2021-02-11] + +### Release Notes + +### Detailed Changelog + +**New Features** + +* A full Open Document exporter has been written and added for the Build Novel project tool. This + replaces the previously used Qt save to ODT which just saved the content of the preview window to + an ODT file. The Qt path was very limited and didn't generate proper formatting classes. The new + export class can generate both full `.odt` and flat XML `.fodt` files. The formatting support of + this exporter is equivalent or better than the HTML5 exporter, which was previously the best + supported option. Solves issue #611, PRs #607, #652, #660, and #654. +* A full Markdown exporter has been written and added for the Build Novel Project tool. This too + replaces a Qt feature that was used to save the content of the preview window into a markdown + file. The exporter allows for standard markdown and GitHub flavour. The only difference being + that the latter allows strikethrough text. Issue #617, PR #650. +* The Build Novel Project tool now has a "Line height" property that is applied to the preview, and + to the HTML5 and Open Document export formats. Discussion #653. Issue #654. PR #660. +* The Build Novel Project tool now has an option to convert Unicode characters to HTML entities on + export to HTML5. Previously, some symbols were converted while others weren't. This option + provides an all or nothing option. PR #660. +* The last file or folder move in the project tree can now be undone from the Project menu or by + pressing `Ctrl+Shift+Z`. PR #632. +* When a document header level is altered in a novel file of layout type Scene, Chapter, + Unnumbered, or Partition, and that document is saved, the document's layout setting as seen in + the project tree is updated to reflect the level of that heading. This helps reduce the + duplication of effort by the user to keep this information in sync. See discussion #613. This is + and acceptable solution to #614. Issue #618, PR #620. +* The session timer now record the amount of time the user is idle. Idle is defined as being when + the application window does not have focus, and also when the user hasn't made any changes to the + document in the editor for a specified amount of time. The default is 5 minutes. The idle time is + recorded to the session log and can be shown in Writing Statistics. Optionally, the status bar + session timer can also be set to pause when the user is considered idle. Issues #606 and #651. + PRs #656 and #661. +* It is now possible to tag a character as the focus character for a give section of text. This is + useful for cases where the point-of-view character differs from the main character of the story, + or the part of the story. Issue #605. PR #662. + +**User Interface** + +* A document's class and layout is now displayed next to its status or importance in the document + editor footer bar. PR #628. +* When a new document is created, the header of the file is automatically generated based on the + document's tree label and the level determined by the selected layout. Issue #530, PR #628. +* On the Build Novel Project GUI, the PDF option has been moved from the "Save As" button to the + "Print" button. This more accurately reflects what it actually does: print the content of the + preview to a PDF using the printer pathway. This also means that all remaining items on the "Save + As" dropdown list can be executed regardless of the content of the preview window. they all run + their own separate build process. Resolves #611, PR #650. +* Export to plain text has been dropped. PR #617. + +**Code Improvements** + +* The index class now scans every element of the loaded index cache before accepting it. This means + that any non-standard content will trigger a full re-indexing. This is particularly useful when + opening an index that was saved by a later release. Every entry that requires a lookup is checked + to avoid potential key errors for instance. All values are also checked for correct data type. + The new check is extensive, but still fast enough that it only adds a few milliseconds to the + startup time. PR #619. + +**Code Maintenance** + +* Cleaned up some redundant code after PR #637. PR #638. ---- diff --git a/docs/source/conf.py b/docs/source/conf.py index eb35d492..71bded54 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -27,7 +27,7 @@ author = "Veronica Berglyd Olsen" # The short X.Y version version = "1.2" # The full version, including alpha/beta/rc tags -release = "1.2-alpha0" +release = "1.2-beta1" # -- General configuration --------------------------------------------------- diff --git a/nw/__init__.py b/nw/__init__.py index 26a7bb60..7aeb7da2 100644 --- a/nw/__init__.py +++ b/nw/__init__.py @@ -1,28 +1,27 @@ # -*- coding: utf-8 -*- -"""novelWriter Init +""" +novelWriter – Init File +======================= +Application initialisation - novelWriter – Init File -========================= - Application initialisation +File History: +Created: 2018-09-22 [0.0.1] - File History: - Created: 2018-09-22 [0.0.1] +This file is a part of novelWriter +Copyright 2018–2021, Veronica Berglyd Olsen - This file is a part of novelWriter - Copyright 2018–2021, Veronica Berglyd Olsen +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . +You should have received a copy of the GNU General Public License +along with this program. If not, see . """ import sys @@ -63,9 +62,9 @@ __license__ = "GPLv3" __author__ = "Veronica Berglyd Olsen" __maintainer__ = "Veronica Berglyd Olsen" __email__ = "code@vkbo.net" -__version__ = "1.2a0" -__hexversion__ = "0x010200a0" -__date__ = "2020-02-01" +__version__ = "1.2b1" +__hexversion__ = "0x010200b1" +__date__ = "2021-02-11" __status__ = "Stable" __domain__ = "novelwriter.io" __url__ = "https://novelwriter.io" From bc0cd2332c096a4e769ef38596316eee6b639164 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Wed, 10 Feb 2021 22:59:13 +0100 Subject: [PATCH 2/3] Changelog clarifications and corrected typos --- CHANGELOG.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a416762b..46e948da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,31 +8,31 @@ **New Features** -* A full Open Document exporter has been written and added for the Build Novel project tool. This - replaces the previously used Qt save to ODT which just saved the content of the preview window to - an ODT file. The Qt path was very limited and didn't generate proper formatting classes. The new - export class can generate both full `.odt` and flat XML `.fodt` files. The formatting support of - this exporter is equivalent or better than the HTML5 exporter, which was previously the best - supported option. Solves issue #611, PRs #607, #652, #660, and #654. +* A full Open Document exporter has been written and added for the Build Novel Project tool. This + replaces the previously used Qt Save to ODT which just saved the content of the preview window to + an ODT file. The Qt pathway was very limited and didn't generate proper formatting classes. The + new export class can generate both full `.odt` and flat XML `.fodt` files. The formatting support + of this exporter is equivalent or better than the HTML5 exporter, which was previously the best + supported option. Solves issue #611. PRs #607, #652, #660, and #654. * A full Markdown exporter has been written and added for the Build Novel Project tool. This too replaces a Qt feature that was used to save the content of the preview window into a markdown - file. The exporter allows for standard markdown and GitHub flavour. The only difference being - that the latter allows strikethrough text. Issue #617, PR #650. + file. The exporter allows for both standard markdown and GitHub flavour markdown. The only + relevant difference being that the latter allows strikethrough text. Issue #617. PR #650. * The Build Novel Project tool now has a "Line height" property that is applied to the preview, and to the HTML5 and Open Document export formats. Discussion #653. Issue #654. PR #660. * The Build Novel Project tool now has an option to convert Unicode characters to HTML entities on - export to HTML5. Previously, some symbols were converted while others weren't. This option - provides an all or nothing option. PR #660. + export to HTML5. Previously, some symbols were converted while others were not. This option + provides a more consistent "all or nothing" option. PR #660. * The last file or folder move in the project tree can now be undone from the Project menu or by pressing `Ctrl+Shift+Z`. PR #632. * When a document header level is altered in a novel file of layout type Scene, Chapter, Unnumbered, or Partition, and that document is saved, the document's layout setting as seen in - the project tree is updated to reflect the level of that heading. This helps reduce the + the project tree is updated to reflect the new level of that heading. This helps reduce the duplication of effort by the user to keep this information in sync. See discussion #613. This is - and acceptable solution to #614. Issue #618, PR #620. -* The session timer now record the amount of time the user is idle. Idle is defined as being when - the application window does not have focus, and also when the user hasn't made any changes to the - document in the editor for a specified amount of time. The default is 5 minutes. The idle time is + an acceptable solution to #614. Issue #618. PR #620. +* The session timer now records the amount of time the user is idle. Idle is defined to be when the + application window does not have focus, and when the user hasn't made any changes to the document + open in the editor for a specified amount of time. The default is 5 minutes. The idle time is recorded to the session log and can be shown in Writing Statistics. Optionally, the status bar session timer can also be set to pause when the user is considered idle. Issues #606 and #651. PRs #656 and #661. @@ -45,18 +45,18 @@ * A document's class and layout is now displayed next to its status or importance in the document editor footer bar. PR #628. * When a new document is created, the header of the file is automatically generated based on the - document's tree label and the level determined by the selected layout. Issue #530, PR #628. + document's tree label, and the level determined by the selected layout. Issue #530. PR #628. * On the Build Novel Project GUI, the PDF option has been moved from the "Save As" button to the "Print" button. This more accurately reflects what it actually does: print the content of the preview to a PDF using the printer pathway. This also means that all remaining items on the "Save - As" dropdown list can be executed regardless of the content of the preview window. they all run - their own separate build process. Resolves #611, PR #650. + As" dropdown list now can be executed regardless of the content of the preview window. They all + run their own separate build process. This resolves #611. PR #650. * Export to plain text has been dropped. PR #617. **Code Improvements** * The index class now scans every element of the loaded index cache before accepting it. This means - that any non-standard content will trigger a full re-indexing. This is particularly useful when + that any unrecognised content will trigger a full re-indexing. This is particularly useful when opening an index that was saved by a later release. Every entry that requires a lookup is checked to avoid potential key errors for instance. All values are also checked for correct data type. The new check is extensive, but still fast enough that it only adds a few milliseconds to the From 600e1cdbfbdb968eccab11aa2f1b12b2c754cb13 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Thu, 11 Feb 2021 17:04:48 +0100 Subject: [PATCH 3/3] Added release notes --- CHANGELOG.md | 70 +++++++++++++++++++++++ nw/assets/text/release_notes.htm | 84 ++++++++++++++++++++-------- nw/assets/text/release_notes_1.1.htm | 32 +++++++++++ sample/nwProject.nwx | 6 +- 4 files changed, 167 insertions(+), 25 deletions(-) create mode 100644 nw/assets/text/release_notes_1.1.htm diff --git a/CHANGELOG.md b/CHANGELOG.md index 46e948da..40cf45b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,76 @@ ### Release Notes +This release is a beta release of 1.2. The release is intended for testing of new features. There +is a higher risk of encountering bugs in a beta release than a final release, so be extra careful +with backups if used on active writing projects. + +#### The Build Novel Project Tool + +The main changes in this release are to the Build Novel Project tool. The Open Document export, as +well as the Markdown export, is now handled entirely by code written for novelWriter. Previously, +these export features depended on the underlying Qt library's save routines connected to the +preview document shown in the build dialog. Using this method of export both meant that the content +of the document was dependent on the preview being generated, and that the exported document had +limited support for novelWriter-specific features and custom formatting. The new export tool should +generate a much better result, especially for the Open Document formats. The Open Document standard +is supported by Open Office, Libre Office, Google Docs, Microsoft Word, and probably a number of +other applications too. The Markdown export hasn't changed a lot, but should be a slight +improvement on the previous export feature. + +These changes to the build tool also imply that the saving process is now independent of the +content of the preview window, meaning you don't have to rebuild the preview before saving, which +was previously the case. To make this more consistent, the PDF export option has been moved to the +print button as it is actually a print-to-file feature under the hood, not technically a proper PDF +export format. It is exactly the same as printing to file from the print preview dialog. + +In addition to the changes to the export features, the Build Novel Project tool now also has +controls for line height, which applies to all rich text export formats, and the option to replace +unicode characters with appropriate html entities for html export. + +#### Document Layout Automation + +Among other changes in this release are a few improvements to the process of creating and changing +documents. When a new document is first created, the header is generated from the assigned label +and layout. For some document layouts, when the user changes the header level of the first header +of the document, the document layout setting is updated accordingly. This should reduce the need +for the user to maintain two ways of assigning the role of a given document. This automation only +applies to combinations of header level and current document layouts where there is no ambiguity. +For instance, changing the header level in a "Scene" document from level 3 to 2 changes the +document layout automatically to "Chapter". But changing the first header of a "Book" layout +document from 1 to 2 does not change the document's layout as the "Book" layout is a generic +document layout. + +Keep in mind that novelWriter treats documents with layout "Book", "Chapter" and "Scene" exactly +the same during exports. The distinction is only meant as a way to indicate the purpose of a +document in the project tree. This new automation is meant to assist in keeping this information up +to date. The other layouts do have an effect on formatting during export and are generally left +alone. + +#### The Session Timer and Idle Time + +Another change that has been requested by a couple of users is to have the session timer in the +status bar stop counting when the user is inactive. This feature is optional, and can be controlled +from Preferences. The definition of idle here is either that the user is active in a different +application than novelWriter (loss of focus) or that the user has not made any changes to the +document open in the editor for a given amount of time. The time threshold is by default five +minutes, but can be altered in Preferences. + +In addition, the idle time is also recorded in the session log, and can be viewed in the Writing +Statistics dialog and exported with the rest of the information. The idle time is recorder in the +logs regardless of whether the status bar clock displays this information or not. + +#### Other Changes + +A small additional feature added is also the ability to undo the last move of an item in the +project tree. The keyboard shortcut for this is `Ctrl+Shift+Z`, or it can be accessed from the +menu. The feature can only undo the last move, but it includes both documents moved to trash, moves +by up/down keypress or menu entries, and drag and drop moves. + +Lastly, a new keyword has been added to mark characters in the story. The new keyword is intended +to tag a character as the focus character for a chapter or scene. This is useful for stories where +the point-of-view character and the focus character are different. + ### Detailed Changelog **New Features** diff --git a/nw/assets/text/release_notes.htm b/nw/assets/text/release_notes.htm index 92506344..6ce8bf2c 100644 --- a/nw/assets/text/release_notes.htm +++ b/nw/assets/text/release_notes.htm @@ -2,28 +2,68 @@ -

Release Notes for 1.1

-

Released on 7 February 2021

-

The main change in this release is the addition of a new tab to the project tree on the left -side of the main window. The regular project tree is now on a tab named "Project", while a new tab -named "Novel" displays a simpler version of the information on the main "Outline" page. It lists -all the headers of the novel part of the project, as well as the word count and point-of-view -character of each section. This is an alternative way to navigate the novel part of the project. -The various tree views are now also kept better in sync when the user selects various documents and -headers.

-

In addition, a new information dialog named "Project Details" has been added. It replaces the -"Details" tab in "Project Settings", and adds more information about the novel part of the project. -In particular, a "Table of Contents" in the "Contents" tab displays a summary of the main parts -and chapters of the project, their total word counts, and an estimated page count. This was made in -response to users asking for ways to estimate the total page count of the project. The page count -is estimated based on a words per page setting, which can be changed on the dialog window.

-

Since the tabs below the project tree now add some extra room on the GUI, some convenient -buttons have been added in the same area, with direct access to "Project Details", "Writing -Statistics" and "Project Setting".

-

A few other minor changes have been made as well. The Preferences dialog has been improved with -clearer categories and hopefully better help text. Some new options have been added too. They allow -syntax highlighting of multi-paragraph quotes. The highlighter can now optionally accept quotes to -be left "hanging", that is, no closing quote in the same paragraph.

+

Release Notes for 1.2 Beta 1

+

Released on 11 February 2021

+

This release is a beta release of 1.2. The release is intended for testing of new features. +There is a higher risk of encountering bugs in a beta release than a final release, so be extra +careful with backups if used on active writing projects.

+ +

The Build Novel Project Tool

+

The main changes in this release are to the Build Novel Project tool. The Open Document export, +as well as the Markdown export, is now handled entirely by code written for novelWriter. +Previously, these export features depended on the underlying Qt library's save routines connected +to the preview document shown in the build dialog. Using this method of export both meant that the +content of the document was dependent on the preview being generated, and that the exported +document had limited support for novelWriter-specific features and custom formatting. The new +export tool should generate a much better result, especially for the Open Document formats. The +Open Document standard is supported by Open Office, Libre Office, Google Docs, Microsoft Word, and +probably a number of other applications too. The Markdown export hasn't changed a lot, but should +be a slight improvement on the previous export feature.

+

These changes to the build tool also imply that the saving process is now independent of the +content of the preview window, meaning you don't have to rebuild the preview before saving, which +was previously the case. To make this more consistent, the PDF export option has been moved to the +print button as it is actually a print-to-file feature under the hood, not technically a proper PDF +export format. It is exactly the same as printing to file from the print preview dialog.

+

In addition to the changes to the export features, the Build Novel Project tool now also has +controls for line height, which applies to all rich text export formats, and the option to replace +unicode characters with appropriate html entities for html export.

+ +

Document Layout Automation

+

Among other changes in this release are a few improvements to the process of creating and +changing documents. When a new document is first created, the header is generated from the assigned +label and layout. For some document layouts, when the user changes the header level of the first +header of the document, the document layout setting is updated accordingly. This should reduce the +need for the user to maintain two ways of assigning the role of a given document. This automation +only applies to combinations of header level and current document layouts where there is no +ambiguity. For instance, changing the header level in a "Scene" document from level 3 to 2 changes +the document layout automatically to "Chapter". But changing the first header of a "Book" layout +document from 1 to 2 does not change the document's layout as the "Book" layout is a generic +document layout.

+

Keep in mind that novelWriter treats documents with layout "Book", "Chapter" and "Scene" exactly +the same during exports. The distinction is only meant as a way to indicate the purpose of a +document in the project tree. This new automation is meant to assist in keeping this information up +to date. The other layouts do have an effect on formatting during export and are generally left +alone.

+ +

The Session Timer and Idle Time

+

Another change that has been requested by a couple of users is to have the session timer in the +status bar stop counting when the user is inactive. This feature is optional, and can be controlled +from Preferences. The definition of idle here is either that the user is active in a different +application than novelWriter (loss of focus) or that the user has not made any changes to the +document open in the editor for a given amount of time. The time threshold is by default five +minutes, but can be altered in Preferences.

+

In addition, the idle time is also recorded in the session log, and can be viewed in the Writing +Statistics dialog and exported with the rest of the information. The idle time is recorder in the +logs regardless of whether the status bar clock displays this information or not.

+ +

Other Changes

+

A small additional feature added is also the ability to undo the last move of an item in the +project tree. The keyboard shortcut for this is Ctrl+Shift+Z, or it can be accessed from the +menu. The feature can only undo the last move, but it includes both documents moved to trash, moves +by up/down keypress or menu entries, and drag and drop moves.

+

Lastly, a new keyword has been added to mark characters in the story. The new keyword is +intended to tag a character as the focus character for a chapter or scene. This is useful for +stories where the point-of-view character and the focus character are different.

The full changelog is available here.

diff --git a/nw/assets/text/release_notes_1.1.htm b/nw/assets/text/release_notes_1.1.htm new file mode 100644 index 00000000..92506344 --- /dev/null +++ b/nw/assets/text/release_notes_1.1.htm @@ -0,0 +1,32 @@ + + + + +

Release Notes for 1.1

+

Released on 7 February 2021

+

The main change in this release is the addition of a new tab to the project tree on the left +side of the main window. The regular project tree is now on a tab named "Project", while a new tab +named "Novel" displays a simpler version of the information on the main "Outline" page. It lists +all the headers of the novel part of the project, as well as the word count and point-of-view +character of each section. This is an alternative way to navigate the novel part of the project. +The various tree views are now also kept better in sync when the user selects various documents and +headers.

+

In addition, a new information dialog named "Project Details" has been added. It replaces the +"Details" tab in "Project Settings", and adds more information about the novel part of the project. +In particular, a "Table of Contents" in the "Contents" tab displays a summary of the main parts +and chapters of the project, their total word counts, and an estimated page count. This was made in +response to users asking for ways to estimate the total page count of the project. The page count +is estimated based on a words per page setting, which can be changed on the dialog window.

+

Since the tabs below the project tree now add some extra room on the GUI, some convenient +buttons have been added in the same area, with direct access to "Project Details", "Writing +Statistics" and "Project Setting".

+

A few other minor changes have been made as well. The Preferences dialog has been improved with +clearer categories and hopefully better help text. Some new options have been added too. They allow +syntax highlighting of multi-paragraph quotes. The highlighter can now optionally accept quotes to +be left "hanging", that is, no closing quote in the same paragraph.

+ +

The full changelog is available +here.

+ + + diff --git a/sample/nwProject.nwx b/sample/nwProject.nwx index 9fc95dda..3e1756e3 100644 --- a/sample/nwProject.nwx +++ b/sample/nwProject.nwx @@ -1,13 +1,13 @@ - + Sample Project Sample Project Jane Smith Jay Doh - 935 + 936 161 - 46219 + 46791 False