diff --git a/.vscode/settings.json b/.vscode/settings.json index cb7d824..dd4a247 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -46,5 +46,5 @@ ], "java.project.outputPath": "target/classes", "java.format.settings.url": ".vscode/java-formatter.xml", - "java.configuration.updateBuildConfiguration": "interactive" + "java.configuration.updateBuildConfiguration": "disabled" } \ No newline at end of file diff --git a/pom.xml b/pom.xml index de110f0..4375e2e 100644 --- a/pom.xml +++ b/pom.xml @@ -222,6 +222,39 @@ + + + org.apache.maven.plugins + maven-resources-plugin + 3.3.1 + + + copy-welcome-project + process-resources + copy-resources + + ${project.build.outputDirectory}/welcome-project + + + ${project.basedir}/src/docs + + user-guide-en.md + tips-and-tricks-en.md + + + + ${project.basedir}/src/docs/illustrations + illustrations + + **/* + + + + + + + + ${project.build.directory}/build @@ -513,7 +547,7 @@ - -Djava.net.preferIPv6Addresses=true + -Xmx512m @@ -535,15 +569,34 @@ Utility Utility marknote + + ${project.basedir}/src/packaging/linux-resources ${jpackage.bundle.id} ${project.name} + ${jpackage.win.dir.chooser} ${jpackage.win.menu} ${jpackage.win.shortcut} + diff --git a/src/docs/packaging.md b/src/docs/packaging.md index b2a1e69..8acbc7e 100644 --- a/src/docs/packaging.md +++ b/src/docs/packaging.md @@ -31,6 +31,7 @@ Le script `build` fournit une action `package` qui génère une archive ZIP auto - Un script de lancement adapté à l'OS (`MarkNote.sh` ou `MarkNote.bat`) - Les icônes de l'application en plusieurs formats (`icons/`) - Un **installeur spécifique à l'OS** (`install.sh` ou `install.bat`) +- Les ressources du projet **MarkNote Welcome** (guide + illustrations) L'archive est nommée selon le pattern : `MarkNote--.zip` (ex : `MarkNote-0.0.6-linux.zip`). @@ -91,6 +92,7 @@ Après décompression du ZIP, le répertoire contient : | `MarkNote.sh` ou `.bat` | Script de lancement | | `icons/` | Icônes de l'application (SVG + PNG multi-tailles) | | `install.sh` ou `install.bat`| Installeur spécifique à l'OS | +| `welcome-project/` | Ressources intégrées pour que l'installeur provisionne `~/Documents/MarkNote Welcome` | --- diff --git a/src/docs/tips-and-tricks-en.md b/src/docs/tips-and-tricks-en.md new file mode 100644 index 0000000..6cde3e2 --- /dev/null +++ b/src/docs/tips-and-tricks-en.md @@ -0,0 +1,31 @@ +# MarkNote — Tips & Tricks + +## Productivity + +- Use `Ctrl+N` to create a new document quickly. +- Use `Ctrl+S` and `Ctrl+Shift+S` to save without leaving the keyboard. +- Use `Ctrl+F` (or the search box) to find notes and tags across your project. + +## Project navigation + +- Keep the **Project Explorer** open to create, rename, move, and organize notes. +- Click tags in the **Tag Cloud** to launch instant filtered searches. +- Use the **Visual Link Panel** to discover related notes through backlinks. + +## Writing + +- Use front matter (`title`, `tags`, `summary`, `author`, `date`) to structure your notes. +- Drag and drop files from the explorer into the editor to create links quickly. +- Keep an eye on the **Preview Panel** to validate formatting while writing. + +## Panels and layout + +- Detach any panel from the menu to focus on your editor workspace. +- Reattach panels when you need the full workspace again. +- Customize the theme from **Options** to improve readability in your environment. + +## Git and AI + +- Enable Git support to see file status indicators directly in the explorer. +- Open the LLM panel to summarize, compare, or explain notes from your project context. +- Tune LLM endpoint/model/timeout in **Options** before starting a long session. diff --git a/src/packaging/linux-resources/template.postinst b/src/packaging/linux-resources/template.postinst new file mode 100644 index 0000000..44d455c --- /dev/null +++ b/src/packaging/linux-resources/template.postinst @@ -0,0 +1,58 @@ +#!/bin/sh +# postinst script for APPLICATION_PACKAGE +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +package_type=deb +LAUNCHER_AS_SERVICE_SCRIPTS + +case "$1" in + configure) +DESKTOP_COMMANDS_INSTALL +LAUNCHER_AS_SERVICE_COMMANDS_INSTALL + + # ── Copier les fichiers de bienvenue ────────────────────────── + INSTALL_DIR=/opt/marknote + JAR_FILE="$INSTALL_DIR/lib/MarkNote.jar" + # Copie dans le dossier Documents de tous les utilisateurs existants + for USER_HOME in /home/*/; do + TARGET_DIR="$USER_HOME/Documents/MarkNote Welcome" + if [ -f "$JAR_FILE" ]; then + mkdir -p "$TARGET_DIR" + unzip -q -o "$JAR_FILE" "welcome-project/*" -d /tmp/marknote-welcome-extract 2>/dev/null || true + if [ -d /tmp/marknote-welcome-extract/welcome-project ]; then + cp -r /tmp/marknote-welcome-extract/welcome-project/. "$TARGET_DIR/" + rm -rf /tmp/marknote-welcome-extract + fi + # Donner les droits au propriétaire du dossier home + USER_NAME=$(basename "$USER_HOME") + chown -R "$USER_NAME:$USER_NAME" "$TARGET_DIR" 2>/dev/null || true + fi + done + # ───────────────────────────────────────────────────────────── + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/src/packaging/post-install-mac.sh b/src/packaging/post-install-mac.sh new file mode 100755 index 0000000..24f1d40 --- /dev/null +++ b/src/packaging/post-install-mac.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Script post-installation pour macOS +# Copie les fichiers de bienvenue dans le dossier Documents de l'utilisateur + +set -e + +# Chemin vers le JAR installé (à ajuster selon l'emplacement d'installation) +INSTALL_DIR="/Applications/MarkNote.app/Contents/Java" +JAR_FILE="$INSTALL_DIR/MarkNote.jar" + +# Dossier de destination pour les fichiers de bienvenue +TARGET_DIR="$HOME/Documents/MarkNote Welcome" + +# Créer le dossier de destination s'il n'existe pas +mkdir -p "$TARGET_DIR" + +# Extraire les fichiers de bienvenue du JAR +if [ -f "$JAR_FILE" ]; then + echo "Extraction des fichiers de bienvenue..." + unzip -q -o "$JAR_FILE" "welcome-project/*" -d "$TARGET_DIR" + + # Supprimer le dossier welcome-project temporaire + if [ -d "$TARGET_DIR/welcome-project" ]; then + mv "$TARGET_DIR/welcome-project"/* "$TARGET_DIR/" + rmdir "$TARGET_DIR/welcome-project" + fi + + echo "Fichiers de bienvenue installés dans $TARGET_DIR" +else + echo "Erreur: JAR non trouvé à $JAR_FILE" >&2 + exit 1 +fi + +exit 0 \ No newline at end of file diff --git a/src/packaging/post-install.bat b/src/packaging/post-install.bat new file mode 100644 index 0000000..99d505d --- /dev/null +++ b/src/packaging/post-install.bat @@ -0,0 +1,40 @@ +@echo off + +:: Script post-installation pour Windows +:: Copie les fichiers de bienvenue dans le dossier Documents de l'utilisateur + +setlocal enabledelayedexpansion + +:: Chemin vers le JAR installé (à ajuster selon l'emplacement d'installation) +set "INSTALL_DIR=C:\Program Files\MarkNote" +set "JAR_FILE=%INSTALL_DIR%\lib\MarkNote.jar" + +:: Dossier de destination pour les fichiers de bienvenue +set "TARGET_DIR=%USERPROFILE%\Documents\MarkNote Welcome" + +:: Créer le dossier de destination s'il n'existe pas +if not exist "!TARGET_DIR!" ( + mkdir "!TARGET_DIR!" +) + +:: Vérifier si le JAR existe +if exist "!JAR_FILE!" ( + echo Extraction des fichiers de bienvenue... + + :: Extraire les fichiers de bienvenue du JAR + jar -xf "!JAR_FILE!" "welcome-project/" -C "!TARGET_DIR!" + + :: Déplacer les fichiers du sous-dossier welcome-project + if exist "!TARGET_DIR!\welcome-project" ( + move /Y "!TARGET_DIR!\welcome-project\*" "!TARGET_DIR!\" >nul + rmdir "!TARGET_DIR!\welcome-project" + ) + + echo Fichiers de bienvenue installés dans !TARGET_DIR! +) else ( + echo Erreur: JAR non trouvé à !JAR_FILE! + exit /b 1 +) + +endlocal +exit /b 0 \ No newline at end of file diff --git a/src/packaging/post-install.sh b/src/packaging/post-install.sh new file mode 100755 index 0000000..675f255 --- /dev/null +++ b/src/packaging/post-install.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Script post-installation pour copier les fichiers de bienvenue +# Ce script est exécuté après l'installation du package Debian + +set -e + +# Chemin vers le JAR installé (à ajuster selon l'emplacement d'installation) +INSTALL_DIR=/opt/MarkNote +JAR_FILE=$INSTALL_DIR/lib/MarkNote.jar + +# Dossier de destination pour les fichiers de bienvenue +TARGET_DIR=$HOME/Documents/MarkNote Welcome + +# Créer le dossier de destination s'il n'existe pas +mkdir -p "$TARGET_DIR" + +# Extraire les fichiers de bienvenue du JAR +if [ -f "$JAR_FILE" ]; then + echo "Extraction des fichiers de bienvenue..." + unzip -q -o "$JAR_FILE" "welcome-project/*" -d "$TARGET_DIR" + + # Supprimer le dossier welcome-project temporaire + if [ -d "$TARGET_DIR/welcome-project" ]; then + mv "$TARGET_DIR/welcome-project"/* "$TARGET_DIR/" + rmdir "$TARGET_DIR/welcome-project" + fi + + echo "Fichiers de bienvenue installés dans $TARGET_DIR" +else + echo "Erreur: JAR non trouvé à $JAR_FILE" >&2 + exit 1 +fi + +exit 0 \ No newline at end of file