Skip to content
Merged
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 .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Install golang
uses: actions/setup-go@v5
with:
go-version: '1.20.5'
go-version: '1.24.2'

- name: Run unit tests
run: go test -v ./...
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Install golang
uses: actions/setup-go@v5
with:
go-version: '1.20.5'
go-version: '1.24.2'

- name: Run unit tests
run: go test -v ./...
Expand Down
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,46 @@
## 0.6.5

This release includes improvements to the **Vim/Neovim plugin**,
introducing support for **note deletion** with verification and
confirmation, along with enhanced finder and terminal behavior.

The embedded web/app's **tab management** has been rewritten to provide
a smoother and more intuitive user experience, while also laying the
groundwork for upcoming features such as **asset support** and
side-by-side **tab-groups**.

Fixed:

- Vim: Fix weekly notesium invocation to use `g:notesium_bin`.
- Vim: Use startinsert for reliable finder terminal mode entry.
- Vim: Set finder `filetype=fzf` to avoid vim-tmux-navigator interception.

- Web/App: Tabs - support moving a tab to the first position.
- Web/App: Layout fixes and improvements.

Added:

- Vim: Note deletion with verification checks and user confirmation.
- Vim/Finder: Support `notesium_finder_theme` (light/dark).

Changed:

- Vim: Increase columns minimum for Finder preview.
- Vim: Refactor finder terminal open to avoid using a lambda.

- Web/App: Tabs - improve and simplify tab tracking via tabHistory stack.
- Web/App: Tabs - decouple open tabs and ordering from notes array.
- Web/App: Tabs - generalize tab structure to support non-note types.
- Web/App: Tabs - apply and visually reflect tab reordering during drag.
- Web/App: Tabs - animate tab reordering for visual clarity.

- Tests: Use realpath when performing absolute path verification.
- Tests: Replace pidof with pgrep for macOS compatibility.
- Tests: Determine expected platform instead of hardcoding.
- Tests: Use `notesium web` instead of netcat for mock release server.

- CI/CD: GitHub Actions workflows - bump go version to match dev environment.

## 0.6.4

