JopJirix — Kanban Board & Wiki for Joplin

I originally made this plugin for myself to work on my projects — if anyone likes it, I'd be glad I could help. If you have any suggestions or questions, feel free to ask. Good luck to everyone, and may order be with you! :slight_smile:

JopJirix — Kanban Board & Wiki for Joplin**

JopJirix is an independent project. It is not affiliated with Jira® or Atlassian.

JopJirix turns Joplin into a full‑fledged project tracker: agile‑style kanban cards plus a built‑in Wiki for project documentation. All data lives in native Joplin entities (notes, tags, plugin settings), so sync and backups keep working.

Repository

Screenshots

:sparkles: Features

Board

  • Cards with auto‑generated keys per project tag: 2COF-1, 2COF-2… (tag and start number are configurable; the field stays editable).
  • Statuses, assignees with roles and colors, initials avatars.
  • Dates: created / start / due; overdue is highlighted.
  • Drag & drop of cards between and inside card holders.
  • Card holders (columns): custom name, color and status; drag columns by the handle; a “do not change card status” mode.
  • Optional creation of a Joplin note for a card, with the task tag attached.

Wiki

  • Pages are Joplin notes with a configurable tag.
  • Subpage hierarchy (parent → children), shown as a tree in the list.
  • Built‑in markdown editor with “:floppy_disk: Save” and “:eye: Preview”.
  • Page tags: add/remove; the tag from settings is always present.
  • Robust writing with fact‑checking and fallback payloads — works on any Joplin build (including Snap/AppImage).
  • A page registry in plugin state: created pages never disappear from the list; older pages are recovered by a one‑time background scan.

Localization

  • 9 languages: EN, RU, DE, ES, PT, FR, SR, ZH, JA + auto‑detection of the Joplin language.
  • The “Interface language” setting takes priority, applies immediately and does not affect Joplin itself.
  • Built‑in translation editor: an “English text | key | translation” table.
  • Sharing translations via the jopjirix-locales.json file.
  • The translation is incomplete. You can add and fix translations yourself.

:package: Requirements

  • Joplin Desktop ≥ 2.6 (Linux / Windows / macOS, including Snap).
  • To build from source: Node.js ≥ 16 and npm.

:rocket: Installing a ready .jpl

  1. Settings → Plugins → :gear: → “Install from file…” → pick plugin.joplin.jopjirix-v*.jpl.
  2. Restart Joplin.
  3. The board opens in the side panel. Also available via Tools → JopJirix Board and the Ctrl/Cmd+Shift+J hotkey.

:hammer_and_wrench: Building from source

npm install
npm run dist
  • Compiled plugin → dist/; the .jpl archive → project root.
  • Dev mode: copy the contents of dist/ to ~/.config/joplin-desktop/plugins-dev/plugin.joplin.jopjirix/ and restart Joplin.

:gear: Settings (the “Settings” tab)

  • Project: name, tag/key, card start number, description.
  • Tag for Wiki pages.
  • Members: name, role, color.
  • Interface language (applies immediately).
  • Translations: pick a language → fill the table → “Save translations”.

:clipboard: Usage

Cards

  • “+ Card”: tag (pre‑filled from project settings), title, holder, status, dates, assignee; a preview of the future key.
  • On a card: click — edit; ✎ — editor; :wastebasket: — delete (optionally with the linked note); :memo: — open the linked note.

Card holders

  • “+ Add card holder”; :gear: — name/color/status; ⠿ — drag; “Delete” — with confirmation.

Wiki

  • “+ New page”, “+ Subpage”; “:floppy_disk: Save”; “:eye: Preview”; “:pencil: In Joplin”; the tags block at the bottom of the page.

:globe_with_meridians: Sharing translations

Translations are saved to:

<profile>/plugins-data/plugin.joplin.jopjirix/jopjirix-locales.json

Send the file to a colleague — they place it into the same folder of their Joplin and restart the app.

:card_index_dividers: Project structure

src/
  index.ts     — plugin start, menu, commands, toolbar button
  api.ts       — Joplin API access + local enums
  store.ts     — board state, settings, Wiki registry, i18n storage
  i18n.ts      — language dictionaries (EN/RU + stubs)
  messages.ts  — panel ↔ plugin messaging
  notes.ts     — robust note/tag operations
  ui.ts        — panel HTML/CSS
  webview.js   — panel UI logic
  panel.ts, types.ts, defaults.ts, util.ts
tools/build-jpl.js — .jpl packaging (tar)

:warning: Known limitations

  • Joplin menu and command labels are translated after an app restart.
  • On some Joplin builds (Snap) parts of the data API behave non‑standardly — the plugin automatically uses fallback payloads, fact‑checking and self‑healing of links.

:page_facing_up: License

MIT

Added description comments in card