- bincio_wiki/pages/ — new home for all wiki content (2 wiki pages + _docs/ with 13 docs pages), tracked by the

container repo
  - bincio_wiki/blog/ — new home for all blog content
  - site/src/content.config.ts — base: '../pages' (was ./src/content/entries)
  - site/astro.config.mjs — added vite.server.fs.allow: ['..'] so Vite serves files from outside the project root;
  updated the delete watcher to watch ../pages/
  - edit/server.py — default WIKI_PAGES_DIR is now pages (was site/src/content/entries)

  Content is now versioned in bincio_wiki. The submodule stays clean — it's just the engine.
This commit is contained in:
brutsalvadi
2026-05-04 12:06:53 +02:00
parent fc1f09917e
commit 0f8bd3dba6
20 changed files with 979 additions and 9 deletions
+12 -6
View File
@@ -4,14 +4,16 @@
A private wiki for the bincio group of friends. Built on Astro 6 using the
`brutsalvadi/astro-bloomz` fork as a git submodule at `site/`. Content lives
in `pages/` at the repo root, symlinked into `site/src/content/entries/_wiki`.
in `pages/` and `blog/` at the repo root; Astro loads them via glob loaders
pointing to `../pages` and `../blog` (outside the submodule). No symlinks.
## Directory layout
```
bincio_wiki/
pages/ wiki content (*.md files the community edits)
_docs/ software documentation (moved here, shown as separate section)
_docs/ software documentation (shown as separate section)
blog/ blog/stories content (*.md files)
site/ Astro 6 app (git submodule → brutsalvadi/astro-bloomz)
edit/ FastAPI edit server (Python, port 8001)
pyproject.toml Python dependencies (managed by uv)
@@ -36,6 +38,7 @@ by `dev.sh --edit` — no manual setup needed. To add a dependency:
- Wiki pages: `pages/*.md` (IDs in Astro content store are the bare filename
without extension, e.g. `digital-garden`)
- Docs section: `pages/_docs/*.md` (IDs start with `_docs/`)
- Blog/stories: `blog/*.md`
- Bonsai index: stored in `site/src/content/index/` — the `i.bonsai.md` file
defines the semantic tree structure
- The homepage (`site/src/pages/index.astro`) splits entries by `_docs/` prefix
@@ -44,10 +47,13 @@ by `dev.sh --edit` — no manual setup needed. To add a dependency:
## Astro 6 content layer notes
- Collections use glob loaders in `site/src/content.config.ts`
- Custom `generateId` on the `entries` collection strips `_wiki/` prefix
- Custom `generateId` on the `index` collection preserves dots (Astro 6's
default `generateId` applies `githubSlug()` which strips them — `i.bonsai`
would become `ibonsai`, breaking semtree lookup)
- `entries` collection base is `../pages` (relative to `site/`), resolving to
`bincio_wiki/pages/`. Vite is configured with `server.fs.allow: ['..']` to
permit serving files from outside the project root.
- `blog` collection base is `../blog` (same pattern)
- `index` collection base is `./src/content/index` (stays inside `site/`)
- Custom `generateId` on `entries` and `index` — see `content.config.ts` for
details. `index` preserves dots so `i.bonsai` is not mangled by githubSlug.
- Use `entry.id` not `entry.slug`
- Use `import { render } from 'astro:content'; render(entry)` not `entry.render()`
+89
View File
@@ -0,0 +1,89 @@
---
title: 'Come scrivere una storia di viaggio (il vostro prossimo articolo)'
pubDate: '2026-05-02'
description: 'Guida per raccontare le vostre avventure in bicicletta'
---
I blog post sono il **cuore emozionale** di questo giardino. Sono i vostri racconti veri: il viaggio in Marocco, la non-stop Barcellona-Valencia, il disastro meteo a 2000m.
## Cos'è un blog post qui?
Un blog post è una **storia completa e autosufficiente** di un'avventura in bicicletta.
**Esempi di titoli:**
- "Bike trip to Morocco — 2 weeks, 1200 km"
- "Barcelona—Valencia non-stop: come siamo riusciti (e cosa ci ha ucciso)"
- "La tempesta di luglio che non dimenticheremo"
- "Primo bike packing: che cosa ho imparato (e cosa non fare)"
- "100 km notturni: un'esperienza che ti cambia"
## Struttura semplice
Non servono capitoli complicati. Un'idea:
```markdown
---
title: "Il titolo del vostro viaggio"
pubDate: '2026-05-15'
description: "Una frase che cattura l'essenza"
heroImage: "/foto-principale.jpg"
---
### Perché abbiamo deciso di farlo
Una o due frasi che spiegano il motivo. Perché? Chi? Quando?
### La preparazione
Se rilevante: cosa abbiamo fatto prima, come ci siamo organizzati, che cosa abbiamo sbagliato.
### Il viaggio (giorno per giorno, o per fasi)
La storia vera. Dove siamo andati? Cosa è successo? Che sensazione era?
### Le cose che non sapevamo
Quello che abbiamo imparato. Le sorprese. I dettagli che nessuno ti dice.
### Saremmo tornati?
Una conclusione onesta: è stato worth it? Faremmo di nuovo la stessa rotta?
```
## Regole non scritte
1. **Siate voi stessi** — non scrivete come se fosse un articolo di magazine. Scrivete come raccontereste la storia al bar.
2. **Includete i dettagli viscerali** — non solo "era bello", ma "il vento ci ha spinto contro la parete rocciosa e abbiamo capito quanto era fragile il manubrio".
3. **I fallimenti sono meglio dei successi** — la non-stop che è andata male è più interessante della normale gita.
4. **Numeri e foto aiutano** — "130 km in un giorno" è più vivido di "molti chilometri". Una foto vale mille parole.
5. **Collegate ad altri contenuti** — se fate menzione di un componente, di una tecnica, di un posto: usate i `[[wikilink]]` per collegarlo.
Esempio:
> "Abbiamo usato le [salopette da donna](oppure [[SalopettaNera]]) che avevamo testato in [[BincioAbbigliamento]], e anche bene. La [[rotta al passo del Brennero]] che avevamo mappato a casa è stata perfetta."
6. **Data e ora importante** — quando è successo? Se è una storia di anni fa, è ancora rilevante? Datela chiaramente.
## Cosa NON è un blog post
- Non è "5 consigli per il viaggio" → mettete quello in [[BincioTour]] come guide
- Non è "come riparare il cambio" → quello va in [[BincioOfficina]]
- Non è "review del mio nuovo Garmin" → quello va in [[BincioTech]]
Un blog post è **il vostro viaggio, il vostro racconto, la vostra avventura**.
## Dopo averlo scritto
- Rileggete una volta (non serve perfezione)
- Aggiungete foto se le avete
- Collegate pagine correlate con wikilink
- Pubblicate
Il resto lo fa il giardino.
---
**Pronti a raccontare?** Il prossimo viaggio aspetta una storia.
+214
View File
@@ -0,0 +1,214 @@
---
title: 'Markdown Style Guide'
description: 'Here is a sample of some basic Markdown syntax that can be used when writing Markdown content in Astro.'
pubDate: 'Jul 01 2022'
heroImage: '/blog-placeholder-3.jpg'
---
Here is a sample of some basic Markdown syntax that can be used when writing Markdown content in Astro.
## Headings
The following HTML `<h1>``<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest.
# H1
## H2
### H3
#### H4
##### H5
###### H6
## Paragraph
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
## Images
#### Syntax
```markdown
![Alt text](./full/or/relative/path/of/image)
```
#### Output
![blog placeholder](/blog-placeholder-about.jpg)
## Blockquotes
The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
### Blockquote without attribution
#### Syntax
```markdown
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
> **Note** that you can use _Markdown syntax_ within a blockquote.
```
#### Output
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
> **Note** that you can use _Markdown syntax_ within a blockquote.
### Blockquote with attribution
#### Syntax
```markdown
> Don't communicate by sharing memory, share memory by communicating.<br>
> — <cite>Rob Pike[^1]</cite>
```
#### Output
> Don't communicate by sharing memory, share memory by communicating.<br>
> — <cite>Rob Pike[^1]</cite>
[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
## Tables
#### Syntax
```markdown
| Italics | Bold | Code |
| --------- | -------- | ------ |
| _italics_ | **bold** | `code` |
```
#### Output
| Italics | Bold | Code |
| --------- | -------- | ------ |
| _italics_ | **bold** | `code` |
## Code Blocks
#### Syntax
we can use 3 backticks ``` in new line and write snippet and close with 3 backticks on new line and to highlight language specific syntac, write one word of language name after first 3 backticks, for eg. html, javascript, css, markdown, typescript, txt, bash
````markdown
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
```
````
Output
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
```
## List Types
### Ordered List
#### Syntax
```markdown
1. First item
2. Second item
3. Third item
```
#### Output
1. First item
2. Second item
3. Third item
### Unordered List
#### Syntax
```markdown
- List item
- Another item
- And another item
```
#### Output
- List item
- Another item
- And another item
### Nested list
#### Syntax
```markdown
- Fruit
- Apple
- Orange
- Banana
- Dairy
- Milk
- Cheese
```
#### Output
- Fruit
- Apple
- Orange
- Banana
- Dairy
- Milk
- Cheese
## Other Elements — abbr, sub, sup, kbd, mark
#### Syntax
```markdown
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
H<sub>2</sub>O
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
```
#### Output
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
H<sub>2</sub>O
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
+2 -2
View File
@@ -21,8 +21,8 @@ from fastapi.responses import JSONResponse
from pydantic import BaseModel
_ROOT = Path(__file__).parent.parent
pages_dir: Path = _ROOT / os.environ.get("WIKI_PAGES_DIR", "site/src/content/entries")
stories_dir: Path = _ROOT / os.environ.get("WIKI_STORIES_DIR", "site/src/content/blog")
pages_dir: Path = _ROOT / os.environ.get("WIKI_PAGES_DIR", "pages")
stories_dir: Path = _ROOT / os.environ.get("WIKI_STORIES_DIR", "blog")
site_dir: Path = _ROOT / "site"
# On VPS, copy built dist here so nginx can serve from /var/www with proper permissions.
_wiki_webroot: Path | None = Path(os.environ["WIKI_WEBROOT"]) if os.environ.get("WIKI_WEBROOT") else None
+12
View File
@@ -0,0 +1,12 @@
---
title: Astro-Bloomz
date: '2023-10-04'
---
Astro-Bloomz è un [[digital-garden]], la cui caratteristica principale sono i [[wikirefs]] (detti anche "link bidirezionali"). Si tratta di link che usano la sintassi `[[doppia-parentesi-quadra]]` per collegare file all'interno di una collezione di documenti markdown. Possono essere usati in qualsiasi file markdown del sito, a patto che i nomi dei file siano univoci.
I "Bloomz" sono le parti di un giardino digitale in stile [[wikibonsai]] pensate per essere condivise, mostrate e incrociate — ma attento a non farti pungere! 🐝
I giardini in stile [[wikibonsai]] aggiungono in particolare un [[semantic-tree]], visualizzabile come una sorta di albero di #tag chiamato [mappa](/map). È costruito a partire dai [[index-type|file indice]], il cui contenuto ne definisce la struttura tramite liste markdown e `[[wikirefs]]`. I file collegati nell'albero semantico sono principalmente [[entry-type|entry]], che fungono da riepiloghi concettuali, in modo simile a una pagina di Wikipedia. Ogni entry mostra anche i riferimenti a ritroso, ovvero quali altri post la citano.
Queste sintassi e questo modo di lavorare mirano a rendere grandi quantità di contenuti più facilmente navigabili, senza dover ricorrere ad algoritmi e meccanismi di ricerca opachi (anche se questi sono generalmente disponibili).
+12
View File
@@ -0,0 +1,12 @@
---
title: 🪴 Digital Garden
date: '2021-08-04'
---
La caratteristica distintiva di un [digital garden](https://twitter.com/wibomd/status/1703946098589548622) è il `[[wikiref]]` (o "[[wikirefs|link bidirezionale]]"). Aggiungendo una fitta rete di link interni, le pagine di un sito diventano descrittive di una topografia di concetti che le descrivono o ne vengono utilizzati.
Le tecniche osservate in natura sono tipicamente un mix derivato da [personal knowledge management](https://en.wikipedia.org/wiki/Personal_knowledge_management), [personal wiki](https://en.wikipedia.org/wiki/Personal_wiki), [tools for thought](https://numinous.productions/ttft/), [zettelkasten](https://en.wikipedia.org/wiki/Zettelkasten) ed [evergreen notes](https://entries.andymatuschak.org/z4SDCZQeRo4xFEQ8H4qrSqd68ucpgE6LU155C), tra gli altri.
_[[wikibonsai|WikiBonsai]]_ è la sintesi e la cura di ciò che questo particolare giardiniere ha imparato e costruito.
Curiosità: "giardinaggio" è una metafora sorprendentemente comune che [spunta](https://twitter.com/wibomd/status/1704147337738654189) nei posti più inaspettati.
+9
View File
@@ -0,0 +1,9 @@
---
title: Tipo di Documento
---
I tipi di documento, o "doctype", sono sinonimi delle [content collection di Astro](https://docs.astro.build/en/guides/content-collections/). Sono tipi di documenti markdown usati per renderizzare i contenuti in modi specifici. I seguenti sono i doctype previsti in un [[digital-garden]] stile [[wikibonsai]]:
- [`posts`](https://docs.astro.build/en/guides/cms/keystatic/#creating-a-new-post)
- [[index-type]]
- [[entry-type]]
+22
View File
@@ -0,0 +1,22 @@
---
title: DocType Entry
---
Come in un dizionario, un'enciclopedia o Wikipedia, le entry sono uno dei tipi di documento centrali di questo template (insieme agli [[index-type]] e ai [[post-type]]). Sono concetti e idee atomici, significativamente [[wikirefs|collegati]] tra loro in modo da rendere comprensibile come quei concetti si relazionano.
Il percorso breadcrumb è formato dalla posizione dell'entry corrente nell'[[semantic-tree]]. I link nel footer sono costruiti sia dalla sua posizione nell'albero sia dai [[wikirefs]] in avanti e a ritroso.
### Markdown
Le entry conterranno tipicamente frontmatter e/o wikiattr, seguiti dal testo markdown:
```markdown
---
frontmatter: attributi
---
:tipo::[[wikiattr]]
Segue il resto del testo del documento,
che potrà contenere altri [[wikilink]].
```
+62
View File
@@ -0,0 +1,62 @@
---
title: DocType Index
---
I documenti indice sono il metodo principale per strutturare l'[[semantic-tree]]. Sono uno dei tipi di documento centrali di questo template (insieme agli [[entry-type]] e ai [[post-type]]).
### Navigazione
- Tramite la [[map-page]].
- Tramite i [[wikirefs]].
### Markdown
I file indice costruiscono l'[[semantic-tree]], visualizzabile nella [[map-page]]. Vanno collocati nella directory `./content/index/` e ciascuno deve contenere un elenco markdown con [[wikirefs]] che puntano tipicamente a [[entry-type|entry]] (ma possono puntare a qualsiasi [[doctype]]). Possono contenere o meno frontmatter yaml.
I documenti devono avere questa forma (senza i commenti):
(i caratteri di escape `\\` sono aggiunti per mostrare il testo grezzo)
```markdown
// file: i.bonsai.md
- [[bk.how-to-read-a-book]]
- [[read]]
- [[4-levels-of-reading]]
- [[elementary-reading]]
- [[inspectional-reading]]
- [[analytical-reading]]
- [[syntopical-reading]]
```
L'albero può essere suddiviso in più file indice:
```markdown
// file: i.bonsai.md
- [[bk.how-to-read-a-book]]
- [[i.read]]
```
```markdown
// file: i.read.md
- [[4-levels-of-reading]]
- [[elementary-reading]]
- [[inspectional-reading]]
- [[analytical-reading]]
- [[syntopical-reading]]
```
Entrambi gli esempi genereranno un albero con questa struttura:
```markdown
i.bonsai
└── bk.how-to-read-a-book
└── i.read
└── 4-levels-of-reading
├── elementary-reading
├── inspectional-reading
├── analytical-reading
└── syntopical-reading
```
+5
View File
@@ -0,0 +1,5 @@
---
title: Pagina Mappa
---
Questa pagina mostra l'[[semantic-tree]] completo generato dai documenti [[index-type]].
+5
View File
@@ -0,0 +1,5 @@
---
title: Remark-WikiRefs
---
Il pacchetto `remark-wikirefs` è responsabile della gestione della sintassi markdown dei [[wikirefs]]. È disponibile su [GitHub](https://github.com/wikibonsai/remark-wikirefs).
+13
View File
@@ -0,0 +1,13 @@
---
title: Albero Semantico
---
:plugin::[[semtree]]
L'albero semantico è costruito con il plugin [[semtree]] (vedi la documentazione per i dettagli). È definito dai documenti [[index-type]] in formato markdown. Forma una gerarchia concettuale con lo scopo di orientare il lettore all'interno dei concetti del sito.
Vale la pena ripeterlo:
> "È importante considerare la conoscenza come una sorta di albero semantico. Assicurati di comprendere i principi fondamentali — ovvero il tronco e i rami principali — prima di addentrarsi nelle foglie e nei dettagli, altrimenti non avranno nulla a cui aggrapparsi."
>
> ~ [Elon Musk](https://www.reddit.com/r/IAmA/comments/2rgsan/comment/cnfre0a/?utm_source=share&utm_medium=web2x&context=3)
+5
View File
@@ -0,0 +1,5 @@
---
title: SemTree
---
Il pacchetto `semtree` è responsabile della costruzione dell'[[semantic-tree]]. È disponibile su [GitHub](https://github.com/wikibonsai/semtree).
+6
View File
@@ -0,0 +1,6 @@
---
title: Test Render
date: '2023-10-05'
---
Questo file serve specificamente a testare il rendering dei [[wikirefs]] come wikiembed.
+244
View File
@@ -0,0 +1,244 @@
---
title: Test
date: '2021-08-04'
---
Questa pagina serve a testare e mostrare gli stili markdown disponibili in questo template.
## Markdown
(alcuni caratteri di escape `\` sono aggiunti per mostrare il testo grezzo)
### WikiRefs
#### WikiAttr con prefisso (vedi attrbox per l'output)
```markdown
:prefixed-wikiattr::[[wikirefs]]
```
:prefixed-wikiattr::[[wikirefs]]
#### Lista WikiAttr con prefisso (vedi attrbox per l'output)
```markdown
: prefixed-wikiattr-list ::
- [[wikirefs]]
- [[feedback]]
```
: prefixed-wikiattr-list ::
- [[wikirefs]]
- [[feedback]]
#### WikiAttr senza prefisso (vedi attrbox per il rendering)
```markdown
unprefixed-wikiattr::[[wikirefs]]
```
unprefixed-wikiattr::[[wikirefs]]
#### Lista WikiAttr senza prefisso (vedi attrbox per il rendering)
```markdown
unprefixed-wikiattr-list ::
- [[wikirefs]]
- [[feedback]]
```
unprefixed-wikiattr-list ::
- [[wikirefs]]
- [[feedback]]
#### Un WikiLink
```markdown
[[digital-garden]]
```
[[digital-garden]]
#### Un WikiLink tipizzato (controlla l'HTML per la classe CSS linktype)
```markdown
:typed-wikilink::[[digital-garden]].
```
:typed-wikilink::[[digital-garden]].
#### Un WikiEmbed (Markdown)
```markdown
![[test-render]]
```
![[test-render]]
#### Un WikiEmbed (Immagine)
```markdown
![[wikibonsai-way.png]]
```
![[wikibonsai-way.png]]
#### Zombie (link a pagine inesistenti)
#### WikiAttr con prefisso zombie (vedi attrbox per il rendering)
```markdown
:zombie-wikiattr::[[zombie]]
```
:zombie-wikiattr::[[zombie]]
#### Lista WikiAttr con prefisso zombie (vedi attrbox per il rendering)
```markdown
: zombie-wikiattr-list ::
- [[zombie-1]]
- [[zombie-2]]
```
: zombie-wikiattr-list ::
- [[zombie-1]]
- [[zombie-2]]
#### WikiAttr senza prefisso zombie (vedi attrbox per il rendering)
```markdown
zombie-wikiattr::[[zombie]]
```
zombie-wikiattr::[[zombie]]
#### Lista WikiAttr senza prefisso zombie (vedi attrbox per il rendering)
```markdown
zombie-wikiattr-list ::
- [[zombie-1]]
- [[zombie-2]]
```
zombie-wikiattr-list ::
- [[zombie-1]]
- [[zombie-2]]
#### WikiLink zombie
```markdown
[[zombie]]
```
[[zombie]]
#### WikiLink tipizzato zombie
```markdown
:zombie-typed-wikilink::[[zombie]].
```
:zombie-typed-wikilink::[[zombie]].
#### WikiEmbed zombie
```markdown
![[zombie]]
```
![[zombie]]
#### Intestazioni
```markdown
# Intestazione 1
## Intestazione 2
### Intestazione 3
#### Intestazione 4
##### Intestazione 5
###### Intestazione 6
```
# Intestazione 1
## Intestazione 2
### Intestazione 3
#### Intestazione 4
##### Intestazione 5
###### Intestazione 6
#### Liste
```markdown
- Uno
- Due
- Tre
```
- Uno
- Due
- Tre
#### Citazione
```markdown
> Citazione.
```
> Citazione.
#### Link web
```markdown
[Link web](https://astro-bloomz.netlify.app)
```
[Link web](https://astro-bloomz.netlify.app)
#### Blocco di codice
```javascript
// javascript
for (var i=1; i < 101; i++){
if (i % 15 == 0) console.log("FizzBuzz");
else if (i % 3 == 0) console.log("Fizz");
else if (i % 5 == 0) console.log("Buzz");
else console.log(i);
}
```
```ruby
# ruby
1.upto 100 do |i|
string = ""
string += "Fizz" if i % 3 == 0
string += "Buzz" if i % 5 == 0
puts "#{i} = #{string}"
end
```
#### Codice inline
```markdown
Va bene, `va bene`, va bene.
```
Va bene, `va bene`, va bene.
#### Tabelle
```markdown
| Conigli | Volpi | Ricci |
|:------- |:-----:| -----:|
| 25 | 3 | 12 |
| 100 | 10 | 20 |
```
| Conigli | Volpi | Ricci |
|:------- |:-----:| -----:|
| 25 | 3 | 12 |
| 100 | 10 | 20 |
#### Testo lungo
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla imperdiet, eros in aliquet eleifend, felis tellus laoreet velit, a feugiat purus mi at arcu. Sed tempor congue gravida. Suspendisse sodales ultricies lacus, nec consequat mauris dictum in. Aliquam at lacus sodales, porta velit in, consequat mauris. Maecenas consequat fermentum tortor, vitae tincidunt sem porta vel. Sed elementum dui libero, vitae bibendum est imperdiet non. Curabitur sit amet libero quis nulla faucibus euismod. Cras condimentum ante tortor, a sollicitudin elit accumsan eget.
+12
View File
@@ -0,0 +1,12 @@
---
title: WikiBonsai
---
![[wikibonsai-way.png]][^twt]
Astro-Bloomz è un progetto [WikiBonsai](https://github.com/wikibonsai/wikibonsai).
![[astro-bloomz]]
[^twt]: [spiegazione](https://twitter.com/wibomd/status/1703930973371412699)
+19
View File
@@ -0,0 +1,19 @@
---
title: WikiRefs
---
plugin::[[remark-wikirefs]]
I `[[WikiRefs]]`[^nomi] sono una parte fondamentale del mondo del [[digital-garden|digital gardening]]. Sono il mattone di base dell'interconnessione realizzata in molti giardini digitali, incluso questo. Vengono renderizzati con il plugin [[remark-wikirefs]], appaiono in un colore diverso rispetto ai link web esterni, e puoi consultare quella documentazione per ulteriori dettagli.
In breve, questo particolare tipo di `[[wikirefs]]` comprende tre costrutti wiki: wikiattr, wikilink e wikimbed.
I _WikiAttr_ sono attributi formalizzati di un file. Includono un tipo di attributo descrittivo e un wikilink a un altro file. Si scrivono `:così::[[wikilink]]` (con un'a capo dopo) e vengono renderizzati nell'attributebox (attrbox).
I _WikiLink_ sono i tradizionali link bidirezionali con la sintassi a parentesi quadre e possono comparire ovunque in un file. Esistono `:tipizzati::[[wikilink]]` e normali `[[wikilink]]` non tipizzati. Sono evidenziati in un colore diverso rispetto ai link web esterni.
I _WikiEmbed_ incorporano il contenuto del file collegato direttamente nella pagina corrente. È possibile incorporare file markdown, immagini, audio o video. I WikiEmbed si scrivono `![[così]]`.
[^nomi]: "wikiref" porta in realtà molti nomi: "[wikilink](https://en.wikipedia.org/wiki/Help:Link)", "[link bidirezionale](https://maggieappleton.com/bidirectionals)", "[wikitext linking](https://tiddlywiki.com/#Linking%20in%20WikiText)", "backlink", "[link interno](https://help.obsidian.md/How+to/Internal+link)", per citarne solo alcuni...
+118
View File
@@ -0,0 +1,118 @@
---
title: 'Come funziona questo giardino digitale (e perché esiste)'
pubDate: '2026-05-02'
description: 'Una guida semplice per capire la struttura e come contribuire'
---
## Cos'è un giardino digitale?
Un giardino digitale è diverso da un blog. Un blog ha pagine ordinate per data — la più recente è in primo piano. Un giardino digitale è come un orto vero: crescono insieme tante cose diverse, ognuna con i propri tempi, e tutto è collegato.
Qui raccogliamo:
- Ricordi di cose che abbiamo fatto insieme
- Idee e spunti che tornano utili
- Documentazione tecnica quando serve
- Semplicemente: le cose che vogliamo non dimenticare
## La struttura
### Due sezioni
**📝 Blog** — Storie, ricordi, avventure in bicicletta. Esempi: "Bike trip to Morocco", "Barcelona—Valencia non-stop", "Quella volta che ci è piovuto addosso a 2000m".
**📚 Pages** — Guide, spiegazioni, riferimenti. Esempi: "Come riparare la catena", "Quali sono le categorie", "Come usare i wikilink".
### Wikilink — i fili che tengono insieme tutto
Quando scrivi su questo giardino, puoi collegare le cose con una sintassi speciale: `[[nome-della-pagina]]`.
Esempio:
- Scrivi un racconto su una escursione: "[[Escursione alle Tre Cime]]"
- In fondo al racconto, aggiungi: "Leggi anche [[Escursione al Monte Baldo]]"
- Nel sito vedi automaticamente il collegamento, e il lettore può saltare da una storia all'altra
Non serve elencare tutti i link a mano — il sistema li scopre da solo e li mostra alla fine di ogni pagina.
### L'albero — bonsai
Tutte le pagine sono organizzate in un albero gerarchico. Operativamente, funziona così:
**La pagina "BincioTech"** esiste come pagina vera e propria. Altre pagine la referenziano con un wikilink — ad esempio una pagina su "Review del Garmin" dirà: "Vedi anche [[BincioTech]]".
Quando il sito vede questi collegamenti, costruisce automaticamente l'albero. Quindi:
```
BincioTech
├─ Review del Garmin
├─ Come sincronizzare il power meter
└─ Lights comparision
BincioOfficina
├─ Come pulire la catena
├─ Riparazione del cambio
└─ Cuscinetti rotti?
```
**Quindi, operativamente:**
1. Crei una pagina normale: `review-del-garmin.md`
2. Dentro scrivi: "Questo è un componente di [[BincioTech]]"
3. Il sito vede il wikilink e posiziona la pagina sotto BincioTech nell'albero
4. Quando leggi "Review del Garmin", vedi il percorso: `BincioTech > Review del Garmin`
Non serve fare nulla di complicato — basta usare il wikilink giusto nella pagina e il resto succede da solo.
## Come contribuire
### Creare una pagina
1. Una pagina è un semplice file di testo (Markdown)
2. Ha un titolo e una data
3. Dentro scrivi con il linguaggio che usi per gli SMS e le email — niente complicazioni
4. Aggiungi i wikilink dove ha senso: `[[Pagina Collegata]]`
Esempio di pagina:
```markdown
---
title: "Quel sabato che eravamo ubriachi al bar"
date: '2025-05-01'
---
Ricordo ancora il primo drink che ci ha ordinato Giancarlo...
Successivamente siamo andati a [[La pizzeria dove sempre andiamo]].
```
### Nome della pagina
Il nome è importante per i wikilink. Usa:
- Parole normali, non gergo
- Maiuscola all'inizio: `Escursione alle Tre Cime`, non `escursione alle tre cime`
- Trattini al posto degli spazi: `Escursione-alle-Tre-Cime`
- Descrittivo: `Racconto di Marco`, non `cosa`
### Dove mettere la pagina?
Se è un **ricordo o una storia**: va nella sezione pagine "blog"
Se è una **guida o documentazione**: va nella sezione "pages"
Chi lo decide? Dipende dal contenuto. Se non sei sicuro, inizia con le pagine recenti — puoi sempre spostarlo.
## L'ordine delle cose — tema e gerarchia
Prima che tutti iniziate a scrivere, vogliamo stabilire un sistema di temi. Immagina di dire:
> "Tutte le storie di gite sono sotto Ricordi → Escursioni"
> "Tutte le ricette sono sotto Tecniche → Cucina"
Così quando leggi una pagina, vedi il percorso che l'ha raggiunta. Non è un'imposizione rigida — è più un'organizzazione che rende facile muoversi.
## Riassumendo
- **Scrivi in italiano, in modo naturale** — come se stessi scrivendo a un amico
- **Collega le pagine con wikilink** — `[[Così]]` — e tutto il resto succede da solo
- **Non preoccuparti della perfezione** — un giardino si evolve nel tempo
- **Scegli un nome chiaro** per la pagina, così gli altri sanno di cosa parla
Pronto? Allora, piantare il primo seme. 🌱
+117
View File
@@ -0,0 +1,117 @@
---
title: 'Come usare le categorie Bincio'
date: '2026-05-02'
---
Abbiamo organizzato il giardino in 5 categorie principali. Ognuna ha uno scopo preciso.
## 🔧 BincioTech
Tutto quello che riguarda **tecnologia, gadget e gear** della bicicletta.
**Esempi di contenuti:**
- "Ho comprato questo ciclocomputer e fa così"
- "Confronto tra trasmettitori di potenza: quale scegliere?"
- "Come sincronizzare il Garmin con il telefono"
- "Review della nuova cassa Bluetooth impermeabile"
- "Sensori di cadenza: quali funzionano davvero"
**Sottocategorie:**
- Gear e accessori (Garmin, contachilometri, luci, power meter...)
- Componenti e upgrade (gruppi, freni, ruote...)
- Tecnologia e elettronica (software, app, sincronizzazioni...)
---
## 🛠️ BincioOfficina
**Manutenzione, riparazioni e lavori fai-da-te**.
**Esempi di contenuti:**
- "Come pulire la catena correttamente (senza fare danni)"
- "Mi si è rotto lo spallamento, ecco come l'ho riparato"
- "Guida al cambio dei cuscinetti"
- "Ho tolto la ruggine dal telaio, metodo infallibile"
- "Lubrificanti consigliati per la pioggia"
**Sottocategorie:**
- Manutenzione (pulizia, lubrificazione, controlli periodici...)
- Riparazioni (catena spezzata, freni che non frenano...)
- Fai da te (tool DIY, upgrade casalinghi, creatività...)
---
## 🗺️ BincioTour
**Tour report, bike packing, rotte e logistica**.
**Esempi di contenuti:**
- "Abbiamo fatto 120 km in un giorno, ecco la rotta"
- "Primo bike packing, cosa ho imparato"
- "La strada verso le Tre Cime: mappa e consigli"
- "Come organizzare un'escursione a bicicletta"
- "Ho pernottato all'aperto, ecco cosa serviva"
**Sottocategorie:**
- Tour report (quello che abbiamo fatto, come è andata, foto...)
- Bike packing (zaini, borse, come caricare il peso...)
- Rotte e itinerari (mappe, difficoltà, panorami...)
- Logistica (dove dormire, dove mangiare, servizi...)
---
## 🏁 BincioCorsa
**Allenamento, gare e performance**.
**Esempi di contenuti:**
- "Quest'anno mi alleno con questo metodo"
- "Report dalla gara: mi sono rotto il record personale"
- "Analisi dei dati di allenamento: cosa ho imparato"
- "I miei 100 km più difficili: ecco i dati"
- "Preparazione mentale prima della competizione"
**Sottocategorie:**
- Allenamento (programmi, metodi, tracce...)
- Gare e competizioni (risultati, strategie, sfide...)
- Performance (dati, analisi, progressi...)
---
## 👕 BincioAbbigliamento
**Abbigliamento tecnico, comfort e protezione**.
**Esempi di contenuti:**
- "Ho provato questa giacca da ciclocross, è impermeabile davvero?"
- "Quale sottopiede per l'inverno?"
- "Salopette da donna: quale funziona meglio"
- "Protezioni per il sole: creme e abbigliamento"
- "Questo giubbotto è comodo anche se strappato"
**Sottocategorie:**
- Abbigliamento tecnico (maglie, giacche, pantaloncini...)
- Comfort e protezione (guanti, scarpette, casco...)
- Stagionalità (estate, inverno, pioggia, caldo...)
---
## 📝 Come scegliere la categoria giusta?
Semplice: **qual è il motivo principale per cui stai scrivendo?**
- **È una storia di una gita?** → [[BincioTour]]
- **Stai raccontando di una riparazione o di manutenzione?** → [[BincioOfficina]]
- **Parli di un gadget, un sensore, o una app?** → [[BincioTech]]
- **È un risultato di una gara o allenamento?** → [[BincioCorsa]]
- **È su cosa indossare?** → [[BincioAbbigliamento]]
Se ancora non sei sicuro, non preoccuparti: scegline una e chi gestisce il sito può spostarlo se serve.
---
## Il punto cruciale
Non è un'imposizione. È una mappa che aiuta gli altri a navigare. Quando leggi una pagina, vedi dove si trova nell'albero, e da lì puoi saltare ad altri contenuti correlati.
Scrivi naturalmente, collega le pagine con `[[così]]`, e il resto succede da solo.
+1 -1
Submodule site updated: d144a36fcd...519e74de96