Tags: GQAdonis/MarkLite
Tags
fix(ai): Alt+J opens the side panel when nothing is selected (Razee43… …15#60) Alt+J only ever opened the inline selection-assist bubble, so with no selection it showed an empty bubble (or an "AI not set up" toast) instead of the docked AI side panel the README documents. Make the ai-assist handler selection-aware: a selection opens the assist bubble, no selection toggles the side panel. Verified in a headless browser (panel opens, and a second Alt+J closes it). Not a regression from the refactor: the handler was bubble-only on main too.
feat(site): redesign landing page as the Living Document Replace the generic dark-SaaS template with a distinctive editorial design. - Type triad: Instrument Serif display headlines, JetBrains Mono as the source voice, Inter as the narrator. - Themes section flips the whole stage to warm Paper cream and re-skins live on toggle (default Paper). - Feature matrix replaces the icon-card grid; mono status bar and a vim end-of-file footer. - Real app screenshots in the hero and split-view sections, framed cleanly, no fake mockups. - Keeps the no-JS and reduced-motion fallbacks, live GitHub stats, responsive images, and SEO/schema intact.
Reddit feedback: fix confirmed bugs, relicense Apache-2.0, sharpen po… …sitioning, add table editor (Razee4315#59) * fix(preview): restore list bullets stripped by Tailwind v4 Preflight Tailwind v4 Preflight resets ul/ol to list-style:none. The .markdown-body list rule re-applied padding but never re-declared the marker type, so every bullet and number in the rendered preview was invisible. Re-declare disc/decimal (plus circle/square for nested levels), tint the marker with --syntax-list, and keep GFM task lists flush and bullet-free. Reported on Reddit by u/llagerlof. * feat(preview): heading anchor copies a section link with visible feedback The heading link icon already scrolled into view, but scrolling a heading to itself is a ~0px move when it is already at the top, so the click looked like it did nothing. Copy a '#slug' link to the clipboard and swap the icon to a checkmark for 1.4s so the action is observable. Scroll behaviour is unchanged. Reported on Reddit by u/llagerlof. * chore: remove stale AUDIT.md from repo root AUDIT.md audited v0.6.14 (now 1.0.6) and still described the editor as a textarea+overlay that was replaced by CodeMirror long ago. A 54KB self-audit at the repo root that contradicts the shipped code reads as an artifact left lying around. Remove it (recoverable from git history) and de-reference it in a FormatToolbar comment. * chore!: relicense from custom non-commercial terms to Apache-2.0 The previous custom 'MarkLite License' prohibited 'use in a business environment' without defining it, so a cautious reader concluded they could not even open it on a work laptop for personal notes. Combined with being non-OSI (GitHub could not classify it), it was a confirmed adoption dealbreaker. Apache-2.0 makes MarkLite free for personal and commercial use with an explicit patent grant; contributions are inbound=outbound under Section 5 (no CLA needed). Update LICENSE, add NOTICE, fix the README badge and section, docs site copy, package.json license field, and CONTRIBUTING. Addresses the u/Big_Combination9890 license objection. * fix(shortcuts): make Ctrl+S/O/N/E work with CapsLock on With CapsLock enabled, an unshifted Ctrl+S reports e.key === 'S', but the handler only matched lowercase 's', so the keypress silently did nothing while Ctrl+Shift+S (which matched both cases) still worked. That is the 'Ctrl+S didn't save, then later did' report. Match both cases for the Ctrl+S/O/N/E shortcuts; the shift-guarded branches are unaffected. Reported on Reddit by u/llagerlof. * docs(copy): lead with the real wedge instead of generic minimalism Every editor claims 'minimal/lightweight/distraction-free', and 'lightweight' is contestable (Tauri ships a webview). Re-point the hero, README, and meta at what MarkLite actually does differently: open any file with no vault/plugins/account, math and chemistry live, and a free bring-your-own-model AI that proposes edits you accept or reject inline. Also drop an em dash from the license line. Addresses the recurring 'how is it different?' critique (u/rupert_at_work, u/intentazera, u/Apart-Television4396, u/Arxae). * feat(editor): visual table editor with a floating toolbar Adds the most-requested capability from the Reddit thread: a true table editor, not just raw-text Tab navigation. A floating toolbar appears when the caret is inside a markdown table with buttons to insert/delete rows and columns, set per-column alignment, and tidy the layout. It is built on a new pure tableModel.ts (parse/serialize/ops) with 31 unit tests, so the logic is verifiable independent of the UI. Serializing re-pads every column to a uniform width, which also fixes the column drift the Tab-navigation left behind. The toolbar is wired exactly like the slash menu / AI bubble (coordsAtPos + viewport-aware repositioning), and a cheap per-line pipe check avoids a full-doc scan on every keystroke. Top feature request from u/llagerlof. * refactor(app): extract useToast and useGlobalShortcuts hooks App.tsx was the most-cited 'vibe coded' tell: a god component holding app shell, state, layout, and a 100-line window keyboard handler. Move the toast state/show/hide into useToast and the entire global keyboard handler (plus the Ctrl+J defense) into useGlobalShortcuts. Behaviour is unchanged: the listener is still mounted once and reads the latest handlers through a ref. tsc strict + 99 tests stay green. * test(shortcuts): cover useGlobalShortcuts incl. the CapsLock save fix 8 tests for the extracted hook: Ctrl+S/O/N/E, Save vs Save As, palette, settings, and Alt+J dispatch. One explicitly guards the CapsLock regression (an unshifted Ctrl+S reporting e.key === 'S' must still save). Adds real coverage to logic pulled out of the previously test-free App. * fix(table): keep the toolbar clear of the app title bar Verified in a headless browser: for a table at the very top of the document the toolbar floated under the title bar and covered the window controls. Clamp its top so it never rises above the ~48px title bar. * docs(changelog): record table editor, Apache relicense, and the bug fixes * fix(preview): escape the image cache-key NUL separator so the file is text MarkdownPreview embedded a literal 0x00 byte as the separator in its image cache key, which made git treat the whole file as binary (no diffs, and ripgrep skips it). Use the equivalent unicode escape instead. The runtime string is byte-for-byte identical; tsc, build, and 107 tests stay green.
Hero headline: drop serif italic for a clean sans gradient (Razee4315#58 ) Render "stays out of your way" in the same Inter weight as the rest of the headline (keeping the animated gradient) instead of Instrument Serif italic. Removes the disliked serif look and fixes the italic "y" swash clipping at the right edge. Drops the now-unused Instrument Serif font import.
Fix hero descender clipping, remove em dashes, add GSC verification (R… …azee4315#56) - Bump the hero headline line-height (1.04 -> 1.2) so the gradient text-fill no longer clips the italic descenders of "stays out of your way". - Replace every em dash in the site copy with commas / colons / periods. - Add the Google Search Console verification file at the site root (served at /MarkLite/google0d979f7b74e3dae0.html).
docs(readme): refresh screenshots with current v1.0 UI (Razee4315#54) Replace the stale pre-1.0 shots with fresh captures: a split-view hero, a live math/chemistry/Mermaid/code showcase, all four themes (now including GitHub), and file-explorer + command-palette. Removes the old images.
Add live GitHub stats band (stars + downloads) (Razee4315#53) A social-proof strip before the Download CTA: GitHub stars and total release download counts fetched live from the GitHub API and counted up on scroll-in, alongside "0 trackers" and "100% offline". Baked fallbacks (20 / 201) keep it populated for no-JS and crawlers; reduced-motion shows final numbers without the count animation.
Polish hero + FAQ: cleaner animated headline, ambient glow, smooth ac… …cordion (Razee4315#52) - Rework the headline gradient — route orange -> light -> cyan so it no longer passes through a muddy grey-green, and add a slow flowing animation. - Strengthen the hero aurora and add a subtle cursor-reactive glow (pointer only; the whole motion init is skipped under reduced-motion). - Animate the FAQ accordion open/close with the Web Animations API; native instant toggle is retained under reduced-motion.
Polish landing: drop faux window chrome and hero hover-tilt (Razee431… …5#51) - Remove the macOS traffic-light title bar from AppWindow. The captured screenshots already include MarkLite's own (non-macOS) title bar and window controls, so the bar was duplicate, off-brand chrome. Each shot now sits in a clean rounded bezel. - Remove the 3D hover-tilt on the hero product shot — it shifted the image on mouse-move, which felt unstable. The hero is now static. - Delete the now-dead .window-bar/.window-dot CSS and the tilt handler in motion.ts.
PreviousNext