Also re-wrap the readme files
This commit is contained in:
@@ -17,24 +17,25 @@
|
|||||||
|
|
||||||
novelWriter is a Markdown-like text editor designed for writing novels and larger projects of many
|
novelWriter is a Markdown-like text editor designed for writing novels and larger projects of many
|
||||||
smaller plain text documents. It uses its own flavour of Markdown that supports a meta data syntax
|
smaller plain text documents. It uses its own flavour of Markdown that supports a meta data syntax
|
||||||
for comments, synopsis, and cross-referencing between files. It's designed to be a simple text editor
|
for comments, synopsis, and cross-referencing between files. It's designed to be a simple text
|
||||||
that allows for easy organisation of text files and notes, built on plain text files for
|
editor that allows for easy organisation of text files and notes, built on plain text files for
|
||||||
robustness.
|
robustness.
|
||||||
|
|
||||||
The plain text storage is suitable for version control software, and also well suited for file
|
The plain text storage is suitable for version control software, and also well suited for file
|
||||||
synchronisation tools. The core project structure is stored in a project XML file. Other meta data
|
synchronisation tools. The core project structure is stored in a project XML file. Other meta data
|
||||||
is primarily saved in JSON files.
|
is primarily saved in JSON files.
|
||||||
|
|
||||||
The full documentation is available at [novelwriter.readthedocs.io](https://novelwriter.readthedocs.io/).
|
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 in [CONTRIBUTING](CONTRIBUTING.md).
|
||||||
|
|
||||||
|
|
||||||
### Development Status
|
### Development Status
|
||||||
|
|
||||||
The application is still under initial development, but all core features have now been added. The
|
The application is still under initial development, but all core features have now been added.
|
||||||
core functionality has been in place for a while, and novelWriter is being used for writing projects
|
The core functionality has been in place for a while, and novelWriter is being used for writing
|
||||||
by the author and collaborators.
|
projects by the author and collaborators.
|
||||||
|
|
||||||
No new major features will be added at this time, until the application is stable. Until then,
|
No new major features will be added at this time, until the application is stable. Until then,
|
||||||
novelWriter is in a _beta_ state. Please report any issues you encounter via the repository's issue
|
novelWriter is in a _beta_ state. Please report any issues you encounter via the repository's issue
|
||||||
@@ -55,7 +56,8 @@ tests are run on the latest versions of Ubuntu Linux, Windows Server and macOS.
|
|||||||
|
|
||||||
# Installing and Running
|
# Installing and Running
|
||||||
|
|
||||||
novelWriter is available on [pypi.org](https://pypi.org/project/novelWriter/), and can be installed with:
|
novelWriter is available on [pypi.org](https://pypi.org/project/novelWriter/), and can be installed
|
||||||
|
with:
|
||||||
```bash
|
```bash
|
||||||
pip install novelwriter
|
pip install novelwriter
|
||||||
```
|
```
|
||||||
@@ -77,9 +79,9 @@ Below are some brief instructions on how to get started on different operating s
|
|||||||
|
|
||||||
Either download the source, or install with pip.
|
Either download the source, or install with pip.
|
||||||
|
|
||||||
If you run from source, install the dependencies via pip, or directly from the OS repo.
|
If you run from source, install the dependencies via pip, or directly from the OS repo. There are
|
||||||
There are very few dependencies, and they should be available in the standard repo.
|
very few dependencies, and they should be available in the standard repo. The Python packages
|
||||||
The Python packages needed are `pyqt5`, `lxml` and `pyenchant`.
|
needed are `pyqt5`, `lxml` and `pyenchant`.
|
||||||
|
|
||||||
### Installing from Source
|
### Installing from Source
|
||||||
|
|
||||||
@@ -90,9 +92,9 @@ sudo python3 setup.py install
|
|||||||
sudo python3 setup.py launcher
|
sudo python3 setup.py launcher
|
||||||
```
|
```
|
||||||
|
|
||||||
The last line will install the application icons and set up a launcher for novelWriter.
|
The last line will install the application icons and set up a launcher for novelWriter. The method
|
||||||
The method uses hardcoded paths, so it may or may not work for your Linux distro.
|
uses hardcoded paths, so it may or may not work for your Linux distro. If you have any issues,
|
||||||
If you have any issues, please submit a ticket so the script can be tuned.
|
please submit a ticket so the script can be tuned.
|
||||||
|
|
||||||
The script may prompt you to choose which executable to configure if it finds more than one.
|
The script may prompt you to choose which executable to configure if it finds more than one.
|
||||||
|
|
||||||
@@ -107,35 +109,34 @@ You can also create a launcher for running directly from source with:
|
|||||||
```bash
|
```bash
|
||||||
python3 setup.py xdg-install
|
python3 setup.py xdg-install
|
||||||
```
|
```
|
||||||
This will install the launcher and icons for the current user.
|
This will install the launcher and icons for the current user. To install them system-wide, run the
|
||||||
To install them system-wide, run the above command with `sudo` or as root.
|
above command with `sudo` or as root.
|
||||||
|
|
||||||
For more install options, see [Build and Install novelWriter](setup/README.md).
|
For more install options, see [Build and Install novelWriter](setup/README.md).
|
||||||
|
|
||||||
|
|
||||||
## macOS
|
## macOS
|
||||||
|
|
||||||
These instructions assume you're using brew, and have Python and pip set up.
|
These instructions assume you're using brew, and have Python and pip set up. If not, see the
|
||||||
If not, see the [brew docs](https://docs.brew.sh/Homebrew-and-Python) for help.
|
[brew docs](https://docs.brew.sh/Homebrew-and-Python) for help.
|
||||||
|
|
||||||
Main requirements are installed via the requirements file.
|
Main requirements are installed via the requirements file. You also need to install the `pyobjc`
|
||||||
You also need to install the `pyobjc` package on macOS, so you must run:
|
package on macOS, so you must run:
|
||||||
```bash
|
```bash
|
||||||
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.
|
For spell checking you may also need to install the enchant package. It comes with a lot of default
|
||||||
It comes with a lot of default dictionaries.
|
dictionaries.
|
||||||
```bash
|
```bash
|
||||||
brew install enchant
|
brew install enchant
|
||||||
```
|
```
|
||||||
|
|
||||||
## Windows
|
## Windows
|
||||||
|
|
||||||
On Windows, you may first need to install Python.
|
On Windows, you may first need to install Python. See the [python.org](https://www.python.org/)
|
||||||
See the [python.org](https://www.python.org/) website for download packages.
|
website for download packages. It is recommended that you install the latest version of Python 3.8.
|
||||||
It is recommended that you install the latest version of Python 3.8.
|
|
||||||
|
|
||||||
To install dependencies, run:
|
To install dependencies, run:
|
||||||
```bash
|
```bash
|
||||||
@@ -162,18 +163,17 @@ Exporting to Markdown requires PyQt/Qt 5.14. There are no known minimum for `lxm
|
|||||||
was originally written with 4.2. The optional spell check library must be at least 3.0.0 to work
|
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.
|
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
|
If no external spell checking tool is installed, novelWriter will use a basic spell checker based
|
||||||
standard Python package `difflib`. Currently, only English dictionaries are available for this spell
|
on standard Python package `difflib`. Currently, only English dictionaries are available for this
|
||||||
checker, but more can be added to the `nw/assets/dict` folder. See the [README](nw/assets/dict/README.md)
|
spell checker, but more can be added to the `nw/assets/dict` folder. See the
|
||||||
file in that folder for how to generate more dictionaries. Note that the difflib-based option is
|
[README](nw/assets/dict/README.md) file in that folder for how to generate more dictionaries. Note
|
||||||
both slow and limited.
|
that the difflib-based option is both slow and limited.
|
||||||
|
|
||||||
## Debugging
|
## Debugging
|
||||||
|
|
||||||
If you need to debug novelWriter, you must run it from command line.
|
If you need to debug novelWriter, you must run it from command line. It takes a few parameters,
|
||||||
It takes a few parameters, which can be listed with the switch `--help`.
|
which can be listed with the switch `--help`. The `--info`, `--debug` or `--verbose` flags are
|
||||||
The `--info`, `--debug` or `--verbose` flags are particularly useful for increasing logging output
|
particularly useful for increasing logging output for debugging.
|
||||||
for debugging.
|
|
||||||
|
|
||||||
|
|
||||||
# Key Features
|
# Key Features
|
||||||
@@ -195,16 +195,16 @@ That is it. Features not supported in the editor are also not exported when usin
|
|||||||
In addition, novelWriter adds the following, which is otherwise not supported by Markdown:
|
In addition, novelWriter adds the following, which is otherwise not supported by Markdown:
|
||||||
|
|
||||||
* A line starting with `%` is treated as a comment and not rendered on exports unless requested.
|
* A line starting with `%` is treated as a comment and not rendered on exports unless requested.
|
||||||
Comments do not count towards the word count. If the first word of the comment is `synopsis:`, the
|
Comments do not count towards the word count. If the first word of the comment is `synopsis:`,
|
||||||
comment is indexed and treated as the synopsis for the section of text under the same header.
|
the comment is indexed and treated as the synopsis for the section of text under the same header.
|
||||||
These synopsis comments can be used to build an outline and exported to external documents.
|
These synopsis comments can be used to build an outline and exported to external documents.
|
||||||
* A set of meta data keyword/values starting with the character `@`. This is used for tagging
|
* A set of meta data keyword/values starting with the character `@`. This is used for tagging
|
||||||
and inter-linking documents, and can be used to generate a project outline.
|
and inter-linking documents, and can be used to generate a project outline.
|
||||||
* Non-breaking spaces are supported as long as your system is using at least Qt 5.9. For earlier
|
* Non-breaking spaces are supported as long as your system is using at least Qt 5.9. For earlier
|
||||||
version, non-breaking spaces are converted to normal spaces when saving the document. This is done
|
version, non-breaking spaces are converted to normal spaces when saving the document. This is
|
||||||
by the Qt library.
|
done by the Qt library.
|
||||||
* Thin spaces are also supported, as well as non-breaking thin spaces, with the same library version
|
* Thin spaces are also supported, as well as non-breaking thin spaces, with the same library
|
||||||
restriction as above.
|
version restriction as above.
|
||||||
* Tabs can be used in the text, and should be properly aligned. The width of a tab in pixels can be
|
* Tabs can be used in the text, and should be properly aligned. The width of a tab in pixels can be
|
||||||
changed in Preferences. Note that for the HTML format, most browsers will treat a tab as a space,
|
changed in Preferences. Note that for the HTML format, most browsers will treat a tab as a space,
|
||||||
so it may not show up like expected. If you import the HTML file to Libre Office, for instance,
|
so it may not show up like expected. If you import the HTML file to Libre Office, for instance,
|
||||||
@@ -223,8 +223,8 @@ The editor has syntax highlighting for the features it supports, and includes a
|
|||||||
syntax highlighting themes. The GUI also has an optional dark theme in addition to the default
|
syntax highlighting themes. The GUI also has an optional dark theme in addition to the default
|
||||||
system theme.
|
system theme.
|
||||||
|
|
||||||
New themes can easily be added to the `nw/assets/themes` folder. Have a look in the existing folders
|
New themes can easily be added to the `nw/assets/themes` folder. Have a look in the existing
|
||||||
for examples of how to define the colours.
|
folders for examples of how to define the colours.
|
||||||
|
|
||||||
|
|
||||||
### Easy Organising of Project Files
|
### Easy Organising of Project Files
|
||||||
@@ -236,9 +236,9 @@ folder can have subfolders. Folders have no impact on the final project structur
|
|||||||
tools for organising the files in whatever way the user needs.
|
tools for organising the files in whatever way the user needs.
|
||||||
|
|
||||||
The editor supports four levels of headings, which determines what level the following text belongs
|
The editor supports four levels of headings, which determines what level the following text belongs
|
||||||
to. Headings of level one signify a book or partition title. Headings of level two signify the start
|
to. Headings of level one signify a book or partition title. Headings of level two signify the
|
||||||
of a new chapter. Headings of level three signify the start of a new scene. Headings of level four
|
start of a new chapter. Headings of level three signify the start of a new scene. Headings of level
|
||||||
can be used internally in each scene to separate sections.
|
four can be used internally in each scene to separate sections.
|
||||||
|
|
||||||
Each novel file can be assigned a layout format, which shows up as a flag next to the item in the
|
Each novel file can be assigned a layout format, which shows up as a flag next to the item in the
|
||||||
project tree. These are mostly to help the user track what they contain, but they also have some
|
project tree. These are mostly to help the user track what they contain, but they also have some
|
||||||
@@ -255,31 +255,36 @@ These have their separate root folders. These are optional files.
|
|||||||
|
|
||||||
The different notes can be assigned tags, which other files can refer back to using the `@` meta
|
The different notes can be assigned tags, which other files can refer back to using the `@` meta
|
||||||
keywords. This information can be used to display an outline of the story, showing where each scene
|
keywords. This information can be used to display an outline of the story, showing where each scene
|
||||||
connects to the plot, and which characters, etc. occur in them. In addition, the tags themselves are
|
connects to the plot, and which characters, etc. occur in them. In addition, the tags themselves
|
||||||
clickable in the document view pane, and control-clickable in the editor. They make it possible to
|
are clickable in the document view pane, and control-clickable in the editor. They make it possible
|
||||||
quickly navigate between the documents while editing.
|
to quickly navigate between the documents while editing.
|
||||||
|
|
||||||
|
|
||||||
## Licenses
|
## Licenses
|
||||||
|
|
||||||
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 details,
|
[GNU General Public License website](https://www.gnu.org/licenses/gpl-3.0.en.html) for more
|
||||||
or consult the [LICENSE](LICENSE.md) file.
|
details, or consult the [LICENSE](LICENSE.md) file.
|
||||||
|
|
||||||
Bundled assets have the following licenses:
|
Bundled assets have the following licenses:
|
||||||
|
|
||||||
* The Typicon-based icon themes by Stephen Hutchings are licensed under
|
* The Typicon-based icon themes by Stephen Hutchings are licensed under
|
||||||
[CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/). The icons have been altered in
|
[CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/). The icons have been altered in
|
||||||
size and colour for use with novelWriter, and some additional icons added. The original icon set
|
size and colour for use with novelWriter, and some additional icons added. The original icon set
|
||||||
is available at [stephenhutchings/typicons.font](https://github.com/stephenhutchings/typicons.font).
|
is available at
|
||||||
* The Cantarell font by Dave Crossland is licensed under [OPEN FONT LICENSE Version 1.1](http://scripts.sil.org/OFL).
|
[stephenhutchings/typicons.font](https://github.com/stephenhutchings/typicons.font).
|
||||||
|
* The Cantarell font by Dave Crossland is licensed under
|
||||||
|
[OPEN FONT LICENSE Version 1.1](http://scripts.sil.org/OFL).
|
||||||
It is available at [Google Fonts](https://fonts.google.com/specimen/Cantarell).
|
It is available at [Google Fonts](https://fonts.google.com/specimen/Cantarell).
|
||||||
* The Tomorrow syntax themes use colour schemes taken from Chris Kempson's collection of code editor
|
* The Tomorrow syntax themes use colour schemes taken from Chris Kempson's collection of code
|
||||||
themes, licensed with the [MIT License](https://github.com/chriskempson/tomorrow-theme/blob/master/LICENSE.md),
|
editor themes, licensed with the
|
||||||
and the main repo is available at [chriskempson/tomorrow-theme](https://github.com/chriskempson/tomorrow-theme).
|
[MIT License](https://github.com/chriskempson/tomorrow-theme/blob/master/LICENSE.md),
|
||||||
* Likewise, the Owl syntax themes use colours from Sarah Drasner's code editor themes, licensed with
|
and the main repo is available at
|
||||||
the [MIT License](https://github.com/sdras/night-owl-vscode-theme/blob/master/LICENSE), and the
|
[chriskempson/tomorrow-theme](https://github.com/chriskempson/tomorrow-theme).
|
||||||
main repo is available at [sdras/night-owl-vscode-theme](https://github.com/sdras/night-owl-vscode-theme).
|
* Likewise, the Owl syntax themes use colours from Sarah Drasner's code editor themes, licensed
|
||||||
|
with the [MIT License](https://github.com/sdras/night-owl-vscode-theme/blob/master/LICENSE), and
|
||||||
|
the main repo is available at
|
||||||
|
[sdras/night-owl-vscode-theme](https://github.com/sdras/night-owl-vscode-theme).
|
||||||
|
|
||||||
|
|
||||||
## Screenshot
|
## Screenshot
|
||||||
|
|||||||
+2
-2
@@ -40,8 +40,8 @@ To add test coverage, run the following:
|
|||||||
pytest-3 -v --cov=nw --cov-report=html
|
pytest-3 -v --cov=nw --cov-report=html
|
||||||
```
|
```
|
||||||
|
|
||||||
The `--cov-report` switch generates an html report, omit it to print a coverage summary to the terminal.
|
The `--cov-report` switch generates an html report, omit it to print a coverage summary to the
|
||||||
The html coverage report will be available in the `htmlcov` folder.
|
terminal. The html coverage report will be available in the `htmlcov` folder.
|
||||||
|
|
||||||
### Test Markers (Categories)
|
### Test Markers (Categories)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user