How2SitoHM

Da EigenWiki.

Prerequisiti:

  1. Un account su http://git.lattuga.net/user/sign_up
  2. Fare amicizia con il terminale su Linux
  3. Avere voglia di imparare 3 comani di git
  4. Imparare un comando di fabric

Prerequisiti software:

  1. python2.7
  2. virtualenv2
  3. git

Debian-Ubuntu:

sudo apt-get install python python-virtualenv git

Arch:

sudo pacman -S python2 python2-virtualenv git

[Da qui in poi appariranno termini tecnici, non mordono, pensateli come delle pallette fuffose rosa] Palletta fuffosa

La prima cosa da fare per iniziare a lavorare sul sito è creare un virtualenv per python, altro non è che una cartella sul pc nella quale valgono alcune regole che ci semplificano il lavoro.

Scegliamo la cartella in cui vogliamo lavorare, da qui in poi faccio finta che sia:

/home/svalo/eigenLab/sitoHM

Voi sostituite ogni occorrenza col vostro percorso

Per prima cosa apriamo un terminale (Menu -> Accessori -> Terminale) e ci spostiamo dentro la cartella

cd /home/svalo/eigenLab/sitoHM

E creiamo un virtualenv

virtualenv HM16

Appariranno un po' di scritte che ci informano che sta installando una versione di python dentro la cartella HM16 e vari altri componenti. Questo serve perché così possiamo lavorare installando un sacco di cose e fare un sacco di configurazioni che non "sporcano" il sistema in generale ma che hanno valore solo dentro la cartella. Una volta finito HM potremo cancellare la cartella ed il sistema tornerà com'era prima.

Poi attiviamo il virtualenv

source ./HM16/bin/activate

Per essere sicuri che tutto sia andato a buon fine dal terminale digitate

which python

Se la risposta è qualcosa di simile a

/home/svalo/eigenLab/sitoHM/HM16/bin/python

Allora tutto bene, se assomiglia a /usr/bin/python2.7 allora qualcosa non è andato bene, contatta lo smanettone più vicino :P

A questo punto abbiamo creato il nostro virtualenv e lo abbiamo attivato, sarà il nostro spazio di lavoro, ogni volta che vorremo lavorare sul sito dovremmo entrare nella cartella che abbiamo scelto e attivare il virtualenv.

Versione compatta per dalla seconda volta in poi

cd /home/svalo/eigenLab/sitoHM
. ./HM16/bin/activate

Quando abbiamo finito di sviluppare e vogliamo fare altro basta scrivere nel terminale

deactivate

Prendere il codice del sito

Siamo dentro la cartella /home/svalo/eigenLab/sitoHM/ adesso prendiamo il codice del sito

Il codice del sito vive in un repository git su git.lattuga.net, lo potete recuperare col comando

git clone http://git.lattuga.net/boyska/sito-hackit-16.git

Questo sparerà un po' di messaggi e, se tutto va bene, ci ritroveremo con una bellissima cartella di sono sito-hackit-16 accanto a HM16

Ovvero dando il comando ls in /home/svalo/eigenLab/sitoHM dovremmo vedere

(HM16) /home/svalo/eigenLab/Developing/HM16/
svalo:$ ls
HM16  sito-hackit-16

Ottimo adesso abbiamo il codice del sito, se entrate nella cartella sito-hackit-16 vedrete la struttura del progetto

cd sito-hackit-16

ls vi dirà cosa c'è dentro.

La prima, e unica, volta dovremo installare le dipendenze del progetto per poter lavorare al sito

pip install -r requirements.txt

Questo legge il file requirements ed installa i programmi che servono per creare il sito.

CI SIAMO! Abbiamo tutto quello che ci serve per cominciare

Sempre da dentro la cartella sito-hackit-16 diamo il comando

./develop-server.sh start &>/dev/null

Queso farà partire un mini server web il python che ci farà vedere il sito allo stato attuale all'indirizzo http://localhost:8000

Quando vorremo fermare il server python, dallo stesso terminale dal quale lo abbiamo lanciato dobbiamo dare

./develop-server.sh stop

Modificare il sito

Ok tutto figo maaaa come si modifica?

Tutto questo accrocchio serve per generare il sito, il sito vero e proprio è solo una manciata di pagine html e di css, lo trovate dentro la cartella output. Quello è ciò che effettivamente andrà poi nel server che ospita il sito.

Le pagine del sito stanno dentro

content/pages/

Possiamo modificarle e vedere cosa succede alla pagina http://localhost:8000 tutto quello che faremo rimarrà sul nostro pc, se facciamo qualche cazzata basterà dare il comando

git checkout -- nomedelfiledaripristinare

Le pagine sono scritte in markdown, le potete modificare con un editor di testo grafico tipo kate o gedit o dal terminale con vim o nano(bleah)

Se abbiamo lanciato il develop server appena salviamo le modifiche ai files questo appariranno nella pagina su localhost.

Pubblicare le modifiche

Prima di modificare o pubblicare le modifiche bisogna dare

git pull origin master

Questo serve per ricevere le modifiche che altri potrebbero aver fatto fra il momento in cui abbiamo scaricato il codice del sito e quello in cui vorremmo pubblicare le modifiche

A questo punto possiamo inserire nella storia di git le nostre modifiche.

git status 

ci dice quello che è cambiato dall'ultima modifica che git conosce (Non tutti i files e non tutte le modifiche che vediamo dentro la cartella sono note a git, lui conosce solo quello che noi gli diciamo di memorizzare)

se ad esempio abbiamo modificato la pagina content/pages/info.md

git ci dirà che quel file è stato modificato

git diff

ci farà vedere le modifiche

git add content/pages/info.md 

Aggiungerà le modifiche alla coda delle modifiche da aggiungere

git commit -m "Un messaggio breve ma significativo"

Aggiungerà le nostre modifiche alla storia di git

Questo aggiunge le modifiche solo alla storia presente sul nostro pc, per poterle vedere online dobbiamo mandarle repository di boyska.

Questo però lo copriremo più in là di persona