Git Product home page Git Product logo

obsidian-quip's People

Contributors

az-aws avatar sblakey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

pritoj az-aws

obsidian-quip's Issues

Update fails on table with incremental rows

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	|



Title support

"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.

Allow Quip New Document command from the Reading View

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.

Cross-File Links

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.

Update existing Quip Document if the Quip URL is already in the frontmatter of the note

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

Dataview "current.file" is undefined during export

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.

Custom Quip title/header on export of Note to Quip

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:

  • Prompt for a custom title of the note to be placed in quip, so the user can override or add info
  • Add the custom title supplied to the frontmatter of the note (quip-export-title, etc) so it can be reused in future exports without prompting

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.

Regression Suite

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.

1mb limit on create

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.

Publish-as-HTML splices document name into first heading

Reported via Slack.

Obsidian document has:

  • name of "ThanksSean!", seen in label for tab at top
  • First heading of "Wow"

Quip document has:

  • name "ThanksSean!"
  • "ThanksSean!" as text for the first heading
  • "ThanksSean!" as the first heading

Import fails if document contains a mailto link

When importing a quip document with a mailto link, the import fails on this line:

const secret_path = href.split('.com/', 2).at(1).split('/').at(0);

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.

Import From Quip

Some sort of import capability presumably converting from HTML to markdown.

Update existing Quip document no longer works

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.

Inconsistent document title behavior

Thanks for making this plugin! I just used it for the first time today and was experiencing unexpected behavior. Here are the steps:

  1. Write a document in Obsidian
  2. Publish to Quip using "Publish as new Quip document"
  3. Observe that the title (Heading 1) in the Quip doc exists, reflecting the title in Obsidian
  4. Make changes to the doc in Obsidian
  5. Publish to Quip using "Update existing Quip document"
  6. Observe that the title in the Quip doc no longer exists

Expected behavior:
The title in the Quip doc should persist through published updates.

Github Sponsors

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.

Refresh a note from Quip

"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".

Strip Obsidian comments

This line has an incline comment %% here %%.

This line is not in a comment.

%%
This line is inside a block comment.
%%

Bulk Update of notes to Quip

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.