Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
454b978
Improve Inky UI, web export, and scene clearing
glassflare Oct 18, 2026
d136f1c
Remove Linux download and troubleshooting section
glassflare Oct 18, 2026
58055aa
Update Inky source to revision 67
glassflare Nov 2, 2026
9ee8332
Refresh project README in Portuguese
glassflare Nov 2, 2026
671f470
Write project README in English
glassflare Nov 2, 2026
4b4cbe2
Rewrite README to document current Inky fork features
glassflare Nov 3, 2026
60c896a
Update README.md
glassflare Nov 3, 2026
91dfb9b
Refresh README screenshots and feature notes
glassflare Nov 3, 2026
15b91ec
Update README.md
glassflare Nov 3, 2026
d85901b
Delete examples directory
glassflare Nov 3, 2026
81c794e
Update image in README.md
glassflare Nov 3, 2026
cc9902e
Update README.md
glassflare Nov 3, 2026
29bf142
Update README screenshots
glassflare Nov 3, 2026
61529a9
Add floating bold/italic formatting toolbar
glassflare Nov 3, 2026
f003049
Remove obsolete test stories and screenshots
glassflare Nov 3, 2026
d21698f
Update README.md
glassflare Nov 3, 2026
d64472c
Delete historia-expandida.ink
glassflare Nov 3, 2026
7f4c7a7
Update title formatting in README.md
glassflare Nov 3, 2026
85705e7
Delete docs/screenshots/welcome.png
glassflare Nov 3, 2026
aec42b7
Add files via upload
glassflare Nov 3, 2026
ec74f65
Delete docs/screenshots/title-screen.png
glassflare Nov 3, 2026
cd6fcb1
Add files via upload
glassflare Nov 3, 2026
e22cd8c
docs: refresh README for r109 with authentic Before Dawn screenshots
glassflare Nov 8, 2026
a707d4e
Release Inky 0.15.2-109 with validated fixes
Copilot Nov 8, 2026
b3d5ff4
Merge pull request #1 from glassflare/release/r109
glassflare Nov 8, 2026
5f2075c
docs: refresh README for Inky Extended r109
glassflare Nov 9, 2026
7267baa
fix: preserve intentional blank lines between narrative paragraphs
glassflare Nov 11, 2026
5c70308
fix(preview): preserve paragraph gap after game chrome margin reset
glassflare Nov 11, 2026
84357de
test(preview): guard paragraph gap against later CSS reset
glassflare Nov 11, 2026
de99d81
fix: scale paragraph gaps with source blank line count
glassflare Nov 11, 2026
76f1b8d
fix: scale paragraph gaps with source blank line count
glassflare Nov 11, 2026
75925dd
fix: scale paragraph gaps with source blank line count
glassflare Nov 11, 2026
211d0c9
fix: scale paragraph gaps with source blank line count
glassflare Nov 11, 2026
8b02d2a
fix: scale paragraph gaps with source blank line count
glassflare Nov 11, 2026
98afcbf
fix: scale paragraph gaps with source blank line count
glassflare Nov 11, 2026
abe79df
test: verify multiple blank lines and paragraph flex layout
glassflare Nov 11, 2026
91f9e66
fix: retain exact blank-line spacing in Preview and scroll oversized …
glassflare Nov 11, 2026
ff8d039
fix: retain exact blank-line spacing in Preview and scroll oversized …
glassflare Nov 11, 2026
3d0308e
fix: retain exact blank-line spacing in Preview and scroll oversized …
glassflare Nov 11, 2026
2a2ca1d
fix(preview): position titled and spaced paragraphs before fade anima…
glassflare Nov 11, 2026
5944cd5
test: cover title and paragraph animation ordering, refresh spacing a…
glassflare Nov 11, 2026
0ed2aed
fix(preview): render contiguous text to prevent glyph repaint artifacts
glassflare Nov 11, 2026
dbf651e
fix(preview): render contiguous text to prevent glyph repaint artifacts
glassflare Nov 11, 2026
589ff24
fix(preview): render contiguous text to prevent glyph repaint artifacts
glassflare Nov 11, 2026
278101d
fix(preview): render contiguous text to prevent glyph repaint artifacts
glassflare Nov 11, 2026
4f53fb6
fix: preserve preview pagination and exact source mapping
glassflare Nov 12, 2026
897ee95
Add native refresh control for live preview
glassflare Nov 12, 2026
8591f9f
Merge pull request #2 from glassflare/fix/paragraph-spacing-blank-lines
glassflare Nov 12, 2026
3f949db
fix: contain the Legendary 25 A's in live preview
glassflare Nov 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,7 @@ app/renderer/documentation/
*.AppImage
AppImage
.DS_Store
/package-lock.json
PROJECT_STATE.md
SOURCE_MATCHING.md
SOURCE_MATCHING.txt
35 changes: 35 additions & 0 deletions BUILD_DEB.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/usr/bin/env sh
set -eu
ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
APP_DIR=${INKY_LINUX_APP_DIR:-"$ROOT_DIR/Inky-linux-x64"}
REVISION=${INKY_DEB_REVISION:-111}
case "$REVISION" in ''|*[!0-9]*) echo 'Invalid Debian revision' >&2; exit 1;; esac
VERSION=$(node -p 'require(process.argv[1]).version' "$ROOT_DIR/app/package.json")-$REVISION
OUTPUT_DIR="$ROOT_DIR/ReleaseUpload"
OUTPUT_FILE="$OUTPUT_DIR/inky_${VERSION}_amd64.deb"
command -v dpkg-deb >/dev/null
command -v python3 >/dev/null
test -f "$APP_DIR/resources/app/package.json"
test ! -e "$APP_DIR/resources/app.asar"
STAGE=$(mktemp -d "${TMPDIR:-/tmp}/inky-deb.XXXXXX")
trap 'rm -rf "$STAGE"' EXIT HUP INT TERM
mkdir -p "$STAGE/opt/inky" "$STAGE/usr/bin" "$STAGE/usr/share/applications" "$STAGE/usr/share/icons/hicolor/256x256/apps" "$STAGE/DEBIAN" "$OUTPUT_DIR"
cp -a "$APP_DIR/." "$STAGE/opt/inky/"
install -m 644 "$ROOT_DIR/resources/com.inkle.inky.desktop" "$STAGE/usr/share/applications/inky.desktop"
install -m 644 "$ROOT_DIR/app/renderer/about/icon-round.png" "$STAGE/usr/share/icons/hicolor/256x256/apps/inky.png"
ln -s /opt/inky/Inky "$STAGE/usr/bin/inky"
# Include ALL parent directories, especially /opt: root-only staging permissions
# must never be propagated to a user's installation.
find "$STAGE" -type d -exec chmod 755 {} +
find "$STAGE" -type f -exec chmod a+r {} +
chmod 755 "$STAGE/opt/inky/Inky"
chmod 755 "$STAGE/opt/inky/resources/app/main-process/ink/inklecate_linux"
chmod 755 "$STAGE/opt/inky/resources/app/main-process/ink/inkjs-compatible/inklecate_linux"
chmod 4755 "$STAGE/opt/inky/chrome-sandbox"
python3 "$ROOT_DIR/build/application_manifest.py" "$STAGE/opt/inky/resources"
SIZE=$(du -sk "$STAGE" | cut -f1)
sed -e "s/@VERSION@/$VERSION/" -e "s/@SIZE@/$SIZE/" "$ROOT_DIR/build/debian-control.in" > "$STAGE/DEBIAN/control"
chmod 644 "$STAGE/DEBIAN/control"
dpkg-deb --build --root-owner-group "$STAGE" "$OUTPUT_FILE"
python3 "$ROOT_DIR/build/verify_deb.py" "$OUTPUT_FILE"
printf 'Created %s\n' "$OUTPUT_FILE"
89 changes: 55 additions & 34 deletions BUILD_FOR_LINUX.sh
Original file line number Diff line number Diff line change
@@ -1,34 +1,55 @@
cd "`dirname "$0"`"

