Smart Rems are rem that can do stuff. They are like to plugins, but more lightweight, easier to implement, are somewhat better integrated into RemNote and have access to more data.
You can do:
- Calculate arbitrary terms in JavaScript
- Spotify playlists
- Show information from external services (weather, ip, …)
- Embed some websites (even documents from cloud storage)
- Display any HTML (including iframes) and markdown (including markdown tables)
This is about 200 lines of code and 4-5 hours of tinkering. Much more stuff can be done in a few minutes/hours of work, like
>>> heatmap
- all kinds of queries within RemNote (rems and cards)
- WikiData queries
- Dashboards integrating other information sources (stock prices)
- UI elements (timer, inputs)
Right now this is limited to reading RemNotes offline database (IndexedDB). I don’t know if writing is save.
Since they are quite modular it should not be too difficult to distribute them as User Scripts through RemNote Library: A place to discover and share Custom CSS (and more?).
Related Feature Requests:
- Native Plugins (Custom JavaScript) Rem Lifecycle hooks and writing the IndexedDB.
- Editor Commands Pt. 1 (Click on Rems with JavaScript) History API access would be nice to have more
-
URL endpoint to Today’s Document Then we can generate a
>>> weekly agenda
or Daily Document calendars? more easily - Rem within Jupyter notebook Smart Rem execute cells like a Jupyter notebook
Roam Research equivalent: Smart Blocks (I have not looked too much into this. Maybe there are some more cool things we can implement as well.)