Dave Jarvis' Repositories

M build.gradle
9393
9494
dependencies {
95
  def v_junit = '5.13.4'
95
  def v_junit = '5.14.1'
9696
  def v_platform = '1.13.4'
9797
  def v_flexmark = '0.64.8'
98
  def v_jackson = '2.19.2'
99
  def v_echosvg = '2.2.1'
98
  def v_jackson = '2.19.4'
99
  def v_echosvg = '2.3'
100100
  def v_picocli = '4.7.7'
101101
102102
  // JavaFX
103
  implementation 'org.controlsfx:controlsfx:11.2.2'
104
  implementation 'org.fxmisc.richtext:richtextfx:0.11.6'
103
  implementation 'org.controlsfx:controlsfx:11.2.3'
104
  implementation 'org.fxmisc.richtext:richtextfx:0.11.7'
105105
  implementation 'org.fxmisc.flowless:flowless:0.7.4'
106106
  implementation 'org.fxmisc.wellbehaved:wellbehavedfx:0.3.3'
107
  implementation 'org.openjfx:javafx-media:26-ea+13'
107
  implementation 'org.openjfx:javafx-media:26-ea+21'
108108
  implementation 'com.dlsc.preferencesfx:preferencesfx-core:11.17.0'
109109
  implementation 'com.panemu:tiwulfx-dock:0.5'
...
177177
  // Required to satisfy SpotBugs missing class warnings.
178178
  implementation 'org.jspecify:jspecify:1.0.0'
179
  implementation 'com.google.errorprone:error_prone_annotations:2.41.0'
179
  implementation 'com.google.errorprone:error_prone_annotations:2.45.0'
180180
181181
  testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${v_junit}"
M container/Containerfile
55
# Creates a container image that can run ConTeXt to typeset documents.
66
#
7
# Hereby released into the public domain.
8
#
79
# ########################################################################
810
FROM alpine:latest
M docs/02-installation.md
1313
The wizard will download and install all necessary components.
1414
15
{{app.title}} binaries are self-installing, except for the Java archive
15
{{app.title}} binaries are self-extracting, except for the Java archive
1616
(`.jar`) version. Installing the Java archive version is useful for platforms
1717
that don't have prebult {{app.title}} binaries. The Java archive version is
...
4545
4646
[Download](https://keenwrite.com/) the Java archive version of {{app.title}}.
47
48
On Windows:
49
50
1. Create `C:\Users\%USERNAME%\keenwrite`.
51
1. Save `{{install.java}}` into the new directory.
5247
5348
### JRE with JavaFX
...
9085
9186
1. Open a terminal.
92
1. Download the launcher script into `{{install.path.unix.bin}}`.
93
94
   ``` bash
95
   wget --quiet --content-on-error \
96
     "{{install.url.unix.launcher}}"
97
   ```
98
87
1. Download the [launcher script](https://repo.autonoma.ca/?action=raw&repo=keenwrite.git&hash=225340adcfad6aad060a7ddc33b8b36f82472379&name=keenwrite.sh) into `{{install.path.unix.bin}}`.
9988
1. Make the script executable.
10089
...
113102
On Windows-based systems, install the launch script as follows:
114103
115
1. Browse to the [launcher script]({{install.url.windows.script}}).
116
1. Right-click anywhere on the page.
117
1. Click **Save Page As** (or similar).
118
1. Browse to `C:\Users\%USERNAME%\keenwrite`.
119
1. Confirm saving the file.
104
1. Create a directory, such as `C:\Program Files\{{app.title}}`.
105
1. Download the [launcher script](https://repo.autonoma.ca/?action=blob&repo=keenwrite.git&hash=aa29c471c2903f047ef9139b9370282528406fae&name=keenwrite.bat&theme=dark).
120106
1. Rename the file from `.bat.txt` to `.bat`, if necessary.
107
1. Download or move the `.bat` file into `C:\Program Files\{{app.title}}`.
108
1. Download or move the `.jar` file into `C:\Program Files\{{app.title}}`.
121109
122110
The Java version of {{app.title}} is installed.
111
112
Note: {{app.title}} may be installed in any directory, so if you do not have
113
permissions to install it under `C:\Program Files\{{app.title}}`, you may opt
114
for another directory, such as `C:\Users\%USERNAME%\{{app.title}}`.
123115
124116
## ConTeXt LMTX
M docs/build.sh
44
readonly SCRIPT_DIR="$(cd "${SCRIPT_SRC}" >/dev/null 2>&1 && pwd)"
55
6
rm -f ${HOME}/.local/share/keenwrite/logo_svg_*.pdf
7
68
keenwrite.bin \
79
  $1 \
...
1618
  --metadata="copyright={{document.copyright}}" \
1719
  --metadata="version=$(git describe --tags --abbrev=0)" \
20
  --metadata="logo=${SCRIPT_DIR}/../src/main/resources/com/keenwrite/logo.svg" \
21
  --metadata="primary=126D95" \
22
  --metadata="accent=E54A59" \
1823
  --theme-dir="$HOME/dev/java/keenwrite/themes/texomus"
1924
M src/main/java/com/keenwrite/commands/ConcatenateCommand.java
1616
1717
import static com.keenwrite.events.StatusEvent.clue;
18
import static com.keenwrite.events.StatusEvent.fire;
1918
import static com.keenwrite.util.FileWalker.walk;
2019
import static java.lang.String.format;
...
7877
        final var digits = toDigits( filename );
7978
80
        // If first file has digits, only process files with digits
81
        // If first file has no digits, process all files
79
        // If first file has digits, only process files with digits.
80
        // If first file has no digits, process all files.
8281
        final var process = !useDigits || digits != -1;
8382
8483
        if( process ) {
8584
          final var chapterNum = chapter.incrementAndGet();
85
          final var testValue = useDigits ? digits : chapterNum;
8686
87
          if( validator.test( chapterNum ) ) {
87
          if( validator.test( testValue ) ) {
8888
            clue( "Main.status.export.concat", file );
8989
M src/main/java/com/keenwrite/io/UserDataDir.java
4242
  private static final String PROP_USER_DIR = getProperty( "user.dir" );
4343
  private static final String PROP_OS_VERSION = getProperty( "os.version" );
44
  private static final String ENV_LOCALAPPDATA = getenv( "LocalAppData" );
4445
  private static final String ENV_APPDATA = getenv( "AppData" );
4546
  private static final String ENV_XDG_DATA_HOME = getenv( "XDG_DATA_HOME" );
...
8283
8384
  private static Path getWinAppPath() {
84
    return isValid( ENV_APPDATA )
85
    return isValid( ENV_LOCALAPPDATA )
86
      ? Path.of( ENV_LOCALAPPDATA )
87
      : isValid( ENV_APPDATA )
8588
      ? Path.of( ENV_APPDATA )
8689
      : home( getWinVerAppPath() );