Formatta il testo in modo generico e riutilizzabile

1

Vorrei scrivere del testo lungo in una struttura per consentire una serie di operazioni su quel testo. La domanda è: quale struttura o formato dovrei usare, che si adatta meglio all'utilizzo che intendo fare di quel testo?

Successivamente descrivo che uso:

  • Mi piacerebbe scrivere testo in linguaggio naturale, possibilmente con traduzioni in diverse lingue. Le traduzioni sarebbero semplicemente la stessa struttura con dati diversi (testo).
  • Vorrei mantenere quel testo in un VCS, controllare diff, branch e merge, ecc. La struttura dovrebbe adattarsi bene a questo uso.
  • Vorrei mantenere il testo libero dal maggior disordine possibile in modo che sia leggibile.
  • Mi piacerebbe convertire facilmente il testo in altri formati, non necessariamente molti, ma almeno html e pdf andrebbero bene.
  • Mi piacerebbe essere in grado di manipolare facilmente quel testo, ad esempio cambiando l'ordine di alcuni elementi, filtrandoli, ecc. in base ai metadati in quel testo.
  • I metadati sono dati, ciò significa che possono essere stampati o meno, oppure possono essere stampati in modi diversi.

Ecco le principali opzioni che ho considerato finora:

  • Latex : fondamentalmente è un linguaggio progettato per questo compito. I problemi che vedo sono che non è leggibile come le altre opzioni, ad esempio Markdown, e non è un testo veramente strutturato. Il testo è lì ei metadati sulle opzioni di formattazione e così via possono essere separati con un set di macro, ma il testo non è realmente strutturato, cambiando l'ordine è necessario o analizzarlo o definire tutto il testo come macro in modo che solo l'ordine di la macro invocazione deve essere cambiata. È fantastico per quello che fa, ma diventa maldestro quando non funziona in alcune funzioni, come strutturare il testo. Non vedo una buona separazione tra informazioni di controllo e dati da stampare. È un'ottima opzione per convertire in pdf.
  • XML : la struttura in questo caso è abbastanza buona, ma nel contesto attuale non vedo alcun vantaggio nell'uso di XML quando è possibile utilizzare l'HTML, ma offre le stesse funzionalità e altro ancora.
  • HTML : la conversione in HTML sarebbe immediata in questo caso, ma la conversione in pdf non è così chiara. In termini di leggibilità umana forse il markdown potrebbe essere migliore, ma l'HTML è probabilmente la lingua più diffusa e utilizzata per il compito in questione, ci sono linguaggi di supporto come CSS (Less, Sass, troppe opzioni) che possono semplificare la vita, Javascript può gestirlo, chiunque abbia un browser può facilmente leggerlo, ecc. Forse qualche HTML speciale potrebbe essere convertito in lattice di qualità e lì in pdf, non lo so.
  • Markdown : un'ottima opzione in termini di leggibilità, ma sono incerto su come potrebbe essere manipolato, magari attraverso la conversione in HTML e quindi utilizzando le manipolazioni DOM o qualsiasi altra elaborazione che potrebbe essere eseguita su XML e quindi su HTML corretto. Sono incerto su quanto possa essere flessibile definire i metadati (ad esempio un paragrafo che è un riassunto di altri paragrafi) quando questo potrebbe essere fatto facilmente con XML o HTML tramite classi o altri attributi.
  • JSON : la maggior parte delle lingue include un parser per JSON, quindi è molto amichevole per i linguaggi di programmazione e la manipolazione facile m. Ovviamente dovrebbe essere definito uno standard per JSON, ma lo stesso vale per il resto delle opzioni, incluso il latex (macro).
  • CoffeeScript : rimuove un po 'di confusione dal solito JSON, può essere più leggibile e può essere facilmente convertito in JSON.
  • Mixing : il problema con JSON e CoffeeScript è che la struttura per contenere i contenuti è molto flessibile (forse troppo) ma non supporta in modo naturale le annotazioni in linea. Una possibile soluzione è usare Markdown o HTML per questi frammenti di testo, inclusi il testo in grassetto o quello che potrebbe essere necessario.

L'obiettivo è scrivere un manifesto o qualcosa che assomigli ad un manifesto e si evolva. Questo è basato su alcune idee che consigliano l'uso di sistemi VCS. Il punto è avere una struttura che permetta di scrivere una volta e pubblicare tutte le volte che possono essere necessarie e in modi diversi, magari post di blog, pdf, ecc., Perché è necessario scrivere un sacco di sforzi per raggiungere il consenso il testo, la riscrittura e la riformulazione non sembrano una buona idea. Ciò elimina alcune altre opzioni, come una wiki, ma sarebbe bello poterla strutturare in modo tale che un insieme di pagine come una wiki possa essere creato dai dati di origine.

Alla fine la tecnologia potrebbe non esserci ancora, ma penso che non sia troppo lontano. Ci sono in realtà così tante opzioni che un uso intelligente di alcune di esse dovrebbe essere sufficiente.

    
posta Trylks 30.03.2013 - 23:09
fonte

1 risposta

2

Una cosa che noto delle opzioni che menzioni è che la maggior parte di queste sono facilmente convertibili l'una con l'altra (supponendo che tu segua alcune regole predefinite prima di scrivere il documento).

Considerando che LaTeX è facilmente compilabile in PDF, consiglierei contro di esso, in quanto contiene troppe informazioni sulla presentazione effettiva e una struttura troppo piccola.

In molti casi, anche l'HTML riflette la presentazione troppo direi (anche se è possibile ridurlo al minimo, ovviamente).

Probabilmente definirei uno schema XML e creare il documento come XML. In questo modo è facilmente convertibile in tutti i formati rimanenti (in particolare HTML). A seconda della complessità dei tuoi documenti, potresti voler utilizzare alcuni schemi predefiniti come DocBook (anche se ho poca esperienza nell'utilizzo):

link

Inoltre, puoi utilizzare strumenti come le trasformazioni XML (XSLT) per gestire alcune conversioni (se preferisci). Ad esempio, è molto semplice convertire un documento XML ben strutturato in HTML.

Tutto ciò detto, molte delle restanti scelte sarebbero anche valide. Alla fine dipende dal tuo gusto personale (personalmente, non trovo JSON molto interessante per tale lavoro, ad esempio - altri potrebbero) e sulla complessità che vuoi rappresentare (Markdown potrebbe non essere buono se hai bisogno di grana molto fine controllo).

Finché si struttura effettivamente il documento, la conversione in molti altri formati dovrebbe essere piuttosto banale.

    
risposta data 31.03.2013 - 00:49
fonte

Leggi altre domande sui tag