Made a new pass of all the previously updated documentation files

This commit is contained in:
Veronica K. B. Olsen
2020-08-06 22:08:36 +02:00
parent cb8e0231d7
commit 21eebbb88f
10 changed files with 262 additions and 182 deletions
+1
View File
@@ -70,6 +70,7 @@ pygments_style = None
# -- Options for HTML output -------------------------------------------------
html_theme = "sphinx_rtd_theme"
html_logo = "images/novelwriter.png"
html_theme_options = {
# Toc options
"collapse_navigation": True,
+2
View File
@@ -1,3 +1,5 @@
.. _a_export:
##################
Exporting Projects
##################
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

+53 -6
View File
@@ -1,10 +1,55 @@
########################################
Welcome to the novelWriter Documentation
########################################
#######################################
Documentation for novelWriter |release|
#######################################
This is the documentation for novelWriter |release|.
.. image:: https://travis-ci.com/vkbo/novelWriter.svg?branch=master
:target: https://travis-ci.com/vkbo/novelWriter
:alt: Build Status
**Contents**
.. image:: https://codecov.io/gh/vkbo/novelWriter/branch/master/graph/badge.svg
:target: https://codecov.io/gh/vkbo/novelWriter
:alt: Code Coverage
.. image:: https://readthedocs.org/projects/novelwriter/badge/?version=latest
:target: https://novelwriter.readthedocs.io/en/latest/?badge=latest
:alt: Documentation
.. image:: https://img.shields.io/github/v/release/vkbo/novelwriter
:target: https://github.com/vkbo/novelWriter/releases
:alt: GitHub Release
.. image:: https://img.shields.io/pypi/v/novelwriter
:target: https://pypi.org/project/novelWriter/
:alt: PyPI
.. image:: https://img.shields.io/pypi/pyversions/novelwriter
:target: https://pypi.org/project/novelWriter/
:alt: Python Version
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.
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 in JSON files.
Useful Links
============
* Website: https://novelwriter.io
* Documentation: https://novelwriter.readthedocs.io
* Source Code: https://github.com/vkbo/novelWriter
* Source Releases: https://github.com/vkbo/novelWriter/releases
* Issue Tracker: https://github.com/vkbo/novelWriter/issues
* PyPi Project: https://pypi.org/project/novelWriter
Contents
========
.. toctree::
:maxdepth: 2
@@ -18,7 +63,9 @@ This is the documentation for novelWriter |release|.
export
technical
**Indices and Tables**
Indices and Tables
==================
* :ref:`genindex`
* :ref:`modindex`
+85 -81
View File
@@ -11,24 +11,24 @@ The user interface is kept as simple as possible to avoid distractions when writ
The Project Tree
================
The main window contains a Project Tree in the left-most panel. It shows the entire structure of the
The main window contains a project tree in the left-most panel. It shows the entire structure of the
project. It has four columns:
Label
: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`.
Words
:guilabel:`Words`
The second column shows the word count of the file, or the sum of words in the child items if it
is a folder. If the counts seem incorrect, they can be updated by rebuilding the Project Index
is a folder. If the counts seem incorrect, they can be updated by rebuilding the project index
from the menu, or by pressing :kbd:`F9`.
Inc
: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.
Flags
: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. They can be changed in Project Settings. The first character after the icon indicates the
@@ -36,7 +36,7 @@ Flags
:ref:`a_struct_tags`. The second character indicates the file layout type (see
:ref:`a_proj_roots`).
Below the Project Tree is a small details panel showing the full information of the currently
Below the project tree is a small details panel showing the full information of the currently
selected item. This panel also includes the latest paragraph and character counts.
@@ -45,37 +45,38 @@ selected item. This panel also includes the latest paragraph and character count
Editing and Viewing Documents
=============================
To edit a document, double-click the file in the tree view, or press the :kbd:`Return` key while
having it selected. This will open the document in the Editor. The Editor uses a simplified markdown
format. The format is described in the :ref:`a_ui_md` section below. The Editor has a maximise
button (activates Focus Mode) and a close button in the top-right corner.
To edit a document, double-click the file in the project tree, or press the :kbd:`Return` key while
having it selected. This will open the document in the document editor. The editor uses a simplified
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 view panel or
the Viewer. To view a document, press :kbd:`Ctrl`:kbd:`R`, or select :menuselection:`View Document`
in the menu. The document viewed does not have to be the same document currently being edited. If
you *are* viewing the same document though, 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 panel next to the close button.
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. If you *are* viewing
the same document though, 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
panel next to the close button.
Both the Editor and the Viewer will show the label of the document in the document header at the
top of the edit or view panel. Optionally, the full project path to the file can be shown. This can
be set in Preferences dialog. Clicking on the document title bar will select and reveal the file
in the Project Tree, making it easier to find the project location of the file in a large project.
Both the document editor and viewer will show the label of the document in the header at the top of
the edit or view panel. Optionally, the full project path to the file can be shown. This can be set
in the :guilabel:`Preferences` dialog from the :guilabel:`Tools` menu. Clicking on the document
title bar will select and reveal the file in the project tree, making it easier to find the project
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
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.
At the bottom of the Viewer's panel there is a References panel (click the icon if it is hidden)
that will show links to all documents referring back to it. The 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.
At the bottom of the viewer's panel there is a :guilabel:`References` panel (click the icon if it is
hidden) that will show links to all documents referring back to it. 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.
.. note::
The References panel relies on an up-to-date index of the project. If anything is missing, or
seems wrong, the index can always be rebuilt from :menuselection:`Tools --> Rebuild Index` or by
pressing :kbd:`F9`.
The :guilabel:`References` panel relies on an up-to-date index of the project. If anything is
missing, or seems wrong, the index can always be rebuilt from :guilabel:`Tools` >
:guilabel:`Rebuild Index` or by pressing :kbd:`F9`.
.. _a_ui_md:
@@ -83,8 +84,9 @@ convenient if you want to quickly look through all documents in the list.
Markdown Format
===============
The Editor uses a simplified markdown format. That is, it supports basic formatting like emphasis
(italic), strong emphasis (bold) and strikethrough text, as well as four levels of headings.
The document editor uses a simplified markdown format. That is, it supports basic formatting like
emphasis (italic), strong emphasis (bold) and strikethrough text, as well as four levels of
headings.
Some non-standard markdown features have been added. For instance, novelWriter allows for comments,
a synopsis tag, and a set of keyword/value sets used for tags and references.
@@ -125,7 +127,7 @@ In markdown it is often recommended to differentiate between strong emphasis and
``**`` for strong emphasis and ``_`` for emphasis, although markdown generally supports also ``__``
for strong emphasis and ``*`` fdr emphasis. However, since the differentiation makes the
highlighting and conversion significantly simpler and faster, in novelWriter this is a rule, not
just a recommendation.
just a recommendation. The following is therefore the only supported formatting syntax:
``_text_``
The text is rendered as emphasised text (italicised).
@@ -152,8 +154,8 @@ There are also some additional rules:
Comments and Synopsis
---------------------
In addition to these standard markdown features, the 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,
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`.
@@ -173,7 +175,9 @@ the comment is treated specially, and will show up in the :ref:`a_ui_outline`.
Tags and References
-------------------
The Editor also has a minimal set of keywords used for setting tags and references between files.
The document editor supports a minimal set of keywords used for setting tags and references between
files. The tags and references can be set once per section defined by a heading. Using them 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.
@@ -195,7 +199,7 @@ spaces if running with Qt 5.9 or higher.
* 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 :menuselection:`Insert` menu has more. They are also listed
These are all insert features, and the :guilabel:`Insert` menu has more. They are also listed
in :ref:`a_ui_shortcuts_ins`.
Both hard line breaks and non-breaking spaces are highlighted by the syntax highlighter as an
@@ -207,29 +211,29 @@ alternate coloured background, depending on the selected theme.
Project Outline View
====================
The Project Outline View is available as the second tab on the right hand side of the main window
labelled "Outline". The Outline View provides an overview of the novel structure, displaying a tree
hierarchy of the elements of the novel, that is, the level 1 to 4 headings.
The project's Outline view is available as the second tab on the right hand side of the main window
labelled :guilabel:`Outline`. The outline provides an overview of the novel structure, displaying a
tree hierarchy of the elements of the novel, that is, the level 1 to 4 headings.
.. 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. See the :ref:`a_struct` page for more details.
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. 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
View. A default set is visible, but you can turn on or off more columns by right clicking the header
and selecting the columns you want to show. The order of the columns can also be rearranged by
dragging them to a different position.
Various meta data and information extracted from tags can be displayed in columns in the outline.
A default set of such columns is visible, but you can turn on or off more columns by right clicking
the header and selecting the columns you want to show. The order of the columns can also be
rearranged by dragging them to a different position.
.. note::
The Title column cannot be disabled or moved.
The :guilabel:`Title` column cannot be disabled or moved.
The information viewed in the Outline View is based on the Project Index. While novelWriter does its
best to keep the index up to date when content changes, you can always rebuild it manually by
The information viewed in the outline is based on the project's main index. While novelWriter does
its best to keep the index up to date when content changes, you can always rebuild it manually by
pressing :kbd:`F9` if something isn't right.
The Outline View itself can be regenerated by pressing :kbd:`F10`. You can also enable automatic
updating in the :menuselection:`Tools` menu, which will trigger an update whenever the index is
updated and the Outline tab is activated. You may want to disable this feature if your project is
The outline view itself can be regenerated by pressing :kbd:`F10`. You can also enable automatic
updating in the :guilabel:`Tools` menu, which will trigger an update whenever the index is updated
and the :guilabel:`Outline` tab is active. You may want to disable this feature if your project is
very large,
@@ -238,15 +242,15 @@ very large,
Synopsis Column
---------------
The "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.
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, the last one will be used.
flagged as a synopsis comment, the last one will be used.
.. _a_ui_shortcuts:
@@ -261,11 +265,11 @@ Most features are available as keyboard shortcuts. These are as following:
:widths: 30, 70
:class: "tight-table"
":kbd:`Alt`:kbd:`1`", "Switch focus to the Project Tree."
":kbd:`Alt`:kbd:`2`", "Switch focus to Editor."
":kbd:`Alt`:kbd:`3`", "Switch focus to Viewer."
":kbd:`Alt`:kbd:`1`", "Switch focus to the project tree."
":kbd:`Alt`:kbd:`2`", "Switch focus to document editor."
":kbd:`Alt`:kbd:`3`", "Switch focus to document viewer."
":kbd:`Ctrl`:kbd:`.`", "Open menu to correct word under cursor."
":kbd:`Ctrl`:kbd:`,`", "Open the Preferences dialog."
":kbd:`Ctrl`:kbd:`,`", "Open the :guilabel:`Preferences` dialog."
":kbd:`Ctrl`:kbd:`/`", "Change block format to comment."
":kbd:`Ctrl`:kbd:`-`", "Strikethrough selected text, or word under cursor."
":kbd:`Ctrl`:kbd:`0`", "Remove block formatting for block under cursor."
@@ -277,7 +281,7 @@ Most features are available as keyboard shortcuts. These are as following:
":kbd:`Ctrl`:kbd:`B`", "Format selected text, or word under cursor, with strong emphasis (bold)."
":kbd:`Ctrl`:kbd:`C`", "Copy selected text to clipboard."
":kbd:`Ctrl`:kbd:`D`", "Wrap selected text, or word under cursor, in double quotes."
":kbd:`Ctrl`:kbd:`E`", "If in the Project Tree, edit a document or folder settings. (Same as :kbd:`F2`)"
":kbd:`Ctrl`:kbd:`E`", "If in the project tree, edit a document or folder settings. (Same as :kbd:`F2`)"
":kbd:`Ctrl`:kbd:`F`", "Open the search bar and search for the selected word, if any is selected."
":kbd:`Ctrl`:kbd:`G`", "Find next occurrence of search word in current document. (Same as :kbd:`F3`)"
":kbd:`Ctrl`:kbd:`H`", "Open the search and replace bar and search for the selected word, if any is selected. (On Mac, this is :kbd:`Cmd`:kbd:`=`)"
@@ -285,18 +289,18 @@ Most features are available as keyboard shortcuts. These are as following:
":kbd:`Ctrl`:kbd:`N`", "Create new document."
":kbd:`Ctrl`:kbd:`O`", "Open selected document."
":kbd:`Ctrl`:kbd:`Q`", "Exit novelWriter."
":kbd:`Ctrl`:kbd:`R`", "If in the Project Tree, open a document for viewing. If the Editor has focus, open current document for viewing."
":kbd:`Ctrl`:kbd:`S`", "Save the current document in the Editor."
":kbd:`Ctrl`:kbd:`R`", "If in the project tree, open a document for viewing. If the editor has focus, open current document for viewing."
":kbd:`Ctrl`:kbd:`S`", "Save the current document in the document editor."
":kbd:`Ctrl`:kbd:`V`", "Paste text from clipboard to cursor position."
":kbd:`Ctrl`:kbd:`W`", "Close the current document in the Editor."
":kbd:`Ctrl`:kbd:`W`", "Close the current document in the document editor."
":kbd:`Ctrl`:kbd:`X`", "Cut selected text to clipboard."
":kbd:`Ctrl`:kbd:`Y`", "Redo latest undo."
":kbd:`Ctrl`:kbd:`Z`", "Undo latest changes."
":kbd:`Ctrl`:kbd:`F7`", "Toggle spell checking."
":kbd:`Ctrl`:kbd:`F10`", "Toggle automatic updating of Project Outline."
":kbd:`Ctrl`:kbd:`Del`", "If in the Project Tree, move a document to trash, or delete a folder."
":kbd:`Ctrl`:kbd:`F10`", "Toggle automatic updating of project outline."
":kbd:`Ctrl`:kbd:`Del`", "If in the project tree, move a document to trash, or delete a folder."
":kbd:`Ctrl`:kbd:`Enter`", "Open the tag or reference under the cursor in the Viewer."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`,`", "Open the Project Settings dialog."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`,`", "Open the :guilabel:`Project Settings` dialog."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`/`", "Remove block formatting for block under cursor."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`1`", "Replace occurrence of search word in current document, and search for next occurrence."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`A`", "Select all text in current paragraph."
@@ -305,23 +309,23 @@ Most features are available as keyboard shortcuts. These are as following:
":kbd:`Ctrl`:kbd:`Shift`:kbd:`I`", "Import text to the current document from a text file."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`N`", "Create new folder."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`O`", "Open a project."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`R`", "Close the document Viewer."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`R`", "Close the document viewer."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`S`", "Save the current project."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`W`", "Close the current project."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`Up`", "Move item one step up in the Project Tree."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`Down`", "Move item one step down in the Project Tree."
":kbd:`F1`", "Open the documentation. This just tries to send the documentation URL to your browser."
":kbd:`F2`", "If in the Project Tree, edit a document or folder settings. (Same as :kbd:`Ctrl`:kbd:`E`)"
":kbd:`Ctrl`:kbd:`Shift`:kbd:`Up`", "Move item one step up in the project tree."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`Down`", "Move item one step down in the project tree."
":kbd:`F1`", "Open the documentation. This will either open the Qt Assistant, if available, or send you to the documentation website."
":kbd:`F2`", "If in the project tree, edit a document or folder settings. (Same as :kbd:`Ctrl`:kbd:`E`)"
":kbd:`F3`", "Find next occurrence of search word in current document. (Same as :kbd:`Ctrl`:kbd:`G`)"
":kbd:`F5`", "Open the Build Novel Project dialog."
":kbd:`F6`", "Open the Writing Statistics dialog."
":kbd:`F5`", "Open the :guilabel:`Build Novel Project` dialog."
":kbd:`F6`", "Open the :guilabel:`Writing Statistics` dialog."
":kbd:`F7`", "Re-run spell checker."
":kbd:`F8`", "Activate Focus Mode, hiding Project Tree and view panel."
":kbd:`F9`", "Re-build Project Index."
":kbd:`F10`", "Re-build Project Outline."
":kbd:`F8`", "Activate :guilabel:`Focus Mode`, hiding the project tree and document viewer."
":kbd:`F9`", "Re-build the project index."
":kbd:`F10`", "Re-build the project outline."
":kbd:`F11`", "Activate full screen mode."
":kbd:`Shift`:kbd:`F3`", "Find previous occurrence of search word in current document. (Same as :kbd:`Ctrl`:kbd:`Shift`:kbd:`G`)"
":kbd:`Enter`", "If in the Project Tree, open a document for editing."
":kbd:`Enter`", "If in the project tree, open a document for editing."
.. note::
On macOS, replace :kbd:`Ctrl` with :kbd:`Cmd`.
+30 -22
View File
@@ -6,17 +6,19 @@ 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 allow for the component documents to be
ordered freely to create the desired structure of the novel project.
ordered freely to create the desired structure of the novel project. This 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 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.
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.
used correctly. This is covered on the :ref:`a_ui` page.
.. _a_intro_design:
@@ -32,22 +34,27 @@ at the same time provide a complete set of features needed for writing a novel.
links, tables, and its formatting is limited to headers, and bold, italicised and strikethrough
text.
The main window does not have a tool bar like most other applications do. This reduces clutter, and
since the documents are formatted with markdown tags, more or less redundant. However, all
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
formatting features supported are available through convenient keyboard shortcuts. They are also
available in the main menu.
available in the main menu. A full list of shortcuts can be found in the :ref:`a_ui_shortcuts`
section.
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 Preferences. A number of syntax highlighting themes
are also available in Preferences. Coloured and grayscale icon themes are also available.
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 is also offered. The icons are based on the Typicon_ icon set 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
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 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.
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.
.. _Typicon: https://github.com/stephenhutchings/typicons.font
.. _a_intro_project:
@@ -56,18 +63,19 @@ Project Layout
==============
You are free to structure your project files as you wish in subfolders and split between files. All
that matters to novelWriter is the linear order they appear in the project tree (top to bottom) and
the chapters, scenes and sections of the novel is determined by the headings within those files.
that matters to novelWriter is the linear order they appear in the project tree (top to bottom). The
chapters, scenes and sections of the novel are determined by the headings within those files.
The four heading levels (H1 to H4) are treated as follows:
The four heading levels (**H1** to **H4**) are treated as follows:
* H1 is used for the book title, and for partitions.
* H2 is used for chapter tiles.
* H3 is reserved for scene titles.
* H4 is for section titles within scenes, if such granularity is needed.
* **H1** is used for the book title, and for partitions.
* **H2** is used for chapter tiles.
* **H3** is reserved for scene titles.
* **H4** is for section titles within scenes, if such granularity is needed.
This structure is only considered on novel files. For the files designated as project notes, the
usage of headers imply no structural meaning, and the user is free to do whatever they want.
This header level structure is only considered on novel files. For the files designated as project
notes, the usage of headers imply no structural meaning, and the user is free to do whatever they
want. See the :ref:`a_struct` page for more details.
.. _a_intro_export:
@@ -84,8 +92,8 @@ HTML, which can be imported or converted by a number of other tools like Pandoc,
into Libre Office and similar.
It is also possible to export the content of the project to a JSON file. This is useful if you want
to write your own processing script in for instance Python, as the entire novel can be read into a
Python dictionary with a couple of lines of code.
to write your own processing script in for instance Python as the entire novel can be read into a
Python dictionary with a couple of lines of code. See the :ref:`a_export` page for more details.
.. _a_intro_screenshots:
+2
View File
@@ -1,3 +1,5 @@
.. _a_notes:
************************
Supporting Files (Notes)
************************
+69 -66
View File
@@ -7,13 +7,12 @@ Novel Projects
A novelWriter project requires a dedicated folder for storing its files on the local file system.
See the :ref:`a_tech` page for further details.
A new project can be created from the :menuselection:`Project` menu by selecting
:menuselection:`New Project`. A list of recently opened projects is maintained, and displayed in the
Open Project dialog. A project can be removed from this list by selecting it and pressing the
:kbd:`Del` key.
A new project can be created from the :guilabel:`Project` menu by selecting :guilabel:`New Project`.
A list of recently opened projects is maintained, and displayed in the :guilabel:`Open Project`
dialog. A project can be removed from this list by selecting it and pressing the :kbd:`Del` key.
The project specific settings are available in :menuselection:`Project --> Project Settings`. See
further details below in the :ref:`a_proj_settings` section.
The project specific settings are available in :guilabel:`Project Settings` in the
:guilabel:`Project` menu. See further details below in the :ref:`a_proj_settings` section.
.. _a_proj_roots:
@@ -22,23 +21,26 @@ Project Roots
=============
Projects are structured into a set of top level folders called *root folders*. They are visible in
the Project Tree.
the project tree at the left side of the main window.
The core novel files go into a root folder of type "Novel". Other supporting files go into the other
root folders. These other root folder types are intended for your notes on the various elements of
your story. Using these is of course entirely optional. A new project will not have all of the root
folders present, but you can add the ones you want from :menuselection:`Project --> Create Root Folder`.
your story. Using these is of course entirely optional.
A new project will not have all of the root folders present, but you can add the ones you want from
:guilabel:`Create Root Folder` in the :guilabel:`Project` menu.
The root folders are intended for the following use, but aside from the Novel folder, no
restrictions are enforced by the application. You can use them however you want.
.. note::
The root folders correspond to the categories of tags that can be used.
See the "Project Structure" section for further details.
See the :ref:`a_struct` page for further details.
Novel
The root folder of all text that goes into the final novel. This class of files have other rules
and features than other files in the project. See the :ref:`a_struct` page for more details.
This is the root folder of all text that goes into the final novel. This class of files have
other rules and features than other files in the project. See the :ref:`a_struct` page for more
details.
Plot
This is the root folder where main plots can be outlined. It is optional, but adding at least
@@ -76,8 +78,9 @@ Custom
For more information about the tags listed, see :ref:`a_struct_tags`.
.. note::
Deleted files will be moved into a special "Trash" root folder. Files in the Trash folder can
then be deleted permanently, either individually, or by emptying the trash from the menu.
Deleted files will be moved into a special :guilabel`Trash` root folder. Files in the trash
folder can then be deleted permanently, either individually, or by emptying the trash from the
menu.
.. _a_proj_roots_orph:
@@ -86,14 +89,15 @@ Orphaned Documents
------------------
If novelWriter crashes or otherwise exits without saving the project state, or if you're using a
file synchronisation tool, there may be files in the project folder that isn't tracked in the core
project file. These files, when discovered, are handled by the Orphaned Documents routine.
file synchronisation tool that runs out of sync, there may be files in the project folder that isn't
tracked in the core project file. These files, when discovered, are handled by the Orphaned
Documents routine.
Files that are discovered will be re-added to the project tree in a special "Orphaned Items" root
folder next time the application is started. These orphaned files will not have most of the meta
data preserved, although novelWriter will try to restore the file label it had in the Project Tree.
Other information will have to be set again, and the files moved back to the correct location in
the project.
Files that are discovered in the project folder, but not in the project, will be re-added to the
project tree in a special :guilabel:`Orphaned Items` root folder next time the application is
started. These orphaned files will not have most of the meta data preserved, although novelWriter
will try to restore the file label it had in the project tree. Other information will have to be set
again, and the files moved back to the correct location in the project.
.. _a_proj_roots_lock:
@@ -108,7 +112,7 @@ where else novelWriter thinks the project is also open.
You will be give the option to ignore this warning, and continue opening the project. However, if
multiple instances are in fact editing the same project, you are likely to cause inconsistencies and
create diverging project files, potentially resulting in loss of data.
create diverging project files, potentially resulting in loss of data and orphaned files.
.. note::
If, for some reason, novelWriter crashes, the lock file may remain even if there are no other
@@ -122,47 +126,53 @@ Using Folders in the Project Tree
---------------------------------
Folders, aside from root folders, have no structural significance to the project. When novelWriter
is processing the files in the novel, like for instance during export, the folders are ignored. Only
the order of the text files themselves matter.
is processing the files in the novel, like for instance during export, these folders are ignored.
Only the order of the text files themselves matter.
The folders are there purely as a way for the user to organise the files in meaningful sections and
to be able to close them in the Project Tree when you're not working on those files, and thus reduce
clutter.
.. tip::
You can use folders to sort your scene files into chapters. You will then need to add a chapter
file as the first file of your folder, and the scene files as the following files.
.. _a_proj_files:
Project Files
=============
New document files can be created from the :menuselection:`Document` menu, or by pressing
:kbd:`Ctrl`:kbd:`N` while in the Project Tree. This will create a new, empty file, and open the Item
Settings dialog where the filename and various other settings can be changed. This dialog can also
be opened again later from either the menu, :menuselection:`Project -> Edit Item`, or by pressing
:kbd:`Ctrl`:kbd:`E` or :kbd:`F2` with the item selected.
New document files can be created from the :guilabel:`Document` menu, or by pressing
:kbd:`Ctrl`:kbd:`N` while in the Project Tree. This will create a new, empty file, and open the
:guilabel:`:Item Settings` dialog where the filename and various other settings can be changed.
This dialog can also be opened again later from either the :guilabel:`Project` menu, selecting
:guilabel:`Edit Item`, or by pressing :kbd:`Ctrl`:kbd:`E` or :kbd:`F2` with the item selected.
The layout of the file is also defined here. For Novel files, the full list of layout options are
available. For non-Novel files, only "Note" is available. See :ref:`a_struct_layout` for more
details.
You can also select whether the file is by default included when building the project. This setting
can be overridden in the Build Novel Project tool if you wish to include them anyway.
can be overridden in the :guilabel:`Build Novel Project` tool if you wish to include them anyway.
.. _a_proj_files_counts:
Word Counts
-----------
A character, word and paragraph count is maintained for each file, as well as dor each section of a
file defined by a header. The word count, and change of words in the current session, is displayed
in the footer of any document open in the Editor, and all stats are shown in the details panel below
the Project Tree for any file selected.
in the footer of any document open in the editor, and all stats are shown in the details panel below
the project tree for any file selected.
The word counts are not updated real time, but runs in the background every five seconds.
The word counts are not updated in real time, but runs in the background every five seconds.
A total project word count is displayed in the status bar. The total count depends on the sum of the
values in the Project Tree, which again depend on an up to date index. If the counts seem wrong, a
full project word recount can be initiated by rebuilding the Project Index. Either form the
:menuselection:`Tools` menu, or by pressing :kbd:`F9`.
values in the project tree, which again depend on an up to date index. If the counts seem wrong, a
full project word recount can be initiated by rebuilding the project's index. Either form the
:guilabel:`Tools` menu, or by pressing :kbd:`F9`.
.. _a_proj_settings:
@@ -170,9 +180,8 @@ full project word recount can be initiated by rebuilding the Project Index. Eith
Project Settings
================
The project settings can be accessed from the :menuselection:`Project --> Project Settings` menu
entry, or by pressing :kbd:`Ctrl`:kbd:`Shift`:kbd:`,`. This will open a dialog box, with a set of
tabs.
The :guilabel:`Project Settings` can be accessed from the :guilabel:`Project` menu, or by pressing
:kbd:`Ctrl`:kbd:`Shift`:kbd:`,`. This will open a dialog box, with a set of tabs.
Settings Tab
@@ -198,36 +207,29 @@ project is saved, how may times it has been saved, how many folders and files it
many words exist in the entire project.
Status Tab
----------
Status and Importance Tabs
---------------------------
Each file of type "Novel" can be given a status level, signified by a coloured icon. These are
purely there for the user's convenience, and you are not required to use them for any other feature
to work. The intention is to use this list to set what stage of writing you are on, although you can
in principle make them whatever you want.
Each file of type "Novel" can be given a status level, signified by a coloured icon and each file of
the remaining types can be given an importance level. These are colour coded icons and labels that
can be applied to each file.
These are purely there for the user's convenience, and you are not required to use them for any
other feature to work. No other part of novelWriter accesses this information. The intention is to
use these to indicate at what stage of completeion each novel file is, or how important the content
of a note file is to the plot. You don't have to use them this way, that's just what they were
intended for, but you can make them whatever you want.
.. note::
The status levels currently in use by one or more files cannot be deleted.
Importance Tab
--------------
Each file of types "Plot", "Character", "World", "Timeline", "Object", "Entity", or "Custom", can be
given an importance level, signified by a coloured icon like for status level. These are also purely
there for the user's convenience, and you are not required to use them for any other feature to
work. The intention is to use this list to set how important the character, plot element, or
otherwise, is for the story. Again, these can in principle be used for whatever you want.
.. note::
The importance levels currently in use by one or more files cannot be deleted.
The status or importance level currently in use by one or more files cannot be deleted, but they
can be edited.
Auto-Replace Tab
----------------
A set of automatically replaced keywords can be added in this tab. The keywords in the left column
will be replaced by the text in the right column when documents are opened in the Viewer. They will
will be replaced by the text in the right column when documents are opened in the viewer. They will
also be applied to exports.
.. note::
@@ -246,12 +248,13 @@ backup files are to be stored must to be provided in Preferences.
Backups can be run automatically when a project is closed, which also implies it is run when the
application is closed. Backups are date stamped zip files of the entire project folder, and are
stored in a subfolder of the backup path with the same name as the project Working Title set in
:ref:`a_proj_settings`.
stored in a subfolder of the backup path with the same name as the project :guilabel:`Working Title`
set in :ref:`a_proj_settings`.
The backup feature, when configured, can also be run manually from the :menuselection:`Tools` menu.
It is also possible to dissable automated backup for a given project in Project Settings.
The backup feature, when configured, can also be run manually from the :guilabel:`Tools` menu.
It is also possible to dissable automated backup for a given project in :guilabel:`Project Settings`.
.. note::
For the backup to be able to run, the Working Title must be set in Project Settings. This value
is used to generate the folder name for the zip files. Without it, the backup will not run.
For the backup to be able to run, the :guilabel:`Working Title` must be set in :guilabel:`Project
Settings`. This value is used to generate the folder name for the zip files. Without it, the
backup will not run at all, but produce a warning message.
+18 -7
View File
@@ -34,10 +34,10 @@ needed to communicate with the Qt GUI libraries, only one package is required fo
format of the main project file. Everything else is handled with standard Python libraries.
Optionally, a package can be installed to interface with the Enchant spell checking libaries, but
this isn't required. If no external spell checking library is available, novelWriter falls back to
using the internal ``difflib`` of Python to check spelling. This is a much slower approach, and it
is less sophisticated than full spell checking libaries, but if you only work with small files, the
performance loss is not noticeable.
this isn't strictly required. If no external spell checking library is available, novelWriter falls
back to using the internal ``difflib`` of Python to check spelling. This is a much slower approach,
and it is less sophisticated than full spell checking libaries, but if you only work with small
files, the performance loss is not noticeable.
.. _a_started_depend_packages:
@@ -53,7 +53,7 @@ the following command:
pip install -r requirements.txt
On some operating systems you need to use ``python3`` instead of ``python``.
This will install all the dependencies and recommended packages.
The following Python packages are required to run novelWriter:
@@ -69,7 +69,7 @@ Exporting to standard Markdown, for instance, requires PyQt/Qt 5.14. Searching u
expressions requires 5.3, and for full Unicode support, 5.13.
There are no known minimum for package ``lxml``, but the code was originally written with 4.2,
which is therefore set as the minimum.
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:
@@ -78,6 +78,7 @@ The spell checking extension is optional, but recommended:
The optional spell check library must be at least 3.0.0 to work with Windows. On Linux, 2.0.0 also
works fine.
.. _a_started_depend_docs:
Building Documentation
@@ -104,6 +105,16 @@ To build the help packages from the documentation source, run
from the root source folder.
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
of send the user to the website.
.. note::
In order for the local version of help to work, the Qt Assistant must be installed on the local
computer. If it isn't available, or novelWriter cannot find it, the help feature will fall back
to redirecting to the website.
.. _a_started_running:
Running novelWriter
@@ -135,7 +146,7 @@ there's one script for Debian and one for Ubuntu.
Building a Standalone Executable
================================
A standalone executable can be built with pyinstaller, using the provided python script
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: