Commit Graph

98 Commits

Author SHA1 Message Date
Julien Calixte
70fbe5156f fix(notes): apply shikiji dark palette in dark theme
All checks were successful
CI / verify (push) Successful in 1m4s
Shikiji emits the dark colors as --shiki-dark* inline vars but the
activation CSS was missing, so code blocks kept the vitesse-light
white background and the base-content line numbers were white-on-white.
2026-07-08 00:40:40 +02:00
Julien Calixte
1b6c7542d7 feat(notes): render macroplan code blocks as a delivery plan grid
All checks were successful
CI / verify (push) Successful in 2m9s
Follows the tikz pattern: the fence emits a base64 placeholder, then
the post-render hook lazily imports the parser and grid (separate
chunks) and mounts the grid only when a placeholder exists. Mono font
forced on the block because the flag-stacking math assumes Fira Code.
2026-07-08 00:01:21 +02:00
Julien Calixte
5386fa66ea feat(notes): show line numbers on non-markdown file views
All checks were successful
CI / verify (push) Successful in 2m8s
CSS counters on the per-line spans, scoped to .code-file so fenced
blocks inside notes stay untouched. The gutter width adapts to the
file's line count and numbers are excluded from text selection.
2026-07-03 16:57:09 +02:00
Julien Calixte
4104e138c1 refactor(notes): rename title font to heading font
These fonts apply to markdown headings (h1-h6), so "heading" is more
accurate than "title". Renames the chosen*Font field, store action, and
the --heading-font-family CSS variable.

