Obsidian Notion-Like Tables
Obsidian Notion-Like Tables allows you to create markdown tables using an interface similar to that found in Notion.so.
In 2.3.4 I introduced a bug that made it impossible to edit cells. This persisted until 2.3.5. I apologize for the inconveniece this caused anyone.
Version 2.3.6 (newly updated) includes a lot of bug fixes/refactored code. All in all, the functionality is the same, but you should notice that some UI discrepencies were fixed, including how the edit menu for cells appear.
I also replaced the tabbing system for a custom focus system. Press tab to see how things work now. In addition, when you add a new row, the first cell of that row will focus.
Thank you to imeed166 for his help and suggestions. :)
- Refactored menu into submenus (More like Notion ;)
- Added cell tabbing for accessibility
- Add a new NLT markdown table
ctrl + shift + +(Windows) (Press + once)
cmd + shift + +(Mac)
- Add a new column to a focused table
ctrl + shift + \(Windows)
cmd + shift + \(Mac)
- Add a new row to a focused table
ctrl + shift + enter(Windows)
cmd + shift + enter(Mac)
Making a Table via Command
To quickly make a table you can use the add table command. Press
cmd + p on your keyboard search "Add table".
Note: you must be in editing mode for this command to appear.
Toggle to reading mode and the table will automatically render.
Making a Table Manually
A Notion-Like Table uses normal Obsidian table markdown syntax with 2 additional rows:
- A table id row
- A type definition row
Table ID Row
The table id row is a normal markdown row with the first column containing a unique string. This string must be unique for each table in a file (if you use the same id in another file that's fine).
The id is used to map a table to its data in the settings. If you change this id, your table will not be able to find its settings and will create new ones.
If you omit this id, your table will not be rendered as an NLT table.
Type Definition Row
The type definition row is a normal markdown row with each column defining the type of data you want that column to accept. The plugin currently supports 3 column types:
To edit a cell, just click on it. A textarea will appear which will allow you to edit the cell's content. Just click outside the box or press enter to save the text. Notion-Like tables will automatically handle updating your markdown ;)
Tags have a special notion-like menu that will appear. Tags are scoped to each column of a table. You can type text to filter existing tags and select one. Or you can create a new tag by typing text and clicking "Create New" or pressing enter.
Click on a header name to view the header menu. In the header menu you can rename the header, sort your column values or change the header type.
If you want to render a link in text, just add square brackets
If you want to display a url, type the url making sure it begins with
https://. NLT will automatically render it in the table.
Copy Cell Content
Right click a cell and its content will be added to your clipboard.
NOTE: The table must be in focus for this to work. Click on the table to focus it.
Undoing a Type Change
NLTs does not currently have built in history. If you need to undo changes, go to editing mode and undo markdown changes using
option-zon mac). Then go back to reading mode.
NLT Tables Not Rendering
If your table is missing a table id row or type definition row then it will not be rendered as a Notion-Like Table. Likewise, if you use an invalid column type other than the accepted types
tag. The table will not be rendered.
Cell Type Errors
A cell type error will occur if you enter data which doesn't match the column data type. Please correct this error in your markdown to continue.
NLT tables uses normal table semantic elements (
td, etc) to render. If you wish to edit the display of the table, just style those elements in your CSS.
If you find a bug or would like to suggest a feature, please open an issue here. I will try to respond as soon as possible.
Support Plugin Development
- I have a lot of features that I am excited to add to this plugin. If you would like to help support plugin development, you can buy me an herbal tea ;)
- GNU GPLv3
- Trey Wallis