This release introduces the **finder** command, a built-in interactive
Expand Down
6 changes: 3 additions & 3 deletions web/app/graph-panel.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ var t = `
</span>
</div>
<div>
<details class="flex w-full flex-none cursor-pointer [&_svg]:open:rotate-90">
<details class="w-full cursor-pointer [&_svg]:open:rotate-90">
<summary class="flex py-1 px-2 items-center justify-items-center justify-between hover:cursor-pointer focus:outline-none">
<span class="text-sm font-medium leading-6 text-gray-700">display</span>
<span class="text-gray-400 -mr-px"><Icon name="chevron-right" size="h-5 w-5" /></span>
Expand All @@ -53,15 +53,15 @@ var t = `
</li>
</ul>
</details>
<details class="flex w-full flex-none [&_svg]:open:rotate-90">
<details class="w-full cursor-pointer [&_svg]:open:rotate-90">
<summary class="flex py-1 px-2 items-center justify-items-center justify-between hover:cursor-pointer focus:outline-none">
<span class="text-sm font-medium leading-6 text-gray-700">forces</span>
<span class="text-gray-400 -mr-px"><Icon name="chevron-right" size="h-5 w-5" /></span>
</summary>
<ul class="mt-1 ml-px px-2 text-xs leading-6 text-gray-700">
<li v-for="(option, key) in forces" :key="key"
class="items-center justify-items-center justify-between block p-2 pr-0">
<div class="flex items-center justify-between">
<div class="w-full flex items-center justify-between">
<span v-text="option.title"></span>
<span v-text="option.value"></span>
</div>
Expand Down
2 changes: 1 addition & 1 deletion web/app/graph.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ var t = `
<ul v-show="showSettingsForces" class="mt-1 ml-px px-2 text-xs leading-6 text-gray-700">
<li v-for="(option, key) in forces" :key="key"
class="items-center justify-items-center justify-between block rounded-md py-2 pr-2 pl-8">
<div class="flex items-center justify-between">
<div class="w-full flex items-center justify-between">
<span v-text="option.title"></span>
<span v-text="option.value"></span>
</div>
Expand Down
6 changes: 3 additions & 3 deletions web/app/note-sidebar.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var t = `
<div class="flex gap-x-5 gap-y-2 p-2 border-b sticky top-0 z-10 bg-white">
<button type="button" :disabled="!note.isModified" @click="$emit('note-save')"
:class="note.isModified ? 'bg-blue-600 hover:bg-blue-500 text-white' : 'bg-gray-300 text-gray-400'"
class="w-28 rounded px-2 pt-2 pb-1 text-xs shadow-sm">Save</button>
class="w-28 rounded px-2 py-1.5 text-xs shadow-sm">Save</button>
<div class="flex gap-x-5 gap-y-2 mt-0 ml-auto items-center justify-center">
<span title="links" @click="$emit('finder-open', '/api/raw/links?color=true&filename=' + note.Filename)"
class="cursor-pointer text-gray-400 hover:text-gray-700">
Expand Down Expand Up @@ -69,15 +69,15 @@ var t = `
</dl>

<div class="m-2 overflow-hidden rounded-lg bg-gray-50 pl-4 pr-2 py-3">
<div class="flex justify-between mt-1 mb-2 text-sm">
<div class="flex justify-between items-center mt-1 mb-2 text-sm">
<h3 class="leading-6 font-semibold tracking-tight text-gray-700">Links incoming</h3>
<span class="text-gray-400 mr-2" v-text="countIncomingLinks"></span>
</div>
<LinkTree v-for="link in sortedIncomingLinks"
:title="link.Title" :filename="link.Filename" :linenum="link.LineNumber" :key="link.Filename + link.LineNumber"
@note-open="(...args) => $emit('note-open', ...args)" />

<div class="flex justify-between mt-4 mb-2 text-sm">
<div class="flex justify-between items-center mt-4 mb-2 text-sm">
<h3 class="leading-6 font-semibold tracking-tight text-gray-700">Links outgoing</h3>
<span class="text-gray-400 mr-2" v-text="countOutgoingLinks"></span>
</div>
Expand Down
2 changes: 1 addition & 1 deletion web/app/note.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ var t = `
<div v-if="!$notesiumState.showNoteSidebar || note.ghost" class="absolute right-0 mt-2 mr-4 h-7 z-10 inline-flex items-center">
<button type="button" :disabled="!this.note.isModified" @click="handleSave()"
:class="this.note.isModified ? 'bg-blue-600 hover:bg-blue-500 text-white' : 'bg-gray-300 text-gray-400'"
class="rounded px-10 pt-2 pb-1 text-xs">Save</button>
class="rounded px-10 py-1.5 text-xs">Save</button>
<span v-if="!note.ghost" title="sidebar" @click="$notesiumState.showNoteSidebar=true"
class="ml-2 cursor-pointer text-gray-400 hover:text-gray-600">
<Icon name="outline-information-circle" size="h-5 w-5" />
Expand Down
4 changes: 2 additions & 2 deletions web/app/settings-about.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ var t = `
</div>
<template v-for="(val, key) in runtime" :key="key">
<template v-if="typeof val === 'object' && val !== null">
<details class="text-xs flex w-full flex-none bg-gray-50">
<details class="text-xs flex w-full flex-col bg-gray-50">
<summary class="flex w-full pl-6 pr-5 py-2 flex-none items-center justify-between hover:bg-gray-100 hover:cursor-pointer focus:outline-none">
<dt class="text-xs font-medium leading-6 text-gray-900" v-text="key"></dt>
<dd><Icon name="chevron-right" size="h-4 w-4" /></dd>
Expand All @@ -89,7 +89,7 @@ var t = `
</template>
</template>

<details class="text-xs flex w-full flex-none bg-gray-50">
<details class="text-xs flex w-full flex-col bg-gray-50">
<summary class="flex w-full pl-6 pr-5 py-2 flex-none items-center justify-between hover:bg-gray-100 hover:cursor-pointer focus:outline-none">
<dt class="text-xs font-medium leading-6 text-gray-900">state</dt>
<dd><Icon name="chevron-right" size="h-4 w-4" /></dd>
Expand Down
2 changes: 1 addition & 1 deletion web/app/sidepanel.js
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ var t = `
</li>
<li v-for="note in filteredNotes" :key="note.Filename"
@click="$emit('note-open', note.Filename)"
class="group flex justify-between py-1 pl-4 pr-2 cursor-pointer rounded-r-2xl text-gray-900 hover:bg-indigo-50
class="group flex justify-between items-center py-1 pl-4 pr-2 cursor-pointer rounded-r-2xl text-gray-900 hover:bg-indigo-50
dark:text-gray-400 dark:hover:bg-gray-600">
<div class="text-sm leading-6 overflow-hidden truncate" v-text="note.Title" :title="note.Title"></div>
<div class="hidden group-hover:block text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 -mr-1 pr-1"
Expand Down