<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Vrish</title>
<link>https://vrish.codes/</link>
<description>Vrishank — independent developer and AI instructor. Applied AI, product engineering, Linux, hardware experiments, and notes from the workbench.</description>
<language>en</language>
<atom:link href="https://vrish.codes/feed.xml" rel="self" type="application/rss+xml"/>
<lastBuildDate>Wed, 28 Oct 2026 12:00:00 GMT</lastBuildDate>
<item>
<title>How this site works</title>
<link>https://vrish.codes/journal/how-this-site-works/</link>
<guid>https://vrish.codes/journal/how-this-site-works/</guid>
<pubDate>Wed, 28 Oct 2026 12:00:00 GMT</pubDate>
<description>&lt;p&gt;This site starts with a folder of text files and a small script that turns them into HTML. The public pages have no framework or database, and no application JavaScript to load.&lt;/p&gt;
&lt;p&gt;The whole build is one command:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;npm run build&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A few things it does that you might not notice:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supporting browsers can prerender internal links before you open them.&lt;/li&gt;
&lt;li&gt;It follows your system’s light or dark setting.&lt;/li&gt;
&lt;li&gt;Drafts stay out of the public build, RSS feed, and sitemap.&lt;/li&gt;
&lt;li&gt;Local images get their dimensions filled in at build time, so the page can reserve space before they load.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;a-room-for-writing&quot;&gt;A room for writing&lt;/h2&gt;
&lt;p&gt;I can edit the Markdown files directly, or open the local writing room:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;npm run write&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It has an editor, a preview, autosave, and a draft toggle. It also lets me edit the home page and site settings, add standalone pages, and paste images into an entry.&lt;/p&gt;
&lt;p&gt;The editor runs locally. The deployed site only contains the built public files.&lt;/p&gt;
&lt;h2 id=&quot;a-small-publishing-check&quot;&gt;A small publishing check&lt;/h2&gt;
&lt;p&gt;The build checks for unfinished template copy and missing local file links before it writes the public site. That catches mistakes like a placeholder email address or a link to an image I forgot to add.&lt;/p&gt;
&lt;p&gt;The output includes an RSS feed, a sitemap, search metadata, and a page for missing addresses. It can be served by a plain static web server.&lt;/p&gt;
&lt;p&gt;I like that I can follow the path from a sentence in a text file to the page in the browser. It’s a small enough system to keep changing without turning the site itself into the main project.&lt;/p&gt;</description>
</item>
</channel>
</rss>
