diff --git a/CLAUDE.md b/CLAUDE.md index 4bb3343..4074efd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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()` diff --git a/blog/come-scrivere-un-viaggio.md b/blog/come-scrivere-un-viaggio.md new file mode 100644 index 0000000..22bb194 --- /dev/null +++ b/blog/come-scrivere-un-viaggio.md @@ -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. diff --git a/blog/markdown-style-guide.md b/blog/markdown-style-guide.md new file mode 100644 index 0000000..c939486 --- /dev/null +++ b/blog/markdown-style-guide.md @@ -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 `
Test
+ + +``` +```` + +Output + +```html + + + + +Test
+ + +``` + +## 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 +GIF is a bitmap image format. + +H2O + +Xn + Yn = Zn + +Press CTRL+ALT+Delete to end the session. + +Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. +``` + +#### Output + +GIF is a bitmap image format. + +H2O + +Xn + Yn = Zn + +Press CTRL+ALT+Delete to end the session. + +Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. diff --git a/edit/server.py b/edit/server.py index f0ff96e..43d6515 100644 --- a/edit/server.py +++ b/edit/server.py @@ -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 diff --git a/pages/_docs/astro-bloomz.md b/pages/_docs/astro-bloomz.md new file mode 100644 index 0000000..4b6050c --- /dev/null +++ b/pages/_docs/astro-bloomz.md @@ -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). diff --git a/pages/_docs/digital-garden.md b/pages/_docs/digital-garden.md new file mode 100644 index 0000000..4ccf254 --- /dev/null +++ b/pages/_docs/digital-garden.md @@ -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. diff --git a/pages/_docs/doctype.md b/pages/_docs/doctype.md new file mode 100644 index 0000000..1829f45 --- /dev/null +++ b/pages/_docs/doctype.md @@ -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]] diff --git a/pages/_docs/entry-type.md b/pages/_docs/entry-type.md new file mode 100644 index 0000000..8107797 --- /dev/null +++ b/pages/_docs/entry-type.md @@ -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]]. +``` diff --git a/pages/_docs/index-type.md b/pages/_docs/index-type.md new file mode 100644 index 0000000..b14caba --- /dev/null +++ b/pages/_docs/index-type.md @@ -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 +``` diff --git a/pages/_docs/map-page.md b/pages/_docs/map-page.md new file mode 100644 index 0000000..550c569 --- /dev/null +++ b/pages/_docs/map-page.md @@ -0,0 +1,5 @@ +--- +title: Pagina Mappa +--- + +Questa pagina mostra l'[[semantic-tree]] completo generato dai documenti [[index-type]]. diff --git a/pages/_docs/remark-wikirefs.md b/pages/_docs/remark-wikirefs.md new file mode 100644 index 0000000..5441530 --- /dev/null +++ b/pages/_docs/remark-wikirefs.md @@ -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). diff --git a/pages/_docs/semantic-tree.md b/pages/_docs/semantic-tree.md new file mode 100644 index 0000000..20b6d46 --- /dev/null +++ b/pages/_docs/semantic-tree.md @@ -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) diff --git a/pages/_docs/semtree.md b/pages/_docs/semtree.md new file mode 100644 index 0000000..04396ee --- /dev/null +++ b/pages/_docs/semtree.md @@ -0,0 +1,5 @@ +--- +title: SemTree +--- + +Il pacchetto `semtree` è responsabile della costruzione dell'[[semantic-tree]]. È disponibile su [GitHub](https://github.com/wikibonsai/semtree). diff --git a/pages/_docs/test-render.md b/pages/_docs/test-render.md new file mode 100644 index 0000000..4de76a6 --- /dev/null +++ b/pages/_docs/test-render.md @@ -0,0 +1,6 @@ +--- +title: Test Render +date: '2023-10-05' +--- + +Questo file serve specificamente a testare il rendering dei [[wikirefs]] come wikiembed. diff --git a/pages/_docs/test.md b/pages/_docs/test.md new file mode 100644 index 0000000..ed57f31 --- /dev/null +++ b/pages/_docs/test.md @@ -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. diff --git a/pages/_docs/wikibonsai.md b/pages/_docs/wikibonsai.md new file mode 100644 index 0000000..569520a --- /dev/null +++ b/pages/_docs/wikibonsai.md @@ -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) diff --git a/pages/_docs/wikirefs.md b/pages/_docs/wikirefs.md new file mode 100644 index 0000000..f69e2b5 --- /dev/null +++ b/pages/_docs/wikirefs.md @@ -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... diff --git a/pages/come-funziona-il-giardino.md b/pages/come-funziona-il-giardino.md new file mode 100644 index 0000000..3d37f2a --- /dev/null +++ b/pages/come-funziona-il-giardino.md @@ -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. 🌱 diff --git a/pages/come-usare-le-categorie.md b/pages/come-usare-le-categorie.md new file mode 100644 index 0000000..7164b43 --- /dev/null +++ b/pages/come-usare-le-categorie.md @@ -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. diff --git a/site b/site index d144a36..519e74d 160000 --- a/site +++ b/site @@ -1 +1 @@ -Subproject commit d144a36fcda014865d3da6fff305db4d04106fce +Subproject commit 519e74de96b30a7abd55ffd6bc8e50682aac6d29