Fixed style, theme, spec files explanations.

master
Philippe PITTOLI 2020-04-23 19:44:32 +02:00
parent 597acacf8d
commit acb59721d3
6 changed files with 130 additions and 18 deletions

View File

@ -2,6 +2,7 @@
base_url = "https://baguette.netlib.re/"
theme = "water"
# theme = "after-dark"
# Whether to automatically compile all Sass files in the sass directory
compile_sass = true
@ -10,6 +11,44 @@ compile_sass = true
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
highlight_code = true
# highlight_theme = "1337"
# highlight_theme = "agola-dark"
# highlight_theme = "ascetic-white"
# highlight_theme = "axar"
# highlight_theme = "ayu-dark"
# highlight_theme = "ayu-light"
# highlight_theme = "ayu-mirage"
# highlight_theme = "base16-ocean-dark"
# highlight_theme = "base16-ocean-light"
# highlight_theme = "bbedit"
# highlight_theme = "boron"
# highlight_theme = "charcoal"
# highlight_theme = "cheerfully-light"
# highlight_theme = "classic-modified"
# highlight_theme = "demain"
highlight_theme = "dimmed-fluid"
# highlight_theme = "dracula"
# highlight_theme = "gray-matter-dark"
# highlight_theme = "gruvbox-dark"
# highlight_theme = "gruvbox-light"
# highlight_theme = "idle"
# highlight_theme = "inspired-github"
# highlight_theme = "ir-white"
# highlight_theme = "kronuz"
# highlight_theme = "material-dark"
# highlight_theme = "material-light"
# highlight_theme = "monokai"
# highlight_theme = "nyx-bold"
# highlight_theme = "one-dark"
# highlight_theme = "solarized-dark"
# highlight_theme = "solarized-light"
# highlight_theme = "subway-madrid"
# highlight_theme = "subway-moscow"
# highlight_theme = "Tomorrow"
# highlight_theme = "visual-studio-dark"
# highlight_theme = "zenburn"
# Whether to build a search index to be used later on by a JavaScript library
build_search_index = false
@ -22,9 +61,17 @@ languages = [
{code = "fr", rss = true}
]
# for after dark theme
#taxonomies = [
# # You can enable/disable RSS
# {name = "categories", rss = true},
# {name = "tags", rss = true},
#]
[extra]
header = "header"
header = "_common/header.md"
menu = "menu"
# .scss are automatically compiled in .css
@ -32,8 +79,11 @@ stylesheets = [ "custom.css" ]
# The common part of the title (appended to page/section titles)
title = " | baguette"
color = "dark"
color = "light"
max_width_for = "body"
max_width = "1400px"
[extra.forge]
# The baseURL for files tracked on the forge
browse = "https://git.baguette.netlib.re/Baguette/website/src/branch/master/"

View File

@ -274,27 +274,56 @@ All our tools are designed to be simple to use, to understand, to read.
<red>TODO: spec files, the file format used in `package`, `packaging` and `service`.</red>
---
<a name="spec-format"></a>
**Spec files.** *our declarative format*<br />
Before presenting our tools, here a file format named `spec` that we tend to use when relevant.
It is *declarative*: we tend not to tell instructions how to do things (copy this file here, download this, etc.) but to describe something (url of the project is `https://example.com/xxx`).
This way, we can provide an easy to understand format which looks like YAML a lot, but allows us to do much more.
Here a quick example.
```yaml
name: hello
version: 2.10
release: 2
sources: https://ftp.gnu.org/gnu/hello/hello-%{version}.tar.gz
# This is a comment
dependencies:
- gettext
# This is a simple variable instanciation
variable: value
build-dependencies:
- make
# This is a inlined list
list: a, b , c
options:
- configure: --disable-nls
# This is a multiline list
list:
- a
- b
- c
```
And now, we can add `block sections` to it: sometime we <u>do</u> want to tell instructions.
```yaml
# We have the URL of the tarballs for a software
software-url: 'https://example.com/my-software/'
# ... and we want to get its last version number
# "@watch" is a section, the name "watch" has a meaning in the application reading the file
@watch
curl 'https://ftp.gnu.org/gnu/hello/' -o- 2>/dev/null |
sed -n "/hello-.*\.tar\.gz/{s/\.tar\.gz.*//;s/.*hello-//;p}" |
# the following is simple shell scripting
curl %{software-url} -o- 2>/dev/null | \
sed "s/_my-software.tar.gz//" | \
tail -1
```
Sometime, we want to refer to a file (or directory), and add metadata to it.
```yaml
# as for "@watch", "%configuration" has a meaning in the application reading the file
# this time, the block is named
%configuration postgresql.conf
# within a named block, we find simple declarations as outside the block
name: database configuration
creation-command: my-script.sh -a -b -c
```
---
<red>TODO: explains why it's different / better than other package managers.</red>
@ -317,6 +346,28 @@ Package's configuration is a list of repositories, authorized package signing ke
Packaging uses simple, declarative recipe files, here some examples: [hello][recipe-hello], [dhcpcd][recipe-dhcpcd], [alsa-utils][recipe-alsautils].
The only required parameters are `name` and `sources`.
```yaml
# GNU Hello example program
name: hello
version: 2.10
release: 2
sources: https://ftp.gnu.org/gnu/hello/hello-%{version}.tar.gz
dependencies:
- gettext
build-dependencies:
- make
options:
- configure: --disable-nls
@watch
curl 'https://ftp.gnu.org/gnu/hello/' -o- 2>/dev/null |
sed -n "/hello-.*\.tar\.gz/{s/\.tar\.gz.*//;s/.*hello-//;p}" |
tail -1
```
<a name="packaging-build-env"></a>
Packaging creates build environments to test packages before validation.
It works as follow:
@ -402,14 +453,14 @@ Remote remote communications are transparent.
C library with Crystal bindings (other languages coming soon)
<pre><code class="Crystal">
```Crystal
require "ipc.cr"
server = IPC::Service.new "MyService"
server.loop do |message|
# ...
end
</code></pre>
```
<red>TODO: show that's easy to write even in plain C.</red>

View File

@ -1,9 +1,9 @@
+++
title = "A new homepage for dnsmanager"
title = "A new website for Baguette"
date = 2020-03-29
+++
Today, we are opening a website for dnsmanager!
Today, we are opening a website for Baguette!
It should display properly on all devices including mobile phones. If that's not the case, please let us know about it or submit a patch yourself.

View File

@ -28,3 +28,14 @@ red {
// margin-bottom: -1px;
//}
@media screen and (min-width: 768px) {
html {
font-size: 1.1em;
}
pre {
font-size: 1.2em;
}
.container {
max-width: 80rem;
}
}