Homepage    |    GitHub    |    API    |    FAQ

Plugin: markdown table calculations

I've just finished the first version of Markdown table calculation plugin (discussed some time ago here are Joplin forum). It is available at:

Please feel free to test and comment.



Looks really good. Would be very helpful!

Any chance of getting it in .jpl format or in the repo? :wink:

Updated to the new plugin framework and published to npmjs. As I understand, Joplin plugin repo will fetch this automatically, is it right?

1 Like

The release on Github is available too: Release 1.0.0 · oswida/joplin-markdown-calc · GitHub

1 Like


Hey Oskar

it doesn't appear to be working. At least not consistently.

Every now and again it will process FM, but it never works with TBLFM.

FM only appears to work right after pasting your example and seemingly only after, in the note, the TBLFM example... that was either using the button or the markdownCalculate command in the palette

Joplin: v1.7.3
OS & hardware: macbook pro (2018); OSX 11 Big Sur

Ok, I've found a bug. Preparing the fix.

You asked for an example(s)... I'm not sure if multiple are necessary since I started with a fresh note.

These were my steps:

  • I installed the plugin and restarted
  • created a new note
  • in the markdown edit, pasted the two examples from the github project page
  • hit the toolbar button (also, after, the palette command to test)
  • nothing happened, so...
  • messed around a bit with spacing between tables, order, etc
    • sometimes the FM worked
    • most times no change

In the one or two instances where the FM/inline worked it came after the table example you had for TBLFM... not sure if that's significant

Hope that helps

Should be fixed. Please check Release 1.0.1 · oswida/joplin-markdown-calc · GitHub

1 Like

That did the trick!

Workin great! Now to play lol

Great work!

Thanks for your work. This looks great.

Hi there - for me it still doesn't seem to work. It installs fine and a button appears but is not functional.
Using TBLFM vs. FM both don't do anything.
It is also not listed on the left side of the preferences menu under "Plugins" where you can configure the installed plugins (which might be ok, just mentioning for completeness)
Working on a Macbook with Catalina, Joplin 1.7.11 rev. f560563

Could you send me an example of your notes with the tables and formulas definitions (if there was something other than documentation examples of course)?

That could be also a platform issue, but unfortunately, I do not have an access to a Mac machine, so I'm not able to do any diagnostics for that platform. Last check on Windows was with 1.7.11 rev. f560563d8 and seems to work fine. I would appreciate if anyone with MacOS based machine could run plugin in a development mode and send me some feedback.

I can get basic functionality to work but many of the functions on this page Functions | Formula.js do not calculate correctly for me. For example, DATEVALUE returns 40777 instead of "Mon Aug 22 2011 00:00:00 GMT-0700 (PDT) "

love this function. 1 issue i have though is it doesn't seem to work for me if i have a row header
this works:

| :---: | :---: | :---:|
|20| |
| |x|
|1| |
| |34|
|21|34| |
<!--TBLFM A5=SUM(A1:A4); B5=SUM(B1:B4)-->```


whereas this does not:
```| device | load (W) APC | load (W) Trip |wall |
| :--- | :---: | :---: | :---:|
|monitor|25| |
|monitor| |x|
|computer|1| |
|printer| |34|
|totals| | | |
<!--TBLFM B5=SUM(B1:B4); C5=SUM(C1:C4)-->```

am i missing something?


You have to put the tables in code blocks, otherwise we don't see the markdown code.

Sorry bout that, fixed I think.

1 Like

Thanks for feedback.
Strange, because I experience completely different behaviour. The second example is working, while the first one (without table column headers) is not even recognized as a table by the Joplin editor.

this is weird, now both of these work. i must have had a typo or something, somewhere...sorry, an extra space or something?

| :---: | :---: | :---: |
|2| |
| |x|
|1| |
| |34|
|3|34| |
<!--TBLFM A5=SUM(A1:A4); B5=SUM(B1:B4)-->


whereas this does not:

|device|load (W) APC|load (W) Trip|wall|
|monitor|35| |
|monitor| |x|
|computer|1| |
|printer| |1|
|totals|36|1| |
<!--TBLFM B5=SUM(B1:B4); C5=SUM(C1:C4)-->

This is a useful feature, and it would be more useful if one could force a recalculation in the Android app. Is this not possible, or am I missing something?

It renders fine. Right now I'm experimenting, using the example tables.