Release 1.1.4 — TypeScript + esbuild migration + full-screen table fix#14
Merged
Conversation
Adopt the official obsidian-sample-plugin toolchain: author in TypeScript
(src/main.ts) and bundle to main.js with esbuild.
- main.js is now build output (gitignored, rebuilt in CI, attached to
releases); never edited directly. esbuild emits it to the repo root
(no dist/), since Obsidian loads main.js from the plugin folder root.
- tsc --noEmit type-checks against the real obsidian types (strict, with
strictPropertyInitialization off because fields init in _build()).
- Follow Obsidian code guidelines: build icon SVGs via createElementNS
instead of innerHTML; teardown/cleanup unchanged.
- styles.css: drop the remaining !important (win on selector specificity)
and harden the .mermaid host stamping via closest('.mermaid').
- CI/release: npm ci -> npm run build -> node --check -> validate.mjs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- README.md is now user-facing (features, install, usage, keyboard) with example-image placeholders under docs/images/. - Add docs/DEVELOPMENT.md: TS+esbuild setup, local watch-build loop, the CI gate, Obsidian code guidelines, and an architecture overview. - Add CLAUDE.md project guidance; update CONTRIBUTING.md to the new toolchain and record the changes in CHANGELOG.md (Unreleased). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The full-screen table is cloned into document.body, outside the note's `.markdown-rendered` context, so it lost the theme's table styling (cell borders, padding, header background) and looked unstyled. Re-wrap the clone in a `.markdown-rendered` container so it inherits the same styling as the inline view; `display: contents` on that wrapper keeps the centering/scroll layout on the table itself. Developed via E2E: add tests/e2e (`npm run test:e2e`), which drives the bundled plugin under a minimal obsidian stub in headless Chromium, opens a table full screen, and asserts its cell styling + layout match the inline table. Documented in docs/DEVELOPMENT.md; run locally (no browser in CI). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Screenshots will be added later. Drop the placeholder image references and the docs/images/ placeholders until real screenshots are captured. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bump version across manifest.json, versions.json and package.json, and move the Unreleased notes into a dated 1.1.4 section. Highlights: full-screen table styling fix; migration to TypeScript + esbuild; removal of the remaining !important; E2E test for the table full-screen view. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 1.1.4. Bundles the toolchain migration, a user-facing table fix, and docs cleanup. Plugin behavior is preserved except the table fix.
Included
fix: full-screen table styling — the full-screen clone lived outside the note's
.markdown-renderedcontext and lost the theme's table styling (borders, padding, header). It is now re-wrapped in that context (display: contentskeeps the centering/scroll layout). Verified by a new headless-browser E2E test that drives the bundled plugin and compares against the inline table.build: TypeScript + esbuild toolchain — source is now
src/main.ts, bundled tomain.js(build output, gitignored, built in CI/release).tsc --noEmittype-checks against the realobsidiantypes. Icons built viacreateElementNS(noinnerHTML), per Obsidian's code guidelines. Only runtime dep isobsidian(external).npm audit: 0 vulnerabilities.style: removed the remaining
!important(override by selector specificity).docs: user-facing
README.md(placeholder images removed — real screenshots to come), newdocs/DEVELOPMENT.md,CLAUDE.md, updatedCONTRIBUTING.md/CHANGELOG.md.release:
version→ 1.1.4 inmanifest.json/versions.json/package.json; CHANGELOG dated.Verification
main(which auto-publishes the release).🤖 Generated with Claude Code