diff --git a/publish.sh b/publish.sh index 9aeca7f..1117797 100755 --- a/publish.sh +++ b/publish.sh @@ -1,4 +1,4 @@ #!/bin/bash -make clean html +make html rsync -avPh --delete build/html/ novelwriter.io:www/ diff --git a/source/generated/download_pre_release.rst b/source/generated/download_pre_release.rst index 7a27a06..dcb81d9 100644 --- a/source/generated/download_pre_release.rst +++ b/source/generated/download_pre_release.rst @@ -1 +1,61 @@ -*There is currently no pre-release available ...* \ No newline at end of file +.. _AppImage website: https://appimage.org/ +.. _Ubuntu: https://ubuntu.com/ +.. _Debian: https://www.debian.org/ +.. _Linux Mint: https://linuxmint.com/ +.. _novelWriter Repository: https://github.com/vkbo/novelWriter/ + +| **Release Version:** Version 2.3 Beta 1 +| **Release Date:** February 16, 2024 +| **Release Notes:** :ref:`main_release_2_3` +| **GitHub Release:** :octicon:`mark-github` `GitHub `__ + +Linux +----- + +**AppImage** + The AppImage should run on any recent Linux distro. See the `AppImage website`_ for more info. + + | **Download:** :octicon:`download` `novelWriter-2.3b1.AppImage `__ [ 95.2 MB ] + | **Checksum:** :octicon:`hash` ``252d810390f5c70decd5405b46fac515fa13755187968c5d4b6233f1af4997fa`` :octicon:`download` `ShaSum File `__ + +**AppImage (Legacy)** + For older Linux distros you may need to download this AppImage instead. + + | **Download:** :octicon:`download` `novelWriter-2.3b1-oldlinux.AppImage `__ [ 94.9 MB ] + | **Checksum:** :octicon:`hash` ``d21225ef412f848ed6988370e73ffa30cd1e123775a0f98d59e036571615f414`` :octicon:`download` `ShaSum File `__ + + +Windows +------- + +**Setup Installer** + This is a standard setup installer for Windows. It is made for Windows 10 or newer. + + | **Download:** :octicon:`download` `novelwriter-2.3b1-amd64-setup.exe `__ [ 36.3 MB ] + | **Checksum:** :octicon:`hash` ``e7941cb0d46dd71779b1ab03b22b184a54654efd4f3af1bd675f2c9a623e1216`` :octicon:`download` `ShaSum File `__ + + +MacOS +----- + +**DMG Image** + This is a DMG image for MacOS, and should work on at least MacOS 12 or higher. + + | **Download:** :octicon:`download` `novelWriter-2.3b1.dmg `__ [ 92.7 MB ] + | **Checksum:** :octicon:`hash` ``0cb2fa5e3c9574b34cd3870ade80691370fe32d800507ba19505105a2b84adac`` :octicon:`download` `ShaSum File `__ + + +Other Packages +-------------- + +**Python Wheel** + The Wheel package can be installed with ``pip install ``. + + | **Download:** :octicon:`download` `novelWriter-2.3b1-py3-none-any.whl `__ [ 3.73 MB ] + | **Checksum:** :octicon:`hash` ``1a5ba42b48219ecc9c417dd3dc3c8fb7504f082666a310c49e3a9df94b0d0f6c`` :octicon:`download` `ShaSum File `__ + +**Source Code** +The source code packages are archived files of the entire source code. See also the `novelWriter Repository`_. + +| **Download:** :octicon:`download` `novelWriter-2.3b1.zip `__ +| **Download:** :octicon:`download` `novelWriter-2.3b1.tar.gz `__ diff --git a/source/generated/download_release.rst b/source/generated/download_release.rst index c324e77..f5187ac 100644 --- a/source/generated/download_release.rst +++ b/source/generated/download_release.rst @@ -45,7 +45,7 @@ MacOS ----- **DMG Image** - This is a DMG image for MacOS, and should work on MacOS 10 or higher. + This is a DMG image for MacOS, and should work on at least MacOS 12 or higher. | **Download:** :octicon:`download` `novelWriter-2.2.1.dmg `__ [ 92.2 MB ] | **Checksum:** :octicon:`hash` ``b67101db1d0f358664370a40d1f7cfe25d02f160849d0de87261af3e7c0a6b96`` :octicon:`download` `ShaSum File `__ @@ -65,4 +65,3 @@ The source code packages are archived files of the entire source code. See also | **Download:** :octicon:`download` `novelWriter-2.2.1.zip `__ | **Download:** :octicon:`download` `novelWriter-2.2.1.tar.gz `__ - diff --git a/source/releases/images/2_3_preferences.png b/source/releases/images/2_3_preferences.png new file mode 100644 index 0000000..f4c2627 Binary files /dev/null and b/source/releases/images/2_3_preferences.png differ diff --git a/source/releases/images/2_3_templates.png b/source/releases/images/2_3_templates.png new file mode 100644 index 0000000..98335f5 Binary files /dev/null and b/source/releases/images/2_3_templates.png differ diff --git a/source/releases/images/2_3_welcome_1.png b/source/releases/images/2_3_welcome_1.png new file mode 100644 index 0000000..74316b6 Binary files /dev/null and b/source/releases/images/2_3_welcome_1.png differ diff --git a/source/releases/images/2_3_welcome_2.png b/source/releases/images/2_3_welcome_2.png new file mode 100644 index 0000000..5845dcd Binary files /dev/null and b/source/releases/images/2_3_welcome_2.png differ diff --git a/source/releases/release_2_3.rst b/source/releases/release_2_3.rst index 6c0600a..6a8a3fa 100644 --- a/source/releases/release_2_3.rst +++ b/source/releases/release_2_3.rst @@ -4,6 +4,139 @@ Pre-Release 2.3 Beta 1 ********************** -The next upcoming release of novelWriter is 2.3. The first pre-release will be 2.3 Beta 1. +| **Release Date:** February 16, 2024 -You can follow the development progress on the `2.3 Beta 1 Milestone `__. +Release Notes +============= + +.. attention:: + + This is a beta release of the next release version, and is intended for testing only. Please be careful when using this version + on live writing projects, and make sure you take frequent backups. + + +Welcome Dialog +-------------- + +.. image:: images/2_3_welcome_1.png + :width: 40% + :align: right + +The first change you will notice when launching novelWriter 2.3 is the new **Welcome** dialog. It replaces both the old **Load +Project** dialog, as well as the **New Project Wizard**, and combines their functionality into one. You will also notice the amazing +artwork in the background, which has been created specially for novelWriter by `Louis Durrant `__. + +The list of projects has gotten a cleaner design, but otherwise contains the same information as before. You can remove projects +from the list by right-clicking on them and selecting "Remove Project". + +At the top of the dialog is also information about the current version of novelWriter, and a link to the releases page here on the +website. You can also query for information about the latest release by clicking the "Check Now" text. This replaces the old +**Check for Updates** dialog that used to be in the **Help** menu. + +.. image:: images/2_3_welcome_2.png + :width: 40% + :align: right + +The functionality that used to be on the **New Project Wizard** is now available when you click the "New Project" button. The +settings are mostly as before, but note that you can now also choose to create a project by copying an existing project. That +project can be a special project you've created to be a template project if you wish. It can also be a novelWriter project in a Zip +file, including one of your backups. + +The **About novelWriter** dialog has been updated to a similar design as the **Welcome** dialog, with the same header and version +check capability. All the text tabs have been removed, aside from the credits. The release notes will no longer be available in the +About dialog. They are instead now only kept here on this website. This allows for better formatting of the notes, a capability the +in-app text box lacked. + + +Consistent Design +----------------- + +.. image:: images/2_3_preferences.png + :width: 40% + :align: right + +All of the dialogs in novelWriter that contain multiple pages of information or settings have been updated to a new layout and +design first introduced for the new **Manuscript** tool in 2.1. + +Most importantly, perhaps, the **Preferences** dialog has been redesigned. All settings are now in a scrollable list, with quick +navigation along the left edge and a search box at the top. The new layout is also a lot more flexible in terms of text flow, +allowing for a better response to languages where text tend to run longer, like German. + +In addition to **Preferences**, also the **Project Settings**, **Project Details**, and **Manuscript Build Settings** dialogs have +been updated to use a similar design. + + +New Features +------------ + +.. image:: images/2_3_templates.png + :width: 50% + :align: right + +New design is not the only new stuff added in 2.3. A number of user-requested features have been added as well. + +* A new root folder type called "Templates" is now available. Any document added to this folder will be available in the "Add Item" + menu. You can create a new document like you normally do, but selecting a template from the "From Template" submenu will populate + the new document with the content of the selected template. + +* You can now insert the name of a scene or chapter's "Point of View" or "Focus" character directly into the title in the + **Manuscript** tool. They work just the same way as the other header formatting features from the 2.1 version, like automatic + chapter numbers. By default, the name inserted is the text of the ``@tag`` you specify in the character's note. However, if you + want the name to appear in a different way in the manuscript, you can set a "display name" after a ``|`` symbol: + + .. code-block:: md + + # Main Character: Jane + + @tag: Jane | Jane Smith + +* A new way to eliminate text you don't want to be included in the manuscript has been added. It's called "Ignore Text" in the + **Format** menu. Previously, you may have "commented out" text you wanted to exclude, but that's impractical if you actually want + your comments included in, say, a draft manuscript. If you instead use this ignore text format, the text will *never* be included + anywhere, regardless of other settings. The format differs only slightly from regular comments: + + .. code-block:: md + + ### My Scene + + % This is a comment I want included in my draft. + + %~ This is a paragraph I want out of my text, but haven't yet decided to delete. + + Just like regular comments, these also don't count towards your word count. + + +Other Improvements +------------------ + +Among other, smaller improvements are: + +* You can now create regular documents and folders directly by right-clicking in the project tree. Root folders and template + documents must be created from the "Add Item" menu button still. +* You can change the label of a document in the project tree by right-clicking it and selecting "Rename to Heading", if there is a + heading in the document already. +* When multiple paragraphs are selected in the editor, activating one of the formatting commands in the **Format** menu starting + with "Toggle", will apply the formatting change to all selected text instead of just the first paragraph. +* You can now filter out tags from project notes set to "Inactive" in the little triple-dot menu in the **References** panel under + the document viewer. +* You can customise the format of the Document header in Open Document files created from the **Manuscript** tool from the + **Manuscript Build Settings** dialog. +* The words in the **Project Word List** can now be exported to a plain text file, and also imported from such a file. Only unique + words are imported. +* The content of the table in the **Project Outline** can be exported to a CSV file, which can then be imported as a spread sheet in + for instance Excel or Open Office Calc. The export is initiated from a new "Export CSV" button in the toolbar above the outline. + + +Next Pre-Release +---------------- + +The next upcoming pre-release of novelWriter 2.3 will be 2.3 RC 1. + +You can follow the development progress on the `2.3 RC 1 Milestone `__. + +Feedback for the 2.3 Beta 1 release can be posted on the `GitHub Discussions `__ thread. + +Download Links +============== + +.. include:: ../generated/download_pre_release.rst diff --git a/tools/assets.py b/tools/assets.py index 4f0f5ff..142a497 100644 --- a/tools/assets.py +++ b/tools/assets.py @@ -53,7 +53,7 @@ class AssetOS(Enum): ), AssetType.MAC_DMG: ( "DMG Image", - "This is a DMG image for MacOS, and should work on MacOS 10 or higher." + "This is a DMG image for MacOS, and should work on at least MacOS 12 or higher." ), AssetType.PYTHON_WHEEL: ( "Python Wheel", diff --git a/update.py b/update.py index eaefe3e..6c3b14c 100755 --- a/update.py +++ b/update.py @@ -15,14 +15,16 @@ from tools import DownloadAssets, Documentation, AssetType -def hexToInt(value: str, default: int = 0) -> int: - """Convert a hex string to an integer.""" - if isinstance(value, str): - try: - return int(value, 16) - except Exception: - return default - return default +def stripVersion(version: str) -> str: + """Strip the pre-release part from a version number.""" + if "a" in version: + return version.partition("a")[0] + elif "b" in version: + return version.partition("b")[0] + elif "rc" in version: + return version.partition("rc")[0] + else: + return version def updateSetting(name: str, value: str) -> None: @@ -170,7 +172,7 @@ def pullRelease(args): releaseVersion = data.get("name", "Version ???") releaseDate = data.get("published_at", "") shortVersion = data.get("tag_name", "???").lstrip("v") - releaseRef = "main_release_" + "_".join(shortVersion.split(".")[:2]) + releaseRef = "main_release_" + "_".join(stripVersion(shortVersion).split(".")[:2]) isPreRelease = data.get("prerelease", False) tarBall = data.get("tarball_url", "") zipBall = data.get("zipball_url", "")