JS converter to Chordpro#18
Conversation
|
Voici donc patadata converti via JavaScript. J'ai "corrigé" quelques fichier LaTeX qui faisaient planter mon script (la plupart du temps, des caractères inconsistants). Le script de migration que j'ai développé est très sale, mais si vous insistez, je peux le nettoyer et le mettre en ligne :-) |
990153c to
c91f7d6
Compare
|
J'ai corrigé mon script pour que plus de notations soient supportées. Les seule données désormais "perdues" par la transition sont:
Tous les chants sont en tous les cas affichables par le parseur ChordPro écrit en JavaScript |
|
Superbe !
C'est dommage de laisser le contenu des blocs tel quel. Il vaudrait mieux supprimer complètement les \if ici. |
Cela risque de faire pas mal de pertes: Dans ce cas (tiré de bob_dylan\hurricane.sg), mon script gardera le |
Je parlais de supprimer les if, pas le contenu ! Ici, par exemple, on peut transformer ça sans trop de perte de sens en |
|
C'est exactement ce que fait le script. Je me suis mal exprimé, je considère la situation suivante: => mon script garde seulement la partie Donc en fait on est d'accord :-) |
Oui, je pense que c'est le mieux ! |
* Preparing for parsing of `{define: FOO}` statements
* Brackets can now contain several space-separated chords (as in `[A/A B#]`).
En fait, j'en suis maintenant moins sûr. Soyons honnête, une mauvaise raison pour cela, c'est que cela me complique pas mal la tâche dans l'analyseur syntaxique. Mais en y réfléchissant, analyser les accords partout, y compris dans les accolades voudrait dire que l'on peut avoir des accords dans un titre, par exemple. Et ça, c'est bizarre… À votre avis, est-il nécessaire d'analyser les accords dans les accolades ?
Même question ici. Une mauvaise raisons qui ne me donne pas vraiment envie d'implémenter cela est que ça complique un peu la tâche. Une bonne raison est que ça me paraît bizarre d'autoriser l'inclusion de directives dans des directives. On a déjà ajouté de nouvelles directives, mais ça, ça ne change pas grand'chose au langage. Par contre, autoriser l'inclusion de directives dans des directives, j'ai peur que ça nous fasse atteindre un nouveau niveau d'incompatibilité avec les autres logiciels manipulant du chordpro. |
Je pense que oui, le cas
Ce n'est en effet pas nécessaire, mais je ne pense pas que nous ayons comme objectif d'être compatible avec les autres logiciels à 100%. |
|
La nuit porte conseil. Ce qu'on peut faire, c'est remplacer les directives par des blocs, c'est-à-dire remplacer : par Ça a l'avantage de me simplifier la vie pour l'analyse, et de faire clairement la différence entre les commandes dont il faut parser le contenu ( |
|
Effectivement c'est une solution interessante, qui déplace le problème de compatibilité: au lieu de supporter Avec une analyse manuelle, il est sûrement possible de s'en débarasser au profit de bridge ou autre (en laissant au compilateur le soin de ne pas l'inclure, si il y a seulement des accords) |
On avait oublié de répondre à ça ... Le |
Il me semble l'avoir vu utilisé ailleurs (et donc bêtement repris l'idée) |
|
C'est bon pour |
|
Pour revenir aux Soit on les autorise de manière exceptionnelle (ie c'est le seul 'bloc' autorisé), soit on les remplace par autre chose ( Je suis pour autoriser les accords dans tous les blocs |
|
Est-ce que vous savez comment fonctionnent les autres logiciels ? Autorisent-ils les directives et accords dans les directives |
|
Pas la moindre idée. Je pense que l'on peut autoriser les accords et interdire les directives, ça me semble être raisonable. |
|
Autoriser les commentaires et les accords dans les directives Ce qu'on pourrait faire plus simplement, c'est laisser la directive [HS]Pour info, je suis bientôt papa, et mon congé paternité se terminera mi-septembre, donc j'aurais bientôt bien moins de temps à passer sur patacrep.[/HS] |
Pourquoi pas !
Félicitations ! |
Ca me convient aussi!
Herzlichen Glückwunsch! |
|
Après réflexion, je pense que c'est trop de travail pour un gain discutable que d'essayer de tout convertir (le seul véritable intérêt serait pour patanet). Je clôture donc cette PR. |
Comme mentionné dans #17, j'ai développé un convertisseur LaTeX > Chordpro en JavaScript.
Le but initial étant de permettre aux utilisateurs du site de convertir leurs chansons depuis le navigateur.
Il s'avère que j'en ai profité pour tester ce convertisseur sur tous les chants de Patadata!
Désormais, tous les chants sont "convertissables" (en théorie il ne reste plus de caractères LaTeX).
J'ai du corrigé des chants qui avaient manifestement des erreurs de syntaxe.
Il reste des décisions à prendre concernant la pérennité de commandes utilisées en LaTeX et qui ne sont pas supportées par ChordPro (je compte ouvrir une autre issue à ce sujet).
Il me reste à faire un système d'enregistrement du fichier converti puis un commit velu...