Add new docs theme, and restructure (#978)
* Change documentation theme to 'furo' * Update docs source for new theme * Update index and split introduction * Add a Getting Started section to the docs * Rename getting started docs file * Reorganise setup instructions * Update usage sections for consistency * Update docs references in main README * Show release in sidebar
This commit is contained in:
committed by
GitHub
parent
07c92b4bc3
commit
5ee857f6f4
@@ -42,8 +42,8 @@ met. It is regularly tested on Debian and Ubuntu Linux, Windows, and macOS.
|
||||
The Releases page has a `.deb` package that should install on Mint, Ubuntu and Debian.
|
||||
|
||||
You can also use the novelWriter [PPA](https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter).
|
||||
For more details, check the [Linux](https://novelwriter.readthedocs.io/en/latest/setup_linux.html)
|
||||
setup chapter in the documentation.
|
||||
For more details, check the [Getting STarted](https://novelwriter.readthedocs.io/en/latest/int_started.html)
|
||||
section in the documentation.
|
||||
|
||||
### Windows 10+
|
||||
|
||||
@@ -55,11 +55,9 @@ versions. The installer includes Python 3.10 and the library dependencies.
|
||||
You can also download and install one of the minimal zip files from the
|
||||
[Releases](https://github.com/vkbo/novelWriter/releases) page or the
|
||||
[novelwriter.io](https://novelwriter.io/) website.
|
||||
The [documentation](https://novelwriter.readthedocs.io/) has detailed install instructions for
|
||||
[Linux](https://novelwriter.readthedocs.io/en/latest/setup_linux.html),
|
||||
[Windows](https://novelwriter.readthedocs.io/en/latest/setup_windows.html), and
|
||||
[macOS](https://novelwriter.readthedocs.io/en/latest/setup_mac.html).
|
||||
They are pretty straightforward.
|
||||
The [Getting STarted](https://novelwriter.readthedocs.io/en/latest/int_started.html) section of the
|
||||
documentation has detailed install instructions for these packages, and for installation via the
|
||||
Python Package Index.
|
||||
|
||||
## Project Contributions
|
||||
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
/*
|
||||
* Custom CSS Rules for Sphinx RTD Theme
|
||||
*/
|
||||
|
||||
.kbd {
|
||||
background-color: #eeeeee;
|
||||
border: 1px solid #b4b4b4;
|
||||
border-radius: 3px;
|
||||
color: #333333;
|
||||
display: inline-block;
|
||||
font-size: 0.85em;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
padding: 2px 4px;
|
||||
margin-left: 1px;
|
||||
margin-right: 1px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.tight-table td {
|
||||
white-space: normal !important;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
|
||||
pre span.go {
|
||||
color: #333333 !important;
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
+24
-26
@@ -10,54 +10,52 @@
|
||||
|
||||
import os
|
||||
import time
|
||||
import sphinx_rtd_theme # noqa: F401
|
||||
import datetime
|
||||
|
||||
# -- Project Information -----------------------------------------------------
|
||||
|
||||
project = "novelWriter"
|
||||
copyright = "2018–2021, Veronica Berglyd Olsen"
|
||||
copyright = f"{datetime.date.today().year}, Veronica Berglyd Olsen"
|
||||
author = "Veronica Berglyd Olsen"
|
||||
|
||||
# The short X.Y version
|
||||
version = "1.6"
|
||||
# The full version, including alpha/beta/rc tags
|
||||
release = "1.6-beta1"
|
||||
initFile = os.path.join(
|
||||
os.path.dirname(__file__), os.pardir, os.pardir,
|
||||
"novelwriter", "__init__.py"
|
||||
)
|
||||
with open(initFile) as inFile:
|
||||
for aLine in inFile:
|
||||
if aLine.startswith("__version__"):
|
||||
release = aLine.split('"')[1].strip()
|
||||
break
|
||||
else:
|
||||
release = "unknown"
|
||||
|
||||
version = release.split("-")[0]
|
||||
|
||||
# -- General Configuration ---------------------------------------------------
|
||||
|
||||
os.environ["TZ"] = "Europe/Oslo"
|
||||
time.tzset()
|
||||
|
||||
# needs_sphinx = "1.0"
|
||||
extensions = [
|
||||
"sphinx_rtd_theme",
|
||||
]
|
||||
needs_sphinx = "4.0"
|
||||
templates_path = ["_templates"]
|
||||
source_suffix = ".rst"
|
||||
master_doc = "index"
|
||||
today_fmt = "%A, %d %B %Y at %H:%M"
|
||||
language = None
|
||||
exclude_patterns = []
|
||||
pygments_style = None
|
||||
pygments_style = "sphinx"
|
||||
pygments_dark_style = "monokai"
|
||||
|
||||
# -- Options for HTML Output -------------------------------------------------
|
||||
|
||||
html_theme = "sphinx_rtd_theme"
|
||||
html_logo = "images/novelwriter.png"
|
||||
html_theme_options = {
|
||||
# Toc options
|
||||
"collapse_navigation": True,
|
||||
"sticky_navigation": True,
|
||||
"navigation_depth": 3,
|
||||
"includehidden": True,
|
||||
"titles_only": False,
|
||||
"logo_only": True,
|
||||
}
|
||||
|
||||
html_theme = "furo"
|
||||
html_static_path = ["_static"]
|
||||
html_css_files = [
|
||||
"css/custom.css",
|
||||
]
|
||||
html_theme_options = {
|
||||
"light_logo": "novelwriter-light.png",
|
||||
"dark_logo": "novelwriter-dark.png",
|
||||
}
|
||||
html_title = f"<div style='text-align: center'>Documentation<br>Version {release}</div>"
|
||||
|
||||
# -- Options for HTMLHelp Output ---------------------------------------------
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 172 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 286 KiB |
+33
-57
@@ -1,53 +1,37 @@
|
||||
#####################
|
||||
novelWriter |release|
|
||||
#####################
|
||||
#############################
|
||||
Documentation for novelWriter
|
||||
#############################
|
||||
|
||||
.. only:: html
|
||||
.. image:: images/novelwriter_logo.png
|
||||
:align: right
|
||||
:width: 48
|
||||
|
||||
.. image:: https://github.com/vkbo/novelWriter/actions/workflows/test_linux.yml/badge.svg?branch=main
|
||||
:target: https://github.com/vkbo/novelWriter/actions
|
||||
:alt: Python Tests
|
||||
| **For Release:** |release|
|
||||
| **Last Updated:** |today|
|
||||
|
|
||||
|
||||
.. image:: https://codecov.io/gh/vkbo/novelWriter/branch/main/graph/badge.svg
|
||||
:target: https://codecov.io/gh/vkbo/novelWriter
|
||||
:alt: Code Coverage
|
||||
novelWriter is an open source plain text editor designed for writing novels assembled from many
|
||||
smaller text documents. It uses a minimal formatting syntax inspired by Markdown, and adds a meta
|
||||
data syntax for comments, synopsis, and cross-referencing. It is designed to be a simple text
|
||||
editor that allows for easy organisation of text and notes, using human readable text files as
|
||||
storage for robustness.
|
||||
|
||||
.. 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
|
||||
|
||||
**Last Updated:** |today|
|
||||
|
||||
novelWriter is a plain text editor designed for writing novels assembled from many smaller text
|
||||
documents. It uses a minimal formatting syntax inspired by Markdown, and adds a meta data syntax
|
||||
for comments, synopsis, and cross-referencing. It is designed to be a simple text editor that
|
||||
allows for easy organisation of text and notes, using human readable text files as storage for
|
||||
robustness.
|
||||
.. figure:: images/screenshot_multi.png
|
||||
:align: center
|
||||
:width: 500
|
||||
|
||||
The project storage is suitable for version control software, and also well suited for file
|
||||
synchronisation tools. All text is saved as plain text files with a meta data header. The core
|
||||
project structure is stored in a single project XML file. Other meta data is primarily saved as
|
||||
JSON files. See the :ref:`a_intro_storage` section for more details.
|
||||
JSON files. See the :ref:`a_breakdown_storage` section for more details.
|
||||
|
||||
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, and users have tested it on other platforms
|
||||
too. novelWriter can be run directly from the Python source, installed from the pip tool.
|
||||
|
||||
You can also download a minimal archive package of novelWriter tailored for your operating system.
|
||||
This package can be extracted anywhere on your computer, and a setup script can be run to create
|
||||
the necessary icons and file associations. See the setup instructions for your operating system for
|
||||
further details.
|
||||
too. novelWriter can be run directly from the Python source, installed from the pip tool. See
|
||||
:ref:`a_started` for more details.
|
||||
|
||||
.. note::
|
||||
Version 1.5 introduces a few changes that will require you to make a few minor modifications to
|
||||
Version 1.5 introduced a few changes that will require you to make a few minor modifications to
|
||||
some of the headings in your project. It should be fairly quick and straightforward. Please see
|
||||
the :ref:`a_prjfmt_1_3` section for more details.
|
||||
|
||||
@@ -61,50 +45,42 @@ further details.
|
||||
* Feature Discussions: https://github.com/vkbo/novelWriter/discussions
|
||||
* PyPi Project: https://pypi.org/project/novelWriter
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:maxdepth: 1
|
||||
:caption: Introduction
|
||||
:hidden:
|
||||
|
||||
int_introduction
|
||||
setup_linux
|
||||
setup_mac
|
||||
setup_windows
|
||||
setup_other
|
||||
|
||||
int_overview
|
||||
int_started
|
||||
int_source
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:maxdepth: 1
|
||||
:caption: Using novelWriter
|
||||
:hidden:
|
||||
|
||||
usage_breakdown
|
||||
usage_interface
|
||||
usage_format
|
||||
usage_shortcuts
|
||||
usage_typography
|
||||
usage_projectformat
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:maxdepth: 1
|
||||
:caption: Organising Your Project
|
||||
:hidden:
|
||||
|
||||
project_overview
|
||||
project_structure
|
||||
project_notes
|
||||
project_export
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:maxdepth: 1
|
||||
:caption: Under the Hood
|
||||
:hidden:
|
||||
|
||||
tech_storage
|
||||
tech_tests
|
||||
|
||||
|
||||
Indices and Tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
|
||||
@@ -1,174 +1,53 @@
|
||||
.. _a_intro:
|
||||
|
||||
************
|
||||
Introduction
|
||||
Key Features
|
||||
************
|
||||
|
||||
novelWriter is a simple, multi-document plain text editor using a markup syntax inspired by
|
||||
markdown to apply simple formatting to the text. It is designed for writing novels, so the
|
||||
formatting features are limited.
|
||||
novelWriter is a multi-document plain text editor using a markup syntax inspired by markdown to
|
||||
apply simple formatting to the text. It is designed for writing novels, so the formatting features
|
||||
are limited. Your novel project is organised as a collection of separate plain text documents
|
||||
instead of a single, large document.
|
||||
|
||||
The idea is to let the user focus on writing instead of spending time on the formatting of headers
|
||||
and text. Therefore you cannot change the look of the text in the editor window. Instead, you
|
||||
provide formatting tags where they're needed, like for instance which text is a header, where you
|
||||
want text bolded or italicised, and what alignment you want for paragraphs. The actual formatting
|
||||
is then added to the text when you run the :guilabel:`Build Novel Project` tool.
|
||||
Below are some key features of novelWriter.
|
||||
|
||||
A document viewer to the right of the editor can also show a renderred version of any document if
|
||||
you want to inspect the result, or just want to keep a second document open for reference when
|
||||
you're writing.
|
||||
**Focus on writing**
|
||||
The aim of the user interface is to let the user focus on writing instead of spending time
|
||||
formatting text. Formatting is therefore limited to a small set of formatting tags for simple
|
||||
things like text emphasis and paragraph alignment. When you really want to focus on just
|
||||
writing, you can switch the editor into :guilabel:`Focus Mode` where only the text editor window
|
||||
itself is vissible.
|
||||
|
||||
You can split your novel project up into as many individual files as you want to. The files are
|
||||
glued together when you build the project, in the top-to-bottom order in which they appear in the
|
||||
project tree. Splitting the project up into chapter and scene files means you can easily reorder
|
||||
them using the drag and drop feature. More details about how projects are structured is covered in
|
||||
:ref:`a_struct`.
|
||||
**Keep an eye on your notes**
|
||||
The main window can optionally show a document viewer to the right of the editor. This view
|
||||
panel is intended for displaying another scene document, you character notes, plot notes, or any
|
||||
other document you may need to reference while writing.
|
||||
|
||||
In addition to novel text documents, 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 referred to as *Root Folders*. Each note can be assigned one or
|
||||
more tags (one tag is allowed for each heading in the note), and these tags can be referenced from
|
||||
within the novel documents and other notes.
|
||||
**Organise your documents how you like**
|
||||
You can split your novel project up into as many individual documents as you want to. They are
|
||||
all glued together when you build the project in the top-to-bottom order in which they appear in
|
||||
the project tree. Splitting the project up into chapters and scenes means you can easily reorder
|
||||
them using the drag and drop feature.
|
||||
|
||||
These tags make it possible to inter-link documents, and you can also generate an overview of the
|
||||
entire novel project and how the various documents and plot elements are interconnected. The tag
|
||||
and reference syntax is covered in :ref:`a_proj` and :ref:`a_notes`.
|
||||
**Keep track of your plot elements**
|
||||
All notes in your project can be assigned a *tag* you can *reference* from any other document or
|
||||
note. In fact, you can add a new tag under each heading of a note if you need to be able to
|
||||
reference a specific section. Note tags are organised into categories with specific keywords you
|
||||
can use to reference them.
|
||||
|
||||
These features are available through special meta keywords described in :ref:`a_struct_tags`.
|
||||
Syntax highlighting is provided to make it easier to verify that the markdown tags are used
|
||||
correctly.
|
||||
**Get an overview of your plot elements**
|
||||
In the :guilabel:`Outline` tab on the main window you can see an outline of all the chapter and
|
||||
scene sections of your project. If they have any references in them, these are listed in
|
||||
columns. You can also add a synopsis to each document, which can be listed here. You have the
|
||||
option to add or remove columns of information from the outline. A subset of the outline
|
||||
information is also available in the :guilabel:`Novel` tab under the main project tree.
|
||||
|
||||
An overview of the supported formatting syntax is covered in :ref:`a_ui`.
|
||||
|
||||
|
||||
.. _a_intro_storage:
|
||||
|
||||
Project Storage
|
||||
===============
|
||||
|
||||
The files of a novelWriter project are stored in a dedicated project folder. The project structure
|
||||
is kept in a file at the root of this folder called ``nwProject.nwx``. All the document files and
|
||||
associated meta data is stored in the other folders below the project folder. For more technical
|
||||
details about what all the files mean and how they're organised, see the :ref:`a_storage` section.
|
||||
|
||||
This way of storing data was chosen for several reasons. Firstly, all the text you add to your
|
||||
project is saved directly to your project folder in separate files. Only the project structure and
|
||||
the text you are currently editing is stored in memory at any given time. Secondly, having multiple
|
||||
small files means it is very easy to sync them between computers with standard file synchronisation
|
||||
tools. Thirdly, if you use version control software to track the changes to your project, the file
|
||||
formats used for the files are well suited for this.
|
||||
|
||||
.. note::
|
||||
|
||||
Since novelWriter has to keep track of a bunch of files and folders when a project is open, it
|
||||
may not run well on some virtual file systems. A file or folder must be accessible with exactly
|
||||
the path it was saved or created with. An example where this is not the case is the way Google
|
||||
Drive is mapped on Linux Gnome desktops using gvfs/gio.
|
||||
|
||||
.. warning::
|
||||
|
||||
You should not add additional files to the project folder yourself. Nor should you manually edit
|
||||
files within it as a general rule. If you really must manually edit the text files, e.g. with
|
||||
some automated task you want to perform, you need to rebuild the index when you open the project
|
||||
again.
|
||||
|
||||
Editing text files in the ``content`` folder is less risky as they are just plain text. Editing
|
||||
the main project XML file, however, may make the project file unreadable and you may crash
|
||||
novelWriter and lose project structure information and project settings.
|
||||
|
||||
|
||||
.. _a_intro_design:
|
||||
|
||||
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.
|
||||
|
||||
.. note::
|
||||
novelWriter is not intended to be a full office type word processor. It doesn't support images,
|
||||
links, tables, and other complex structures and objects often needed for such documents.
|
||||
Formatting is limited to headers, emphasis, text alignment, and a few other simple features.
|
||||
|
||||
.. tip::
|
||||
If you do need to align information in rows and columns in your notes, you can achieve this with
|
||||
tabs and line breaks. The tab stop width can be specified in :guilabel:`Preferences`.
|
||||
|
||||
The main window does not have a toolbar like many other applications do. This reduces clutter, and
|
||||
since the documents are formatted with style tags, is more or less redundant. However, most
|
||||
formatting features supported are available through convenient keyboard shortcuts. They are also
|
||||
available in the main menu so you don't have to look up formatting codes every time you need them.
|
||||
A full list of shortcuts can be found in the :ref:`a_kb` section.
|
||||
|
||||
In addition, novelWriter has a :guilabel:`Focus 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. Some other
|
||||
light and dark colour themes are 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.
|
||||
|
||||
The main window is split in two, or optionally three, panels. The left-most panel contains the
|
||||
project tree and all the documents in your project. The second panel is the document editor. An
|
||||
optional third panel is a document viewer which can view any document in your project independently
|
||||
of what is open in the document editor. It is not intended as a preview window, although you can
|
||||
use it for this. The main purpose of the viewer is for viewing your notes next to your editor
|
||||
while you're writing.
|
||||
|
||||
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 documents, this outline can be quite different from your project tree.
|
||||
Your project tree lists individual documents, your Outline tree lists the structure of the novel
|
||||
itself in terms of partitions, chapters and scenes as it appears in the text of those documents.
|
||||
|
||||
.. _Typicons: https://github.com/stephenhutchings/typicons.font
|
||||
|
||||
|
||||
.. _a_intro_project:
|
||||
|
||||
Project Layout
|
||||
==============
|
||||
|
||||
You are free to organise your project documents as you wish into subfolders, and split the text
|
||||
between documents in whatever way suits you. All that matters to novelWriter is the linear order
|
||||
the documents appear at in the project tree (top to bottom). The chapters, scenes and sections of
|
||||
the novel are determined by the headings within those documents.
|
||||
|
||||
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 used for scene titles – optionally replaced by separators.
|
||||
* **H4** is for section titles within scenes, if such granularity is needed.
|
||||
|
||||
This header level structure is only taken into account for novel documents. For the project notes,
|
||||
the header levels have no structural meaning, and the user is free to do whatever they want. See
|
||||
:ref:`a_struct` and :ref:`a_notes` for more details.
|
||||
|
||||
|
||||
.. _a_intro_export:
|
||||
|
||||
Project Export
|
||||
==============
|
||||
|
||||
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 Open Document,
|
||||
HTML5, and various flavours of Markdown.
|
||||
|
||||
The HTML5 export format is suitable for conversion by a number of other tools like Pandoc, or for
|
||||
importing into word processors if the Open Document format isn't suitable. In addition, printing
|
||||
and printing to PDF is also possible.
|
||||
|
||||
You can also 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. The JSON file can be populated either with HTML
|
||||
formatted text, or with the raw text as typed into the novel documents. See :ref:`a_export_options`
|
||||
for more details.
|
||||
|
||||
A number of filter options can be applied to the Build tool, allowing you to export a draft
|
||||
manuscript, a reference document of notes, an outline based on chapter and scene titles with a
|
||||
synopsis each, and so on. See :ref:`a_export` for more details on export features and formats.
|
||||
**Building your manuscript**
|
||||
Whether you want to compile a manuscript, or export all your notes, or generate an outline of
|
||||
your chapters and scenes with a synopsis, you can use the :guilabel:`Build Novel Project` tool.
|
||||
The tool lets you select what information you want to include in the generated document, and how
|
||||
it is formatted. You can send the result to a printer, a PDF, or to an Open Document file that
|
||||
can be opened by most office type word processors.
|
||||
|
||||
|
||||
.. _a_intro_screenshots:
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
.. _a_overview:
|
||||
|
||||
********
|
||||
Overview
|
||||
********
|
||||
|
||||
.. image:: images/python_powered.svg
|
||||
:align: right
|
||||
:width: 220
|
||||
|
||||
novelWriter is built on `Python 3 <https://www.python.org/>`_, a cross platform programming
|
||||
language that doesn't require a compiler to build and run. That means that the code can run on your
|
||||
computer right out of the box, or zip file as it were.
|
||||
|
||||
While it is developed for Linux primarily, it runs just fine on Windows as well. It also works just
|
||||
fine on macOS, but the author is not a mac user so less attention is paid to that platform.
|
||||
|
||||
In order to run novelWriter, you also need a few additional packages. The user interface is built
|
||||
with `Qt 5 <https://www.qt.io/>`_, a cross platform library for building graphical user interface
|
||||
applications.
|
||||
|
||||
For install instructions, see :ref:`a_started`.
|
||||
|
||||
Using novelWriter
|
||||
=================
|
||||
|
||||
In order to use novelWriter effectively, you need to know the basics of how it works. The following
|
||||
sections will explain the main principles. It starts of with the basics, and gets more detailed as
|
||||
you read on.
|
||||
|
||||
:ref:`a_breakdown` – Essential Information
|
||||
This section explains the basics of how the application works and what it can and cannot do.
|
||||
|
||||
:ref:`a_ui` – Recommended Reading
|
||||
This section will give you a more detailed explanation of what the various elements on the user
|
||||
interface do and how you can use them more effectively.
|
||||
|
||||
:ref:`a_fmt` – Essential Information
|
||||
This section covers how you should format your text. The editor is plain text, so text
|
||||
formatting requires some basic markup. The structure of your novel is also inferred by how you
|
||||
use the title headings. Tags and references are implemented by simple codes.
|
||||
|
||||
:ref:`a_kb` – Optional / Lookup
|
||||
This section lists all the keyboard shortcuts in novelWriter and what they do. Most of the
|
||||
shortcuts are also listed next to the menu items inside the app, so this section is purely for
|
||||
reference.
|
||||
|
||||
:ref:`a_typ` – Optional
|
||||
This section gives you an overview of the special typographical symbols available in
|
||||
novelWriter. The auto-replace feature can handle the insertion of standard quote symbols for
|
||||
your language, and other special characters. If you use any symbols aside from these. their
|
||||
intended use is explained here.
|
||||
|
||||
:ref:`a_prjfmt` – Optional
|
||||
This section is more technical and has an overview of changes made to the way your project data
|
||||
is stored. The format has changed a bit from time to time, and sometimes the changes require
|
||||
that you make small modifications to your project. Everything you need to know is listed in this
|
||||
section.
|
||||
|
||||
|
||||
Organising Your Projects
|
||||
========================
|
||||
|
||||
In addition to manage a collection of plain text files, novelWriter can interpret and map the
|
||||
structure of your novel and show you additional information about its flow and content. In order
|
||||
to take advantage of these features, you must structure your text in a specific way and add some
|
||||
meta data for it to extract.
|
||||
|
||||
:ref:`a_proj` – Essential Information
|
||||
This section explains how you organise the content of your project, how to customise them, and
|
||||
how to handle archived content and set up automated backups of your work.
|
||||
|
||||
:ref:`a_struct` – Essential Information
|
||||
This section covers the way your novel's structure is encoded into the text documents. It
|
||||
explains how the different levels of headings are used, and how you can include information
|
||||
about characters, plot elements, and other meta data in your text.
|
||||
|
||||
:ref:`a_notes` - Recommended Reading
|
||||
This section briefly describes what novelWriter does with the note files you add to your
|
||||
project. Generally, the application doesn't do much with them at all aside from looking through
|
||||
the for tags you've set so that it knows which file to open when you click on a reference.
|
||||
|
||||
:ref:`a_export` - Recommended Reading
|
||||
This section explains in more detail how the export tool works. In particular how you can
|
||||
control the way chapter titles are formatted, and how scene and section breaks are handled.
|
||||
@@ -1,7 +1,7 @@
|
||||
.. _a_other:
|
||||
.. _a_source:
|
||||
|
||||
*******************
|
||||
Other Setup Methods
|
||||
Running from Source
|
||||
*******************
|
||||
|
||||
.. _main website: https://novelwriter.io
|
||||
@@ -9,8 +9,8 @@ Other Setup Methods
|
||||
.. _PyPi: https://pypi.org/project/novelWriter/
|
||||
.. _Sphinx Docs: https://www.sphinx-doc.org/
|
||||
|
||||
This section describes various other setup methods, and instructions for building needed files
|
||||
when running novelWriter from the source code directly.
|
||||
This section describes various ways of running novelWriter directly from the source code, and how
|
||||
to build the various components like the translation files and documentation.
|
||||
|
||||
.. note::
|
||||
The text below assumes the command ``python`` corresponds to a Python 3 executable. Python 2 is
|
||||
@@ -19,7 +19,7 @@ when running novelWriter from the source code directly.
|
||||
without the ``python`` command. Likewise, ``pip`` may need to be replaced with ``pip3``.
|
||||
|
||||
|
||||
.. _a_other_depend:
|
||||
.. _a_source_depend:
|
||||
|
||||
Dependencies
|
||||
============
|
||||
@@ -45,48 +45,15 @@ must be at least 3.0 to work with Windows. On Linux, 2.0 also works fine.
|
||||
If you install from PyPi, these dependencies should be installed automatically. If you install from
|
||||
source, dependencies can still be installed from PyPi with:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
pip install -r requirements.txt
|
||||
|
||||
|
||||
.. _a_other_pip:
|
||||
.. _a_source_install:
|
||||
|
||||
Installing from PyPi
|
||||
====================
|
||||
|
||||
novelWriter is available on the Python Package Index, or PyPi_.
|
||||
|
||||
To install from PyPi you must first have the ``python`` and ``pip`` commands available on your
|
||||
system. If you don't, see specific instructions for your operating system in this documentation on
|
||||
how to get the Python environment set up.
|
||||
|
||||
To install novelWriter from PyPi, use the following command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
pip install novelwriter
|
||||
|
||||
To upgrade an existing installation, use:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
pip install --upgrade novelwriter
|
||||
|
||||
When installing via pip, novelWriter can be launched from command line with:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
novelWriter
|
||||
|
||||
Make sure the install location for pip is in your PATH variable. This is not always the case by
|
||||
default.
|
||||
|
||||
|
||||
.. _a_other_source:
|
||||
|
||||
Installing from Source
|
||||
======================
|
||||
Install from Source
|
||||
===================
|
||||
|
||||
You can download the latest version of novelWriter from the source repository on GitHub_ and run
|
||||
the setup manually. It is equivalent to what the ``pip install`` command does, and it installs
|
||||
@@ -96,19 +63,19 @@ This step requires that you have ``setuptools`` installed on your system. If you
|
||||
installed, it can usually be installed from your distro's repository. For Debian and Ubuntu this is
|
||||
achieved with:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt install python3-setuptools
|
||||
|
||||
The package is also available from PyPi:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
pip install --user setuptools
|
||||
|
||||
With ``setuptools`` in place, novelWriter can be installed to the user space with:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
python setup.py install --user
|
||||
|
||||
@@ -118,7 +85,7 @@ With ``setuptools`` in place, novelWriter can be installed to the user space wit
|
||||
running ``python setup.py --help``.
|
||||
|
||||
|
||||
.. _a_other_i18n:
|
||||
.. _a_source_i18n:
|
||||
|
||||
Building the Translation Files
|
||||
==============================
|
||||
@@ -130,7 +97,7 @@ have the ``.qm`` file extension.
|
||||
|
||||
You can build the ``.qm`` files with:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
python setup.py qtlrelease
|
||||
|
||||
@@ -143,35 +110,30 @@ needed package is called `qttools5-dev-tools`.
|
||||
the ``i18n`` folder of the source code.
|
||||
|
||||
|
||||
.. _a_other_docs:
|
||||
.. _a_source_docs:
|
||||
|
||||
Building the Documentation
|
||||
==========================
|
||||
|
||||
A local copy of this documentation can be generated as HTML. This requires the following Python
|
||||
packages on Debian and Ubuntu.
|
||||
packages from PyPi:
|
||||
|
||||
* ``python3-sphinx``
|
||||
* ``python3-sphinx-rtd-theme``
|
||||
.. code-block:: bash
|
||||
|
||||
Or from PyPi:
|
||||
pip install furo sphinx
|
||||
|
||||
.. code-block:: console
|
||||
The documentation can then be built from the root folder in the source code by running:
|
||||
|
||||
pip install sphinx sphinx-rtd-theme
|
||||
.. code-block:: bash
|
||||
|
||||
The documentation can then be built from the ``docs`` folder in the source code by running:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make html
|
||||
make -C docs html
|
||||
|
||||
If successful, the documentation should be available in the ``docs/build/html`` folder and you can
|
||||
open the ``index.html`` file in your browser.
|
||||
|
||||
You can also build a PDF manual from the documentation using the setup script:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
python setup.py manual
|
||||
|
||||
@@ -0,0 +1,235 @@
|
||||
.. _a_started:
|
||||
|
||||
***************
|
||||
Getting Started
|
||||
***************
|
||||
|
||||
.. _GitHub: https://github.com/vkbo/novelWriter
|
||||
.. _Releases: https://github.com/vkbo/novelWriter/releases
|
||||
.. _RPM: https://github.com/vkbo/novelWriter/issues/907
|
||||
.. _macOS: https://github.com/vkbo/novelWriter/issues/867
|
||||
.. _main website: https://novelwriter.io
|
||||
.. _PPA: https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter
|
||||
.. _Pre-Release PPA: https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter-pre
|
||||
.. _python.org: https://www.python.org/downloads/windows
|
||||
.. _brew docs: https://docs.brew.sh/Homebrew-and-Python
|
||||
.. _PyPi: https://pypi.org/project/novelWriter/
|
||||
|
||||
If you are using Windows or a Debian-based Linux distribtuion, you can install novelWriter from
|
||||
package installers. If you are on macOS, you have the option to run novelWriter from a standalone
|
||||
folder. See :ref:`a_started_minimal`. This option is also available for Windows and Linux. The
|
||||
third option is to install novelWriter from the Python Package Index. See :ref:`a_started_pip`.
|
||||
|
||||
.. admonition:: Help Wanted
|
||||
:class: seealso
|
||||
|
||||
If you would like to help making more installers, the project is currently loooking for people
|
||||
who can help make releases for Reed Hat-based Linux distros (RPM) and for macOS. See the issues
|
||||
posted for RPM_ and macOS_ on GitHub_.
|
||||
|
||||
|
||||
.. _a_started_windows:
|
||||
|
||||
Install on Windows
|
||||
==================
|
||||
|
||||
You can install novelWriter with both Python and library dependencies embedded using the Windows
|
||||
Installer (setup.exe) file from the `main website`_, or from the Releases_ page on GitHub.
|
||||
Installing it should be straightforward.
|
||||
|
||||
If you have any issues, try uninstalling the previous version and making a fresh install.
|
||||
|
||||
|
||||
.. _a_started_debian:
|
||||
|
||||
Install on Debian/Ubuntu/Mint
|
||||
=============================
|
||||
|
||||
A Debian package can be downloaded from the `main website`_, or from the Releases_ page on GitHub.
|
||||
This package should work on both Debian, Ubuntu and Linux Mint.
|
||||
|
||||
If you prefer, you can also add the novelWriter repository on Launchpad to your package manager.
|
||||
|
||||
|
||||
Ubuntu and Mint
|
||||
---------------
|
||||
|
||||
You can add the Ubuntu PPA_ and install novelWriter with the following commands.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo add-apt-repository ppa:vkbo/novelwriter
|
||||
sudo apt update
|
||||
sudo apt install novelwriter
|
||||
|
||||
If you want pre-releases, add the ``ppa:vkbo/novelwriter-pre`` repository instead.
|
||||
|
||||
|
||||
Debian
|
||||
------
|
||||
|
||||
Since this is a pure Python package, the Launchpad PPA can in principle also be used on Debian.
|
||||
However, the above command will fail to add the signing key.
|
||||
|
||||
Instead, run the following commands to add the repository and key:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/novelwriter-ppa-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F19F1FCE50043114
|
||||
echo "deb [signed-by=/usr/share/keyrings/novelwriter-ppa-keyring.gpg] http://ppa.launchpad.net/vkbo/novelwriter/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/novelwriter.list
|
||||
|
||||
Then run the update and install commands as for Ubuntu:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt update
|
||||
sudo apt install novelwriter
|
||||
|
||||
.. note::
|
||||
|
||||
Please use the Ubuntu 20.04 packages for Debian. The newer Ubuntu packages use a different
|
||||
compression that Debian doesn't currently support.
|
||||
|
||||
|
||||
.. _a_started_minimal:
|
||||
|
||||
Minimal Package Install
|
||||
=======================
|
||||
|
||||
On the `main website`_ and on the Releases_ page on GitHub you will also find "Minimal Package"
|
||||
install files for Windows, Linux and macOS. These are zip files of just the files you need to run
|
||||
novelWriter on that specific platform.
|
||||
|
||||
These zip files don't include any dependencies, so you must install them separately.
|
||||
|
||||
|
||||
.. _a_started_minimal_windows:
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
First, make sure you have Python installed on your system. If you don't, you can download it from
|
||||
`python.org`_. Python 3.6 or higher is required, but it is recommended that you install the latest
|
||||
version.
|
||||
|
||||
Make sure you select the "Add Python to PATH" option during installation, otherwise the ``python``
|
||||
command will not work in the command line window.
|
||||
|
||||
.. figure:: images/python_win_install.png
|
||||
:align: center
|
||||
:width: 500
|
||||
|
||||
When Python is installed, extract the novelWriter zip file and move the extracted folder to a
|
||||
suitable location. You should probably not keep it on your desktop or in your downloads folder
|
||||
where it may be accidentally deleted. Instead, move and rename it to for instance
|
||||
``C:\novelWriter``.
|
||||
|
||||
After you've got the folder where you want it, open it and double-click the file named
|
||||
``windows_install.bat``. This will open a command line window and run the setup script to install
|
||||
dependencies, and add desktop and start menu icons.
|
||||
|
||||
Running ``windows_uninstall.bat`` will reverse the process if you wish to uninstall. After that,
|
||||
you can just delete the novelWriter folder.
|
||||
|
||||
|
||||
.. _a_started_minimal_linux:
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
On Linux you need to install the following packages on Debian-based distros, including Ubuntu and
|
||||
Linux Mint:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt install python3-pyqt5 python3-lxml python3-enchant
|
||||
|
||||
On Fedora, you need the following packages:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo dnf install python3-qt5 python3-lxml python3-enchant
|
||||
|
||||
A standard desktop launcher can be installed via the main setup script. It will create the needed
|
||||
desktop file and add it to the Applications menu. The necessary icons will also be installed, and a
|
||||
file association with ``.nwx`` files added.
|
||||
|
||||
To set this up, run the following from inside the extracted novelWriter folder:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python3 setup.py xdg-install
|
||||
|
||||
This installs icons for the current user. Run with ``sudo`` to install system-wide.
|
||||
|
||||
To uninstall the icons, run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python3 setup.py xdg-uninstall
|
||||
|
||||
|
||||
.. _a_started_minimal_mac:
|
||||
|
||||
macOS
|
||||
-----
|
||||
|
||||
These instructions assume you're using brew, and have Python and pip set up. If not, see the
|
||||
`brew docs`_ for help. The main requirements for novelWriter are installed via the requirements
|
||||
file. You also need to install the ``pyobjc`` package, so you should run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip3 install --user -r requirements.txt
|
||||
pip3 install --user pyobjc
|
||||
|
||||
For spell checking you may also need to install the enchant package. It comes with a lot of default
|
||||
dictionaries.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
brew install enchant
|
||||
|
||||
With the dependencies in place, you can launch the ``novelWriter.py`` script directly to run
|
||||
novelWriter.
|
||||
|
||||
.. note::
|
||||
Right now there isn't a better integration with macOS available. Contributions from someone more
|
||||
familiar with macOS would be very much appreciated. See the macOS_ issue on GitHub.
|
||||
|
||||
|
||||
.. _a_started_pip:
|
||||
|
||||
Install from PyPi
|
||||
=================
|
||||
|
||||
novelWriter is also available on the Python Package Index, or PyPi_. This install method works on
|
||||
all supported operating systems.
|
||||
|
||||
To install from PyPi you must first have the ``python`` and ``pip`` commands available on your
|
||||
system. If you don't, see specific instructions for your operating system in this documentation on
|
||||
how to get the Python environment set up.
|
||||
|
||||
To install novelWriter from PyPi, use the following command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install novelwriter
|
||||
|
||||
To upgrade an existing installation, use:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install --upgrade novelwriter
|
||||
|
||||
When installing via pip, novelWriter can be launched from command line with:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
novelwriter
|
||||
|
||||
Make sure the install location for pip is in your PATH variable. This is not always the case by
|
||||
default.
|
||||
|
||||
.. note::
|
||||
On systems with both Python 2 and 3, you may have to replace the ``pip`` command with ``pip3``.
|
||||
@@ -1,2 +1,4 @@
|
||||
sphinx_rtd_theme
|
||||
furo
|
||||
sphinx~=4.0
|
||||
pygments~=2.7
|
||||
docutils==0.17.1
|
||||
|
||||
@@ -1,137 +0,0 @@
|
||||
.. _a_setup_linux:
|
||||
|
||||
**************
|
||||
Setup on Linux
|
||||
**************
|
||||
|
||||
.. _GitHub: https://github.com/vkbo/novelWriter/releases
|
||||
.. _main website: https://novelwriter.io
|
||||
.. _PPA: https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter
|
||||
.. _Pre-Release PPA: https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter-pre
|
||||
|
||||
This is a brief guide to how you can get novelWriter running on a Linux computer.
|
||||
|
||||
There are currently install packages available for Ubuntu and Debian. For other distros it is
|
||||
recommended that you download either the full source or the minimal package and extract it to a
|
||||
practical location on your system and run the ``setup.py`` script.
|
||||
|
||||
|
||||
Debian-Based Distros
|
||||
====================
|
||||
|
||||
A general Debian package can be downloaded from the `main website`_. This package should work on
|
||||
both Debian, Ubuntu and Linux Mint.
|
||||
|
||||
If you prefer, you can also add the novelWriter repository on Launchpad to your package manager.
|
||||
|
||||
|
||||
Ubuntu and Mint
|
||||
---------------
|
||||
|
||||
You can add the Ubuntu PPA_ and install novelWriter with the following commands.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo add-apt-repository ppa:vkbo/novelwriter
|
||||
sudo apt update
|
||||
sudo apt install novelwriter
|
||||
|
||||
|
||||
Debian
|
||||
------
|
||||
|
||||
Since this is a pure Python package, the Launchpad PPA can in principle also be used on Debian.
|
||||
However, the above command will fail to add the signing key.
|
||||
|
||||
Instead, run the following commands to add the repository and key:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/novelwriter-ppa-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F19F1FCE50043114
|
||||
echo "deb [signed-by=/usr/share/keyrings/novelwriter-ppa-keyring.gpg] http://ppa.launchpad.net/vkbo/novelwriter/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/novelwriter.list
|
||||
|
||||
Then run the update and install commands as for Ubuntu:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo apt update
|
||||
sudo apt install novelwriter
|
||||
|
||||
.. note::
|
||||
|
||||
Please use the Ubuntu 20.04 packages for Debian. The newer Ubuntu packages use a different
|
||||
compression that Debian doesn't currently support.
|
||||
|
||||
|
||||
Pre-Releases
|
||||
------------
|
||||
|
||||
There is also a `Pre-Release PPA`_ available with beta releases and release candidates of
|
||||
novelWriter. For Ubuntu, run the following commands:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo add-apt-repository ppa:vkbo/novelwriter-pre
|
||||
sudo apt update
|
||||
sudo apt install novelwriter
|
||||
|
||||
|
||||
Minimal Zip File
|
||||
================
|
||||
|
||||
A minimal zip file is provided for Linux. You can download the latest zip file from the release
|
||||
page on GitHub_, or from the `main website`_. This zip file contains only the files actually needed
|
||||
to run novelWriter, and none of the additional source files for tests and documentation. You can
|
||||
extract the file to wherever you want, and run the steps below.
|
||||
|
||||
|
||||
Step 1: Installing Dependencies
|
||||
-------------------------------
|
||||
|
||||
The dependencies of novelWriter are generally available from Linux distro repositories. For Debian
|
||||
and Ubuntu, they can be installed with:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo apt install python3-pyqt5 python3-lxml python3-enchant
|
||||
|
||||
If you prefer to install dependencies via PyPi, or the repository dependencies are out of date, you
|
||||
can install them with:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
pip3 install --user -r requirements.txt
|
||||
|
||||
|
||||
Step 2: Create Launcher Icons
|
||||
-----------------------------
|
||||
|
||||
A standard desktop launcher can be installed via the main setup script. It will create the needed
|
||||
desktop file and add it to the Applications menu. The necessary icons will also be installed, and a
|
||||
file association with ``.nwx`` files added.
|
||||
|
||||
To set this up, run the following from inside the novelWriter folder at the final location:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
python3 setup.py xdg-install
|
||||
|
||||
This will only install the launcher and icons for the current user. To set up novelWriter for all
|
||||
users, run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo python3 setup.py xdg-install
|
||||
|
||||
|
||||
Uninstalling Icons
|
||||
------------------
|
||||
|
||||
The steps taken by the ``xdg-install`` step can be reversed by running:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
python3 setup.py xdg-uninstall
|
||||
|
||||
This will remove the desktop launcher and icons from the system. As above, whether this is done on
|
||||
the current user, or system wide, depends on whether this command is called with ``sudo`` or not.
|
||||
@@ -1,74 +0,0 @@
|
||||
.. _a_setup_mac:
|
||||
|
||||
**************
|
||||
Setup on macOS
|
||||
**************
|
||||
|
||||
.. _GitHub: https://github.com/vkbo/novelWriter/releases
|
||||
.. _main website: https://novelwriter.io
|
||||
.. _brew docs: https://docs.brew.sh/Homebrew-and-Python
|
||||
|
||||
This is a brief guide to how you can get novelWriter running on macOS. There are currently no
|
||||
install package of novelWriter for macOS, so it is recommended that you download either the full
|
||||
source or minimal package and extract it to a practical location on your system and
|
||||
run it.
|
||||
|
||||
|
||||
Running from Source
|
||||
===================
|
||||
|
||||
To run novelWriter from source, download the latest source package from the release page on
|
||||
GitHub_ or the `main website`_, or if you have git running on your computer, you can also clone the
|
||||
repository.
|
||||
|
||||
|
||||
Step 1: Installing Dependencies
|
||||
-------------------------------
|
||||
|
||||
These instructions assume you're using brew, and have Python and pip set up. If not, see the
|
||||
`brew docs`_ for help. Main requirements are installed via the requirements file. You also need to
|
||||
install the ``pyobjc`` package, so you should run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
pip3 install --user -r requirements.txt
|
||||
pip3 install --user pyobjc
|
||||
|
||||
For spell checking you may also need to install the enchant package. It comes with a lot of default
|
||||
dictionaries.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
brew install enchant
|
||||
|
||||
With the dependencies in place, you can launch the ``novelWriter.py`` script directly to run
|
||||
novelWriter.
|
||||
|
||||
|
||||
Step 2: Install Package (Optional)
|
||||
----------------------------------
|
||||
|
||||
You can install novelWriter to the correct location for Python packages with:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./setup.py install --user
|
||||
|
||||
This requires that the package ``setuptools`` is installed on your system. If not, it can be
|
||||
installed with:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
pip3 install --user setuptools
|
||||
|
||||
This is method of install is equivalent to what the ``pip`` installer does. It puts novelWriter in
|
||||
the location on your system where Python packages are usually kept. This is not really the best
|
||||
suited location for a GUI application like novelWriter, so you may instead copy the entire source
|
||||
to a suiteable location yourself.
|
||||
|
||||
After this, you should be able to launch novelWriter by running ``novelWriter`` in a command line
|
||||
window.
|
||||
|
||||
.. note::
|
||||
Right now there isn't a better integration with macOS available. Contributions from someone more
|
||||
familiar with macOS would be very much appreciated.
|
||||
@@ -1,129 +0,0 @@
|
||||
.. _a_setup_win:
|
||||
|
||||
****************
|
||||
Setup on Windows
|
||||
****************
|
||||
|
||||
This is a brief guide to how you can get novelWriter running on a Windows computer.
|
||||
|
||||
.. _a_setup_win_install:
|
||||
|
||||
Standard Installer
|
||||
==================
|
||||
|
||||
You can install novelWriter with dependencies embedded using the Windows Installer (setup.exe) file
|
||||
from the `main website`_, or from the GitHub_ releases page. Installing it should be
|
||||
straightforward.
|
||||
|
||||
If you have any issues, try uninstalling the previous version and making a fresh install.
|
||||
|
||||
|
||||
.. _a_setup_win_minimal:
|
||||
|
||||
Minimal Package
|
||||
===============
|
||||
|
||||
Alternatively, you can run novelWriter from the "Minimal Package" option from the `main website`_,
|
||||
or from the GitHub_ releases page (it's the same download file).
|
||||
|
||||
This is a zip file containing only the files you need to run novelWriter on Windows. In order to
|
||||
make it run on your system, you must first have Python installed (Step 1). Thereafter, a script
|
||||
will do the rest of the job (Step 2).
|
||||
|
||||
.. _GitHub: https://github.com/vkbo/novelWriter/releases
|
||||
.. _main website: https://novelwriter.io
|
||||
|
||||
|
||||
Step 1: Installing Python
|
||||
-------------------------
|
||||
|
||||
If you already have Python installed, you can skip this step. If you don't have it installed, you
|
||||
can download it from the `python.org`_ website. novelWriter should work with Python 3.6 or higher,
|
||||
but it is recommended that you install the latest version of Python.
|
||||
|
||||
Make sure you select the "Add Python to PATH" option during installation, otherwise the ``python``
|
||||
command will not work in the command line window.
|
||||
|
||||
.. image:: images/python_win_install.png
|
||||
:width: 600
|
||||
|
||||
.. _python.org: https://www.python.org/downloads/windows
|
||||
|
||||
|
||||
Step 2: Installing novelWriter
|
||||
------------------------------
|
||||
|
||||
Extract the novelWriter zip file, and move the extracted folder to a suitable location. You should
|
||||
probably not keep it on your desktop or in your downloads folder where it may be accidentally
|
||||
deleted. Instead, move and rename it to for instance ``C:\novelWriter``.
|
||||
|
||||
After you've got the folder where you want it, open it and double-click the file named
|
||||
``windows_install.bat``. This will open a command line window and run the setup script to install
|
||||
dependencies, and add desktop and start menu icons.
|
||||
|
||||
|
||||
.. _a_setup_win_update:
|
||||
|
||||
Update novelWriter
|
||||
==================
|
||||
|
||||
To update novelWriter, simply replace the folder containing the old version with the extracted
|
||||
folder of the new version you've downloaded. After this, you may need to run the
|
||||
``windows_install.bat`` script again to update icons.
|
||||
|
||||
.. tip::
|
||||
As long as your system has all the dependencies installed, you can also run novelWriter directly
|
||||
from the extracted folder by double-clicking the ``novelWriter.pyw`` file.
|
||||
|
||||
|
||||
.. _a_setup_win_uninstall:
|
||||
|
||||
Uninstall novelWriter
|
||||
=====================
|
||||
|
||||
If you installed novelWriter with the method described above, you can uninstall it again by
|
||||
double-clicking the file named ``windows_uninstall.bat``. This should open a command line window
|
||||
and run the setup script to remove the main dependency packages and remove desktop and start menu
|
||||
icons.
|
||||
|
||||
After that, you can simply delete the novelWriter folder.
|
||||
|
||||
If you want to remove Python, it has its own uninstall tool. Just keep in mind that the Python
|
||||
package manager may leave some files on your system.
|
||||
|
||||
|
||||
.. _a_setup_win_manual:
|
||||
|
||||
Manual Approach
|
||||
===============
|
||||
|
||||
If you want more control of what's happening during the install process, or want to do the steps
|
||||
yourself, you can run the install steps below from a command line window from inside the folder
|
||||
containing either the minimal package, or the extracted full source package.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
pip install --user -r requirements.txt
|
||||
pip install --user pywin32
|
||||
python setup.py win-install
|
||||
|
||||
The first command will install the three main dependencies of novelWriter using the
|
||||
`Python Package Index`_ install tool. The packages are ``PyQt5`` for the GUI, ``lxml`` for handling
|
||||
XML data files, and ``PyEnchant`` for spell checking.
|
||||
|
||||
The second command installs a Python tool for Windows that assists the setup script in installing
|
||||
icons and setting a few registry keys.
|
||||
|
||||
The third command runs the setup script that creates the icons for your desktop and start menu, and
|
||||
adds the necessary registry keys so you can also launch a project by double-clicking a novelWriter
|
||||
project file from your file explorer.
|
||||
|
||||
The above steps can be reverted by running:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
python setup.py win-uninstall
|
||||
pip uninstall pywin32
|
||||
pip uninstall -r requirements.txt
|
||||
|
||||
.. _Python Package Index: https://pypi.org/
|
||||
@@ -13,7 +13,7 @@ Dependencies
|
||||
|
||||
The dependencies for running the tests can be installed with:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
pip install -r requirements-dev.txt
|
||||
|
||||
@@ -26,7 +26,7 @@ Simple Test Run
|
||||
|
||||
To run the tests, you simply need to execute the following from the root of the source folder:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
pytest
|
||||
|
||||
@@ -37,7 +37,7 @@ interfere with the execution of some tests.
|
||||
You can disable the renderring of the GUI by setting the flag ``export QT_QPA_PLATFORM=offscreen``,
|
||||
or alternatively run the tests with the ``xvfb`` package, like so:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
xvfb-run pytest
|
||||
|
||||
@@ -49,7 +49,7 @@ Adding the flag ``-v`` to the ``pytest`` command will increase verbosity of the
|
||||
|
||||
You can also add coverage report generation. For instance to HTML:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
xvfb-run pytest -v --cov=novelwriter --cov-report=html
|
||||
|
||||
@@ -58,7 +58,7 @@ Other useful report formats are ``xml``, and ``term`` for terminal output.
|
||||
You can also run tests per subpackage of novelWriter with the ``-m`` command. The available
|
||||
subpackage groups are ``base``, ``core``, and ``gui``. Consider for instance:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
xvfb-run pytest -v --cov=novelwriter --cov-report=html -m core
|
||||
|
||||
@@ -69,7 +69,7 @@ components, and the "base" tests cover the bits in-between.
|
||||
You can also filter the tests with the ``-k`` switch. The following will do the same as
|
||||
``-m core``:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
xvfb-run pytest -v --cov=novelwriter --cov-report=html -k testCore
|
||||
|
||||
@@ -78,7 +78,7 @@ They all start with the word "test". Then comes the group: "Core", "Base", "Dlg"
|
||||
Finally comes the name of the class or module, which generally corresponds to a single source code
|
||||
file. For instance, running the following will run all tests for the document editor:
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: bash
|
||||
|
||||
xvfb-run pytest -v --cov=novelwriter --cov-report=html -k testGuiEditor
|
||||
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
.. _a_breakdown:
|
||||
|
||||
************
|
||||
How it Works
|
||||
************
|
||||
|
||||
.. _Typicons: https://github.com/stephenhutchings/typicons.font
|
||||
|
||||
The main features of novelWriter are listed in the :ref:`a_intro` section. Here, we go into some
|
||||
more details on how they are implemented. Later on in this documentation, these features will be
|
||||
covered in more detail.
|
||||
|
||||
|
||||
.. _a_breakdown_design:
|
||||
|
||||
GUI Layout and Design
|
||||
=====================
|
||||
|
||||
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.
|
||||
|
||||
The main window does not have a toolbar like many other applications do. This reduces clutter, and
|
||||
since the documents are formatted with style tags, is more or less redundant. However, most
|
||||
formatting features supported are available through convenient keyboard shortcuts. They are also
|
||||
available in the main menu so you don't have to look up formatting codes every time you need them.
|
||||
However, a list of all shortcuts can be found in the :ref:`a_kb` section.
|
||||
|
||||
.. note::
|
||||
novelWriter is not intended to be a full office type word processor. It doesn't support images,
|
||||
links, tables, and other complex structures and objects often needed for such documents.
|
||||
Formatting is limited to headers, emphasis, text alignment, and a few other simple features.
|
||||
|
||||
|
||||
Window Tabs and Areas
|
||||
---------------------
|
||||
|
||||
The main window is split in two, or optionally three, panels. The left-most panel contains the
|
||||
project tree and all the documents in your project. The second panel is the document editor. An
|
||||
optional third panel is a document viewer which can view any document in your project independently
|
||||
of what is open in the document editor. It is not intended as a preview window, although you can
|
||||
use it for this as well as it will apply the formatting tags you have specified. The main purpose
|
||||
of the viewer is for viewing your notes next to your editor while you're writing.
|
||||
|
||||
The editor also has a :guilabel:`Focus Mode` you can toggle either from the menu, or from the icon
|
||||
in the editor header. When :guilabel:`Focus Mode` is enabled, all the user interface elements other
|
||||
than the document editor itself are hidden away.
|
||||
|
||||
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 documents, this outline can be quite different from your project tree.
|
||||
Your project tree lists individual documents, your Outline tree lists the structure of the novel
|
||||
itself in terms of partitions, chapters and scenes as it appears in the text of those documents.
|
||||
|
||||
|
||||
Colour Themes
|
||||
-------------
|
||||
|
||||
The colour theme of the user interface defaults to that of the host operating system. Some other
|
||||
light and dark colour themes are 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`. Icon themes for light and dark GUIs are also available. The icons are
|
||||
based on the Typicons_ icon set designed by Stephen Hutchings.
|
||||
|
||||
.. note::
|
||||
The GUI colour theme and the syntax highlighting theme are separate settings in
|
||||
:guilabel:`Preferences`. If you switch to dark mode on the GUI, you should also switch the icon
|
||||
theme and syntax highlighting theme.
|
||||
|
||||
|
||||
.. _a_breakdown_project:
|
||||
|
||||
Project Layout
|
||||
==============
|
||||
|
||||
This is a brief introduction to how you structure your writing projects. All of this will be
|
||||
covered in more detail later.
|
||||
|
||||
The main point is that you are free to organise your project documents as you wish into subfolders,
|
||||
and split the text between documents in whatever way suits you. All that matters to novelWriter is
|
||||
the linear order the documents appear at in the project tree (top to bottom). The chapters, scenes
|
||||
and sections of the novel are determined by the headings within those documents.
|
||||
|
||||
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 used for scene titles – optionally replaced by separators.
|
||||
* **H4** is for section titles within scenes, if such granularity is needed.
|
||||
|
||||
This header level structure is only taken into account for novel documents. For the project notes,
|
||||
the header levels have no structural meaning, and the user is free to do whatever they want. See
|
||||
:ref:`a_struct` and :ref:`a_notes` for more details.
|
||||
|
||||
|
||||
.. _a_breakdown_export:
|
||||
|
||||
Project Export
|
||||
==============
|
||||
|
||||
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 Open Document,
|
||||
HTML5, and various flavours of Markdown.
|
||||
|
||||
The HTML5 export format is suitable for conversion by a number of other tools like Pandoc, or for
|
||||
importing into word processors if the Open Document format isn't suitable. In addition, printing
|
||||
and printing to PDF is also possible.
|
||||
|
||||
You can also 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. The JSON file can be populated either with HTML
|
||||
formatted text, or with the raw text as typed into the novel documents. See :ref:`a_export_options`
|
||||
for more details.
|
||||
|
||||
A number of filter options can be applied to the :guilabel:`Build Novel Project` tool, allowing you
|
||||
to export a draft manuscript, a reference document of notes, an outline based on chapter and scene
|
||||
titles with a synopsis each, and so on. See :ref:`a_export` for more details on export features and
|
||||
formats.
|
||||
|
||||
|
||||
.. _a_breakdown_storage:
|
||||
|
||||
Project Storage
|
||||
===============
|
||||
|
||||
The files of a novelWriter project are stored in a dedicated project folder. The project structure
|
||||
is kept in a file at the root of this folder called ``nwProject.nwx``. All the document files and
|
||||
associated meta data is stored in the other folders below the project folder. For more technical
|
||||
details about what all the files mean and how they're organised, see the :ref:`a_storage` section.
|
||||
|
||||
This way of storing data was chosen for several reasons. Firstly, all the text you add to your
|
||||
project is saved directly to your project folder in separate files. Only the project structure and
|
||||
the text you are currently editing is stored in memory at any given time. Secondly, having multiple
|
||||
small files means it is very easy to sync them between computers with standard file synchronisation
|
||||
tools. Thirdly, if you use version control software to track the changes to your project, the file
|
||||
formats used for the files are well suited. Also the JSON documents have line breaks and indents.
|
||||
|
||||
.. note::
|
||||
|
||||
Since novelWriter has to keep track of a bunch of files and folders when a project is open, it
|
||||
may not run well on some virtual file systems. A file or folder must be accessible with exactly
|
||||
the path it was saved or created with. An example where this is not the case is the way Google
|
||||
Drive is mapped on Linux Gnome desktops using gvfs/gio.
|
||||
|
||||
.. caution::
|
||||
|
||||
You should not add additional files to the project folder yourself. Nor should you manually edit
|
||||
files within it as a general rule. If you really must manually edit the text files, e.g. with
|
||||
some automated task you want to perform, you need to rebuild the index when you open the project
|
||||
again.
|
||||
|
||||
Editing text files in the ``content`` folder is less risky as they are just plain text. Editing
|
||||
the main project XML file, however, may make the project file unreadable and you may crash
|
||||
novelWriter and lose project structure information and project settings.
|
||||
|
||||
@@ -4,23 +4,41 @@
|
||||
Formatting Your Text
|
||||
********************
|
||||
|
||||
The editor itself is a plain text editor that uses formatting codes for setting meta data values
|
||||
and allowing for some text formatting. The syntax is based on Markdown, but novelWriter is *not* a
|
||||
Markdown editor. It supports basic formatting like emphasis (italic), strong importance (bold)
|
||||
and strikethrough text, as well as four levels of headings.
|
||||
The novelWriter text editor is a plain text editor that uses formatting codes for setting meta data
|
||||
values and allowing for some text formatting. The syntax is based on Markdown, but novelWriter is
|
||||
*not* strictly a Markdown editor. It supports basic formatting like emphasis (italic), strong
|
||||
importance (bold) and strikethrough text, as well as four levels of headings.
|
||||
|
||||
In addition to formatting codes, novelWriter allows for comments, a synopsis tag, and a set of
|
||||
keyword and value sets used for tags and references. There are also some codes that apply two whole
|
||||
paragraphs. See :ref:`a_fmt_text` below for more details.
|
||||
|
||||
|
||||
.. _a_fmt_hlight:
|
||||
|
||||
Syntax Highlighting
|
||||
===================
|
||||
|
||||
The editor has a syntax highlighter feature that is meant to help you know when you've used the
|
||||
formtatting tags or other features correctly. It will change the colour and font size of your
|
||||
headings, change the text colour of emphasised text, and it can also show you where you have
|
||||
dialogue in your text.
|
||||
|
||||
When you use the commands to set tags and references, these also change colour. Correct commands
|
||||
have a dedicated colour, and the references themselves will get a colour if they are valid. Invalid
|
||||
references will get a squiggly error line underneath.
|
||||
|
||||
There are a number of syntax highlighter colour themes available, both for light and dark GUIs. You
|
||||
can select them for :guilabel:`Preferences`.
|
||||
|
||||
|
||||
.. _a_fmt_head:
|
||||
|
||||
Headings
|
||||
========
|
||||
|
||||
Four levels of headings are allowed. For project notes they are free to be used as you see fit.
|
||||
That is, novelWriter doesn't assign the different headings any importance. However, for novel
|
||||
That is, novelWriter doesn't assign the different headings any meaning. However, for novel
|
||||
documents they indicate the structural level of the novel and must be used correctly to produce the
|
||||
intended result. See :ref:`a_struct_heads` for more details.
|
||||
|
||||
@@ -81,8 +99,9 @@ Non-breaking spaces are highlighted by the syntax highlighter with an alternate
|
||||
background, depending on the selected theme.
|
||||
|
||||
.. tip::
|
||||
Non-breaking spaces are the correct type of space to separate a number from its unit. Generally,
|
||||
it prevents the line wrapping algorithms from adding line breaks where it shouldn't.
|
||||
Non-breaking spaces are for instance the correct type of space to separate a number from its
|
||||
unit. Generally, non-breaking spaces are used to prevent line wrapping algorithms from adding
|
||||
line breaks where they shouldn't.
|
||||
|
||||
|
||||
.. _a_fmt_emph:
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
.. _a_ui:
|
||||
|
||||
***********************
|
||||
User Interface Overview
|
||||
***********************
|
||||
******************
|
||||
The 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.
|
||||
.. _Compose Key: https://en.wikipedia.org/wiki/Compose_key
|
||||
|
||||
This sections covers in more detail what all the information on the user interface is for, and how
|
||||
you can organise your project, and how you use the editor, viewer and outline panel.
|
||||
|
||||
|
||||
.. _a_ui_tree:
|
||||
@@ -14,7 +16,7 @@ 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 project, and has four columns:
|
||||
|
||||
**Column 1**
|
||||
The first column shows the icon and label of each folder, document, or note in your project. The
|
||||
@@ -30,7 +32,7 @@ the project. It has four columns:
|
||||
**Column 3**
|
||||
The third column indicates whether the document is included in the final project build or not.
|
||||
You may want to filter out documents that you no longer want to keep in the final manuscript,
|
||||
but want to keep in the project for reference.
|
||||
but want to keep in the project tree for reference.
|
||||
|
||||
**Column 4**
|
||||
The fourth column shows the user-defined status or importance labels you've assigned to each
|
||||
@@ -60,7 +62,7 @@ story itself rather than the document files.
|
||||
|
||||
.. note::
|
||||
You cannot reorganise the entries in the novel tree, or add any new ones, as that would imply
|
||||
restructuring the content of the document files.
|
||||
restructuring the content of the document files. Any editing must be done in the project tree.
|
||||
|
||||
|
||||
.. _a_ui_tree_status:
|
||||
@@ -117,9 +119,9 @@ Editing and Viewing Documents
|
||||
To edit a document, double-click it 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
|
||||
markdown-like syntax for some features, and a novelWriter-specific syntax for others. The syntax
|
||||
format is described in the :ref:`a_fmt` section below. The editor has a maximise button (toggles
|
||||
the :guilabel:`Focus Mode`) and a close button in the top–right corner. On the top–left side you
|
||||
will find an edit button that opens the :guilabel:`Item Settings` dialog for the currently open
|
||||
format is described in the :ref:`a_fmt` section. The editor has a maximise button (toggles the
|
||||
:guilabel:`Focus Mode`) and a close button in the top–right corner. On the top–left side you will
|
||||
find an edit button that opens the :guilabel:`Item Settings` dialog for the currently open
|
||||
document, and a search button to open the search dialog.
|
||||
|
||||
Any document in the project tree can also be viewed in parallel in a right hand side document
|
||||
@@ -132,8 +134,11 @@ 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
|
||||
the edit or view panel. Optionally, the full project path to the document can be shown. This can be
|
||||
set in :guilabel:`Preferences`. Clicking on the document title bar will select and reveal its
|
||||
location in the project tree, making it easier to locate in a large project.
|
||||
set in :guilabel:`Preferences`.
|
||||
|
||||
.. tip::
|
||||
Clicking on the document title bar will select the document in the project tree and reveal its
|
||||
location, making it easier to locate in a large project.
|
||||
|
||||
Any tag reference in the editor can be opened in the viewer by moving the cursor to the label and
|
||||
pressing :kbd:`Ctrl`:kbd:`Return`. You can also control-click them with your mouse. In the viewer,
|
||||
@@ -172,7 +177,7 @@ Pressing :kbd:`Return` while in the search box will search for the next occurren
|
||||
the highlighted text and move to the next result.
|
||||
|
||||
There are a number of settings for the search tool available as toggle switches above the search
|
||||
box. They allows you to search for, in order: matched case only, whole word results only, search
|
||||
box. They allow you to search for, in order: matched case only, whole word results only, search
|
||||
using regular expressions, loop search when reaching the end of the document, and move to the next
|
||||
document when reaching the end. There is also a switch that will try to match the case of the word
|
||||
when the replacement is made. That is, it will try to keep the word upper, lower, or capitalised to
|
||||
@@ -196,8 +201,6 @@ you wish.
|
||||
the :guilabel:`Insert` menu, and via convenient :ref:`a_kb_ins`. You may also be using a
|
||||
`Compose Key`_ setup, which means you may not need the auto-replace feature.
|
||||
|
||||
.. _Compose Key: https://en.wikipedia.org/wiki/Compose_key
|
||||
|
||||
The editor is able to replace two and three hyphens with short and long dashes, triple points with
|
||||
ellipsis, and replace straight single and double quotes with user-defined quote symbols. It will
|
||||
also try to determine whether to use the opening or closing symbol, although this feature isn't
|
||||
|
||||
@@ -16,7 +16,7 @@ The main shorcuts are as follows:
|
||||
|
||||
.. csv-table:: Keyboard Shortcuts
|
||||
:header: "Shortcut", "Description"
|
||||
:widths: 30, 70
|
||||
:widths: 25, 75
|
||||
:class: "tight-table"
|
||||
|
||||
":kbd:`Alt`:kbd:`1`", "Switch focus to the project tree. On Windows, use :kbd:`Ctrl`:kbd:`Alt`:kbd:`1`."
|
||||
@@ -110,7 +110,7 @@ a key or key combination for the inserted content.
|
||||
|
||||
.. csv-table:: Keyboard Shortcuts
|
||||
:header: "Shortcut", "Description"
|
||||
:widths: 40, 60
|
||||
:widths: 25, 75
|
||||
:class: "tight-table"
|
||||
|
||||
":kbd:`Ctrl`:kbd:`K`, :kbd:`−`", "Insert a short dash (en dash)."
|
||||
|
||||
Reference in New Issue
Block a user