Merge pull request #663 from vkbo/release_1.2beta1

Release 1.2 Beta 1
This commit is contained in:
Veronica K. Berglyd Olsen
2021-02-11 16:08:31 +00:00
committed by GitHub
6 changed files with 254 additions and 49 deletions
+135 -1
View File
@@ -1,6 +1,140 @@
# novelWriter Changelog
## Version 1.2 Dev (Alpha)
## Version 1.2 Beta 1 [2021-02-11]
### 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**
* 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 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 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 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
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.
* 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 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 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
startup time. PR #619.
**Code Maintenance**
* Cleaned up some redundant code after PR #637. PR #638.
----
+1 -1
View File
@@ -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 ---------------------------------------------------
+21 -22
View File
@@ -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 20182021, Veronica Berglyd Olsen
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
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"
+62 -22
View File
@@ -2,28 +2,68 @@
<html>
<body>
<h2>Release Notes for 1.1</h2>
<p><i>Released on 7 February 2021</i></p>
<p>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.</p>
<p>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.</p>
<p>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".</p>
<p>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.</p>
<h2>Release Notes for 1.2 Beta 1</h2>
<p><i>Released on 11 February 2021</i></p>
<p>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.</p>
<h3>The Build Novel Project Tool</h3>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<h3>Document Layout Automation</h3>
<p>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.</p>
<p>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.</p>
<h3>The Session Timer and Idle Time</h3>
<p>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.</p>
<p>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.</p>
<h3>Other Changes</h3>
<p>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 <b>Ctrl+Shift+Z</b>, 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.</p>
<p>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.</p>
<p><i>The full changelog is available
<a href="https://github.com/vkbo/novelWriter/blob/main/CHANGELOG.md">here</a>.</i></p>
+32
View File
@@ -0,0 +1,32 @@
<!DOCTYPE html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<body>
<h2>Release Notes for 1.1</h2>
<p><i>Released on 7 February 2021</i></p>
<p>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.</p>
<p>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.</p>
<p>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".</p>
<p>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.</p>
<p><i>The full changelog is available
<a href="https://github.com/vkbo/novelWriter/blob/main/CHANGELOG.md">here</a>.</i></p>
</body>
</html>
+3 -3
View File
@@ -1,13 +1,13 @@
<?xml version='1.0' encoding='utf-8'?>
<novelWriterXML appVersion="1.2a0" hexVersion="0x010200a0" fileVersion="1.2" timeStamp="2021-02-10 21:46:25">
<novelWriterXML appVersion="1.2b1" hexVersion="0x010200b1" fileVersion="1.2" timeStamp="2021-02-11 17:04:25">
<project>
<name>Sample Project</name>
<title>Sample Project</title>
<author>Jane Smith</author>
<author>Jay Doh</author>
<saveCount>935</saveCount>
<saveCount>936</saveCount>
<autoCount>161</autoCount>
<editTime>46219</editTime>
<editTime>46791</editTime>
</project>
<settings>
<doBackup>False</doBackup>