Initial commit

This commit is contained in:
Rebecca Turner 2024-03-12 16:52:10 -07:00
commit 2498b5e59c
Signed by: rbt
SSH key fingerprint: SHA256:SiNaEWabvotTldoNb5jIKqjJ3RnpS4aRXA4KLAdW5vs
24 changed files with 450 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/public

12
README.md Normal file
View file

@ -0,0 +1,12 @@
# [lix.systems]
Built with [Zola][zola].
```sh
zola serve
zola build
zola check
```
[zola]: https://www.getzola.org/
[lix.systems]: https://lix.systems/

21
config.toml Normal file
View file

@ -0,0 +1,21 @@
# The URL the site will be built for
base_url = "https://lix.systems"
# The site title and description; used in feeds by default.
title = "Lix"
description = "A fresh take on Nix focused on stability and UX"
# Whether to build a search index to be used later on by a JavaScript library
build_search_index = false
# Generate atom/rss feeds.
generate_feed = true
[markdown]
# Whether to do syntax highlighting
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
highlight_code = false
# Whether smart punctuation is enabled (changing quotes, dashes, dots in their typographic form)
# For example, `...` into `…`, `"quote"` into `“curly”` etc
smart_punctuation = true

10
content/404.md Normal file
View file

@ -0,0 +1,10 @@
---
title: '404'
description: '404: file not found'
extra:
hidden: true
---
# 404: File not found
Sorry! If you expected to see something here, [drop me a line](/contact)!

6
content/_index.md Normal file
View file

@ -0,0 +1,6 @@
---
permalink: /
layout: main
---
Lix is a fresh take on Nix focused on stability and user experience.

10
content/about.md Normal file
View file

@ -0,0 +1,10 @@
---
title: about
extra:
# Visible in the top-bar
hidden: true
---
# about
# why Lix?

14
content/contribute.md Normal file
View file

@ -0,0 +1,14 @@
---
title: contribute
extra:
# Visible in the top-bar
hidden: true
---
# contribute to Lix
## filing bugs
## making changes
## code review

8
content/doc.md Normal file
View file

@ -0,0 +1,8 @@
---
title: documentation
extra:
# Visible in the top-bar
hidden: true
---
# documentation

8
content/install.md Normal file
View file

@ -0,0 +1,8 @@
---
title: install Lix
extra:
# Visible in the top-bar
hidden: true
---
# install Lix

11
content/switch.md Normal file
View file

@ -0,0 +1,11 @@
---
title: switch from Nix
extra:
# Visible in the top-bar
hidden: true
---
# switch from Nix
Already use and love Nix? We do too! Here's how to try out or switch to Lix
from an existing Nix install.

88
content/test.md Normal file
View file

