meow

formatting and opengraph improvements

also add discord link

anirudh.fi 7a7cb943 3be0d2e2

verified
+24 -13
+14 -8
pages/blog/pulls.md
··· 4 slug: pulls 5 title: the lifecycle of a pull request 6 subtitle: we shipped a bunch of PR features recently; here's how we built it 7 - date: 2025-04-15 8 authors: 9 - name: Anirudh 10 email: anirudh@tangled.sh ··· 43 44 <figure class="max-w-[550px] m-auto flex flex-col items-center justify-center"> 45 <img class="h-auto max-w-full" src="/static/img/merge-base.png"> 46 - <figcaption class="text-center">Merge base caption here! [!!!change this!]</figcaption> 47 </figure> 48 49 Your `feature` branch has advanced 2 commits since you first ··· 51 2 commits. Doing a trivial `git diff feature main` will 52 produce a confusing patch: 53 54 - - the patch will apply the changes from X and Y 55 - - the patch will **revert** the changes from B and C 56 57 We obviously do not want the second part! To only show the 58 changes added by `feature`, we have to identify the ··· 67 ### ref comparisons across forks 68 69 The plumbing described above is easy to do across two 70 - branches, but what about forks? and what if they live on 71 - different servers altogether (as they can in tangled!)? 72 73 Here's the concept: since we already have all the necessary 74 components to compare two local refs, why not simply ··· 172 173 * Change ID support: This will allow us to group changes 174 together and track them across multiple commits, and to 175 - provide "history" for each change. This works great with 176 - `jujutsu`.
··· 4 slug: pulls 5 title: the lifecycle of a pull request 6 subtitle: we shipped a bunch of PR features recently; here's how we built it 7 + date: 2025-04-16 8 + image: /static/img/hidden-ref.png 9 authors: 10 - name: Anirudh 11 email: anirudh@tangled.sh ··· 44 45 <figure class="max-w-[550px] m-auto flex flex-col items-center justify-center"> 46 <img class="h-auto max-w-full" src="/static/img/merge-base.png"> 47 + <figcaption class="text-center"><code>A</code> is the merge-base for 48 + <code>feature</code> and <code>main</code>.</figcaption> 49 </figure> 50 51 Your `feature` branch has advanced 2 commits since you first ··· 53 2 commits. Doing a trivial `git diff feature main` will 54 produce a confusing patch: 55 56 + - the patch will apply the changes from `X` and `Y` 57 + - the patch will **revert** the changes from `B` and `C` 58 59 We obviously do not want the second part! To only show the 60 changes added by `feature`, we have to identify the ··· 69 ### ref comparisons across forks 70 71 The plumbing described above is easy to do across two 72 + branches, but what about forks? And what if they live on 73 + different servers altogether (as they can in Tangled!)? 74 75 Here's the concept: since we already have all the necessary 76 components to compare two local refs, why not simply ··· 174 175 * Change ID support: This will allow us to group changes 176 together and track them across multiple commits, and to 177 + provide "history" for each change. This works great with [Jujutsu][jj]. 178 + 179 + Oh and lastly, we have a [Discord](https://discord.gg/W7SRR4xHhd). We'll 180 + see you there! 181 + 182 + [jj]: https://jj-vcs.github.io/jj/latest/
-4
templates/partials/head.html
··· 3 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 4 <meta charset="UTF-8" /> 5 <meta name="HandheldFriendly" content="true" /> 6 - <meta property="og:title" content="{{ .Meta.title }}" /> 7 - <meta property="og:description" content="{{ .Meta.subtitle }}" /> 8 - <meta property="og:url" content="https://blog.tangled.sh/{{ .Meta.slug }}" /> 9 - <meta property="og:type" content="website" /> 10 <link rel="icon" type="image/png" sizes="16x16" href="/static/icon.png" /> 11 <link rel="icon" type="image/ico" sizes="16x16" href="/favicon.ico" /> 12 <link rel="alternate" type="application/rss+xml" href="/blog/feed.xml" />
··· 3 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 4 <meta charset="UTF-8" /> 5 <meta name="HandheldFriendly" content="true" /> 6 <link rel="icon" type="image/png" sizes="16x16" href="/static/icon.png" /> 7 <link rel="icon" type="image/ico" sizes="16x16" href="/favicon.ico" /> 8 <link rel="alternate" type="application/rss+xml" href="/blog/feed.xml" />
+5 -1
templates/partials/nav.html
··· 1 <nav> 2 - <div class="logo"> 3 <a href="/"> 4 back to all posts 5 </a> 6 </div> 7 </nav>
··· 1 <nav> 2 + <div> 3 <a href="/"> 4 back to all posts 5 + </a> 6 + 7 + <a class="font-bold italic float-right no-underline hover:no-underline" href="https://tangled.sh"> 8 + tangled.sh 9 </a> 10 </div> 11 </nav>
+5
templates/text.html
··· 3 <head> 4 {{ template "partials/head.html" . }} 5 <meta name="description" content="{{ index .Meta "subtitle" }}"> 6 </head> 7 <title> 8 {{ index .Meta "title" }}
··· 3 <head> 4 {{ template "partials/head.html" . }} 5 <meta name="description" content="{{ index .Meta "subtitle" }}"> 6 + <meta property="og:title" content="{{ .Meta.title }}" /> 7 + <meta property="og:description" content="{{ .Meta.subtitle }}" /> 8 + <meta property="og:url" content="https://blog.tangled.sh/{{ .Meta.slug }}" /> 9 + <meta property="og:image" content="{{ .Meta.image }}" /> 10 + <meta property="og:type" content="website" /> 11 </head> 12 <title> 13 {{ index .Meta "title" }}