<?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: Kushak Zohaad Jafry</title>
    <description>The latest articles on DEV Community by Kushak Zohaad Jafry (@kushakjafry).</description>
    <link>https://dev.to/kushakjafry</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%2F538841%2F4d36e429-82d5-41a2-80bf-d19ac0f6f9eb.png</url>
      <title>DEV Community: Kushak Zohaad Jafry</title>
      <link>https://dev.to/kushakjafry</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kushakjafry"/>
    <language>en</language>
    <item>
      <title>I built a VS Code extension to capture terminal output as styled screenshots</title>
      <dc:creator>Kushak Zohaad Jafry</dc:creator>
      <pubDate>Wed, 01 Apr 2026 12:41:27 +0000</pubDate>
      <link>https://dev.to/kushakjafry/i-built-a-vs-code-extension-to-capture-terminal-output-as-styled-screenshots-4ch9</link>
      <guid>https://dev.to/kushakjafry/i-built-a-vs-code-extension-to-capture-terminal-output-as-styled-screenshots-4ch9</guid>
      <description>&lt;p&gt;Ever tried sharing terminal output with someone? You've got two bad options:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Copy-paste&lt;/strong&gt; - and watch your perfectly aligned table turn into a mess. Paste into WhatsApp, Slack, Google Docs, or Word and the columns misalign, box-drawing characters break, and structured output becomes an unreadable wall of text.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Screenshot&lt;/strong&gt; - but your platform's screenshot tool only captures what's on screen. If your table or log extends beyond the viewport, you're stitching multiple screenshots or just giving up.&lt;/p&gt;

&lt;p&gt;I kept hitting both problems, so I built &lt;strong&gt;TermSnap&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is TermSnap?
&lt;/h2&gt;

