open-education-polito / book-python-interactive-chapters

:snake: :book: Our Python interactive version of the book - Repo for the RST sources
https://openeducation.polito.it/libro/
GNU General Public License v3.0
5 stars 5 forks source link

Cambiare il colore di porzioni di testo #5

Closed libremente closed 6 years ago

libremente commented 6 years ago

Expected behaviour

Vorrei colorare una parte di testo

Actual behaviour

Non riesco a farlo

Step to reproduce the behaviour

Qualsiasi .rst è nero di default

Ideas

Si potrebbe creare una classe "red" e poi definire nel css il comportamento della classe. Ad esempio:

.. role:: red

An example of using :red:`interpreted text`

Questo aggiunge una classe allo span nell'HTML compilato. <p>An example of using <span class="red">interpreted text</span></p>

E per avere il rosso bisogna definire nel css:

.red {
    color:red;
}

Assign to

Styddy commented 6 years ago

schermata del 2018-01-25 14-27-50 Funziona! Provvedo ad applicare la classe ad ogni scritta colorata, le scritte rosa/viola direi di lasciarle in rosso.

libremente commented 6 years ago

@Styddy ottimo lavoro! Siccome dietro a quel css c'è tutto un progetto (vedi https://github.com/Open-Education-Polito/RunestoneServer) direi che bisogna apportare le modifiche li in modo tale da avere la classe applicata globalmente. Per far questo direi di aggiungere la classe che hai scritto al file custom.css https://github.com/Open-Education-Polito/RunestoneServer/blob/master/static/css/custom.css Per farlo fai:

Così poi la applichiamo globalmente. Grazie!

Styddy commented 6 years ago

Pull Request mandata.

Styddy commented 6 years ago

Il problema rimane con le scritte colorate in grassetto, ho fatto diverse prove, le sintassi non sono compatibili tra di loro, quindi direi di modificare direttamente l'html aggiungendo <strong> manualmente in caso ci sia una scritta rossa in grassetto.

libremente commented 6 years ago

@Styddy se ci pensi quello che dici è corretto per quanto riguarda il bold già embedded in rst (ovvero usando **word_to_be_bold**) ma nulla ci vieta di fare una cosa di questo tipo:

.. role:: boltred

e poi nel testo fare una cosa di questo tipo:

:boltred:`word_to_be_bold_and_red`

e definendo nel CSS:

.boltred{
      color: red;
      font-weight: bold;
}

Che ne dici? Il .. role non fa altro che definire una nuova classe, e quindi noi definiamo delle regole di stile per quella classe come ci pare.

Styddy commented 6 years ago

Ottima idea! Non ci avevo pensato. Provvedo a creare classe.

libremente commented 6 years ago

@Styddy ho guardato meglio e penso sia il caso di mettere i nuovi stili qui dentro: https://github.com/Open-Education-Polito/RunestoneComponents/blob/master/runestone/common/css/style.css Quindi devi ripetere le operazioni per creare una PR a questo altro repo. E' runestoneComponents e non server sul quale l'hai fatta prima. Poco male, teniamo quello come riferimento. Tra l'altro per fare le modifiche sulla tua macchina in locale senza dover ricompilare tutto runestone nuovamente puoi modificare direttamente il file al percorso: lib/python2.7/site-packages/runestone/common/css/style.css dove lib è nella stessa posizione di bin dalla quale attivi il virtualenv. Occhio che se fai modifiche locali poi per vederle effettivamente applicate e quindi copiate in build devi fare runestone build --all per forzare la generazione di tutti i files nuovamente. Comunque mi raccomando prendi confidenza con i comandi grep e findche sono una manna dal cielo per trovare file rapidissimamente in tutto il sistema. Ad esempio, se devi cercare questo file, entri nella cartella principale del progetto e digiti:

find . -name "style.css"

e in un battibaleno hai il risultato. Se invece devi cercare dei valori all'interno di file usi grep, tipo

grep -rnw "red"
libremente commented 6 years ago

Questa PR https://github.com/Open-Education-Polito/RunestoneComponents/pull/2 aggiunge le classi e risolve questa issue. Chiudo. Good job @Styddy ! 👍