sblakey / obsidian-quip Goto Github PK
View Code? Open in Web Editor NEWObsidian plugin to publish notes to Quip.com
License: MIT License
Obsidian plugin to publish notes to Quip.com
License: MIT License
Initial document markdown:
| Column A | Column B |
| ------ | ------- |
| Test | Test |
| Test 2 | Test 2 |
Updated with:
| Column A | Column B |
| ------ | ------- |
| Test | Test |
| Test 2 | Test 2 |
| Test 3 | test 3 |
Results in Quip document:
|Column A |Column B |
|--- |--- |
|Test |Test |
|--- |--- |
|Test 2 |Test 2 |
|Column A |Column B |
|--- |--- |
|Test |Test |
|--- |--- |
|Test 2 |Test 2 |
|Test 3 |test 3 |
Right now, I manually move all of my imports to a Quip Import folder. It'd be nice if the plugin could do that for me.
"The only issue I'm having is that Quip is using the first h
tag it finds as the title of the document, instead of using the title of the obsidian note itself.
The Quip publish as new document command is not available if the note is in Reading view. Not a huge deal to swap to edit view, but I am using another plugin [ https://github.com/bwydoogh/obsidian-force-view-mode-of-note ] to force certain "dashboard/summary" notes to always be in reading view (due to rendering reasons, using custom buttons, etc). So, exporting these specific pages will always require swapping to Editing view, exporting and then swapping back. And unfortunately for me, these are the kind of notes I will be looking to export.
Would be nice if the command was available from the reading view, even if it needs to temporarily and automatically swap to editing, export and then swap back.
Thank you for such an amazing plugin!
If I have two documents, and each has a quip: https://quip-xxxx.com/3Z...dR
in its frontmatter, is there any way to get this plugin to create the link?
I've noticed that if I directly use a Quip link verbatim, when uploading from Obsidian to Quip, the rendered Quip document has a real cross-file link.
It seems that this should be somewhat automatable, just to visit each [[linked]]
file, and pull the quip:
link from the FEM of the linked-to document.
Currently plugin can only create new documents, and populates the last known Quip URL in the frontmatter. As expected, for a previously exported note "Create new Document" command creates a new document in Quip and replaces the current Quip URL in the frontmatter.
But, it would be very useful that if the previous Quip url is already in the frontmatter to not create a new document, but to update the existing document in Quip at that url with the current content of the note. [ https://quip.com/dev/automation/documentation/all#operation/editDocument ]
This also enables issue #10
(details provided over Slack)
When I export a dataview codeblock, a error is rendered in Quip.
Simple Obsidian Note:
## Some Note
- [ ] #task some task
## Action Items
```dataviewjs
const query = `
not done
path includes ${dv.current().file.path}
# you can add any number of extra Tasks instructions, for example:
group by heading
`;
dv.paragraph('```tasks\n' + query + '\n```');
```
Observed error in Quip:
Evaluation Error: TypeError: Cannot read properties of undefined (reading 'file')
at eval (eval at <anonymous> (plugin:dataview), <anonymous>:3:29)
at DataviewInlineApi.eval (plugin:dataview:18370:16)
at evalInContext (plugin:dataview:18371:7)
at asyncEvalInContext (plugin:dataview:18381:32)
at DataviewJSRenderer.render (plugin:dataview:18402:19)
at DataviewJSRenderer.onload (plugin:dataview:17986:14)
at DataviewJSRenderer.e.load (app://obsidian.md/app.js:1:869278)
at DataviewApi.executeJs (plugin:dataview:18921:18)
at DataviewPlugin.dataviewjs (plugin:dataview:19423:18)
at eval (plugin:dataview:19344:124)
I think it's due to the ${dv.current().file.path}
, but I am not sure how to work around it. It shows up correctly in the Preview pane.
The title/header of the note in Obsidian makes sense in context, but when exported as a standalone note to Quip, the title doesn't necessarily always make sense, or would benefit from adding additional information because it is probably for a different audience.
Would be nice if when exporting:
Bonus: enable a datetime placeholder in the custom title, like {{YYYY-MM-DD hh:mm:ss}}, so that whenever the document is exported, the title in Quip will automatically have that timestamp in the header. And maybe a placeholder of {{title}} so that it could dynamically allow for appending to the current note title, like: "{{title}} - For Review by Joe Smith", etc.
Seems like that URL is the default, and as of af1e934, we error if the configured URL is the default value
While the Quip published API doesn't change often, Quip behavior under the hood can change. Build a regression suite to verify that this plugin behaves as advertised.
The title likely needs to map : to a different character for import.
Current experience: publishing silently fails.
Console shows an HTTP 401 Unauthorized.
Quip API complains if we create a document with more than 1mb of HTML. This is a very easy limit to hit, since the plugin is currently inlining images with data urls.
Try it and see.
Reported via Slack.
Obsidian document has:
Quip document has:
When importing a quip document with a mailto link, the import fails on this line:
Line 33 in fb38812
The trace is:
plugin:quip:1316 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'split')
at Importer.process_A (plugin:quip:1316:55)
at Importer.importHTML (plugin:quip:1345:18)
process_A @ plugin:quip:1316
importHTML @ plugin:quip:1345
Essentially the if statement is not correctly guarding against mailto links because the hostname of the URI is an empty string.
Some sort of import capability presumably converting from HTML to markdown.
Starting in Dec 2023, it appears that the "Quip: Update existing Quip document" command no longer updates the corresponding Quip document that was published.
When I try making a publish while I have the Quip doc open in a browser, I do notice that the Quip document "flashes" to the latest copy during the update, but then immediately reverts back to the previous copy after the update says it's successful.
I'm not aware of any workarounds to fix this yet. I've also tried ensuring that I don't have a Quip document open while updating in case that was causing it.
Thanks for making this plugin! I just used it for the first time today and was experiencing unexpected behavior. Here are the steps:
Expected behavior:
The title in the Quip doc should persist through published updates.
It doesn't work-with-Quip as well as the HTML publisher, and just makes things more confusing.
Please consider signing up Github Sponsors so that I can throw you some beer money!
This plugin is super useful in my workflow, and supports all of the features I need at the moment.
"I think my main issue at this point is that there doesn't seem to be a way to update my local copies in Obsidian without creating a new file. I know I can import, but it seems as though if I already have one copy of the file, this will just create a new one. Am I doing something wrong, or is the tool mostly for uploading to Quip and assuming that others won't be modifying the document?"
This Command should be enabled for any note with quip
metadata, whether it was Imported or Published.
Maybe include a warning with a "never show this again" checkbox about "Refreshing from Quip will completely replace the contents of the current note".
This line has an incline comment %% here %%.
This line is not in a comment.
%%
This line is inside a block comment.
%%
Related to #8
A command (e.g. "Bulk Update Notes to Quip") enabled that will gather up all notes in the vault that have a "quip" value in the frontmatter (meaning they were previously exported and the quip url was saved), display a checkbox list of all of those notes to enable which ones to export (or not), allow the user to check (or not) the various notes, and then export the checked notes to quip at the same previous url they had before.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.