Visualizzazione risultati 1 fino 7 di 7

Discussione: Formattazione codice sorgente alterata

  1. #1
    stor non è connesso Utente
    Data registrazione
    11-01-2004
    Messaggi
    146

    Predefinito Formattazione codice sorgente alterata

    Premetto che ho provato a cercare ma non ho trovato soluzioni.

    Dopo anni di Altersite (quasi tutto HTML a manina) volevo "rilassarmi" con Alterblog + WP imparado qualcosa di nuovo. Non so ancora se è una scelta valida nel mio caso, per ora sto sperimentando su spectrum.altervista.org (temi, funzionalità, filosofia dei blog ecc).

    Ma una cosa in particolare mi sta rendendo l'idea blog + WP ingestibile. Per i temi che tratto devo incollare spesso porzioni di codice preformattato (quindi tra i tag pre o code).

    Per non perdere l'indentazione l'incolla va effettuato nella modalità HTML, ma al passaggio alla modalità visuale molte righe diverse vengono accorpate scombinando tutto. Il copia viene effettuato da un plain text senza alcuna "formattazione occulta".

    Si può rimettere a posto a mano nella modalità visuale, ma basta tornare un attimo alla modalità HTML e ritornare alla visuale e siamo da capo. Basta questo a rendermi del tutto inutilizzabile il CMS, che, vista la sua popolarità mi sembra davvero strano.

    Esempio banale di codice incollato tra i tag <pre></pre> o <code></code>nella modalità testo:
    Codice:
    while True:
        b = int(input("QUANTO (DA 1 A 10) ?"))
        if b <= 10:
            break
        print("TROPPO")
    while b > 0:
        print("W")
        b = b - 1
    Al passaggio alla modalità visuale diventa:
    Codice:
    while True:
        b = int(input("QUANTO (DA 1 A 10) ?"))
        if b <= 10: break print("TROPPO") while b > 0:
        print("W")
        b = b - 1
    Ho provato con diversi temi, e anche con un syntax highlighter, ma il problema rimane.

    C'è qualche soluzione?
    grazie

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Purtroppo è una limitazione della modalità visuale. Nel plugin syntax highlighter dicono infatti:
    TIP: Don't use the Visual editor if you don't want your code mangled. TinyMCE will "clean up" your HTML.
    Ciao!

  3. #3
    stor non è connesso Utente
    Data registrazione
    11-01-2004
    Messaggi
    146

    Predefinito

    Beh, non usare la modalità visuale è come dire non usare proprio WP (forse intendono dire di non modificare il codice stesso restando nella modalità visuale).

    Comunque il problema secondo me non riguarda l'highlighter (o meglio questo viene di conseguenza dopo), ma la gestione di qualsiasi sezione <pre> nel passaggio da modo testo a modo visuale.

    Facendo qualche prova in più vedo che il problema si verifica ogni volta che in modo testo si scrive (o si incolla) qualcosa che contiene un '<' seguito a un certo punto da un '>' (può essere anche un disegnino ascii art per dire). In questo caso tutte le righe comprese tra '<' e '>' vengono accorpate in una sola lunga riga.

    Esempio: in una sezione <pre> incollo questo disegnino ascii plain text:
    Codice:
       +-----+
    <--|     |
       +-----+
       +-----+
    -->|     |
       +-----+
    e nel passaggio a visuale (che tra l'altro trasforma in entity HTML i vari simboli '<' ecc ma questo va anche bene) si ottiene questo:
    Codice:
       +-----+
    <--| | +-----+ +-----+ -->|     |
       +-----+
    L'unico modo per "risolvere" (mi sembra un workaround accettabile solo in un prodotto amatoriale release beta e non certo in qualcosa di professionale) mi sembra sia incollare testo in cui tutti i '<' siano già rappresentati tramite la entity &lt; (cioè serve un passaggio intermedio in più per "entitizzare" quello che si vuole incollare in WP).

    In tal caso tutto fila liscio, non si scombina niente. Incollo:
    Codice:
       +-----+
    &lt;--|     |
       +-----+
       +-----+
    -->|     |
       +-----+
    e ottengo:
    Codice:
       +-----+
    <--|     |
       +-----+
       +-----+
    -->|     |
       +-----+

    E solo a questo punto si inserisce l'highlighter... perché non vuole entity ma i simboli originali. E WP è abbastanza intelligente da non trasformare in entity quello che è marcato come blocco di codice. Il problema è quell'accorpamento di righe (indipendente dall higlighter stesso).

    Quindi:
    - O si rinuncia del tutto alla syntax highlight
    - O ci si trova sempre il codice scombinato ad ogni passaggio testo->visuale
    - O si trova un highlighter in grado di decodificare le entity... farò una ricerca.
    - O (e spererei che fosse questo) da niubbo mi sfugge qualche impostazione fondamentale, perché mi pare impossibile che tutti quelli che usano WP non incollino mai del codice, degli schemi testuali, o disegni ascii art. Altrimenti sarebbe un bug bello grosso.
    Ultima modifica di stor : 10-07-2018 alle ore 10.47.39

  4. #4
    stor non è connesso Utente
    Data registrazione
    11-01-2004
    Messaggi
    146

    Predefinito

    Ho provato diversi highlighter, ciascuno aveva qualcosa che non mi piaceva.
    Alla fine ho (tra virgolette) risolto usando questo servizio esterno per produrre snippet già entityzzati ed evidenziati, solo da incollare in WP in modo testo.

    Naturalmente non è possibile cambiare tema se non incollando da capo gli snippet, ma mi sembra il male minore rispetto a trovarsi tutto potenzialmente scombinato o non leggibile.

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Tra qualche mese (per fortuna) wordpress modificherà l'editor ed eliminerà TinyMCE passando a Gutenberg.
    Ho fatto una prova e funziona correttamente nel tuo caso (esiste il blocco code che a quanto ho visto si comporta molto bene).

    Se vuoi, puoi già provare il nuovo editor installando il plugin "Gutenberg".

    Ciao!

  6. #6
    spectrum non è connesso Neofita
    Data registrazione
    23-06-2018
    Messaggi
    2

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Tra qualche mese (per fortuna) wordpress modificherà l'editor ed eliminerà TinyMCE passando a Gutenberg.
    Ho fatto una prova e funziona correttamente nel tuo caso (esiste il blocco code che a quanto ho visto si comporta molto bene).
    Ti ringrazio per la prova. Attendo gli aggiornamenti e deciderò cosa fare.

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Se vuoi, puoi già utilizzarlo tramite l'apposito plugin.

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •