Quarto support (open-source scientific and technical publishing system)

Good point. What I really meant was “editable”, i.e. user should be able to open any file she wishes and not be limited to only .md extension. Seeing .qmd files in navigation pane makes no difference for me.

1 Like

Hi my plugin should work now again

you can install it via BRAT

3 Likes

I understand that this plugin only supports opening and editing .qmd files and nothing else. I can still not link to .qmd notes from other notes which is the core functionality and entire point of using Obsidian. So this plugin does not really solve the issue here.

1 Like

Hi @oijee you can enable “Detect all file extension” in the Obsidian “Files and Links” menu, the quarto files will be linked

2 Likes

Another option is to just use *.md for the quarto file extension. Quarto doesn’t care.

quarto render myfile.md --to pdf

Also instead of using quarto render you can use quarto preview. This will monitor the file and will render in the browser upon saving myfile.md

4 Likes

+1 After right-clicking on one of my Obsidian book note files and printing to PDF; I tried rendering the same book note markdown file using RMarkdown (ancestor or Quarto) and I had two issues:

  1. The link to the image was not dispaly because the image file was in an “attachments” directory
  2. The fonts were different because my Obsidian used a theme.
    This means that relevant meta data is not being stored in markdown; including the location of the attachments directory (or equivalently an “image” directory), the fonts and the heading levels (when I looked at the markdown the large heading in the Obsidian generated PDF was not enclosed in one or moe “#” in the raw markdown. The selling point that you control your notes because they are stored in text files (markdown) is only half true if Obsidian squirrels away formating data in themes and json files in .Obsidian.

I am using the Obsidian “Citation” add-in and the “Things” theme.

OBSIDIAN DOES NOT INCLUDE Quarto or RMarkdown YAML

Options:

  1. Manually create an Quarto or RMarkdown document in RStudio and copy YAML to Obsidian markdown file

  2. Create a template in Obsidian to automatically create Quarto or RMarkdown YAML in all new documents

  3. Create a Quarto project in the Obsidian Vault (directory) or a subdirectory of the Obsidian Vault directory. The Obsidian project can include a YAML file that applies to all files in the directory, so that that the YAML doesn’t have to be included in every markdown document. This is more convenient, but having the YAML in every file might be more portable.

1 Like

The advantage of Quarto over raw Pandoc is Quarto is useful for data science or any document with code generated charts. Quarto enables one to make graphs with Python/Matplotlib or R/ggplot by running the code in a markdown fenced code block. So, for reproducible research one can show exactly the code that was used to produce a specific graph in a paper or article. Quarto has options to either show the fenced code block (for example for a tutorial) or hide the code (for a presentation or paper for publication).
But, even if one is just printing text and images to a PDF; Quarto’s use of YAML provides a better interface to Pandoc and Quarto can also create websites and presentations.
Eventully, there will be a separate Quarto visual editor (right now it is a mode within RStudio), but even now using Quarto as an add-in to VS Code or Jupyter – Obsidian still adds value.
If one is doing a classroom assignment or a narrowly defined project it makes sense to do it directly in an editor like Quaro (coming soon) or VS Code or RStudio or Jupyter but if one is doing more open ended research or one wants to engage repurposing content or code re-use having a personal knowlege management system like Obsidian would help keep track of various code snippets and quotes buried with different projects and course assignments.
Personally, I am trying to develop a workflow:

Zotero (bibliography)
Obsidian (markdown)
IDE (Quarto / RStudio / VS Code / Jupyter)
output (html, pdf, docx, blogs, presentations, articles, etc).

And use this workflow to develop a Zettlekasten (in Obsidian) to seed future outputs.

5 Likes

If you use proper Markdown format for images (instead of wiki style) and include the full path, they should appear. Obsidian’s default wiki-style links are becoming more popular in editors but aren’t part of standard Markdown and are less widely compatible.

As a start to attaining the same styles, you could try copying Obsidian’s default style sheet and your theme’s style sheet to wherever your RMarkdown render needs styles to be. I imagine this might not fully solve the problem since your RMarkdown app may structure its HTML differently from Obsidian’s.

1 Like

Quarto refuses to render any code for files with .md extension. Considering that this is the entire point of Quarto, using .md is unfortunately not a solution.

ERROR: You must use the .qmd extension for documents with executable code.
2 Likes

I completely agree with you. I use to elaborate my scientific papers projects in Obsidian, then copy and paste my file into RStudio and compile it to get a beautiful LaTex pdf. It would be great if Obsidian team was able to integrate that process into Obsidian. To be honest, I’d be the first to get a paid licence if such a tool was launched.

2 Likes

Native Quarto support would be the next great thing for me in Obsidian too. Quarto makes layout and formatting so much easier (e.g., with centering and resizing images, handling bibliographies, etc.), as well as allowing to execute code blocks notebook-style.

6 Likes

Just pinging this back to life!

1 Like

Please don’t ping things back to life — it notifies everyone else in the thread. If the thread is still open, it’s still alive. Click the heart button to show support, or post a comment if you have something to add. Thanks!

2 Likes

I think this is an excellent idea.

Quarto has also been adopted by nbdev, and this will allow Obsidian to see increased usage in the science/AI/ML space.

I’m not sure what minimal set of features would be useful - off the top of my head:

  1. The ability to treat qmd file extension (or any specified) as a markdown file with live preview.
  2. Conversion from wikilinks to regular markdown links
  3. Special treatment of quarto specific markdown → convert callouts format, divs format

Amazing features would be:

  1. Somehow bundling the quarto binary in a plugin? I know it’s written in typescript but relies on pandoc so it won’t really be possible from what I can see.
5 Likes

The problems are caused mostly by the proprietary formatting of Quarto, not Obsidian. So I feel like these issues should perhaps be solved by Quarto instead.

Sometime in the future Quarto should be able to execute code in .md files. Once this happens, there will be no need to have .qmd files and support for them in Obsidian. As for the Quarto markdown, it is quite specific (e.g. columns), relies on external tools (e.g. diagrams), overlaps with Obsidian functionality (e.g. callouts) and is likely still being developed. So maintaining its support would be a lot of work.

1 Like

I am using Quarto with VS code and it can render .md extension without any problem.

1 Like

You can render an .md file with Quarto if the file contains no executable code. Both quarto-cli as well as Rstudio print an error when trying to render an .md that includes calculations (which is the entire idea of Quarto). Perhaps VC code is renaming the .md to .qmd in the background during the rendering because that is the only way I can imagine it would work.

Regarding the discussion here, I feel like opening Quarto (.qmd) files in Obsidian makes very little sense. The syntaxes are different and much of Quarto markdown would be displayed incorrectly.

1 Like

I think opening Quarto files in obsidian makes very little sense because there is no current integration with it. If there was integration and obsidian could be a Quarto editor, it would make sense (at least in my mind). However, the points you express in your previous message make a lot of sense, and they are quite insightful to understand the difficulties in developing this integration. I am personally a researcher in ML, and I would love to be able to merge my note-taking (Obsidian) with my ipynb notebooks (I use VSCode for this). It’s a dream of mine to have my notes and my notebooks become one; this would be an absolute game-changer in terms of productivity and simplicity of my workflow, I would pay big $ for this. If Obsidian integrated with Quarto, this would be a dream come true! :slight_smile:

4 Likes

Hi, so I want to adapt this command to change the FileMaker from .md to .qmd and only then render the markdown file, how would I go about that?

1 Like

I outline my Obsidian/Quarto workflow here, I think there is a set of plugins that collectively can really ease your life quite a bit.

Obsidian/quarto setup

As I work mostly in R I am thinking of forking the “execute code” plugin, and specifically for R expending it with the following features:

  1. after running a chunk, run a brief background command (like ls(), classs() and dim()) and display the environmental variables to the user in a pane. (Ill have to learn a whole lot more about plugin development for this…)

  2. Better whitespace handeling, sometimes valid R code is parsed incorrectly I think

  3. better figure handling, right now the code executed requires very specific handling of plot commands, which is sub-optimal.

3 Likes