<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Srinjoy Santra</title>
    <description>The latest articles on DEV Community by Srinjoy Santra (@srinjoysantra).</description>
    <link>https://dev.to/srinjoysantra</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F593852%2F4b7aa340-c334-4e99-8b8e-967ac07b0485.png</url>
      <title>DEV Community: Srinjoy Santra</title>
      <link>https://dev.to/srinjoysantra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/srinjoysantra"/>
    <language>en</language>
    <item>
      <title>How to run Obsidian CLI on WSL</title>
      <dc:creator>Srinjoy Santra</dc:creator>
      <pubDate>Mon, 23 Mar 2026 18:33:02 +0000</pubDate>
      <link>https://dev.to/srinjoysantra/how-to-run-obsidian-cli-on-wsl-1jj5</link>
      <guid>https://dev.to/srinjoysantra/how-to-run-obsidian-cli-on-wsl-1jj5</guid>
      <description>&lt;p&gt;My preferred dev terminal nowadays is WSL2 of Ubuntu. After installing &lt;a href="https://obsidian.md/help/cli#Install+Obsidian+CLI" rel="noopener noreferrer"&gt;Obsidian CLI&lt;/a&gt; on windows, I could not figure out how to run the new cli tool on WSL.&lt;/p&gt;

&lt;p&gt;The following instruction does not work in WSL&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;obsidian &lt;span class="nb"&gt;help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;However, the same works perfectly fine on Powershell or command prompt as the executable path is already added to environment variables path.&lt;/p&gt;

&lt;p&gt;Usually windows path is imported into WSL.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$PATH&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If not enable it in&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano ~/.wslconfig
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[interop]
appendWindowsPath=true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then restart wsl.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;wsl &lt;span class="nt"&gt;--shutdown&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once your app is in the Windows PATH, you can run it by:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;obsidian.exe
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you try running on WSL (in my case Ubuntu)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;obsidian.exe &lt;span class="nb"&gt;help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the output appears all garbled now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtaov9v5zl9lw9jax3vg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtaov9v5zl9lw9jax3vg.png" alt="obsidian cli on linux" width="800" height="226"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Reason
&lt;/h3&gt;

&lt;p&gt;Windows executables output \r\n (CRLF) line endings, while Linux terminals expect \n (LF). The extra carriage return (\r) causes the cursor to jump back to the start of the line, producing messy output.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Fix
&lt;/h2&gt;

&lt;p&gt;Pipe the output through &lt;code&gt;tr -d '\r'&lt;/code&gt; to strip carriage returns:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;obsidian.exe 2&amp;gt;&amp;amp;1 | &lt;span class="nb"&gt;tr&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'\r'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Permanent Fix: Create a Wrapper Script
&lt;/h2&gt;

&lt;p&gt;Instead of typing the pipe every time, create a wrapper script:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/bin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create &lt;code&gt;~/bin/obsidian&lt;/code&gt; with the following content:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;
obsidian.exe &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; 2&amp;gt;&amp;amp;1 | &lt;span class="nb"&gt;tr&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'\r'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make it executable and add &lt;code&gt;~/bin&lt;/code&gt; to your PATH:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;chmod&lt;/span&gt; +x ~/bin/obsidian
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'export PATH="$HOME/bin:$PATH"'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; ~/.bashrc
&lt;span class="nb"&gt;source&lt;/span&gt; ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now just run &lt;code&gt;obsidian&lt;/code&gt; instead of &lt;code&gt;obsidian.exe&lt;/code&gt; — clean output, every time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzs7i8iuogw7gvq984mv0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzs7i8iuogw7gvq984mv0.png" alt="Output after removing carriages" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>obsidian</category>
      <category>tooling</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How I  take notes for YouTube videos</title>
      <dc:creator>Srinjoy Santra</dc:creator>
      <pubDate>Sat, 07 Aug 2021 20:24:08 +0000</pubDate>
      <link>https://dev.to/srinjoysantra/how-i-use-yinote-to-take-notes-for-youtube-videos-4d6p</link>
      <guid>https://dev.to/srinjoysantra/how-i-use-yinote-to-take-notes-for-youtube-videos-4d6p</guid>
      <description>&lt;p&gt;&lt;a href="https://yinote.co/" rel="noopener noreferrer"&gt;YiNote&lt;/a&gt; is a free Chrome extension to take notes as you watch through a YouTube video. It has saved me countless hours in going to and fro between two screens to take notes.&lt;/p&gt;

&lt;p&gt;Despite being an incredible tool to keep your video notes organised in a single place, I really did not like the way it exports notes in markdown format.&lt;/p&gt;

&lt;p&gt;I came across a blog by Nicole van der Hoeven about her &lt;a href="https://nicolevanderhoeven.com/blog/20201215-yinote-to-roam/" rel="noopener noreferrer"&gt;YiNote to Roam Research Workflow&lt;/a&gt;. This inspired me to build a similar thing for markdown editors.&lt;/p&gt;

&lt;p&gt;I wrote this quick dirty NodeJS implementation of it.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;I run this script to use the exported json file from YiNote to turn all my video notes into a customised markdown format.&lt;/p&gt;

&lt;p&gt;And the end result is this in &lt;a href="https://obsidian.md/" rel="noopener noreferrer"&gt;Obsidian&lt;/a&gt; Editor!!&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4desn0kufnyhq6t0wlw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4desn0kufnyhq6t0wlw1.png" alt="Obsidian yt note"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>youtube</category>
      <category>note</category>
      <category>obsidian</category>
      <category>markdown</category>
    </item>
  </channel>
</rss>