# Uses: https://github.com/electron-userland/electron-packager
# To install it globally:
#
# npm install electron-packager -g
#

# Clean
rm -rf Inky-linux-x64/
rm -rf ReleaseUpload

# Ensure it's correctly/fully installed first
( cd app && npm install )

# Linux
electron-packager app Inky --platform=linux --arch=x64 --icon=resources/Icon.icns --extend-info=resources/info.plist --prune --asar.unpackDir="main-process/ink" --ignore="inklecate_mac"

# Create a zip files ready for upload on Windows/Linux
mkdir -p ReleaseUpload
zip -r ReleaseUpload/Inky_linux.zip Inky-linux-x64

#Prepare AppImage build structure
mkdir -p AppImage/opt/inky
mkdir -p AppImage/usr/share/pixmaps

cp resources/AppRun AppImage/
cp resources/com.inkle.inky.desktop AppImage/
cp resources/Icon1024.png AppImage/inky.png
cp resources/Icon1024.png AppImage/usr/share/pixmaps/inky.png
cp -r Inky-linux-x64/* AppImage/opt/inky/

#Build AppImage File ready for upload
ARCH=x86_64 ./build/appimagetool-x86_64.AppImage -n AppImage ReleaseUpload/Inky.AppImage
#!/usr/bin/env bash
set -euo pipefail

if [ "$#" -ne 2 ]; then
echo "Usage: $0 INK_GIT_REPOSITORY NEW_OUTPUT_DIRECTORY" >&2
exit 2
fi

ROOT=$(cd -- "$(dirname -- "$0")" && pwd)
INK_REPO=$(cd -- "$1" && pwd)
OUT=$2
PACKAGER="$ROOT/app/node_modules/.bin/electron-packager"
test -x "$PACKAGER" || { echo "Install the project's locked app dependencies first." >&2; exit 1; }
for tool in git dotnet node dpkg-deb python3 zip; do
command -v "$tool" >/dev/null || { echo "Required tool not found: $tool" >&2; exit 1; }
done
mkdir -- "$OUT"
OUT=$(cd -- "$OUT" && pwd)

git -C "$ROOT" rev-parse HEAD > "$OUT/source-head.txt"
git -C "$ROOT" status --short --untracked-files=all > "$OUT/source-status.txt"
git -C "$ROOT" diff HEAD --binary > "$OUT/source-tracked.patch"
(
cd "$ROOT"
git ls-files -z --cached --others --exclude-standard | sort -z | xargs -0 sha256sum
) > "$OUT/source-sha256.txt"

"$ROOT/compiler/build-linux-v1.sh" "$INK_REPO" "$OUT/compiler"
mkdir "$OUT/stage"
cp -a --reflink=auto "$ROOT/app" "$ROOT/build" "$ROOT/resources" "$ROOT/BUILD_DEB.sh" "$OUT/stage/"
cp "$OUT/compiler/linux-x64/inklecate" "$OUT/stage/app/main-process/ink/inklecate_linux"
(
cd "$OUT/stage"
./app/node_modules/.bin/electron-packager app Inky --platform=linux --arch=x64 \
--out="$OUT/packaged" --prune --ignore=inklecate_mac
)
APP="$OUT/packaged/Inky-linux-x64"
cmp "$OUT/compiler/linux-x64/inklecate" "$APP/resources/app/main-process/ink/inklecate_linux"
mkdir -p "$OUT/AppDir/opt/inky" "$OUT/AppDir/usr/share/pixmaps" "$OUT/ReleaseUpload"
install -m 755 "$ROOT/resources/AppRun" "$OUT/AppDir/AppRun"
cp "$ROOT/resources/com.inkle.inky.desktop" "$OUT/AppDir/"
cp "$ROOT/app/renderer/about/icon-round.png" "$OUT/AppDir/inky.png"
cp "$ROOT/app/renderer/about/icon-round.png" "$OUT/AppDir/usr/share/pixmaps/inky.png"
cp -a --reflink=auto "$APP/." "$OUT/AppDir/opt/inky/"
ARCH=x86_64 "$ROOT/build/appimagetool-x86_64.AppImage" --appimage-extract-and-run \
-n "$OUT/AppDir" "$OUT/ReleaseUpload/Inky.AppImage"
INKY_LINUX_APP_DIR="$APP" INKY_DEB_REVISION="${INKY_DEB_REVISION:-111}" \
"$OUT/stage/BUILD_DEB.sh"
mv "$OUT/stage/ReleaseUpload/"*.deb "$OUT/ReleaseUpload/"
(
cd "$OUT/packaged"
zip -qr "$OUT/ReleaseUpload/Inky_linux.zip" Inky-linux-x64
)
sha256sum "$OUT/ReleaseUpload/"* | tee "$OUT/package-sha256.txt"
echo "Linux packages created in $OUT/ReleaseUpload"
9 changes: 9 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
MIT License
Copyright (c) 2016 inkle Ltd.
Copyright (c) 2026 Kernel Trace (核追跡) (fork changes)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Loading