Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/out/
/node_modules/
node_modules/
/.vscode-test/
*.vsix
.DS_Store
Expand Down
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,42 @@ All notable changes to the "PengSheets" extension will be documented in this fil

## [Unreleased]

### Added

- Native image support in Document tabs with paste and drag-and-drop capabilities.
- Integrated EasyMDE for enhanced Markdown editing in Document tabs.

## [1.3.0] - 2026-03-11

### Added

- Support YAML frontmatter with `title` field as an H1 equivalent, following a widely adopted convention.
- Display a read-only header field above the editor in Document tab edit mode, showing the Markdown heading level (e.g. `## Title`).

### Fixed

- Fix empty table cells containing extra whitespace (`| |` → `| |`).
- Fix extra blank lines accumulating under Document tab headers on each cell edit in frontmatter workbooks.

## [1.2.1] - 2026-02-24

### Fixed

- Fix Doc tab in Single H1 workbook showing table icon and spreadsheet toolbar instead of file icon and no toolbar.
- Fix edit mode for all Document tabs displaying `# title` header in textarea. Header is now omitted since tab name is editable via double-click.
- Fix edit mode textarea opening scrolled to bottom instead of top.

## [1.2.0] - 2026-02-23

### Changed

- **Simplified Workbook Detection**: Documents with a single H1 header are now automatically recognized as a Workbook. The previous convention of using `# Tables` as the Workbook marker is no longer required. Documents with multiple H1 headers continue to work as before (backward compatible).
- **Overview Tab**: Content directly under the H1 header is now displayed as a dedicated "Overview" tab. This tab supports renaming and deletion via context menu.

## [1.1.0] - 2026-01-22

### Added

- **Formula Columns**: A powerful new feature for automatic calculations and cross-table lookups
- **Calculation mode**: Apply formulas to columns using arithmetic expressions (`[Price] * [Quantity]`) or aggregate functions (SUM, AVG, COUNT, MIN, MAX). *Note: Currently limited to columns within the same table.*
- **Table Lookup mode**: VLOOKUP-style cross-table references to pull values from other tables
Expand All @@ -39,61 +50,73 @@ All notable changes to the "PengSheets" extension will be documented in this fil
- **Error Detection**: Non-numeric values in calculations return N/A for easy detection of broken references

### Fixed

- Fix sheet reordering across interleaved documents being incorrectly treated as physical-only moves, causing metadata removal and incorrect document order.
- Fix document save button not working.

## [1.0.6] - 2026-01-11

### Fixed

- Fix column names not saving when edited: The `updateCell` function now correctly handles header row edits (`rowIdx = -1`).

## [1.0.5] - 2026-01-11

### Fixed

- Fix context menu and add-tab dropdown being clipped when displayed near viewport edges.
- Fix + button "Add New Document" inserting document at wrong position in hybrid notebooks.
- Fix certain UI operations (e.g., toolbar formatting, column drag-and-drop) not updating immediately when document is unsaved.

## [1.0.4] - 2026-01-10

### Fixed

- Fix multiline text deletion in edit mode: Delete/Backspace now correctly removes selected text spanning newlines in contenteditable cells.
- Fix split-view layout corruption when deleting tables: Table indices in layout metadata are now properly updated after table deletion.
- Fix visual flicker when pressing Delete key on selected cells: Skip re-parsing workbook during synchronous updates to preserve optimistic UI changes.

### Added

- Add Selection/Range API mock for comprehensive JSDOM testing of contenteditable behavior.
- Add "Delete Pane" button (×) to empty split-view panes with improved empty state UI.

### Improved

- Significantly improved startup speed by replacing Pyodide with native WASM integration.

## [1.0.3] - 2026-01-07

### Fixed

- Fix document edit mode not being cancelled when clicking on bottom tabs.

### Improved

- Add scroll spacer at the end of document view for better scrolling experience.

## [1.0.2] - 2026-01-05

### Fixed

- Eliminate the blank period during extension startup by optimizing the loading indicator's CSS positioning (`position: fixed`).
- Update the underlying `md-spreadsheet-parser` to v1.1.0, improving performance and stability.

## [1.0.1] - 2026-01-05

### Added

- Add context menu item "Edit Table Description" to table tabs.
- Implement metadata editor for editing table descriptions.

### Fixed

- Fix loading timing issues where the extension could hang on initialization.

## [1.0.0] - 2026-01-03

### Added

- Initial release of PengSheets.
- Provides a spreadsheet-like GUI for editing Markdown tables.
- Supports validation, formatting, and rich editing features.
Expand Down
94 changes: 92 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,10 @@
"vitest": "^4.0.15"
},
"dependencies": {
"easymde": "^2.20.0",
"highlight.js": "^11.11.1",
"js-yaml": "^4.1.1",
"marked-highlight": "^2.2.3",
"md-spreadsheet-parser": "^1.4.3"
}
}
Loading