Keeps backward compatibility: .remanso.json still honors the legacy `t`
key (alongside the new `h`), and a saved `chosenTitleFont` in
localStorage is migrated on load so existing preferences survive.
2026-06-30 00:41:54 +02:00
Julien Calixte
0f19482cf2 feat: fullscreen image lightbox on image/diagram click
All checks were successful
CI / verify (push) Successful in 2m2s
Click a note image or a mermaid/tikz diagram to view it fullscreen over
a blurred dim backdrop, with a fade/scale animation and rounded white
frame. Works on desktop and mobile; diagram SVGs are serialized to a
data URL via svgToDataUrl. Closes on click or Escape.
2026-06-18 00:19:51 +02:00
Julien Calixte
72dee337b7 feat(todo): switch /todo view to todo.txt format
Some checks failed
CI / verify (push) Failing after 1m1s
Replace the markdown _todo/todo.md view with a structured todo.txt UI at the
repo root: priority dropdown, inline body edit, project/context/due/rec chips
with Tabler icons, add input as a join-suffix, project/context filter columns
with TransitionGroup animation, priority-sorted list. Drops the now-unused
.todo-notes markdown checkbox styles from app.css.
2026-06-13 21:23:19 +02:00
Julien Calixte
57bc63d43b fix(markdown): wrap long inline code in Safari
Some checks failed
CI / verify (push) Failing after 51s
Safari does not treat `/` as a soft break opportunity inside inline
`<code>`, so long paths overflow the fixed-width stacked note column.
Use `overflow-wrap: anywhere` so the column can shrink to its max-width
instead of being pushed wider by unbreakable inline code.
2026-06-09 16:22:03 +02:00
Julien Calixte
9d1b6552cb feat(markdown): add hover download buttons on rendered SVGs
Attach SVG and PNG (×2) download buttons to every rendered SVG (TikZ,
Mermaid, …) once post-render finishes. Exports always use the original
colors with a white background baked in, regardless of theme.
2026-05-16 12:17:04 +02:00
Julien Calixte
f3708b2f9d fix(markdown): invert TikZ SVGs on dark themes for readability 2026-05-16 11:47:31 +02:00
Julien Calixte
813f16655c Merge branch 'main' of ssh://git.apoena.dev:22222/remanso-space/remanso 2026-05-15 15:40:21 +02:00
Julien Calixte
bf19e982fe feat(markdown): render TikZ fenced blocks to SVG
Adds a markdown-it extractor for ```tikz blocks that emits a sanitized
placeholder, plus a runTikz() that lazy-loads the obsidian-tikzjax 0.5.2
bundle from jsdelivr on first encounter, sanitizes the produced SVG with
DOMPurify, and caches it in PouchDB keyed by sha256(source) so repeat
views are instant and offline-capable.
2026-05-15 15:38:48 +02:00
Julien Calixte
f2f2a3114b style: no more underline for header tag 2026-05-14 01:22:46 +02:00
Julien Calixte
80ae544a28 style(notes): drop hover cursor on rotated stacked-note header 2026-05-14 01:10:38 +02:00
Julien Calixte
9e07204430 design: change light theme to light 2026-05-13 18:38:54 +02:00
Julien Calixte
76829afba2 design: change light theme to caramellatte 2026-05-06 20:37:55 +02:00
Julien Calixte
05f59a568d design: change light theme to lemonade 2026-05-06 20:31:57 +02:00
Julien Calixte
559bfccd08 design: change dark theme to dracula 2026-05-06 20:26:01 +02:00
Julien Calixte
f8ae4351d6 design: change light theme to cupcake 2026-05-06 20:25:13 +02:00
Julien Calixte
fd7d06ce69 design: change light theme to retro 2026-05-05 16:11:45 +02:00
Julien Calixte
08e01d8484 revert: restore mobile body scroll for pull-to-reload
Reverts 550b3cf — removing the override broke pull-to-reload, and
single-scroll-container did not fix the offset glitch anyway.
2026-05-04 19:04:46 +02:00
Julien Calixte
550b3cf019 fix(layout): remove mobile body scroll to keep one scroll container
Both html/body and #main-app being scrollable on mobile made
scrollIntoView animate two ancestors at once, shifting the start
frame of the smooth scroll. With body locked, #main-app is the only
scroller and the animation matches the user's actual position.
2026-05-04 18:58:04 +02:00
Julien Calixte
1f324208d2 design(stacked-notes): action buttons in vertical bar 2026-05-04 10:54:50 +02:00
Julien Calixte
3339e28d41 style(notes): distinguish scrollable column from canvas
Tint the surrounding viewport and add a soft right-edge shadow on
the leftmost note so users can see where scrolling actually applies.
2026-05-02 09:51:24 +02:00
Julien Calixte
812f393283 design: reduce padding for pre in tabs 2026-04-27 18:22:48 +02:00
Julien Calixte
ded770aff1 fix(mobile): restore body scroll and prevent spurious section scroll
Three layered fixes for mobile note scrolling:

1. app.css / App.vue: on mobile, override overflow:hidden on html/body
   and overflow:visible on #main-app so content from useResizeContainer
   (which sets the note-container height to (n+1)*100vh) propagates to
   the document and document.body.scrollTop works again.

2. FluxNote.vue: give each .note an explicit height:100dvh on mobile so
   the percentage-based height:100% does not resolve against the
   inflated container height set by useResizeContainer.

3. StackedNote / StackedPublicNote: replace overflow-y:hidden with
   overflow-y:clip on the section. Unlike hidden, clip does not create a
   scroll container, so touch events fall through to the page scroll and
   the section never feels "draggable" when content fits within the note.
2026-04-23 17:58:33 +02:00
Julien Calixte
449a16f791 fix(layout): prevent document-level scroll-y when stacked notes overflow
Contain horizontal overflow within #main-app instead of leaking to the
document, which caused a horizontal scrollbar to consume viewport height
and trigger an unwanted vertical scrollbar. Also fix note pane height
to use 100% instead of 100vh, and switch useResizeContainer to minWidth
so the flex container can grow when the window is wider than the notes.
Add a window resize listener to keep the value accurate on resize.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 23:52:03 +02:00
Julien Calixte
cf02569c75 design: change light theme to emerald 2026-04-19 10:39:49 +02:00
Julien Calixte
8581baafb7 design: change dark theme to forest 2026-04-08 19:07:03 +02:00
Julien Calixte
29c092e0a0 design: change dark theme to abyss 2026-04-08 19:04:28 +02:00
Julien Calixte
410c0cec7c design: change dark theme to sunset 2026-04-08 19:03:07 +02:00
Julien Calixte
66a1bcbaa9 design: change dark theme to black 2026-04-08 19:01:48 +02:00
Julien Calixte
a05ff9f238 design: change dark theme to sunset 2026-04-08 18:57:36 +02:00
Julien Calixte
6558de8df5 design: change dark theme to black 2026-04-08 18:51:30 +02:00
Julien Calixte
d5b251c4a0 fix: remove overflow because it's causing too much trouble 2026-03-29 22:00:22 +02:00
Julien Calixte
72d065975d fix: lock html/body to 100dvh overflow hidden on all screen sizes
All views that need scroll use their own overflow-y: auto containers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:35:11 +01:00
Julien Calixte
8b3df48791 fix: clip app at 100dvh to prevent body scroll on mobile
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:29:50 +01:00
Julien Calixte
cd8e173e05 fix: use 100dvh for body and #app to match dynamic viewport
Prevents white space below the app on Android Chrome where the
system nav bar makes 100vh > 100dvh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:25:19 +01:00
Julien Calixte
20e9538983 feat: mv profile to footer 2026-03-28 20:24:08 +01:00
Julien Calixte
cfe5426421 design: same rose color 2026-03-14 13:13:22 +01:00
Julien Calixte
1cc6056907 theme: change main color 2026-02-27 14:32:23 +01:00
Julien Calixte
b5697759c3 design: change dark theme to dim 2026-02-19 21:55:12 +01:00
Julien Calixte
b14f5f1dc1 Merge branch 'main' of github.com:remanso-space/remanso 2026-02-19 20:42:21 +01:00
Julien Calixte
efd2a2a99b design: give a little more space 2026-02-17 16:20:28 +01:00
Julien Calixte
8c7503abac design: change dark theme to night 2026-02-17 01:40:07 +01:00
Julien Calixte
760f78adf8 design: change dark theme to abyss 2026-02-17 01:40:01 +01:00
Julien Calixte
543d88ecd3 design: change dark theme to night 2026-02-17 01:39:18 +01:00
Julien Calixte
1dfb7a025d design: change dark theme to luxury 2026-02-17 01:39:01 +01:00
Julien Calixte
728631d8ba design: change dark theme to black 2026-02-17 01:36:46 +01:00
Julien Calixte
51e9d8d541 design: change dark theme to business 2026-02-15 21:10:27 +01:00
Julien Calixte
0905fa4916 design: change light theme to garden 2026-02-15 21:08:00 +01:00