langage de balisage leger mentor it

Linguaggio di markup leggero Mentor

torna alla homepage

versione disponibile in : en ru zh es ja de nl pt fr

data di creazione : 20220620- data di aggiornamento : 20220620- data di generazione : 20240612_171241

1.Mentore lbl

Questo documento è la specifica del Mentor System Lightweight Markup Language, noto come LBL Mentor..
Il progetto di questo linguaggio è quello di François_Xavier_Pincemin progettista e sviluppatore del sistema Mentor.

2.Introduzione al linguaggio di markup leggero Mentor

  • il linguaggio di markup leggero di mentor è un linguaggio di markup minimale per la gestione degli ipertesti tramite il modulo utags del sistema mentor in un ambiente gvim/vim - cfr. vim_org.
  • il modulo mt_to_htm del sistema di tutoraggio genera un documento HTML dal testo sorgente del tutoraggio.
  • Quindi, se si sta leggendo questo testo in una pagina HTML, si può leggere il testo sorgente in un semplice editor..
  • ma ovviamente è solo l'editor gvim/vim a dare il beneficio degli utag, per diverse ragioni :
  • La forma complessiva del testo è un incapsulamento di . bloc de texte  o . bloc structurel .
  • Il . bloc structurel  definisce i tag e i riferimenti dell'ipertesto.

    2.1.Presentazione della forma di ipertesto

    2.1.1.Blocco testo

    Il blocco di testo è la struttura in cui viene memorizzato un testo..

    - È composto da quattro tipi di elementi delimitati da coppie di delimitatori < >, ( ), { } e [ ]

  • un'etichetta o un tag ipertestuale inserito tra i delimitatori "<" et ">", ha detto . etiquette mentor  che può contenere solo caratteri alfanumerici con il carattere di sottolineatura "_" come separatore. . résumé de bloc  o . commentaire mentor  mettere tra parentesi "( )",
  • il testo stesso, racchiuso tra parentesi graffe "{ il testo }" che è il blocco di testo vero e proprio.
  • riferimenti ipertestuali (alle etichette dei mentori) della forma [une_reference_it] che vengono utilizzati nel testo contenuto nei blocchi di testo

    2.1.1.1.Blocco strutturale

    Abbiamo quindi una forma generale:

    <etiquette_de_bloc_it>(titolo) [une_reference_it]
    {
    ...
    ... [une_reference_it] ...
    ...
    <etiquette_de_sous_bloc_it>(etichetta del sottoblocco)
    {
    ...
    ... [une_reference_it] ...
    ...
    ... <etiquette_dans_texte_it> ... ... ... <une_reference_it>(è l'etichetta dell'esempio di riferimento in realtà)
    ...
    ... [une_reference_it] ...
    ...
    ecc....
    }
    }

    che possono quindi essere annidati: Un blocco di testo può contenere altri blocchi di testo.
    Un blocco particolare è il blocco dell'intero file la cui riga dell'etichetta contiene:

  • l'etichetta del nome del file - il titolo del file nel commento del blocco - un riferimento al sommario del file.
    La forma dell'etichetta del file è quindi <>(un riferimento)[] .

    
    - ad esempio per un file chiamato nomefile.su un :  


    <nomfichier_extension_it>(titolo del file)[nomfichier_extension_it_som]
    la macro per generare questa riga è fnt_it per un file di testo.
    Esistono altre macro: fnc per un sorgente C, fns per una shell unix, ecc....

  • un . commentaire de bloc  dove la parentesi di apertura è seguita da due punti ":" indicherà che concateniamo il tag mentor e il suo commento nel tag HTML.


    esempio : <nomfichier_extension_it>(: titolo del file) che dà nell'html:

    2.1.1.2.. nomfichier extension : titolo del file Altrimenti è il solo commento a essere modificato nell'HTML.:

    esempio : <nomfichier_extension_it>(titolo del file) che dà nell'html:

    2.1.1.3.Titolo del file Mentor sviluppa il concetto di infisso, che è generalmente un codice di 3 lettere che, se presente in un'etichetta, sarà interpretato durante la generazione di html come un testo da sostituire se l'infisso è presente nel file di infissi denominato infisso.
    lst e presente nella directory di lavoro del programma utags.
    Il prefisso è la generalizzazione dei concetti di prefisso e suffisso..

    Per esempio : <nom_spe_it>(nome speciale) che si traduce in :

    2.1.1.4.Nome speciale

    La sostituzione avviene in modo che il testo sostituito sia collocato all'inizio del titolo per la versione francese e alla fine per la versione inglese..

    specializzazione dei blocchi di testo

    Il carattere che segue la parentesi iniziale di un blocco di testo, se presente, specifica il tipo di blocco..
    Questo tipo sarà utilizzato da diversi moduli che integrano il modulo di gestione degli ipertesti.

    2.1.2.Tabelle di specificatori di blocco

    caratterenome  significato del blocco di testo (accolades)  commento (parentesi)  
    :  colon  blocco principale : il blocco successivo specifica i tag META  concatenazione dell'etichetta e del commento nel titolo HTML
    =  segno di uguale  conservazione della forma del testo di partenza, se doppiato == codice sorgente lbl  
    !  punto esclamativoil testo visualizzato nell'HTML è l'origine della lbl con carattere fisso    
    -  tiret  patatine fritte    
    `  backcote  proiettili numerati    
    |  tubo  Commento HTML, se duplicato e non presente nella pagina HTML    
    %  percentuale  testo generato in una tabella a due colonne per l'esercizio ortottico    
    #  hash  specifiche di traduzione da parte dell'API Deepl    
    ~  tilde  lettura assistita in lingua straniera (tooltip parola tradotta)    
     punto e virgola  Blocco CSV    
    .  punto  commenta le specifiche del blocco che non verranno visualizzate nell'HTML    
    nbr        
    carattere      
    10.000000      

    Tipi di blocco utilizzati dal modulo generatore di pagine HTML.


    - I blocchi che generano proiettili saranno definiti dal carattere trattino : {- ... }.
    Il livello del chip viene impostato automaticamente dal livello del blocco..
    I chip numerati sono definiti da blocchi il cui codice è backcote {` ... }.
    esempi:

    
    {- niv1 lib1
     - niv1 lib2
       {- livello 2 lib1
      - niv2 lib2
        {- niv3 lib1
        - niv3 lib2
        }
      - niv2 lib3
       }
     - niv1 lib3
    }
     e
    {` niv1 lib1
     - niv1 lib2
       {` livello 2 lib1
      - niv2 lib2
      - niv2 lib3
      - niv2 lib4
       }
     - niv1 lib3
     - niv1 lib4
    }
    
    Questo dà in HTML :

    e

    1. niv1 lib1
    2. niv1 lib2

      1. livello 2 lib1
      2. niv2 lib2
      3. niv2 lib3
      4. niv2 lib4
    3. niv1 lib3
    4. niv1 lib4



    - Un blocco con un codice uguale a "=" genererà un testo con la forma del blocco preservata (Tag HTML PRE). Il carattere rimane quello predefinito, che è proporzionale..

    - Un blocco con un codice uguale a "==" genererà anche un testo con la forma del blocco mantenuta (Tag HTML PRE) e anche senza interpretazione degli altri tag LBL,
    il testo del blocco verrà copiato senza alcuna analisi lessicale. Questo è il caso di questo blocco. Per poter presentare in una pagina HTML la struttura stessa del linguaggio.

    - Un blocco di tipo {! } genererà un testo con la forma del testo del blocco mantenuto. ( Faro PRE ) con l'uso aggiuntivo di un carattere fisso (posta)
    questo per preservare l'allineamento del testo nel caso di una copia su schermo, ad esempio. Caso dei livelli superiori e della tabella dei pianeti inferiori.

    - Un blocco di tipo underscore {| |} sarà interpretato come un commento HTML. Vedere la fonte HTML a questo punto del testo.


    - Un blocco di tipo doppio trattino basso {|| ||} sarà rimosso dalla generazione dell'HTML


    - Un blocco CSV sarà definito da {; ... } Questo blocco contiene una tabella di dati in cui il separatore di colonna è il punto e virgola..
    Verrà generata una tabella HTML e l'intestazione definita dalla specifica "CSV_COL:" all'inizio della prima riga contenente i nomi delle colonne
    saranno visualizzati nell'HTML con un colore particolare. (acciaio blu per impostazione predefinita).

    esempio :

    
    <planète_tab_it>(scheda pianeta)
    {;
    CSV_REG:0      ;1          ;                2;          3;4           ;
    CSV_COL:Pianeti;rivoluzione;Sole_Distanza Mkm;Diametro km;Rotazione   ;
    CSV_TYP:sN     ;s          ;               n0;         n0;s           ;
    Sole           ;           ;                0;    1392684;26 ore      ;
    Mercurio       ;88 j       ;               58;       4878;59 giorni   ;
    Venere         ;225 j      ;              108;      12104;243 giorni  ;
    Luna           ;28 j       ;              149;       3474;            ;
    Terra          ;365.25 j   ;              149;      12756;24 ore      ;
    Marte          ;687 j      ;              228;       6794;24 h 1/2    ;
    Giove          ;12 anni    ;              778;     142800;10 ore      ;
    Saturno        ;29 anni    ;             1427;     120000;10 h 1/4    ;
    Urano          ;84 ans     ;             2870;      52400;15 h 1/2    ;
    Nettuno        ;164.86 ans ;             4497;      48000;16 ore      ;
    Plutone        ;247.74 ans ;             5913;       2400;6 giorni 1/3;
    }
    
    Questo dà nella pagina HTML :

    2.2.Scheda pianeta

    PianetirivoluzioneSole_Distanza MkmDiametro kmRotazione  
    Sole     0 139268426 ore  
    Mercurio  88 j   58 487859 giorni  
    Venere  225 j   108 12104243 giorni  
    Luna  28 j   149 3474  
    Terra  365.25 j   149 1275624 ore  
    Marte  687 j   228 679424 h 1/2  
    Giove  12 anni   778 14280010 ore  
    Saturno  29 anni   1427 12000010 h 1/4  
    Urano  84 ans   2870 5240015 h 1/2  
    Nettuno  164.86 ans   4497 4800016 ore  
    Plutone  247.74 ans   5913 24006 giorni 1/3

    2.3. Tipi di blocco CSV utilizzati dal modulo di gestione dei dati strutturati della tabella CSV del sistema di tutoraggio.tipo di blocco csv


    - Il blocco CSV visto in precedenza {; ... } viene elaborato da un modulo che assicura la formattazione della tabella. Quando si modifica la tabella, il comando
    assegnato a questo modulo per rimodellare la tabella, in modo da dover inserire solo i dati.

    - l'elaborazione dei dati strutturati diventa possibile in questi blocchi di tabelle CSV attraverso un modulo di calcolo della tabella, che è quindi un foglio di calcolo..

    In questo foglio di calcolo i comandi sono specificati da righe di specificazione all'inizio della tabella, che iniziano con una stringa che indica la natura della specificazione, ad es.: ^CSV_SPE: ; ; ;" o SPE è la specifica.

    Funzioni di importazione (CSV_IMP) e l'esportazione dei dati (CSV_EDT). Tutto ciò permette, ad esempio, di costruire un ETL.


    Questo modulo di calcolo sarà in grado di generare, in base alle specifiche di calcolo della tabella, blocchi di edizione {@ } con la specifica CSV_EDT
    o blocchi di giornale (scheda di dettaglio) { } (colonna del tipo di log).

  • questo modulo fornirà operazioni DBMS che interconnettono diversi blocchi CSV :

  • Infine, un linguaggio incluso nei blocchi CSV "procedurale" permetterà di creare applicazioni. Queste applicazioni possono essere eseguite come batch al di fuori di una sessione di editing di gvim o in una sessione di editing di gvim in cui gvim è usato come interfaccia grafica.

  • questo modulo per l'elaborazione dei dati strutturati è in fase di sviluppo e sarà reso disponibile online non appena possibile.

    3. Tipi di blocchi applicativi. Questi blocchi sono associati alle applicazioni che emergono naturalmente dalla progettazione del sistema..blocco tipo app

    3.1.Lettura ortottica in convergenza o divergenza


    - Un blocco del tipo 0enererà una pagina HTML con una tabella a due colonne con il testo visualizzato in ciascuna delle colonne per consentirne la lettura in combinazione con un esercizio ortottico per la convergenza o la divergenza..

    Questa pagina presenta il testo in duplice copia, in modo che, mentre si legge, si possa fare un esercizio di convergenza o divergenza oculare simile a quello svolto da un ortottista..

    Con il vantaggio che la finestra, e quindi lo sforzo di convergenza, può essere dimensionata senza la necessità di una serie di prismi di convergenza progressivi..

    Se la larghezza della pagina è ridotta, è facile unire le due immagini, mentre più si allarga, maggiore è lo sforzo richiesto ai muscoli dell'occhio..

    Le due immagini possono essere unite in due modi: in convergenza e divergenza. La convergenza contrae i muscoli e la divergenza li allunga. (muscoli in estensione).

    Combinando le due modalità si ottiene una sessione ortottica completa : lavoro di rafforzamento muscolare (muscolazione) e il loro rilassamento (stiramento).

    La modulazione dell'ampiezza della finestra corrisponde al susseguirsi di sessioni in cui si utilizza un prisma sempre più convergente o divergente, è quindi necessario andare gradualmente.

    Ho notato che la modulazione dell'ampiezza è continua e permette di ottenere maggiori prestazioni del sistema oculare, soprattutto in divergenza. (rilassamento dei muscoli).

    Vedere nell'HTML generato :

    Questa pagina presenta il testo in duplice copia in modo che, contemporaneamente alla lettura, si possa fare un esercizio di convergenza o divergenza oculare simile a quello svolto da un ortottista..

    Con il vantaggio che la finestra, e quindi lo sforzo di convergenza, può essere dimensionata senza la necessità di una serie di prismi di convergenza progressivi..

    Se la larghezza della pagina è ridotta, è facile unire le due immagini, mentre più si allarga, maggiore è lo sforzo richiesto ai muscoli dell'occhio..

    Le due immagini possono essere unite in due modi: in convergenza e divergenza. La convergenza contrae i muscoli e la divergenza li allunga. (muscoli in estensione).

    Combinando le due modalità si ottiene una sessione ortottica completa : lavoro di rafforzamento muscolare (muscolazione) e il loro rilassamento (stiramento).

    La modulazione dell'ampiezza della finestra corrisponde al susseguirsi di sessioni in cui si utilizza un prisma sempre più convergente o divergente, è quindi necessario andare progressivamente.

    Ho notato che la modulazione dell'ampiezza è continua e permette di ottenere maggiori prestazioni del sistema oculare, soprattutto in divergenza. (rilassamento dei muscoli).

    Iniziare con la larghezza più piccola della finestra e allargare gradualmente.

    Questa pagina presenta il testo in duplice copia in modo che, contemporaneamente alla lettura, si possa fare un esercizio di convergenza o divergenza oculare simile a quello svolto da un ortottista..

    Con il vantaggio che la finestra, e quindi lo sforzo di convergenza, può essere dimensionata senza la necessità di una serie di prismi di convergenza progressivi..

    Se la larghezza della pagina è ridotta, è facile unire le due immagini, mentre più si allarga, maggiore è lo sforzo richiesto ai muscoli dell'occhio..

    Le due immagini possono essere unite in due modi: in convergenza e divergenza. La convergenza contrae i muscoli e la divergenza li allunga. (muscoli in estensione).

    Combinando le due modalità si ottiene una sessione ortottica completa : lavoro di rafforzamento muscolare (muscolazione) e il loro rilassamento (stiramento).

    La modulazione dell'ampiezza della finestra corrisponde al susseguirsi di sessioni in cui si utilizza un prisma sempre più convergente o divergente, è quindi necessario andare progressivamente.

    Ho notato che la modulazione dell'ampiezza è continua e permette di ottenere maggiori prestazioni del sistema oculare, soprattutto in divergenza. (rilassamento dei muscoli).

    Iniziare con la larghezza più piccola della finestra e allargare gradualmente.

    3.2.Traduzione di testi con deepl api

    - Un blocco di tipo hash "#" {.#en:fr: } provoca la traduzione nel testo di partenza stesso.

  • I codici linguistici utilizzati sono a due lettere, la prima è la lingua di partenza e la seconda la lingua di traduzione..
  • La traduzione è fornita da un'utilità che richiama il metodoapi_deepl.
  • La traduzione può essere effettuata per un blocco di testo all'interno di un file (il testo originale è sostituito da)
  • o per un intero file, nel qual caso viene creato un nuovo file il cui nome è il nome del file originale a cui viene aggiunto il suffisso della lingua.
  • Le etichette non vengono tradotte e viene aggiunto il suffisso della lingua di traduzione..
  • Se non c'è un commento sull'etichetta, quest'ultima viene utilizzata per generare un testo che sarà tradotto.
  • In questo modo manteniamo il collegamento (con la declinazione dei suffissi delle diverse lingue di traduzione) inserisce il file nella lingua originale e i vari file della lingua di traduzione.
  • Una volta terminata la traduzione, la specifica di traduzione viene commentata con l'inserimento di un punto ".." come modificatore di blocco.
  • Ad esempio, la riga seguente è sempre in inglese :

    3.2.1.Lettura assistita in lingua straniera


    - A tilde type block "~" is used for foreign language reading assistance.

    - The translation specification follows the tilde character example : {~es:fr: hello the world }
    <lecture_aidée_en_langue_étrangère_en>(assisted reading in a foreign language)
    In questo modo, le parole sottolineate con un punto nella pagina html hanno un tooltip che contiene la parola tradotta..

    ciao al mondo

    dizionario inverso : {~fr:es: hello world }

    ciao mondo

    A titolo di esempio, viene fornito un dizionario spagnolo-francese di circa 26.000 parole.. Altri dizionari possono essere istanziati dall'utente mentore.
    Possono essere condivisi dall'utente inoltrandoli all'editore per l'integrazione nel pacchetto utags..
    Se non esiste un dizionario, è possibile creare un dizionario di un testo con un comando mentore e poi tradurre l'elenco delle parole del dizionario.
    da un traduttore come deepl

    3.2.2.Esempio il testo della canzone la cucaracha

    
    
    

    la cucaracha, la cucaracha que ya no puede caminar porque no tiene porque le falta la marijuana que fumar

    en la misa y en la feria todo el mundo ya lo sabe los que llegan al gobierno porque se puede comprar

    del partido comunista ya no queda casi nada ahora todos van buscando como hacerse millonadas

    fue la junta de naciones pa' poner sus opiniones todos no estaban de acuerdo donde y cuando bombardear se sientan los presidentes en la silla del gobierno luego mandan a la guerra a la gente de su pueblo

    la cucaracha, la cucaracha que ya no puede caminar porque no tiene porque le falta la marijuana que fumar

    huaracha muchacha que vamoa huarachar va una cucaracha que quiere comerciar, toca, loca ábreme la boca, buscame una coca que no quiero trabalear, mica, rica para zapatear,

    pido a victor jara no me vaya a doblegar, Cha-ma Chama Che Guevara una petición, una cucaracha, por culpa y omisión,

    la cucaracha, la cucaracha que ya no puede caminar porque no tiene porque le falta la marijuana que fumar

    todos se pelean la silla que les deja mucha plata en el norte pancho villa y en el sur viva Zapata!

    ya murió la cucaracha ya la llevan a enterrar entre cuatro zopilotes y un ratón de sacristan

    3.3.Tipi di etichette speciali


    - Un'etichetta del tipo <_file> genererà un riferimento HTML a un oggetto.
    - esempio :
    <lien_document_local_it_file>(/home/me/Documents/document.pdf)

    - Un'etichetta del tipo <_web> genererà un riferimento HTML alla rete.
    - esempio :
    <alwaysdata_it_nweb>(www.alwaysdata.com)

    - se l'infisso è "nweb" invece di "web" Fare clic sul link per aprire una nuova scheda nel browser..

    <alwaysdata_it_nweb>(www.alwaysdata.com)
    che dà nell'html : alwaysdata o lien_vers_alwaysdata_dans_un_nouvel_onglet

  • se l'infisso è "webs" o "nwebs" il link sarà https invece di http.


    - Un'etichetta del tipo <_hil> per "html_inline" indica di prendere il codice html contenuto nel blocco e di aggiungerlo
    direttamente alla pagina html. Viene utilizzato in casi particolari per generare automaticamente pagine HTML più specializzate del semplice testo.
    o per includere i fogli di stile.

    3.4.Gestione dei caratteri in grassetto

    - Testo tra parentesi seguito da un punto esclamativo (! apparirà ) e l'erba.
    - esempio : (! testo in inglese ) :
    testo in inglese