@@ -32,56 +32,44 @@ router.afterEach(() => {
synchub mirrors your public repositories to
tangled.org.
- install the github app, connect your tangled identity, and your branches
- and tags will stay in sync.
+ three steps, then every push stays in sync.
- # 1 · install the github app on the repos to mirror
-$ gh app install synchub-to
-
-# 2 · connect your tangled identity
-$ synchub-to @alice.bsky.social
-
-# 3 · push as usual
-$ git push origin main
-✓ mirrored alice/widget → tangled.org (2 refs)
-
-
-
- new here?
-
- install the github app on the repositories you'd like to mirror,
- then come back and sign in with your tangled handle. (only public,
- non-fork repos are synced.)
-
- install the github app
-
-
-
- returning?
-
- already connected on another device? just enter your handle.
-
-
+ install the github app
+
+
+ sign in with your tangled handle
+
+
+
+ push as usual; your branches and tags mirror to tangled.org
+
+
@@ -127,27 +115,6 @@ router.afterEach(() => {
.nav-term__mark:hover { color: inherit; }
-.nav-term__args {
- display: inline-flex;
- align-items: center;
- gap: 0.9ch;
- list-style: none;
- margin: 0;
- padding: 0;
-}
-
-.nav-term__args a {
- display: inline-flex;
- align-items: center;
- min-height: 44px;
- color: var(--color-muted);
- text-decoration: underline;
- text-underline-offset: 2px;
- white-space: nowrap;
-}
-
-.nav-term__args a:hover { color: var(--color-ink); }
-
.caret {
display: inline-block;
width: 0.55ch;
@@ -182,41 +149,43 @@ router.afterEach(() => {
margin: 0 0 var(--space-xl);
}
-.session {
- font-family: var(--font-mono);
- font-size: var(--text-sm);
- line-height: 1.7;
- background: var(--color-paper-2);
- border: var(--rule-hair) solid var(--color-rule);
- border-radius: var(--radius-md);
- padding: var(--space-lg);
+.steps {
+ list-style: none;
+ counter-reset: step;
margin: 0;
- overflow-x: auto;
- color: var(--color-ink);
+ padding: 0;
+ max-width: var(--measure);
}
-.session .c { color: var(--color-neutral); }
-.session .p { color: var(--color-accent); }
-.session .a { color: var(--color-info); }
-.session .ok { color: var(--color-ok); }
-.session .dim { color: var(--color-neutral); }
-
-.panel {
- padding-block: var(--space-xl);
- border-top: var(--rule-hair) solid var(--color-rule);
+.steps__item {
+ counter-increment: step;
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: var(--space-sm);
+ padding-left: calc(var(--space-lg) + var(--space-sm));
+ margin-bottom: var(--space-lg);
+ color: var(--color-muted);
+ font-size: var(--text-md);
+ line-height: 1.6;
}
-.panel__title {
- font-size: var(--text-lg);
- margin: 0 0 var(--space-sm);
+.steps__item::before {
+ content: counter(step);
+ position: absolute;
+ left: 0;
+ font-family: var(--font-mono);
+ color: var(--color-accent);
}
-.panel__body {
- max-width: var(--measure);
- color: var(--color-muted);
- margin: 0 0 var(--space-lg);
+.steps__item a:not(.btn) {
+ color: var(--color-info);
+ text-decoration: underline;
}
+.steps__item a:not(.btn):hover { color: var(--color-ink); }
+
.signin {
display: flex;
flex-wrap: wrap;