tangled
alpha
login
or
join now
t0.lv
/
site
forked from
tangled.org/site
0
fork
atom
this repo has no description
0
fork
atom
overview
issues
pulls
pipelines
style blog
oppi.li
1 year ago
14576995
748e71db
+90
-53
10 changed files
expand all
collapse all
unified
split
.gitignore
flake.lock
flake.nix
input.css
static
fonts
.gitignore
tailwind.config.js
templates
index.html
partials
footer.html
head.html
text.html
+2
.gitignore
···
1
.direnv/
2
build/
3
static/tw.css
0
0
···
1
.direnv/
2
build/
3
static/tw.css
4
+
*.ttf
5
+
!.gitignore
+17
flake.lock
···
1
{
2
"nodes": {
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
"nixpkgs": {
4
"locked": {
5
"lastModified": 1740673841,
···
32
},
33
"root": {
34
"inputs": {
0
35
"nixpkgs": "nixpkgs",
36
"vite": "vite"
37
}
···
1
{
2
"nodes": {
3
+
"ia-fonts-src": {
4
+
"flake": false,
5
+
"locked": {
6
+
"lastModified": 1686932517,
7
+
"narHash": "sha256-2T165nFfCzO65/PIHauJA//S+zug5nUwPcg8NUEydfc=",
8
+
"owner": "iaolo",
9
+
"repo": "iA-Fonts",
10
+
"rev": "f32c04c3058a75d7ce28919ce70fe8800817491b",
11
+
"type": "github"
12
+
},
13
+
"original": {
14
+
"owner": "iaolo",
15
+
"repo": "iA-Fonts",
16
+
"type": "github"
17
+
}
18
+
},
19
"nixpkgs": {
20
"locked": {
21
"lastModified": 1740673841,
···
48
},
49
"root": {
50
"inputs": {
51
+
"ia-fonts-src": "ia-fonts-src",
52
"nixpkgs": "nixpkgs",
53
"vite": "vite"
54
}
+13
-3
flake.nix
···
1
{
2
description = "site";
3
4
-
inputs.nixpkgs.url = "github:nixos/nixpkgs";
5
-
inputs.vite.url = "github:icyphox/go-vite";
0
0
0
0
0
0
6
7
outputs =
8
{ self
9
, nixpkgs
10
, vite
11
-
,
12
}:
13
let
14
supportedSystems = [
···
35
pkgs.entr
36
pkgs.tailwindcss
37
];
0
0
0
0
38
};
39
}
40
);
···
1
{
2
description = "site";
3
4
+
inputs = {
5
+
nixpkgs.url = "github:nixos/nixpkgs";
6
+
vite.url = "github:icyphox/go-vite";
7
+
ia-fonts-src = {
8
+
url = "github:iaolo/iA-Fonts";
9
+
flake = false;
10
+
};
11
+
};
12
13
outputs =
14
{ self
15
, nixpkgs
16
, vite
17
+
, ia-fonts-src
18
}:
19
let
20
supportedSystems = [
···
41
pkgs.entr
42
pkgs.tailwindcss
43
];
44
+
shellHook = ''
45
+
cp -f ${ia-fonts-src}/"iA Writer Quattro"/Static/*.ttf static/fonts/
46
+
cp -f ${ia-fonts-src}/"iA Writer Mono"/Static/*.ttf static/fonts/
47
+
'';
48
};
49
}
50
);
+1
-1
input.css
···
100
@apply text-2xl;
101
@apply font-sans;
102
@apply text-black;
103
-
@apply py-4;
104
}
105
106
::selection {
···
100
@apply text-2xl;
101
@apply font-sans;
102
@apply text-black;
103
+
@apply font-bold;
104
}
105
106
::selection {
static/fonts/.gitignore
This is a binary file and will not be displayed.
+26
-20
tailwind.config.js
···
1
/** @type {import('tailwindcss').Config} */
2
module.exports = {
3
-
content: ["./appview/pages/templates/**/*.html"],
4
-
theme: {
5
-
container: {
6
-
padding: "2rem",
7
-
center: true,
8
-
screens: {
9
-
sm: "540px",
10
-
md: "650px",
11
-
lg: "900px",
12
-
xl: "1100px",
13
-
"2xl": "1300x",
14
-
},
15
-
},
16
-
extend: {
17
-
fontFamily: {
18
-
sans: ["iA Writer Quattro S", "Inter", "system-ui", "sans-serif", "ui-sans-serif"],
19
-
mono: ["iA Writer Mono S", "ui-monospace", "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", "monospace"],
20
-
},
21
-
},
22
-
},
0
0
0
0
0
0
23
};
···
1
/** @type {import('tailwindcss').Config} */
2
module.exports = {
3
+
content: ["./templates/**/*.html"],
4
+
theme: {
5
+
container: {
6
+
padding: "2rem",
7
+
center: true,
8
+
screens: {
9
+
sm: "540px",
10
+
md: "640px",
11
+
lg: "768px",
12
+
xl: "900px",
13
+
"2xl": "1024px"
14
+
},
15
+
},
16
+
extend: {
17
+
fontFamily: {
18
+
sans: ["iA Writer Quattro S", "Inter", "system-ui", "sans-serif", "ui-sans-serif"],
19
+
mono: ["iA Writer Mono S", "ui-monospace", "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", "monospace"],
20
+
},
21
+
maxWidth: {
22
+
'prose': '65ch',
23
+
},
24
+
},
25
+
},
26
+
plugins: [
27
+
require('@tailwindcss/typography'),
28
+
],
29
};
+2
-2
templates/index.html
···
7
<title>
8
{{ .Meta.title }}
9
</title>
10
-
<body>
11
-
<main>
12
<div class="sidenav">
13
{{ template "partials/nav.html" }}
14
</div>
···
7
<title>
8
{{ .Meta.title }}
9
</title>
10
+
<body class="bg-slate-100">
11
+
<main class="container mx-auto px-1 pt-4 min-h-screen flex flex-col">
12
<div class="sidenav">
13
{{ template "partials/nav.html" }}
14
</div>
+1
-3
templates/partials/footer.html
···
1
-
<hr>
2
-
3
-
<div class="footer">
4
<p class="muted">
5
Follow via <a href="/blog/feed.xml">RSS</a> and
6
<a href="https://bsky.app/profile/tangled.sh">Bluesky</a>.
···
1
+
<div class="footer px-6">
0
0
2
<p class="muted">
3
Follow via <a href="/blog/feed.xml">RSS</a> and
4
<a href="https://bsky.app/profile/tangled.sh">Bluesky</a>.
+1
-1
templates/partials/head.html
···
1
-
<link rel="stylesheet" href="/static/style.css" type="text/css" />
2
<meta name="viewport" content="initial-scale=1,width" />
3
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
4
<meta charset="UTF-8" />
···
1
+
<link rel="stylesheet" href="/static/tw.css" type="text/css" />
2
<meta name="viewport" content="initial-scale=1,width" />
3
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
4
<meta charset="UTF-8" />
+27
-23
templates/text.html
···
7
<title>
8
{{ index .Meta "title" }}
9
</title>
10
-
<body>
11
-
<main>
12
-
<div class="sidenav">
13
-
{{ template "partials/nav.html" }}
14
-
</div>
15
-
<article align="left">
16
-
<section class="post-date">
17
-
{{ $dateStr := index .Meta "date" }}
18
-
{{ $date := parsedate $dateStr }}
19
-
{{ $date.Format "02 Jan, 2006" }}
20
-
</section>
21
0
0
0
0
0
0
22
23
-
{{ if eq .Meta.draft "true" }}
24
-
<h1 class="title">{{ index .Meta "title" }} <span class="draft">[draft]</span></h1>
25
-
{{ else }}
26
-
<h1 class="title">{{ index .Meta "title" }}</h1>
27
-
{{ end }}
28
-
<h2 class="subtitle">{{ index .Meta "subtitle" }}</h2>
29
-
{{ .Body }}
30
31
-
</article>
32
-
</main>
33
-
<footer>
34
-
{{ template "partials/footer.html" }}
35
-
</footer>
0
0
0
36
</body>
37
38
</html>
···
7
<title>
8
{{ index .Meta "title" }}
9
</title>
10
+
<body class="bg-slate-100">
11
+
<div class="prose mx-auto px-1 pt-4 min-h-screen flex flex-col">
12
+
<main>
13
+
<div class="sidenav px-6">
14
+
{{ template "partials/nav.html" }}
15
+
</div>
0
0
0
0
0
16
17
+
<header>
18
+
<p class="post-date px-6 mb-0 text-sm">
19
+
{{ $dateStr := index .Meta "date" }}
20
+
{{ $date := parsedate $dateStr }}
21
+
{{ $date.Format "02 Jan, 2006" }}
22
+
</p>
23
24
+
{{ if eq .Meta.draft "true" }}
25
+
<h1 class="title px-6 mb-0">{{ index .Meta "title" }} <span class="draft">[draft]</span></h1>
26
+
{{ else }}
27
+
<h1 class="title px-6 mb-0">{{ index .Meta "title" }}</h1>
28
+
{{ end }}
29
+
<p class="italic px-6 mt-1 mb-0 text-lg">{{ index .Meta "subtitle" }}</p>
30
+
</header>
31
32
+
<article class="mt-5 bg-white px-6 py-2 rounded drop-shadow-sm">
33
+
{{ .Body }}
34
+
</article>
35
+
</main>
36
+
<footer>
37
+
{{ template "partials/footer.html" }}
38
+
</footer>
39
+
</div>
40
</body>
41
42
</html>