repos
/ orchard main

orchard

mirror

Every site I host, in one repo, along with the Cloudflare Tunnel and Caddy that front them. It's all Go, Vite, and SQLite, and it runs on a desktop at home with nothing listening on an inbound port.

blogbuncaddycloudflare-tunneldockergogolanghomelabhtml-templatemonorepoself-hostedseosqlitestatic-sitetypstuptime-monitoringviteweb-analytics

4.5 KB · 118 lines · HTML Raw History
  1{{ define "content" }}
  2<div class="code-background"></div>
  3<h1 class="code-heading">Code</h1>
  4<p class="code-paragraph">
  5  Outside of work I build self-hosted tools, personal websites, and whatever
  6  else catches my interest. Side projects are where I experiment with new
  7  technology and stay sharp since at work I stick to stable, mature frameworks.
  8  There is plenty more to see on
  9  <a href="https://github.com/overshard" rel="noopener noreferrer" target="_blank">my GitHub account</a>.
 10</p>
 11
 12{{- /*
 13  Three sections rather than one grid. Most of what is below is a read-only
 14  snapshot now, and letting those cards sit at full strength beside the things
 15  actually running would overstate all of them. The count uses the same zero
 16  padded numbering as the sidebar.
 17*/ -}}
 18
 19{{- with .Live }}
 20<div class="code-sectionHead">
 21  <h2 class="code-sectionTitle">Live</h2>
 22  <span class="code-sectionRule"></span>
 23  <span class="code-sectionCount">{{ printf "%03d" (len .) }}</span>
 24</div>
 25<p class="code-sectionNote code-sectionNote-live">
 26  Eleven sites, one repo, one desktop at home. Every one of these is answering
 27  requests right now.
 28</p>
 29<div class="code-projects">
 30  {{- range . }}
 31  <div class="code-project code-project-live" style="{{ .Delay }}">
 32    <h3 class="code-projectHeading">{{ .Name }}</h3>
 33    <div class="code-tags">
 34      {{- range .Tech }}
 35      <span class="code-tag">{{ . }}</span>
 36      {{- end }}
 37    </div>
 38    <p class="code-projectParagraph">{{ .Description }}</p>
 39    {{- if .Commit }}
 40    <pre class="code-projectCommit">{{ .Commit }}</pre>
 41    {{- end }}
 42    <div class="code-projectButtons">
 43      <a class="code-projectButton" href="{{ .Visit }}" rel="noopener noreferrer" target="_blank">Visit</a>
 44      <a class="code-projectButton code-projectButton-secondary" href="{{ .Source }}" rel="noopener noreferrer" target="_blank">
 45        {{ template "githubMark" }}
 46        Source
 47      </a>
 48    </div>
 49  </div>
 50  {{- end }}
 51</div>
 52{{- end }}
 53
 54{{- with .Active }}
 55<div class="code-sectionHead">
 56  <h2 class="code-sectionTitle">Active</h2>
 57  <span class="code-sectionRule"></span>
 58  <span class="code-sectionCount">{{ printf "%03d" (len .) }}</span>
 59</div>
 60<div class="code-projects">
 61  {{- range . }}
 62  <div class="code-project" style="{{ .Delay }}">
 63    <h3 class="code-projectHeading">{{ .Name }}</h3>
 64    <div class="code-tags">
 65      {{- range .Tech }}
 66      <span class="code-tag">{{ . }}</span>
 67      {{- end }}
 68    </div>
 69    <p class="code-projectParagraph">{{ .Description }}</p>
 70    {{- if .Commit }}
 71    <pre class="code-projectCommit">{{ .Commit }}</pre>
 72    {{- end }}
 73    <a class="code-projectButton" href="{{ .URL }}" rel="noopener noreferrer" target="_blank">
 74      {{ template "githubMark" }}
 75      GitHub
 76    </a>
 77  </div>
 78  {{- end }}
 79</div>
 80{{- end }}
 81
 82{{- with .Archived }}
 83<div class="code-sectionHead code-sectionHead-archived">
 84  <h2 class="code-sectionTitle">Archived</h2>
 85  <span class="code-sectionRule"></span>
 86  <span class="code-sectionCount">{{ printf "%03d" (len .) }}</span>
 87</div>
 88<p class="code-sectionNote">
 89  Read-only snapshots. Some of these still run, rebuilt in a language they did
 90  not start in, and some are switched off for good.
 91</p>
 92<div class="code-projects code-projects-archived">
 93  {{- range . }}
 94  <div class="code-project code-project-archived" style="{{ .Delay }}">
 95    <h3 class="code-projectHeading">{{ .Name }}</h3>
 96    <div class="code-tags">
 97      <span class="code-tag code-tag-archived">Archived</span>
 98      {{- range .Tech }}
 99      <span class="code-tag">{{ . }}</span>
100      {{- end }}
101    </div>
102    <p class="code-projectParagraph">{{ .Description }}</p>
103    <a class="code-projectButton" href="{{ .URL }}" rel="noopener noreferrer" target="_blank">
104      {{ template "githubMark" }}
105      GitHub
106    </a>
107  </div>
108  {{- end }}
109</div>
110{{- end }}
111{{ end }}
112
113{{- define "githubMark" -}}
114<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16" aria-hidden="true">
115  <path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" />
116</svg>
117{{- end -}}