42 lines
2.2 KiB
Plaintext
42 lines
2.2 KiB
Plaintext
*********************
|
|
Technical Information
|
|
*********************
|
|
|
|
This section contains details of how novelWriter stores and handles the project data.
|
|
|
|
How Data is Stored
|
|
==================
|
|
|
|
All novelWriter files are written with utf-8 encoding.
|
|
Since Python automatically converts Unix line endings to Windows line endings on Windows systems, novelWriter does not make any adaptations to the formatting on Windows systems.
|
|
|
|
Main Project File
|
|
-----------------
|
|
|
|
The project itself requires a dedicated folder for storing its files.
|
|
The main project file is stored as an XML file with the name ``nwProject.nwx``.
|
|
This file contains all the meta data unique for the project.
|
|
That includes project settings.
|
|
|
|
If this file is lost or corrupted, the structure of the project is lost.
|
|
It is important to keep this file backed up.
|
|
The last 10 versions of the file are kept in backup in the project's ``cache`` folder.
|
|
These files are replaced on a rotation from 0 to 9.
|
|
|
|
The project XML file is suitable for diff tools and version control, although a timesetamp is set in the meta section on line 2 each time the file is saved.
|
|
|
|
Project Documents
|
|
-----------------
|
|
|
|
The project documents are saved in folders staring with ``data_``.
|
|
Each document has a file handle taken from the first 13 characters of a SHA256 hash of the system time when the file was first created.
|
|
The documents are saved with a folder and filename derived from this hash.
|
|
If you wish to find the physical location of a file in the project, you can either look it up in the project XML file, or select :menuselection:`Document --> Show File Details` in the menu when having the document open.
|
|
|
|
The reason for this cryptic file naming is to avoid issues with file naming conventions and restrictions on different operating systems, and also to have a file name that does not depend on what the user names the files, or changes it to.
|
|
The file name set in the tree view is only saved in the project XML file.
|
|
|
|
Each document file contains a plain text version of the text from the editor.
|
|
The file can in principle be edited in any text editor, and is suitable for diffing and version control if so desired.
|
|
Just make sure the file remains in utf-8 encoding, otherwise unicode chatracters may become mangled.
|