<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Project Announcement on Clément Joly – Open-Source, Rust &amp; SQLite</title><link>https://joly.pw/tags/project-announcement/</link><description>Recent content in Project Announcement on Clément Joly – Open-Source, Rust &amp; SQLite</description><image><title>Clément Joly – Open-Source, Rust &amp; SQLite</title><url>https://joly.pw/images/open-graph-home-original.png</url><link>https://joly.pw/images/open-graph-home-original.png</link></image><generator>Hugo -- 0.154.3</generator><language>en</language><copyright>Clément Joly</copyright><lastBuildDate>Wed, 11 Mar 2026 03:32:38 +0000</lastBuildDate><atom:link href="https://joly.pw/tags/project-announcement/index.xml" rel="self" type="application/rss+xml"/><item><title>Putting READMEs on your Static Site</title><link>https://joly.pw/blog/putting-readmes-on-your-static-site/</link><pubDate>Thu, 23 Sep 2021 20:45:11 +0000</pubDate><guid>https://joly.pw/blog/putting-readmes-on-your-static-site/</guid><description>I’m happy to introduce RISS (README In Static Site), a tool that transforms a README file and insert it on your website</description><content:encoded><![CDATA[



  
  
  
  

  <div class="alert alert-tldr">
    <p class="alert-heading">
      ⚡
      
        TL;DR
      
    </p>
    <p>I’m happy to introduce <a href="https://cj.rs/readme-in-static-site/">RISS</a> (<em>README In Static Site</em>), a tool that transforms a README like <a href="https://github.com/cljoly/telescope-repo.nvim">this one</a> and insert it on your website, <a href="https://cj.rs/telescope-repo-nvim/">like so</a>.</p>
  </div>



<figure>
    <img loading="lazy" src="./riss-in-action.png"
         alt="A screenshot of two browser windows, showing RISS in action. On the left hand side, a project page on GitHub and on the right hand side, its website. Both share the same core content."/> <figcaption>
            <p><a href="https://cj.rs/telescope-repo-nvim/">Telescope-repo.nvim</a> GitHub page and website, automatically generated from the Readme code.</p>
        </figcaption>
</figure>

<h2 id="a-readme-is-a-projects-cover">A README is a Project’s Cover</h2>
<p>Your GitHub README is what your visitors on GitHub will encounter first. Thus, it needs to efficiently describe your project. There are a lot of <a href="https://github.com/zenika-open-source/promote-open-source-project#readme">advice online</a> on how to craft a great README.</p>
<p>So you then go on and create a great README. Wonderful! 🎉</p>
<h2 id="but-i-want-the-readme-on-my-website">But I want the README on my Website</h2>
<p>But then, you want to include your README on your static website, for instance in a <a href="https://dev.to/lornasw93/github-readme-on-portfolio-project-page-51i8">portfolio</a> or just to have a GitHub-independent homepage. You also want more control on the layout and theme than GitHub has to offer, and perhaps even <a href="https://matomo.org/">privacy</a>-<a href="https://plausible.io/">preserving</a> <a href="https://www.goatcounter.com/">analytics</a>.
This is a <a href="https://stackoverflow.com/q/16226202/4253785">common</a> <a href="https://stackoverflow.com/q/48919200/4253785">question</a> and there are options based on <a href="https://richjenks.com/github-pages-from-readme/">ajax</a> or on one <a href="https://medium.com/@bolajiayodeji/how-to-convert-github-markdown-files-to-a-simple-website-b08602d05e1c">GitHub Pages</a> website per repository.</p>
<p>However, dynamically loading the README on the client side sounds like taking a performance hit for what is actually static content. Furthermore, maintaining one full-blown GitHub Pages static website  for each small project, might not be worth it.</p>
<p>What if you could just change your README a bit so that it is ready for inclusion in your <a href="https://www.11ty.dev/">Eleventy</a> or <a href="https://gohugo.io/">Hugo</a> personal website, just like any other markdown page?</p>
<h2 id="enter-riss">Enter <a href="https://cj.rs/readme-in-static-site/">RISS</a>!</h2>
<p>I wrote <a href="https://cj.rs/readme-in-static-site/">RISS</a> (<em>README In Static Site</em>) for this very purpose.</p>
<p>With RISS, your project’s README is the source of truth. You just add simple comments for the small bits that need to differ between GitHub and your website. You then give the GitHub README to RISS as an input and the output is a file suitable for inclusion in your static site sources. As your README change and evolves, updating it is easy, you just rerun the script.</p>
<p>Let’s go over some examples!</p>
<h3 id="post-metadata">Post Metadata</h3>
<p>Hugo (and other static-site generators) need some <a href="https://gohugo.io/content-management/front-matter">metadata</a> at the start of your post, like so:</p>
<pre tabindex="0"><code>---
title: &#34;README In Static Site (RISS)&#34;
date: 2021-08-21T08:15:54
description: &#34;💎 Transform and insert your GitHub README in your static site&#34;
---
</code></pre><p>Of course, we don’t want to have this on GitHub. We thus put it in a comment, so that it remains hidden on GitHub:</p>
<div class="highlight"><pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span><span style="color:#7f848e">&lt;!-- insert
</span></span></span><span style="display:flex;"><span><span style="color:#7f848e">---
</span></span></span><span style="display:flex;"><span><span style="color:#7f848e">title: &#34;README In Static Site (RISS)&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#7f848e">date: 2021-08-21T08:15:54
</span></span></span><span style="display:flex;"><span><span style="color:#7f848e">description: &#34;💎 Transform and insert your GitHub readme in your static site&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#7f848e">---
</span></span></span><span style="display:flex;"><span><span style="color:#7f848e">end_insert --&gt;</span>
</span></span></code></pre></div><p>given the above comment as input, RISS outputs:</p>
<pre tabindex="0"><code>---
title: &#34;README In Static Site (RISS)&#34;
date: 2021-08-21T08:15:54
description: &#34;💎 Transform and insert your GitHub README in your static site&#34;
---
</code></pre><p>and the resulting file is usable by Hugo!</p>
<h2 id="more">More</h2>
<p>GitHub prohibits embedding arbitrary scripts for security reason. But what if you want to embed an <a href="https://asciinema.org/">asciinema</a> player on your project homepage, so that users can play the asciicast as they would a standard video?
You can have a placeholder with the link on GitHub as asciinema documentation advises and then use RISS to replace it with the full player on your website. You will find how to do that in the <a href="https://cj.rs/readme-in-static-site/">documentation</a>. Plus, here is an example README <a href="https://github.com/cljoly/telescope-repo.nvim">this one</a> doing this (and the <a href="https://cj.rs/telescope-repo-nvim/">corresponding website</a>, look for the asciicast that autoplays).</p>
<p>See also how to <a href="https://cj.rs/readme-in-static-site/">automate</a> the update of all these READMEs with, for instance, GitHub Action.</p>
<p>Thank you for reading!</p>
]]></content:encoded></item></channel></rss>