@ -0,0 +1,88 @@
---
title: markup test page
description: a page to demonstrate markup and take advantage of all the features of
markdown
toc: true
extra:
hidden: true
---
# markup test page
i don't ever actually use six titles. but here's a test page so i can figure out
what theyd look like if i did. nothing differentiates titles 3--6. solution:
don't use them.
text from [lipsum.com]
<!-- toc -->
# 1: title
*Lorem* **ipsum** ***dolor*** *`sit`* **`amet,`** ***`consectetur`***
[adipiscing](#) [`elit`](#). Maecenas dignissim elementum ipsum sit amet
pellentesque. Vestibulum vel cursus urna. Aenean sollicitudin, leo gravida
tempus luctus, mi dolor ornare nulla, at placerat tortor ex vitae urna. ❤
100/200
## 2: subtitle
Maecenas dignissim elementum ipsum sit amet pellentesque.
1. A list
2. A list
3. A list
```
xyz
code
here
```
4. Another item
1. A sub-item
2. A sub-item
1. A sub-sub item
5. A final item
### 3: subsubtitle
Vestibulum vel cursus urna.
* An unordered list
* an unordered list
* Aenean sollicitudin, leo gravida tempus luctus, mi dolor ornare nulla, at
placerat tortor ex vitae urna.
#### 4: ??? title
Aenean sollicitudin, leo gravida tempus luctus, mi dolor ornare nulla, at
placerat tortor ex vitae urna.
> A blockquote. Lorem Ipsum is simply dummy text of the printing and typesetting
> industry. Lorem Ipsum has been the industry's standard dummy text ever since
> the 1500s, when an unknown printer took a galley of type and scrambled it to
> make a type specimen book. It has survived not only five centuries, but also
> the leap into electronic typesetting, remaining essentially unchanged. It was
> popularised in the 1960s with the release of Letraset sheets containing Lorem
> Ipsum passages, and more recently with desktop publishing software like Aldus
> PageMaker including versions of Lorem Ipsum.
>
>> A nested blockquote. Contrary to popular belief, Lorem Ipsum is not simply
>> random text. It has roots in a piece of classical Latin literature from 45
>> BC, making it over 2000 years old.
* This list has paragraph tags
* This list has paragraph tags within the `<li>` tags.
* Aawuefoufeououuu
##### 5: title
Filler
###### 6: paragraph
Filler
[lipsum.com]: https://www.lipsum.com/

Binary file not shown.

After

Width:  |  Height:  |  Size: 9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
static/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

BIN
static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

1
static/favicon.svg Normal file
View file

@ -0,0 +1 @@
<svg viewBox="0 0 411.4 411.4" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" clip-rule="evenodd" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2"><g stroke-width=".1" stroke="#fff"><path d="m127.4 210 97.8 169.3-45 .5-26-45.5-26.3 45.2h-22.4l-11.4-19.7 37.5-64.4-26.6-46.3z" fill="#5277c3"/><path d="M162.7 140.2 64.9 309.6l-22.8-38.7 26.4-45.4-52.4-.1L5 206.1l11.4-19.8 74.4.2 26.8-46.1zm7.5 135.4h195.5l-22 39.1-52.5-.1 26 45.4-11.1 19.3h-22.9l-37-64.6-53.3-.1zM284 201.4 186.3 32.2l44.9-.5 26 45.5L283.6 32h22.3l11.4 19.8-37.4 64.3 26.6 46.3z" fill="#d52d00"/><path d="M240.9 135.4H45.5l22.1-39.2 52.5.2-26-45.4 11.1-19.3h22.7l37 64.6h53.4z" fill="#d362a4"/><path d="m248.6 271.2 97.8-169.4 22.8 38.7-26.4 45.3 52.4.2 11.1 19.3-11.4 19.9-74.4-.2-26.8 46.1z" fill="#a30262"/><path d="m127.5 209.9 97.8 169.3-45 .5-26-45.5-26.3 45.2h-22.3l-11.5-19.8 37.5-64.3-26.6-46.3z" fill="#ff9a56"/></g></svg>

After

Width:  |  Height:  |  Size: 949 B

21
static/manifest.json Normal file
View file

@ -0,0 +1,21 @@
{
"lang": "en-US",
"display": "standalone",
"name": "Lix",
"short_name": "Lix",
"description": "A fresh take on Nix focused on stability and UX",
"theme_color": "#D362A4",
"background_color": "#170A0D",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}

146
static/styles/main.css Normal file
View file

@ -0,0 +1,146 @@
body {
--background-color: #fff;
--text-color: #000;
--light-text-color: #D52D00;
--highlight-color: #A30262;
--body-width: 800px;
font: 16px/20px "Segoe UI", "-apple-system", sans-serif;
background-color: var(--background-color);
color: var(--text-color);
display: flex;
flex-direction: column;
}
@media (prefers-color-scheme: dark) {
body {
--background-color: #170a0d;
--text-color: #fff;
--light-text-color: #FF9A56;
--highlight-color: #d362a4;
}
}
h1,
h2,
h3 {
font-size: 1rem;
font-weight: 300;
margin: 1em 0 0.5em 0;
}
.headerlink {
text-decoration: none;
color: var(--light-text-color);
display: none;
}
.headerlink::before {
content: '#';
}
.headerlink:hover {
text-decoration: underline;
}
:hover>.headerlink {
display: inline-block;
min-width: 1em;
margin-left: -1em;
}
h1 {
font-size: 2rem;
font-weight: 500;
}
h1:first-child {
margin-top: 0.5em;
}
h2 {
font-size: 1.5rem;
font-weight: 400;
}
h3 {
font-weight: initial;
}
a {
color: var(--highlight-color);
}
main,
header {
margin: auto;
max-width: var(--body-width);
text-align: left;
}
main {
padding-bottom: 5em;
}
img {
max-width: 100%;
}
hr {
max-width: 5em;
border: none;
border-bottom: 5px dotted var(--highlight-color);
margin: 3em auto;
height: 0;
}
nav ul {
display: flex;
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 0;
}
nav li {
margin-right: 1em;
}
nav li:not(:first-child)::before {
content: "•";
margin-right: 1em;
}
.description {
font-style: italic;
}
.date {
color: var(--light-text-color);
}
aside {
float: right;
margin-left: 1rem;
max-width: calc(var(--body-width) * 0.33);
}
/* Code line numbers. */
.gutter>pre>.line {
color: var(--light-text-color);
margin-right: 0.5em;
}
pre {
white-space: pre-wrap;
}
@media (max-width: 550px) {
/* Chosen because it looks good :) */
aside {
float: none;
margin-left: 0;
max-width: 100%;
}
}

1
templates/404.html Normal file
View file

@ -0,0 +1 @@
{% extends "base.html" %}

85
templates/base.html Normal file
View file

@ -0,0 +1,85 @@
{%- if section -%}
{#- Zola's `section` and `page` variables share many fields, so we set `page`
to whichever one is present and access common fields through that variable to
simplify templating. -#}
{%- set page = section -%}
{%- endif -%}
{%- if not page -%}
{#- Hack: Zola's 404.html doesn't get rendered with `page` or `section` set to
anything. -#}
{%- set page = get_page(path="404.md") -%}
{%- endif -%}
<!doctype html>
<html lang=en-US>
<meta charset=utf-8>
<!-- *lix you* OwO -->
<title>{% if page.title %}{{ page.title }} @ {% endif %}{{ config.title }}</title>
<meta name=description content="{{ page.description|default(value=config.description) }}">
<meta name=viewport content="width=device-width, initial-scale=1">
<link rel=icon href=/favicon.ico sizes=48x48>
<link rel=icon href=/favicon.svg sizes=any type=image/svg+xml>
<link rel=apple-touch-icon href=/apple-touch-icon.png />
<link rel=manifest href=/manifest.json>
<meta property=og:title content="{{ page.title }}">
<meta property=og:description content="{{ page.description|default(value=config.description) }}">
<meta property=og:type content=article>
<meta property=og:url content="{{ page.permalink|safe }}">
<meta property=og:image content="{{ config.base_url|safe }}/img/favicon-1024.png">
<meta name=theme-color content=#D362A4>
<link rel=stylesheet type=text/css href=/styles/main.css>
<div id=container>
<header>
<a aria-label="Skip to main content" href="#main"></a>
<nav>
<ul>
<li><a href="/" aria-label="Homepage">{{ config.title }}</a></li>
<li><a href="/about">about</a></li>
<li><a href="/doc" aria-label="Documentation">docs</a></li>
<li><a href="/contribute">contribute</a></li>
<li><a href="/install">install</a></li>
<li><a href="/switch">switch from Nix</a></li>
</ul>
</nav>
</header>
<main id=main>
{{ page.content|safe }}
{% block post_content %}{% endblock -%}
{%- if section.subsections or section.pages -%}
{% block ls_title -%}
{#- <h1>further reading</h1> -#}
{%- endblock %}
<ul>
{%- endif %}
{% block ls -%}
{%- if section.subsections -%}
{% for subsection_path in section.subsections %}
{%- set subsection = get_section(path=subsection_path, metadata_only=true) %}
<li><a href="{{ subsection.permalink | safe }}">{{ subsection.title }}</a>
{%- if subsection.description -%}
: <span class=description>{{ subsection.description }}</span>
{%- endif -%}
{%- if subsection.date -%}
: <span class=date>{{ subsection.date }}</span>
{%- endif -%}
</li>
{% endfor %}
{%- endif %}
{%- if section.pages -%}
{% for subsection in section.pages %}
{% if subsection.extra.hidden %}{% continue %}{% endif -%}
<li><a href="{{ subsection.permalink | safe }}">{{ subsection.title }}</a>
{%- if subsection.description -%}
: <span class=description>{{ subsection.description }}</span>
{%- endif -%}
{%- if subsection.date %}
<span class=date>({{ subsection.date }})</span>
{%- endif -%}
</li>
{% endfor %}
{%- endif %}
{%- if section.subsections or section.pages -%}
</ul>
{%- endif %}
{%- endblock %}
</main>
</div>

4
templates/blog.html Normal file
View file

@ -0,0 +1,4 @@
{% extends "base.html" %}
{% block ls_title %}
<h1>posts</h1>
{%- endblock %}

1
templates/index.html Normal file
View file

@ -0,0 +1 @@
{% extends "base.html" %}

1
templates/page.html Normal file
View file

@ -0,0 +1 @@
{% extends "base.html" %}

1
templates/section.html Normal file
View file

@ -0,0 +1 @@
{% extends "base.html" %}