Merge branch 'dev' into issue546_multipar_quotes
This commit is contained in:
@@ -24,6 +24,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
pip install --upgrade pip
|
pip install --upgrade pip
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
|
pip install pyobjc
|
||||||
pip install pytest-timeout
|
pip install pytest-timeout
|
||||||
pip install pytest-cov
|
pip install pytest-cov
|
||||||
pip install pytest-qt
|
pip install pytest-qt
|
||||||
|
|||||||
@@ -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]
|
## Version 1.0.1 [2021-01-10]
|
||||||
|
|
||||||
### Release Notes
|
### Release Notes
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ is primarily saved in JSON files.
|
|||||||
The full documentation is available at
|
The full documentation is available at
|
||||||
[novelwriter.readthedocs.io](https://novelwriter.readthedocs.io/).
|
[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
|
## Implementation
|
||||||
@@ -40,118 +41,49 @@ tests are run on the latest versions of Ubuntu Linux, Windows Server and macOS.
|
|||||||
|
|
||||||
# Installing and Running
|
# 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
|
novelWriter is available on [pypi.org](https://pypi.org/project/novelWriter/), and can be installed
|
||||||
with:
|
with:
|
||||||
```bash
|
```bash
|
||||||
pip install novelwriter
|
pip install novelwriter
|
||||||
```
|
```
|
||||||
|
Dependencies should be installed automatically, but can also be installed directly with:
|
||||||
To upgrade an existing installation, use:
|
|
||||||
```bash
|
```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
|
```bash
|
||||||
pip install -r requirements.txt
|
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
|
||||||
|
|
||||||
|
If you're running from source, the following commands will set up novelWriter 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:
|
|
||||||
```bash
|
```bash
|
||||||
|
brew install enchant
|
||||||
pip3 install --user -r requirements.txt
|
pip3 install --user -r requirements.txt
|
||||||
pip3 install --user pyobjc
|
pip3 install --user pyobjc
|
||||||
```
|
```
|
||||||
|
|
||||||
For spell checking you may also need to install the enchant package. It comes with a lot of default
|
### Setup on Windows
|
||||||
dictionaries.
|
|
||||||
```bash
|
|
||||||
brew install enchant
|
|
||||||
```
|
|
||||||
|
|
||||||
## Windows
|
For Windows, you can either install via PyPi, or use the Windows installer available from the
|
||||||
|
[releases](https://github.com/vkbo/novelWriter/releases) page.
|
||||||
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.
|
|
||||||
|
|
||||||
## Debugging
|
## 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
|
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
|
[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:
|
Bundled assets have the following licenses:
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
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.
|
with Windows. On Linux, 2.0 also works fine.
|
||||||
|
|
||||||
If you install from PyPi, these dependencies should be installed automatically. They can be
|
If you install from PyPi, these dependencies should be installed automatically. If you install from
|
||||||
manually installed with:
|
source, dependencies can still be installed from PyPi with:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,17 @@
|
|||||||
<html>
|
<html>
|
||||||
<body>
|
<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>
|
<h2>Release Notes for 1.0.1</h2>
|
||||||
<p><i>Released on 10 January 2021</i></p>
|
<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
|
<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
|
indicators were previously set to changed status even if no actual change had been made to the
|
||||||
project.</p>
|
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/>
|
<hr/>
|
||||||
|
|
||||||
<h2>Release Notes for 1.0</h2>
|
<h2>Release Notes for 1.0</h2>
|
||||||
|
|||||||
+7
-7
@@ -1010,18 +1010,18 @@ class GuiDocEditor(QTextEdit):
|
|||||||
for aWord in theSuggest:
|
for aWord in theSuggest:
|
||||||
mnuWord = QAction("%s %s" % (nwUnicode.U_ENDASH, aWord), mnuContext)
|
mnuWord = QAction("%s %s" % (nwUnicode.U_ENDASH, aWord), mnuContext)
|
||||||
mnuWord.triggered.connect(
|
mnuWord.triggered.connect(
|
||||||
lambda thePos, aWord=aWord : self._correctWord(posCursor, aWord)
|
lambda thePos, aWord=aWord: self._correctWord(posCursor, aWord)
|
||||||
)
|
)
|
||||||
mnuContext.addAction(mnuWord)
|
mnuContext.addAction(mnuWord)
|
||||||
mnuContext.addSeparator()
|
|
||||||
mnuAdd = QAction("Add Word to Dictionary", mnuContext)
|
|
||||||
mnuAdd.triggered.connect(lambda thePos : self._addWord(posCursor))
|
|
||||||
mnuContext.addAction(mnuAdd)
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
mnuHead = QAction("No Suggestions", mnuContext)
|
mnuHead = QAction("%s No Suggestions" % nwUnicode.U_ENDASH, mnuContext)
|
||||||
mnuContext.addAction(mnuHead)
|
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
|
# Open the context menu
|
||||||
mnuContext.exec_(self.viewport().mapToGlobal(thePos))
|
mnuContext.exec_(self.viewport().mapToGlobal(thePos))
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
<title>Sample Project</title>
|
<title>Sample Project</title>
|
||||||
<author>Jane Smith</author>
|
<author>Jane Smith</author>
|
||||||
<author>Jay Doh</author>
|
<author>Jay Doh</author>
|
||||||
<saveCount>824</saveCount>
|
<saveCount>826</saveCount>
|
||||||
<autoCount>153</autoCount>
|
<autoCount>153</autoCount>
|
||||||
<editTime>39448</editTime>
|
<editTime>39506</editTime>
|
||||||
</project>
|
</project>
|
||||||
<settings>
|
<settings>
|
||||||
<doBackup>False</doBackup>
|
<doBackup>False</doBackup>
|
||||||
|
|||||||
@@ -23,10 +23,6 @@ classifiers =
|
|||||||
Natural Language :: English
|
Natural Language :: English
|
||||||
Topic :: Text Editors
|
Topic :: Text Editors
|
||||||
python_requires = >=3.6
|
python_requires = >=3.6
|
||||||
install_requires =
|
|
||||||
pyqt5>=5.2.1
|
|
||||||
lxml>=4.2.0
|
|
||||||
pyenchant>=3.0.0
|
|
||||||
project_urls =
|
project_urls =
|
||||||
Bug Tracker = https://github.com/vkbo/novelWriter/issues
|
Bug Tracker = https://github.com/vkbo/novelWriter/issues
|
||||||
Documentation = https://github.com/vkbo/novelWriter/issues
|
Documentation = https://github.com/vkbo/novelWriter/issues
|
||||||
@@ -35,6 +31,10 @@ project_urls =
|
|||||||
[options]
|
[options]
|
||||||
include_package_data = True
|
include_package_data = True
|
||||||
packages = find:
|
packages = find:
|
||||||
|
install_requires =
|
||||||
|
pyqt5>=5.2.1
|
||||||
|
lxml>=4.2.0
|
||||||
|
pyenchant>=3.0.0
|
||||||
|
|
||||||
[options.packages.find]
|
[options.packages.find]
|
||||||
exclude = docs, tests, sample
|
exclude = docs, tests, sample
|
||||||
|
|||||||
Reference in New Issue
Block a user