&lt;p&gt;A VS Code extension that lets you select terminal text - no matter how long - press &lt;code&gt;Cmd+Shift+S&lt;/code&gt;, and get a single Carbon-style screenshot of the entire output.&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%2Fjkv86yoxvwjsbj312n16.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%2Fjkv86yoxvwjsbj312n16.png" alt="TermSnap Preview" width="800" height="616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One shortcut&lt;/strong&gt; - Select text in terminal, press &lt;code&gt;Cmd+Shift+S&lt;/code&gt; (Mac) / &lt;code&gt;Ctrl+Shift+S&lt;/code&gt; (Windows/Linux)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full selection capture&lt;/strong&gt; - Even hundreds of lines that don't fit on screen&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Carbon-style rendering&lt;/strong&gt; - Rounded window frame, macOS dots, shadow, themed background&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;11 built-in themes&lt;/strong&gt; - Dracula, Tokyo Night, Nord, Monokai, GitHub Dark, Catppuccin Mocha, and more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom themes&lt;/strong&gt; - Define your own colors in VS Code settings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live preview&lt;/strong&gt; - Adjust theme, font size, padding, line numbers, window chrome in real time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export options&lt;/strong&gt; - Save as PNG, copy image to clipboard, or copy raw text&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Works great for
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tables, ASCII art, mermaid diagrams, flowcharts&lt;/li&gt;
&lt;li&gt;Deployment logs and CLI output (&lt;code&gt;kubectl&lt;/code&gt;, &lt;code&gt;docker&lt;/code&gt;, &lt;code&gt;aws cli&lt;/code&gt;, &lt;code&gt;firebase&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Documentation, presentations, slides, blog posts&lt;/li&gt;
&lt;li&gt;Anywhere plain text loses formatting when pasted&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to use
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open terminal in VS Code&lt;/li&gt;
&lt;li&gt;Run your commands&lt;/li&gt;
&lt;li&gt;Select the output&lt;/li&gt;
&lt;li&gt;Press &lt;code&gt;Cmd+Shift+S&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Adjust theme and settings in the preview panel&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save as PNG&lt;/strong&gt;, &lt;strong&gt;Copy Image&lt;/strong&gt;, or &lt;strong&gt;Copy Text&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Custom themes
&lt;/h2&gt;

&lt;p&gt;Don't like the built-in themes? Define your own:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"termsnap.theme"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"custom"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"termsnap.customBackground"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"#1a1a2e"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"termsnap.customTextColor"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"#e0e0e0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"termsnap.customTitleBarColor"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"#16213e"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=KushakJafry.termsnap" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=KushakJafry.termsnap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://open-vsx.org/extension/kushakjafry/termsnap" rel="noopener noreferrer"&gt;https://open-vsx.org/extension/kushakjafry/termsnap&lt;/a&gt; (for Cursor, VSCodium, etc.)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kushakjafry/termsnap" rel="noopener noreferrer"&gt;https://github.com/kushakjafry/termsnap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's free and open source (MIT). Would love to hear what features or themes you'd want to see - drop a comment or open a GitHub issue!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>opensource</category>
      <category>terminal</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Kushak's Portfolio</title>
      <dc:creator>Kushak Zohaad Jafry</dc:creator>
      <pubDate>Mon, 11 Jan 2021 07:16:14 +0000</pubDate>
      <link>https://dev.to/kushakjafry/kushak-s-portfolio-27n</link>
      <guid>https://dev.to/kushakjafry/kushak-s-portfolio-27n</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;I built a portfolio for myself using Angular/ Universal and Strapi.&lt;/p&gt;

&lt;h3&gt;
  
  
  Category Submission:
&lt;/h3&gt;

&lt;p&gt;Personal Site/Portfolio&lt;/p&gt;

&lt;h3&gt;
  
  
  App Link
&lt;/h3&gt;

&lt;h4&gt;
  
  
  FrontEnd
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://kushakjafry.tech/"&gt;https://kushakjafry.tech/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://portfolio-jdo2v.ondigitalocean.app/"&gt;https://portfolio-jdo2v.ondigitalocean.app/&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Backend
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://portfolio-backend-9fful.ondigitalocean.app/"&gt;https://portfolio-backend-9fful.ondigitalocean.app/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aJlDGVK1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/s666ulb0mo92p76pqyjs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aJlDGVK1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/s666ulb0mo92p76pqyjs.jpg" alt="Home Page"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LiI42z21--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/u0qrboehf14vadsuoqfc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LiI42z21--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/u0qrboehf14vadsuoqfc.jpg" alt="About Page"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7Ve8lL0U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kepni3jf8ohnioqp8ic3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7Ve8lL0U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kepni3jf8ohnioqp8ic3.jpg" alt="Portfolio Page"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OSDEHfCV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/sfp0hdyu11njlkaj4qhk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OSDEHfCV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/sfp0hdyu11njlkaj4qhk.jpg" alt="Contact Page"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Description
&lt;/h3&gt;

&lt;p&gt;I was planning to make my personal portfolio for a long time.&lt;br&gt;
After seeing the hackathon, I was very excited and decided to start&lt;br&gt;
making my own portfolio.&lt;br&gt;
After my failed attempts to design the UI, I decided to go by design, inspired by a template.&lt;/p&gt;

&lt;p&gt;I picked the design idea and started designing my own site on Adobe site.&lt;/p&gt;

&lt;p&gt;After the UI designing part was completed, it was time for Frontend and Backend.&lt;/p&gt;

&lt;p&gt;I thought of using strapi as backend as it seemed pretty good and was also provided in the hackathon description.&lt;br&gt;
Being a newbie at strapi, it was pretty hard to grasp it initially.&lt;/p&gt;

&lt;p&gt;For the frontend, I decided to use Angular with Universal for Server Side Rendering. I decided not to use any jquery or jquery based library. Developing the frontend from scratch using HTML/CSS and TS according to design was a pretty tough task.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Source Code
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Frontend
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/kushakjafry/portfolio"&gt;https://github.com/kushakjafry/portfolio&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Backend
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/kushakjafry/portfolio-backend"&gt;https://github.com/kushakjafry/portfolio-backend&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Frontend
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/kushakjafry/portfolio"&gt;MIT&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Backend
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/kushakjafry/portfolio-backend"&gt;MIT&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;I was always planning to make my own personal portfolio site for a long time. And the idea of a hackathon excited me to build the site.&lt;br&gt;
I learned a lot about Strapi, the digitalocean App platform, adding Deploy to do buttons to GitHub repositories, and learned to connect the app to custom domains.&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it
&lt;/h3&gt;

&lt;p&gt;I used ADOBE XD for designing UI.&lt;br&gt;
Angular for developing frontend.&lt;br&gt;
Strapi for developing the backend.&lt;br&gt;
Angular Universal for SSR.&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources/Info
&lt;/h3&gt;

</description>
      <category>dohackathon</category>
      <category>webdev</category>
      <category>showdev</category>
      <category>angular</category>
    </item>
  </channel>
</rss>
