Merge branch 'dev' into issue546_multipar_quotes

This commit is contained in:
Veronica K. B. Olsen
2021-01-19 21:34:23 +01:00
8 changed files with 94 additions and 113 deletions
+1
View File
@@ -24,6 +24,7 @@ jobs:
run: |
pip install --upgrade pip
pip install -r requirements.txt
pip install pyobjc
pip install pytest-timeout
pip install pytest-cov
pip install pytest-qt
+40
View File
@@ -15,6 +15,46 @@
----
## Version 1.0.2 [2021-01-19]
### Release Notes
This patch release fixes a few minor cosmetic issues, a minor issue with the indexer, and a bug
when adding words to the user's own spell check dictionary. Additionally, the documentation has
been updated based on user feedback, and some install issues resolved.
### Detailed Changelog
**Installation**
* The dependency list was missing in the setup configuration for PyPi due to a bug in the
`setup.cfg` file. The dependencies have been moved to a different section where the setup tool
now picks them up properly. Issue #570, PR #573 by @stranger-danger-zamu.
**Bug Fixes**
* Fixed an issue with note files being moved between a non-novel root folder and a novel root
folder without clearing its index entry in the former note or novel index. This would cause
duplicate entries for such a file. PR #558.
* Fixed a cosmetic issue where the meta data panel below the project tree was not cleared when the
project was closed. PR #559.
* Fixed an issue where the main window title would not be cleared when a project was closed, and
the new title not set when a new project was first created. Issue #560, PR #561.
* The editor context menu option to "Add Word to Dictionary" should also be visible when there are
no spell checker suggestions. The entry was erroneously added under an if-condition that excluded
it in those cases. Issue #574, PR #575.
**Documentation**
* Fixed some typos and spelling mistakes in the documentation, and reworded parts of the text that
were unclear. The technical page has also been extended with more information on project folder
structure. PR #557.
* Clarify install instructions, and remove the duplicate instructions in the README file and
replace them with a brief section. The full instructions are in the documentation. Issues #566
and #570, PR #576.
----
## Version 1.0.1 [2021-01-10]
### Release Notes
+27 -95
View File
@@ -28,7 +28,8 @@ is primarily saved in JSON files.
The full documentation is available at
[novelwriter.readthedocs.io](https://novelwriter.readthedocs.io/).
The contributing guide is available in [CONTRIBUTING](CONTRIBUTING.md).
The contributing guide is available at
[CONTRIBUTING](https://github.com/vkbo/novelWriter/blob/main/CONTRIBUTING.md).
## Implementation
@@ -40,118 +41,49 @@ tests are run on the latest versions of Ubuntu Linux, Windows Server and macOS.
# Installing and Running
For install instructions, please check the [documentation](https://novelwriter.readthedocs.io/) in
the [Getting Started](https://novelwriter.readthedocs.io/en/latest/int_started.html) section.
## TLDR Instructions
**Note:** You may need to replace `python` with `python3` and `pip` with `pip3` in the instructions
below on some systems. You may also want to add the `--user` flag for `pip` to install in your user
space only.
### Install from PyPi
novelWriter is available on [pypi.org](https://pypi.org/project/novelWriter/), and can be installed
with:
```bash
pip install novelwriter
```
To upgrade an existing installation, use:
Dependencies should be installed automatically, but can also be installed directly with:
```bash
pip install --upgrade novelwriter
pip install pyqt5 lxml pyenchant
```
Dependencies are installed automatically, but can generally be installed with:
### Setup on Linux
If you're running from source, the following commands will set up novelWriter on Linux:
```bash
pip install -r requirements.txt
python setup.py install
python setup.py xdg-install
```
Below are some brief instructions on how to get started on different operating systems.
### Setup on macOS
## Linux
Either download the source, or install with pip.
If you run from source, install the dependencies via pip, or directly from the OS repo. There are
very few dependencies, and they should be available in the standard repo. The Python packages
needed are `pyqt5`, `lxml` and `pyenchant`.
### Installing from Source
You can also install novelWriter from source with:
```bash
python setup.py sample
sudo python setup.py install
sudo python setup.py xdg-install
```
The last line will install the application icons and set up a launcher for novelWriter. The script
may prompt you to choose which executable to configure if it finds more than one.
**Note:** If your distro has multiple versions of Python installed, you may need to use the
`python3` command instead of `python`.
### Running from Source
If you want to run directly from the source, the application can be started with:
```bash
./novelWriter.py
```
You can also create a launcher for running directly from source with:
```bash
python3 setup.py xdg-install
```
This will install the launcher and icons for the current user. To install them system-wide, run the
above command with `sudo` or as root.
For more install options, see [Build and Install novelWriter](setup/README.md).
## macOS
These instructions assume you're using brew, and have Python and pip set up. If not, see the
[brew docs](https://docs.brew.sh/Homebrew-and-Python) for help.
Main requirements are installed via the requirements file. You also need to install the `pyobjc`
package on macOS, so you must run:
If you're running from source, the following commands will set up novelWriter on macOS:
```bash
brew install enchant
pip3 install --user -r requirements.txt
pip3 install --user pyobjc
```
For spell checking you may also need to install the enchant package. It comes with a lot of default
dictionaries.
```bash
brew install enchant
```
### Setup on Windows
## Windows
On Windows, you may first need to install Python. See the [python.org](https://www.python.org/)
website for download packages. It is recommended that you install the latest version of Python 3.8.
To install dependencies, run:
```bash
pip install --user -r requirements.txt
```
**Note:** On Windows, make sure Python3 is in your PATH if you want to launch novelWriter from
command line. You can also right click the `novelWriter.py` file, create a shortcut, then right
click again, select "Properties" and change the target to your python executable and
`novelWriter.py`.
It should look something like this:
```
C:\...\AppData\Local\Programs\Python\Python38\python.exe novelWriter.py
```
You can also run the `make.py` script to generate a single executable, or an installer.
See [Build and Install novelWriter](setup/README.md) for more details.
## Package Versions
Exporting to Markdown requires PyQt/Qt 5.14. There are no known minimum for `lxml`, but the code
was originally written with 4.2. The optional spell check library must be at least 3.0.0 to work
with Windows 64 bit systems. On Linux, 2.0.0 also works fine.
If no external spell checking tool is installed, novelWriter will use a basic spell checker based
on standard Python package `difflib`. Currently, only English dictionaries are available for this
spell checker, but more can be added to the `nw/assets/dict` folder. See the
[README](nw/assets/dict/README.md) file in that folder for how to generate more dictionaries. Note
that the difflib-based option is both slow and limited.
For Windows, you can either install via PyPi, or use the Windows installer available from the
[releases](https://github.com/vkbo/novelWriter/releases) page.
## Debugging
@@ -249,7 +181,7 @@ to quickly navigate between the documents while editing.
This is Open Source software, and novelWriter is licensed under GPLv3. See the
[GNU General Public License website](https://www.gnu.org/licenses/gpl-3.0.en.html) for more
details, or consult the [LICENSE](LICENSE.md) file.
details, or consult the [LICENSE](https://github.com/vkbo/novelWriter/blob/main/LICENSE.md) file.
Bundled assets have the following licenses:
+2 -2
View File
@@ -82,8 +82,8 @@ and it is less sophisticated than full spell checking libaries, but if you only
files, the performance loss is not noticeable. The spell check library must be at least 3.0 to work
with Windows. On Linux, 2.0 also works fine.
If you install from PyPi, these dependencies should be installed automatically. They can be
manually installed with:
If you install from PyPi, these dependencies should be installed automatically. If you install from
source, dependencies can still be installed from PyPi with:
.. code-block:: console
+11 -3
View File
@@ -2,6 +2,17 @@
<html>
<body>
<h2>Release Notes for 1.0.2</h2>
<p><i>Released on 19 January 2021</i></p>
<p>This patch release fixes a few minor cosmetic issues, a minor issue with the indexer, and a bug
when adding words to the user's own spell check dictionary. Additionally, the documentation has
been updated based on user feedback, and some install issues resolved.</p>
<p><i>The full changelog is available
<a href="https://github.com/vkbo/novelWriter/blob/main/CHANGELOG.md">here</a>.</i></p>
<hr/>
<h2>Release Notes for 1.0.1</h2>
<p><i>Released on 10 January 2021</i></p>
<p>This release is mainly to bring the documentation up to date, as I forgot to update the install
@@ -13,9 +24,6 @@ issues with the document and project changed icons on the status bar have also b
indicators were previously set to changed status even if no actual change had been made to the
project.</p>
<p><i>The full changelog is available
<a href="https://github.com/vkbo/novelWriter/blob/main/CHANGELOG.md">here</a>.</i></p>
<hr/>
<h2>Release Notes for 1.0</h2>
+7 -7
View File
@@ -1010,18 +1010,18 @@ class GuiDocEditor(QTextEdit):
for aWord in theSuggest:
mnuWord = QAction("%s %s" % (nwUnicode.U_ENDASH, aWord), mnuContext)
mnuWord.triggered.connect(
lambda thePos, aWord=aWord : self._correctWord(posCursor, aWord)
lambda thePos, aWord=aWord: self._correctWord(posCursor, aWord)
)
mnuContext.addAction(mnuWord)
mnuContext.addSeparator()
mnuAdd = QAction("Add Word to Dictionary", mnuContext)
mnuAdd.triggered.connect(lambda thePos : self._addWord(posCursor))
mnuContext.addAction(mnuAdd)
else:
mnuHead = QAction("No Suggestions", mnuContext)
mnuHead = QAction("%s No Suggestions" % nwUnicode.U_ENDASH, mnuContext)
mnuContext.addAction(mnuHead)
mnuContext.addSeparator()
mnuAdd = QAction("Add Word to Dictionary", mnuContext)
mnuAdd.triggered.connect(lambda thePos: self._addWord(posCursor))
mnuContext.addAction(mnuAdd)
# Open the context menu
mnuContext.exec_(self.viewport().mapToGlobal(thePos))
+2 -2
View File
@@ -5,9 +5,9 @@
<title>Sample Project</title>
<author>Jane Smith</author>
<author>Jay Doh</author>
<saveCount>824</saveCount>
<saveCount>826</saveCount>
<autoCount>153</autoCount>
<editTime>39448</editTime>
<editTime>39506</editTime>
</project>
<settings>
<doBackup>False</doBackup>
+4 -4
View File
@@ -23,10 +23,6 @@ classifiers =
Natural Language :: English
Topic :: Text Editors
python_requires = >=3.6
install_requires =
pyqt5>=5.2.1
lxml>=4.2.0
pyenchant>=3.0.0
project_urls =
Bug Tracker = https://github.com/vkbo/novelWriter/issues
Documentation = https://github.com/vkbo/novelWriter/issues
@@ -35,6 +31,10 @@ project_urls =
[options]
include_package_data = True
packages = find:
install_requires =
pyqt5>=5.2.1
lxml>=4.2.0
pyenchant>=3.0.0
[options.packages.find]
exclude = docs, tests, sample