Initial commit
This commit is contained in:
commit
2498b5e59c
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/public
|
12
README.md
Normal file
12
README.md
Normal 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
21
config.toml
Normal 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
10
content/404.md
Normal 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
6
content/_index.md
Normal 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
10
content/about.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
title: about
|
||||
extra:
|
||||
# Visible in the top-bar
|
||||
hidden: true
|
||||
---
|
||||
|
||||
# about
|
||||
|
||||
# why Lix?
|
14
content/contribute.md
Normal file
14
content/contribute.md
Normal 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
8
content/doc.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: documentation
|
||||
extra:
|
||||
# Visible in the top-bar
|
||||
hidden: true
|
||||
---
|
||||
|
||||
# documentation
|
8
content/install.md
Normal file
8
content/install.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: install Lix
|
||||
extra:
|
||||
# Visible in the top-bar
|
||||
hidden: true
|
||||
---
|
||||
|
||||
# install Lix
|
11
content/switch.md
Normal file
11
content/switch.md
Normal 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
88
content/test.md
Normal 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/
|
BIN
static/android-chrome-192x192.png
Normal file
BIN
static/android-chrome-192x192.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9 KiB |
BIN
static/android-chrome-512x512.png
Normal file
BIN
static/android-chrome-512x512.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
BIN
static/apple-touch-icon.png
Normal file
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
BIN
static/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
1
static/favicon.svg
Normal file
1
static/favicon.svg
Normal 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
21
static/manifest.json
Normal 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
146
static/styles/main.css
Normal 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
1
templates/404.html
Normal file
|
@ -0,0 +1 @@
|
|||
{% extends "base.html" %}
|
85
templates/base.html
Normal file
85
templates/base.html
Normal 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
4
templates/blog.html
Normal file
|
@ -0,0 +1,4 @@
|
|||
{% extends "base.html" %}
|
||||
{% block ls_title %}
|
||||
<h1>posts</h1>
|
||||
{%- endblock %}
|
1
templates/index.html
Normal file
1
templates/index.html
Normal file
|
@ -0,0 +1 @@
|
|||
{% extends "base.html" %}
|
1
templates/page.html
Normal file
1
templates/page.html
Normal file
|
@ -0,0 +1 @@
|
|||
{% extends "base.html" %}
|
1
templates/section.html
Normal file
1
templates/section.html
Normal file
|
@ -0,0 +1 @@
|
|||
{% extends "base.html" %}
|
Loading…
Reference in a new issue