Updated the introduction section of the docs
This commit is contained in:
+10
-8
@@ -30,18 +30,19 @@ novelWriter |release|
|
||||
|
||||
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
|
||||
for comments, synopsis and cross-referencing between files. The idea is to have a simple text editor
|
||||
which allows for easy organisation of text files and notes, built on a plain text file project
|
||||
repository for robustness.
|
||||
for comments, synopsis and cross-referencing between files. The idea is to have a simple text
|
||||
editor which allows for easy organisation of text files and notes, built on a plain text file
|
||||
project repository for robustness.
|
||||
|
||||
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
|
||||
is primarily saved as JSON files.
|
||||
synchronisation tools. The core project structure is stored in a single project XML file. Other
|
||||
meta data is primarily saved as JSON files.
|
||||
|
||||
Any operating system that can run Python 3 and has the Qt 5 libraries should be able to run
|
||||
novelWriter. It runs fine on Linux, Windows and macOS already, and users have tested it on other
|
||||
platforms too. Since novelWriter is still under development, it is easier to run it if you are
|
||||
already familiar with how to run Python applications on your platform.
|
||||
novelWriter. It runs fine on Linux, Windows and macOS, and users have tested it on other platforms
|
||||
too. novelWriter can be run directly from the Python source, or installed from the pip tool or via
|
||||
the provided setup script. A setup.exe is provided for Windows. See :ref:`a_started` for further
|
||||
details.
|
||||
|
||||
**Useful Links**
|
||||
|
||||
@@ -50,6 +51,7 @@ already familiar with how to run Python applications on your platform.
|
||||
* Source Code: https://github.com/vkbo/novelWriter
|
||||
* Source Releases: https://github.com/vkbo/novelWriter/releases
|
||||
* Issue Tracker: https://github.com/vkbo/novelWriter/issues
|
||||
* Feature Discussions: https://github.com/vkbo/novelWriter/discussions
|
||||
* PyPi Project: https://pypi.org/project/novelWriter
|
||||
|
||||
|
||||
|
||||
@@ -4,21 +4,22 @@
|
||||
User Interface
|
||||
**************
|
||||
|
||||
The user interface is kept as simple as possible to avoid distractions when writing. This page lists
|
||||
all the main GUI elements, and explains what they do.
|
||||
The user interface is kept as simple as possible to avoid distractions when writing. This page
|
||||
lists all the main GUI elements, and explains what they do.
|
||||
|
||||
.. _a_ui_tree:
|
||||
|
||||
The Project Tree
|
||||
================
|
||||
|
||||
The main window contains a project tree in the left-most panel. It shows the entire structure of the
|
||||
project. It has four columns:
|
||||
The main window contains a project tree in the left-most panel. It shows the entire structure of
|
||||
the project. It has four columns:
|
||||
|
||||
:guilabel:`Label`
|
||||
The first column shows the item icon and its label. The labels can be edited from the menu, or by
|
||||
pressing :kbd:`F2` or :kbd:`Ctrl`:kbd:`E`. The label is not the same as the title you set inside
|
||||
the document, but it will appear in the header above the document text itself.
|
||||
The first column shows the item icon and its label. The labels can be edited from the menu
|
||||
:guilabel:`Project` menu, or by pressing :kbd:`F2` or :kbd:`Ctrl`:kbd:`E`. The label is not the
|
||||
same as the title you set inside the document, but it will appear in the header above the
|
||||
document text itself.
|
||||
|
||||
:guilabel:`Words`
|
||||
The second column shows the word count of the file, or the sum of words in the child items if it
|
||||
@@ -27,42 +28,46 @@ project. It has four columns:
|
||||
|
||||
:guilabel:`Inc`
|
||||
The third column indicates whether the file is included in the final project build or not. You
|
||||
may want to filter out files that you no longer want to keep in the final manuscript, but want to
|
||||
keep in the project for reference.
|
||||
may want to filter out files that you no longer want to keep in the final manuscript, but want
|
||||
to keep in the project for reference.
|
||||
|
||||
:guilabel:`Flags`
|
||||
The fourth column shows various meta data flags for the item. The first is an icon indicating the
|
||||
importance or status of the file. These are colour coded status levels that you control and
|
||||
define yourself. They can be changed in :guilabel:`Project Settings` from the :guilabel:`Project`
|
||||
menu. The first character after the icon indicates the class of the item, that is ``N`` for
|
||||
**Novel**, ``C`` for **Character**, etc (see :ref:`a_struct_tags`. The second character indicates
|
||||
the file layout type (see :ref:`a_proj_roots`).
|
||||
The fourth column shows various meta data flags for the item. The first is an icon indicating
|
||||
the importance or status of the file. These are colour coded status levels that you control and
|
||||
define yourself. They can be changed in :guilabel:`Project Settings` from the
|
||||
:guilabel:`Project` menu. The first character after the icon indicates the class of the item,
|
||||
that is ``N`` for **Novel**, ``C`` for **Character**, etc (see :ref:`a_struct_tags`). The second
|
||||
character indicates the file layout type (see :ref:`a_proj_roots`).
|
||||
|
||||
Below the project tree you will find a small details panel showing the full information of the
|
||||
currently selected item. This panel also includes the latest paragraph and character counts in
|
||||
addition to the word count.
|
||||
|
||||
Right-clicking an item in the project tree will open a context menu under the cursor, displaying
|
||||
a selection of actions that can be performed on the selected item.
|
||||
|
||||
|
||||
.. _a_ui_tree_dnd:
|
||||
|
||||
Project Tree Drag and Drop
|
||||
--------------------------
|
||||
|
||||
The project tree allows dragging and drop to a certain extent. This feature is primarily intended
|
||||
for rearranging the order of your files within each root folder, and has only limited support for
|
||||
The project tree allows drag and drop to a certain extent. This feature is primarily intended for
|
||||
rearranging the order of your files within each root folder, and has only limited support for
|
||||
moving files elsewhere in the project tree. In general, bulk actions are not allowed. This is
|
||||
deliberate to avoid accidentally messing up your project. The project tree has no undo function.
|
||||
|
||||
Document files and their folders can be rearranged freely within their root folders. Novel files
|
||||
cannot be moved out of the :guilabel:`Novel` folder, except to :guilabel:`Trash` and the
|
||||
:guilabel:`Outtakes` folder. Note files can be moved freely anywhere.
|
||||
:guilabel:`Outtakes` folder. Note files can be moved freely between root folders.
|
||||
|
||||
Folders cannot be moved at all outside their root tree. Neither can a folder containing files be
|
||||
deleted. You must first delete the files.
|
||||
|
||||
Root folders in the project tree cannot be dragged and dropped at all. However, if you want to
|
||||
reorder them, you can move them up or down with respect to eachother from the :guilabel:`Tools`
|
||||
menu, or by pressing :kbd:`Ctrl`:kbd:`Shift` and the :kbd:`Up` or :kbd:`Down` key.
|
||||
Root folders in the project tree cannot be dragged and dropped at all. If you want to reorder them,
|
||||
you can move them up or down with respect to eachother from the :guilabel:`Tools` menu or the
|
||||
right-click context menu, or by pressing :kbd:`Ctrl`:kbd:`Shift` and the :kbd:`Up` or :kbd:`Down`
|
||||
key.
|
||||
|
||||
|
||||
.. _a_ui_edit:
|
||||
@@ -75,11 +80,12 @@ having it selected. This will open the file in the document editor. The editor u
|
||||
markdown format. The format is described in the :ref:`a_ui_md` section below. The editor has a
|
||||
maximise button (activates :guilabel:`Focus Mode`) and a close button in the top-right corner.
|
||||
|
||||
Any document in the project tree can also be viewed in parallel in a right hand side document viewer.
|
||||
To view a document, press :kbd:`Ctrl`:kbd:`R`, or select :guilabel:`View Document` in the menu. The
|
||||
document viewed does not have to be the same document currently being edited. However, If you *are*
|
||||
viewing the same document, pressing :kbd:`Ctrl`:kbd:`R` again will update the document with your
|
||||
latest changes. You can also press the little reload button in the top-right corner of the view
|
||||
Any document in the project tree can also be viewed in parallel in a right hand side document
|
||||
viewer. To view a document, press :kbd:`Ctrl`:kbd:`R`, or select :guilabel:`View Document` in the
|
||||
menu. If you have a middle mouse button, middle-clicking on the document will also open it in the
|
||||
viewer. The document viewed does not have to be the same document currently being edited. However,
|
||||
If you *are* viewing the same document, pressing :kbd:`Ctrl`:kbd:`R` again will update the document
|
||||
with your latest changes. You can also press the reload button in the top-right corner of the view
|
||||
panel next to the close button to achieve the same thing.
|
||||
|
||||
Both the document editor and viewer will show the label of the document in the header at the top of
|
||||
@@ -91,11 +97,13 @@ location of the file in a large project.
|
||||
Any reference to a tag in the editor can be opened in the viewer by moving the cursor to the label
|
||||
and pressing :kbd:`Ctrl`:kbd:`Return`. In the viewer, the references become clickable links.
|
||||
Clicking them will replace the content of the viewer with the content of the document the reference
|
||||
points to.
|
||||
points to. The document viewer keeps a history of viewed documents that you can navigate with the
|
||||
arrow buttons in the top-left corner of the viewer. If your mouse has navigation buttons, these can
|
||||
be used as well.
|
||||
|
||||
At the bottom of the view panel there is a :guilabel:`References` panel. (If it is hidden, click the
|
||||
icon to reveal it.) This panel will show links to all documents referring back to it, if any has
|
||||
been defined. The :guilabel:`Sticky` button will freeze the content of the panel to the current
|
||||
At the bottom of the view panel there is a :guilabel:`References` panel. (If it is hidden, click
|
||||
the icon to reveal it.) This panel will show links to all documents referring back to it, if any
|
||||
has been defined. The :guilabel:`Sticky` button will freeze the content of the panel to the current
|
||||
document, even if you navigate to another document. This is convenient if you want to quickly look
|
||||
through all documents in the list in the :guilabel:`References` panel.
|
||||
|
||||
@@ -187,13 +195,11 @@ A minimal set of text emphasis styles are supported.
|
||||
Strikethrough text.
|
||||
|
||||
In markdown guides it is often recommended to differentiate between strong importance and emphasis
|
||||
by using ``**`` for strong and ``_`` for emphasis, although markdown generally supports also ``__``
|
||||
by using ``**`` for strong and ``_`` for emphasis, although markdown generally also supports ``__``
|
||||
for strong and ``*`` for emphasis. However, since the differentiation makes the highlighting and
|
||||
conversion significantly simpler and faster, in novelWriter this is a rule, not just a
|
||||
recommendation. The following is therefore the only supported formatting syntax:
|
||||
|
||||
There are also some additional rules:
|
||||
|
||||
1. The emphasis and strikethrough formatting tags do not allow spaces between the words and the tag
|
||||
itself. That is, ``**text**`` is valid, ``**text **`` is not.
|
||||
2. More generally, the delimiters must be on the outer edge of words. That is, ``some **text in
|
||||
@@ -201,6 +207,8 @@ There are also some additional rules:
|
||||
3. If using both ``**`` and ``_`` to wrap the same text, the underscore must be the inner wrapper.
|
||||
This is due to the underscore also being a valid word character, so if they are on the outside,
|
||||
they violate rule 2.
|
||||
4. Text emphasis does not span past line breaks. If you need to add emphasis to multiple lines or
|
||||
paragraphs, you must apply it to each of them in turn.
|
||||
|
||||
|
||||
.. _a_ui_md_comm:
|
||||
@@ -211,17 +219,23 @@ Comments and Synopsis
|
||||
In addition to these standard markdown features, novelWriter also allows for comments in the text
|
||||
files. The text of the comment is ignored by the word counter and not exported or, optionally,
|
||||
hidden when viewing the document. If the first word of a comment is ``Synopsis:`` (with the colon),
|
||||
the comment is treated specially, and will show up in the :ref:`a_ui_outline` in a dedicated column.
|
||||
the comment is treated specially and will show up in the :ref:`a_ui_outline` in a dedicated column.
|
||||
The word ``synopsis`` is not case sensitive. If it is correctly formatted, the syntax highlighter
|
||||
will indicate this by altering the colour of the word.
|
||||
|
||||
``% text...``
|
||||
A comment. The text is not exported by default (this can be overridden), seen in the Viewer, or
|
||||
counted towards word counts.
|
||||
|
||||
``% Synopsis: text...``
|
||||
A synopsis comment. It is generally treated in the same way as regular comments, except that it
|
||||
is captured by the indexing algorithm and displayed in the :ref:`a_ui_outline`. It can also be
|
||||
filtered separately when exporting the project to for instance generate an outline document of
|
||||
the whole project.
|
||||
A synopsis comment. It is generally treated in the same way as a regular comment, except that it
|
||||
is also captured by the indexing algorithm and displayed in the :ref:`a_ui_outline`. It can also
|
||||
be filtered separately when exporting the project to for instance generate an outline document
|
||||
of the whole project.
|
||||
|
||||
.. note::
|
||||
Only one comment can be flagged as a synopsis comment for each heading. If multiple comments are
|
||||
flagged as synopsis comments, the last one will be used.
|
||||
|
||||
|
||||
.. _a_ui_md_tags:
|
||||
@@ -236,7 +250,8 @@ multiple times under the same heading will just override the previous setting.
|
||||
``@keyword: value``
|
||||
A keyword argument followed by a value, or a comma separated list of values.
|
||||
|
||||
The available tag and reference keywords are listed in the :ref:`a_struct_tags` section.
|
||||
The available tag and reference keywords are listed in the :ref:`a_struct_tags` section. They can
|
||||
also be inserted at the cursor position in the editor via the :guilabel:`Insert` menu.
|
||||
|
||||
|
||||
.. _a_ui_md_add:
|
||||
@@ -248,10 +263,11 @@ The editor and viewer also supports markdown standard hard line breaks, and pres
|
||||
spaces if running with Qt 5.9 or higher. For older versions, the non-breaking spaces are lost when
|
||||
the file is saved. This is unfortunately hard-coded in the Qt text editor.
|
||||
|
||||
* A hard line break is achieved by leaving two or more spaces at the end of the line. Alternatively,
|
||||
the user can press :kbd:`Ctrl`:kbd:`K`, :kbd:`Return` to insert this.
|
||||
* A hard line break is achieved by leaving two or more spaces at the end of the line.
|
||||
Alternatively, the user can press :kbd:`Ctrl`:kbd:`K`, :kbd:`Return` to insert this.
|
||||
* A non-breaking space is inserted with :kbd:`Ctrl`:kbd:`K`, :kbd:`Space`.
|
||||
* Thin spaces are also supported, and can be inserted with :kbd:`Ctrl`:kbd:`K`, :kbd:`Shift`:kbd:`Space`.
|
||||
* Thin spaces are also supported, and can be inserted with :kbd:`Ctrl`:kbd:`K`,
|
||||
:kbd:`Shift`:kbd:`Space`.
|
||||
* Non-breaking thin space can be inserted with :kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`Space`.
|
||||
|
||||
These are all insert features, and the :guilabel:`Insert` menu has more. They are also listed
|
||||
@@ -276,7 +292,7 @@ editor.
|
||||
|
||||
.. note::
|
||||
Since the internal structure of the novel does not depend on the file structure of the project
|
||||
tree, these will not necessarily look the same, depending how you chose to organise your files.
|
||||
tree, these will not necessarily look the same, depending how you choose to organise your files.
|
||||
See the :ref:`a_struct` page for more details.
|
||||
|
||||
Various meta data and information extracted from tags can be displayed in columns in the outline.
|
||||
@@ -296,21 +312,8 @@ updating in the :guilabel:`Tools` menu, which will trigger an update whenever th
|
||||
and the :guilabel:`Outline` tab is active. You may want to disable this feature if your project is
|
||||
very large,
|
||||
|
||||
|
||||
.. _a_ui_outline_synopsis:
|
||||
|
||||
Synopsis Column
|
||||
---------------
|
||||
|
||||
The :guilabel:`Synopsis` column of the outline view takes its information from a specially formatted
|
||||
comment. See :ref:`a_ui_md_comm`. In order to flag a comment as a synopsis, add the word
|
||||
``Synopsis:`` as the first word of the comment. The ``:`` is required, and the word ``synopsis`` is
|
||||
not case sensitive. If it is correctly formatted, the syntax highlighter will indicate this by
|
||||
altering the colour of the word.
|
||||
|
||||
.. note::
|
||||
Only one comment can be flagged as a synopsis comment for each heading. If multiple comments are
|
||||
flagged as a synopsis comment, the last one will be used.
|
||||
The :guilabel:`Synopsis` column of the outline view takes its information from a specially
|
||||
formatted comment. See :ref:`a_ui_md_comm`.
|
||||
|
||||
|
||||
.. _a_ui_shortcuts:
|
||||
@@ -401,9 +404,9 @@ Most features are available as keyboard shortcuts. These are as follows:
|
||||
Insert Shortcuts
|
||||
----------------
|
||||
|
||||
A set of insert features are also available through shortcuts, but they require a double combination
|
||||
of key sequences. The insert feature is activated with :kbd:`Ctrl-K`, followed by a key or
|
||||
combination for the inserted character or punctuation.
|
||||
A set of insert features are also available through shortcuts, but they require a double
|
||||
combination of key sequences. The insert feature is activated with :kbd:`Ctrl-K`, followed by a key
|
||||
or combination for the inserted character or punctuation.
|
||||
|
||||
.. csv-table:: Keyboard Shortcuts
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
@@ -5,20 +5,22 @@ Introduction
|
||||
************
|
||||
|
||||
novelWriter is a simple, multi-document plain text editor using a modified markdown syntax to apply
|
||||
simple formatting. It is designed for writing novels, and allows for the component documents to be
|
||||
ordered freely to create the desired structure of the novel. More details about how projects are
|
||||
structured is covered on the :ref:`a_struct` page.
|
||||
simple formatting to the text. It is designed for writing novels, and allows for the component
|
||||
documents to be ordered freely to create the desired structure of the novel. More details about how
|
||||
projects are structured is covered on the :ref:`a_struct` page.
|
||||
|
||||
In addition, the project can contain notes on the various plot elements, characters, locations, etc,
|
||||
that make up the story. These notes are organised in a set of category-specific top-level folders,
|
||||
and each entry can be tagged and cross-referenced from within the novel files and other notes. These
|
||||
tags make it possible to inter-link documents, and generate an overview of the entire novel project
|
||||
and how the various files and plot elements are interconnected. This is covered on the :ref:`a_proj`
|
||||
and :ref:`a_notes` pages.
|
||||
In addition, the project can contain notes on the various plot elements, characters, locations,
|
||||
etc, that make up the story. These notes are organised in a set of category-specific top-level
|
||||
folders (root folders), and each entry can be tagged and cross-referenced from within the novel
|
||||
files and other note files. These tags make it possible to inter-link documents, and generate an
|
||||
overview of the entire novel project and how the various files and plot elements are
|
||||
interconnected. This is covered on the :ref:`a_proj` and :ref:`a_notes` pages.
|
||||
|
||||
These additional features are not standard in markdown, but are available through special meta
|
||||
keywords. Syntax highlighting is provided to make it easier to verify that the markdown tags are
|
||||
used correctly. The syntax is covered on the :ref:`a_ui` page.
|
||||
keywords described on :ref:`a_struct_tags`. Syntax highlighting is provided to make it easier to
|
||||
verify that the markdown tags are used correctly.
|
||||
|
||||
An overview of the extended markdown syntax is covered on the :ref:`a_ui` page.
|
||||
|
||||
|
||||
.. _a_intro_design:
|
||||
@@ -27,12 +29,12 @@ Design Philosophy
|
||||
=================
|
||||
|
||||
The user interface of novelWriter is intended to be as minimalistic as practically possible, while
|
||||
at the same time provide a complete set of features needed for writing a novel.
|
||||
at the same time provide a complete set of features needed for writing a novel.
|
||||
|
||||
.. note::
|
||||
novelWriter is not intended to be a full office type word processor. It doesn't support images,
|
||||
links, tables, and other complex structure and objects often needed for such document. Formatting
|
||||
is limited to headers, and bold, italicised and strikethrough text.
|
||||
links, tables, and other complex structure and objects often needed for such document.
|
||||
Formatting is limited to headers, and bold, italicised and strikethrough text.
|
||||
|
||||
The main window does not have a toolbar like most other applications do. This reduces clutter, and
|
||||
since the documents are formatted with markdown tags, is more or less redundant. However, all
|
||||
@@ -40,14 +42,14 @@ formatting features supported are available through convenient keyboard shortcut
|
||||
available in the main menu. A full list of shortcuts can be found in the :ref:`a_ui_shortcuts`
|
||||
section.
|
||||
|
||||
In addition, novelWriter offers a :guilabel:`Focus Mode` where all the user interface elements other
|
||||
than the document editor itself are hidden away.
|
||||
In addition, novelWriter offers a :guilabel:`Distraction Free Mode` where all the user interface
|
||||
elements other than the document editor itself are hidden away.
|
||||
|
||||
The colour scheme of the user interface defaults to that of the host operating system. In addition,
|
||||
a dark theme is provided, and can be enabled in :guilabel:`Preferences` from the :guilabel:`Tools`
|
||||
menu. A number of syntax highlighting themes are also available in :guilabel:`Preferences`. A set of
|
||||
icon themes in colour and greyscale are also offered. The icons are based on the Typicons_ icon set
|
||||
designed by Stephen Hutchings.
|
||||
menu. A number of syntax highlighting themes are also available in :guilabel:`Preferences`. A set
|
||||
of icon themes in colour and greyscale are also offered. The icons are based on the Typicons_ icon
|
||||
set designed by Stephen Hutchings.
|
||||
|
||||
The main window is split in two, or optionally three, panels. The left-most contains the project
|
||||
tree and all the files in your project. The second panel is the document editor, and the optional
|
||||
@@ -55,7 +57,7 @@ third panel is a document viewer which can view any document in your project.
|
||||
|
||||
A second tab is also available on the main window. This is the :guilabel:`Outline` tab where the
|
||||
entire novel structure can be displayed, with all the tags and references listed. Depending on how
|
||||
you structure your novel project files, this outline can be quite different than your project tree.
|
||||
you structure your novel project files, this outline can be quite different from your project tree.
|
||||
Your project tree lists files, your Outline tree lists the structure of the novel itself.
|
||||
|
||||
.. _Typicons: https://github.com/stephenhutchings/typicons.font
|
||||
@@ -79,7 +81,7 @@ The four heading levels (**H1** to **H4**) are treated as follows:
|
||||
* **H4** is for section titles within scenes, if such granularity is needed.
|
||||
|
||||
This header level structure is only taken into account for novel files. For the files designated as
|
||||
project notes, the header levels imply no structural meaning, and the user is free to do whatever
|
||||
project notes, the header levels have no structural meaning, and the user is free to do whatever
|
||||
they want. See the :ref:`a_struct` page for more details.
|
||||
|
||||
|
||||
@@ -88,9 +90,10 @@ they want. See the :ref:`a_struct` page for more details.
|
||||
Project Export
|
||||
==============
|
||||
|
||||
The project can at any time be exported to a range of different formats. Natively, novelWriter
|
||||
supports export to plain text file, HTML document, novelWriter flavoured markdown, standard
|
||||
markdown (requires Qt 5.14), and to a basic Open Document.
|
||||
The project can at any time be exported to a range of different formats through the
|
||||
:guilabel:`Build Novel Project` tool. Natively, novelWriter supports export to plain text file,
|
||||
HTML document, novelWriter flavoured markdown, standard markdown (requires Qt 5.14), and to a basic
|
||||
Open Document format.
|
||||
|
||||
In addition, printing and printing to PDF is also possible. The best supported export format is
|
||||
HTML, which can be imported or converted by a number of other tools like Pandoc, or simply imported
|
||||
@@ -108,8 +111,8 @@ formats.
|
||||
|
||||
.. _a_intro_screenshots:
|
||||
|
||||
Screenshot
|
||||
==========
|
||||
Screenshots
|
||||
===========
|
||||
|
||||
**novelWriter with default system theme:**
|
||||
|
||||
|
||||
+73
-34
@@ -4,13 +4,19 @@
|
||||
Getting Started
|
||||
***************
|
||||
|
||||
This is a brief guide to how you can get novelWriter running on your computer. These are the methods
|
||||
currently supported by the developer. Packages may also be available in other package managers, but
|
||||
those are not managed by me.
|
||||
This is a brief guide to how you can get novelWriter running on your computer. These are the
|
||||
methods currently supported by the developer. Packages may also be available in other package
|
||||
managers, but those are not managed by the developer. A Windows installer file is also provided on
|
||||
the GitHub page and main website.
|
||||
|
||||
As novelWriter matures, more options for how to install it and get it running will be added. At the
|
||||
present time, the process is best suited for people used to working with Python projects from command
|
||||
line.
|
||||
As novelWriter matures, more options for how to install it and get it running will be added. For
|
||||
non-Windows users the install process is at the present time best suited for people used to working
|
||||
with the command line.
|
||||
|
||||
.. note::
|
||||
The text below assumes the command ``python`` corresponds to a Python 3 executable. For
|
||||
operating systems with both Python 2 and 3, the command ``python3`` may be needed instead. On
|
||||
Linux, the scripts can also be made executable and run without the ``python`` command.
|
||||
|
||||
|
||||
.. _a_started_install:
|
||||
@@ -28,6 +34,46 @@ Latest version of novelWriter is |release|.
|
||||
.. _PyPi: https://pypi.org/project/novelWriter/
|
||||
|
||||
|
||||
.. _a_started_install_win:
|
||||
|
||||
Windows Installer
|
||||
-----------------
|
||||
|
||||
You can run novelWriter directly from source on Windows, but a Windows installer is also provided
|
||||
for 64-bit Windows on the `main website`_ and GitHub_ page. This installer bundles all that is
|
||||
needed for novelWriter to run, including Python and the xml and Qt libraries.
|
||||
|
||||
.. _main website: https://novelwriter.io
|
||||
|
||||
.. note::
|
||||
While the majority of virus scanners have no warnings, some scanners will flag the installer.
|
||||
This is caused by the ``pyinstaller`` tool being used to create the package. The ``pyinstaller``
|
||||
binaries bundled with the installer are from the official PyPi repository.
|
||||
|
||||
|
||||
.. _a_started_install_source:
|
||||
|
||||
Install from Source on Linux
|
||||
----------------------------
|
||||
|
||||
For Linux systems, novelWriter can be installed from source with the provided ``setup.py`` script.
|
||||
To install novelWriter into the system's default Python install locations, run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
python setup.py install
|
||||
|
||||
To set up the novelWriter desktop launcher, the icons and the project file association, run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
python setup.py xdg-install
|
||||
|
||||
By default, these commands installs novelWriter and its icons for the current user only. To install
|
||||
for all users, run the script with the ``sudo`` command. Other options are also available. Run
|
||||
``python setup.py help`` for a full list of install options.
|
||||
|
||||
|
||||
.. _a_started_depend:
|
||||
|
||||
Dependencies
|
||||
@@ -68,11 +114,9 @@ You can of course also install these packages from your operating system's packa
|
||||
|
||||
PyQt/Qt should be at least 5.2.1, but ideally 5.10 or higher for nearly all features to work.
|
||||
Exporting to standard Markdown, for instance, requires PyQt/Qt 5.14. Searching using regular
|
||||
expressions requires 5.3, and for full Unicode support, 5.13.
|
||||
|
||||
There is no known minimum version requirement for package ``lxml``, but the code was originally
|
||||
written with 4.2, which is therefore set as the minimum. It may work on lower versions. You have to
|
||||
test it.
|
||||
expressions requires 5.3, and for full Unicode support, 5.13. There is no known minimum version
|
||||
requirement for package ``lxml``, but the code was originally written with 4.2, which is therefore
|
||||
set as the minimum. It may work on lower versions. You have to test it.
|
||||
|
||||
The spell checking extension is optional, but recommended:
|
||||
|
||||
@@ -87,9 +131,9 @@ works fine.
|
||||
Building the Documentation
|
||||
--------------------------
|
||||
|
||||
If you installed novelWriter from a package, the documentation should be included. If you're running
|
||||
novelWriter from the source code, a local copy of this documentation can be generated. It requires
|
||||
the following Python packages on Debian and Ubuntu.
|
||||
If you installed novelWriter from a package, the documentation should be included. If you're
|
||||
running novelWriter from the source code, a local copy of this documentation can be generated. It
|
||||
requires the following Python packages on Debian and Ubuntu.
|
||||
|
||||
* ``python3-sphinx``
|
||||
* ``python3-sphinxcontrib.qthelp``
|
||||
@@ -100,13 +144,20 @@ Or from PyPi:
|
||||
|
||||
pip install sphinx sphinxcontrib-qthelp
|
||||
|
||||
To build the help packages from the documentation source, run
|
||||
The documentation can then be built from the ``docs`` folder in the source code by running:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./setup.py qthelp
|
||||
make html
|
||||
|
||||
from the root source folder.
|
||||
If successful, the documentation should then be available in the ``docs/build/html`` folder.
|
||||
|
||||
The documentation can also be built for the Qt Assistant. To build the help packages from the
|
||||
documentation source, run the following from the root source folder:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
python setup.py qthelp
|
||||
|
||||
The setup script will copy the generated files into the ``nw/assets/help`` folder, and novelWriter
|
||||
will detect the presence of the files and redirect the menu help entry to open help locally instead
|
||||
@@ -121,17 +172,14 @@ locally first, then send you to the website as a fallback.
|
||||
|
||||
.. _a_started_running:
|
||||
|
||||
Running novelWriter
|
||||
Running from Source
|
||||
===================
|
||||
|
||||
If all the required dependencies are met, you can run novelWriter from the command line in one of
|
||||
the following ways:
|
||||
If all the required dependencies are met, you can run novelWriter from the command line:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
python novelWriter.py
|
||||
python3 novelWriter.py
|
||||
./novelWriter.py
|
||||
|
||||
A few switches are supported from the command line, mostly to assist in debugging if an error is
|
||||
encountered. To list all options, run:
|
||||
@@ -140,10 +188,6 @@ encountered. To list all options, run:
|
||||
|
||||
python novelWriter.py --help
|
||||
|
||||
There are also a couple of install scripts in the setup folder which will assist in setting up a
|
||||
launch icon and the novelWriter project file mimetype for Gnome desktops on Linux. Currently,
|
||||
there's one script for Debian and one for Ubuntu.
|
||||
|
||||
|
||||
.. _a_started_standalone:
|
||||
|
||||
@@ -151,15 +195,10 @@ Building a Standalone Executable
|
||||
================================
|
||||
|
||||
A standalone executable can be built with ``pyinstaller``, using the provided python script
|
||||
``install.py`` in the source folder. This script will automatically try to install all dependencies
|
||||
and build the standalone executable of novelWriter. You can run the script by typing the following
|
||||
into your command prompt:
|
||||
``make.py`` in the source folder. This script can install dependencies, build a standalone
|
||||
executable of novelWriter, or build a ``setup.exe`` file with Inno Setup.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
python install.py
|
||||
|
||||
If successful, the executable will be in the "dist" folder.
|
||||
For a full list of the script's options, run ``python make.py help``.
|
||||
|
||||
|
||||
.. _a_started_standalone_win:
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
Typographical Notes
|
||||
*******************
|
||||
|
||||
novelWriter has some support for typographical symbols that are not usually easily available in many
|
||||
text editors. This includes for instance the proper unicode quotation marks, dashes, ellipsis, thin
|
||||
spaces, etc. All these symbols are available from the :guilabel:`Insert` menu, and via keyboard
|
||||
shortcuts. See :ref:`a_ui_shortcuts_ins`.
|
||||
novelWriter has some support for typographical symbols that are not usually easily available in
|
||||
many text editors. This includes for instance the proper unicode quotation marks, dashes, ellipsis,
|
||||
thin spaces, etc. All these symbols are available from the :guilabel:`Insert` menu, and via
|
||||
keyboard shortcuts. See :ref:`a_ui_shortcuts_ins`.
|
||||
|
||||
This chapter provides some additional information on how novelWriter handles these symbols.
|
||||
|
||||
@@ -24,9 +24,9 @@ Dashes and Ellipsis
|
||||
-------------------
|
||||
|
||||
With the auto-replace feature enabled (see :ref:`a_ui_edit_auto`), multiple hyphens are converted
|
||||
automatically to short and long dashes, and three dots to ellipsis. The last auto-replace can always
|
||||
be reverted with the undo command :kbd:`Ctrl`:kbd:`Z`, reverting the text to what you typed before
|
||||
the automatic replacement occurred.
|
||||
automatically to short and long dashes, and three dots to ellipsis. The last auto-replace can
|
||||
always be reverted with the undo command :kbd:`Ctrl`:kbd:`Z`, reverting the text to what you typed
|
||||
before the automatic replacement occurred.
|
||||
|
||||
|
||||
Single and Double Quotes
|
||||
@@ -36,14 +36,14 @@ All the different quotation marks listed on the `Quotation Mark`_ Wikipedia page
|
||||
can be selected as auto-replaced symbols for straight single and double quote key strokes. The
|
||||
settings can be found in the :guilabel:`Preferences`.
|
||||
|
||||
Ordinarily, text wrapped in quotes are highlighted by the editor. This is meant as a convenience for
|
||||
highlighting dialogue between characters. This feature can be disabled in the
|
||||
Ordinarily, text wrapped in quotes are highlighted by the editor. This is meant as a convenience
|
||||
for highlighting dialogue between characters. This feature can be disabled in the
|
||||
:guilabel:`Preferences` if this feature isn't wanted.
|
||||
|
||||
The editor distinguishes between text wrapped in straight quotes and with the user-selected double
|
||||
quote symbols. This is to help the writer recognise which parts of the text are not using the chosen
|
||||
quote symbols. Two convenience functions in the :guilabel:`Format` menu can be used to re-format a
|
||||
selected section of text with the correct quote symbols.
|
||||
quote symbols. This is to help the writer recognise which parts of the text are not using the
|
||||
chosen quote symbols. Two convenience functions in the :guilabel:`Format` menu can be used to
|
||||
re-format a selected section of text with the correct quote symbols.
|
||||
|
||||
.. _Quotation Mark: https://en.wikipedia.org/wiki/Quotation_mark
|
||||
|
||||
@@ -76,10 +76,10 @@ separate a number from its unit is with a `thin space`_. It is usually 2/3 the w
|
||||
space. For numbers and units, this should in addition be a non-breaking space, that is, the text
|
||||
wrapping should not add a line break on this particular space.
|
||||
|
||||
A regular space can also be made into a non-breaking space.
|
||||
A regular space can also be made into a non-breaking space if needed.
|
||||
|
||||
All non-breaking spaces are highlighted with a differently coloured packground. The colour will
|
||||
depend on the selected colour theme.
|
||||
All non-breaking spaces are highlighted with a differently coloured background to make it easier to
|
||||
spot them in the text. The colour will depend on the selected colour theme.
|
||||
|
||||
The thin and non-breaking spaces are converted to their corresponding HTML codes on export to HTML
|
||||
format. For plain text, they are exported as regular spaces.
|
||||
|
||||
Reference in New Issue
Block a user