website-pelican/LEGGIMI.md

3.2 KiB

PELICAN WEBSITE HOWTO

pelicanconf.py:

in questo file si definiscono un tot di cose, tra cui:

i contenuti stanno nella cartella "content", vengono scritti in markdown e sono di due tipi:

  • pagine statiche (nella sottocartella "pages")
  • articoli tipo blog (nella sottocartella "blog")

una volta elaborati sono salvati nella cartella "output" che e' quella che conterrà i files .html del sito vero e proprio

in testa ai files .md devono essere definiti dei metadati:

per le pagine statiche:

  • Title (il titolo che poi compare a video nella pagina finale html)
  • Slug (il nome con cui la pagina sara' salvata nella cartella output)

ad es. index.md ha un Save_as: index.html che fa override della direttiva PAGE_SAVE_AS e permette di salvare la pagina come index.html nella root invece che nella sottocartella index

per gli articoli ad es.:

  • Title: Comunicato Unit hacklab su annuncio sgombero Macao
  • Author: Unit
  • Category: comunicato
  • Date: 2018-09-26
  • Tags: sgombero

nella cartella output le pagine sono salvate nella sottocartella nome_pagina/index.html (direttiva PAGE_SAVE_AS) si possono fare eccezioni a questo, ad esempio la pagina index non puo' finire in index/index.html, quindi si definisce il metadato Save_as che fa override di PAGE_SAVE_AS e definisce come salvare la pagina, in questo caso specificando index.html finisce nella root (stessa cosa si fa per la pagina 404.md)

gli articoli invece vengono salvati nella cartella blog (direttiva ARTICLE_SAVE_AS)

gli articoli finiscono nel feed rss, le pagine no, quindi se si crea una pagina e' bene fare anche un articolo che la "presenti".

il tema usato e' "minimo" di dan ed e' definito come submodule di git

quindi ora per clonare il repository:

git clone --recursive (--recursive per fare anche il clone dei submodules)

git submodule update --init

per lavorare sul repository, fare pull e aggiornare anche il submodulo:

git pull --recurse-submodules

git submodule update --remote

se il submodule contiene degli aggiornamenti, bisogna committarli nel repository del sito:

git add theme/minimo

git commit -m "aggiornato tema"

git push

in cima alla pagina c'e' un piccolo menu con poche voci:

  • HOME (index)
  • BLOG (lista degli articoli con anteprima (articles.html), volendo ci sarebbe anche la pagina archives.html che contiene la lista degli articoli ma senza anteprima.
  • CATEGORIE (lista delle categorie degli articoli, cliccabile)
  • TAG (lista dei tag degli articoli, cliccabile)
  • CONTATTI (pagina che riporta i contatti)
  • RSS (link al feed rss (atom))

ci sono due cartelle statiche:

  • media (che contiene i materiali delle pagine, pdf, immagini etc.)
  • images (che contiene le immagini della struttura del sito, al momento solo il logo))

publishconf.py

questo file definisce solo il SITEURL in produzione e l'indirizzo dei feed rss e atom creati (quando sostituiremo il sito perderemo tutti i feed precedenti, a meno di creare degli articoli nel blog, pero' poi mi sa che chi ha sottoscritto il feed li ricevera' di nuovo.... ? per or

Makefile

e' il makefile standard con le istruzioni per SSH per caricare il sito e un nuovo comando "production" per copiare il sito al suo posto (ma funziona solo se viene lanciato da zaphoda)